103 Commits (c2650169444f98a3187a3d7dbaf7b43e1588caa9)

Author SHA1 Message Date
Julian Lam c1b3079d93 feat: category privilege API routes
closes #9342
4 years ago
Julian Lam f561799f74 refactor: abstract out some client side dashboard code into modules, analytics subpages for users, topics, and logins 4 years ago
Julian Lam 7223074f1d feat: ability to re-order topic thumbnails 4 years ago
Julian Lam 3e6640efb2 refactor: thumbs.associate accepts both relative path and url in path arg 4 years ago
Peter Jaszkowiak cc9d6fd08b chore: eslint max-len 4 years ago
Peter Jaszkowiak 23f212a4c0 chore: eslint prefer-destructuring 4 years ago
Peter Jaszkowiak b56d9e12b5 chore: eslint prefer-arrow-callback 4 years ago
Peter Jaszkowiak 707b55b6a5 chore: eslint prefer-template 4 years ago
gasoved 7c9674de6c fix: include admins 4 years ago
gasoved a2a7557cc0 refactor: update dom after diff deletion better 4 years ago
gasoved eb642f40b9 feat: #9109, ability to delete a post's diffs 4 years ago
Julian Lam 05c53394f3 fix: tests 4 years ago
Julian Lam dc84559d0b feat(topic-events): topic events GET route in write API 4 years ago
Julian Lam 966c4117ec refactor(api): post move to write API 4 years ago
Julian Lam e118e59ce0 refactor(api): post diffs to use write API 4 years ago
Julian Lam f5fcd232f6 fix: regression caused by 77ab46686d
Access checks were added for topic GET route, but occasionally a post_uuid is passed in, which is available to everyone, and so checks should be skipped
4 years ago
Julian Lam 77ab46686d fix: access checks for tags and thumbs get route 4 years ago
Julian Lam 97d678fd2a fix: return a user object, not an array of user objects (in v3 login check route) 4 years ago
Julian Lam 8c86f5bcec fix: bad execution flow in utilities.login 4 years ago
Julian Lam 8bbb320867 feat: handle HTTP 429 as a response code 4 years ago
Julian Lam 56f929ed4f feat: add write API route for checking login credentials 4 years ago
Julian Lam edb8da1ef9 feat(api): closes #9123 category and topic routes migrated to Write API 4 years ago
Julian Lam e267f29584 feat(api): #9123, migrate /api/post/pid/:pid to Write API 4 years ago
Julian Lam 32e36f7b2e feat(api): group ownership API route, switch client-side to use API route 4 years ago
Julian Lam 1cd2689cf6 refactor(api): deprecated groups update socket in favour of API lib 4 years ago
Julian Lam bd5c4a5cff fix: tests 5 years ago
Julian Lam 3e54b70c06 fix: #9092, Topic thumbnails do not work with third-party uploaders 5 years ago
Julian Lam c043cfebd6 fix: added back missing topic thumb tests that were removed in last commit 5 years ago
Julian Lam 340387c18a fix: #9055, non-standard API response from addThumbs route
Also removed old thumb upload router handler, and updated uploadPost handling in composer to match new response schema
5 years ago
Julian Lam 4152aa552e feat: tests for topic thumbs
Also added some error checking to addThumbs controller
5 years ago
Julian Lam ef7d6db912 feat: server-side work for #9047
- rename Thumbs.commit to Thumbs.migrate
- new PUT method that calls Thumbs.migrate
- `checkThumbPrivileges` now takes a single object parameter (ins. of req/res)
5 years ago
Julian Lam b5d910f53b feat: core work for #9042, thumb deletion now accepts uuids
+ common data validation for thumb addition and deletion
5 years ago
Julian Lam 90497e3ef5 feat: more work on topic thumbs refactor
- addThumb and deleteThumb are now protected routes (duh)
- new getThumbs route GET /api/v3/topics/<tid>/thumbs
- Updated `assert.path` middleware to better handle if relative paths are received with upload_url
- Slight refactor of thumbs lib to use validator to differentiate between tid and UUID
5 years ago
Julian Lam 708b1c338f fix: #9040 5 years ago
Julian Lam 7e9e08f718 feat: server-side routes for handling multiple topic thumbnails
closes #8994, requires 'topic-thumb-refactor' branch of composer-default
5 years ago
Barış Soner Uşaklı 954dc5b7be feat: #8983, update pin tooltip in topic 5 years ago
Julian Lam 046d0b1637
feat: allow pins to expire (if set) (#8908)
* fix: add back topic assert middleware for pin route

* feat: server-side handling of pin expiries

* refactor: togglePin to not require uid parameter [breaking]

* feat: automatic unpinning if pin has expiration set

* feat: client-side modal for setting pin expiration

* refactor: categories.getPinnedTids to accept multiple cids

... in preparation for pin expiry logic, direct access to *:pinned zsets is discouraged

* fix: remove references to since-removed jobs file for topics

* feat: expire pins when getPinnedTids is called

* refactor: make the togglePin change non-breaking

The 'action:topic.pin' hook now sends uid again, as before. However, if it is a system action (that is, a pin that expired), 'system' will be sent in instead of a valid uid
5 years ago
Julian Lam a0b7a82350
feat(api): account deletion routes for the Write API (#8881)
* feat(api): account deletion routes for the Write API

* refactor: rewrite client-side calls to account deletion to use api

* style: apply DRY
5 years ago
gasoved 3ccebf112e
feat: invites regardless of registration type, invite privilege, groups to join on acceptance (#8786)
* feat: allow invites in normal registration mode + invite privilege

* feat: select groups to join from an invite

* test: check if groups from invitations have been joined

* fix: remove unused variable

* feat: write API versions of socket calls

* docs: openapi specs for the new routes

* test: iron out mongo redis difference

* refactor: move inviteGroups endpoint into write API

* refactor: use GET /api/v3/users/:uid/invites/groups

Instead of GET /api/v3/users/:uid/inviteGroups

* fix: no need for /api/v3 prefix when using api module

* fix: tests

* refactor: change POST /api/v3/users/invite

To POST /api/v3/users/:uid/invites

* refactor: make helpers.invite awaitable

* fix: restrict invite API to self-use only

* fix: move invite groups controller to write api, +tests

* fix: tests

Co-authored-by: Julian Lam <julian@nodebb.org>
5 years ago
Barış Soner Uşaklı f14e42d8bc fix: #8883 5 years ago
Julian Lam f300c933a5 refactor: move session revocation route to write api 5 years ago
Julian Lam d263192271 feat: group exists API call in write api 5 years ago
Julian Lam 6b196a207f fix: permanent redirect on user api redirect shorthand 5 years ago
Julian Lam 60e1e99b4f feat: new shorthand route /api/v3/users/bySlug/:userslug
closes #8844
5 years ago
Julian Lam 891a1ea2af fix: #8827, do not require admin:users privilege to ban users 5 years ago
Julian Lam 266d7587b2 refactor: remove usage of middlewares
Specifically, middleware.isAdmin|exposePrivilegeSet|exposePrivileges
5 years ago
Julian Lam aa8faf58a0 refactor: remove /users/{uid}/settings/{setting} route
@baris Also, I am now allowing the following properties to be saved in User.saveSettings:
- categoryTopicSort
- topicPostSort
- setCategorySort
- setTopicSort
5 years ago
Julian Lam 618e098305 fix: bug where token generation route would fail on null case 5 years ago
Julian Lam c26f2b6599 feat(writeapi): user settings API 5 years ago
Barış Soner Uşaklı d9a16855d0 refactor: posts api 5 years ago