149 Commits (74174414ec7a531190bf4c0c5b834410b1df9b3d)

Author SHA1 Message Date
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) 5 years ago
Julian Lam 8c86f5bcec fix: bad execution flow in utilities.login 5 years ago
Julian Lam 8bbb320867 feat: handle HTTP 429 as a response code 5 years ago
Julian Lam 56f929ed4f feat: add write API route for checking login credentials 5 years ago
Julian Lam edb8da1ef9 feat(api): closes #9123 category and topic routes migrated to Write API 5 years ago
Julian Lam e267f29584 feat(api): #9123, migrate /api/post/pid/:pid to Write API 5 years ago
Julian Lam 32e36f7b2e feat(api): group ownership API route, switch client-side to use API route 5 years ago
Julian Lam 1cd2689cf6 refactor(api): deprecated groups update socket in favour of API lib 5 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
Barış Soner Uşaklı 272e73da53 refactor: post restore/delete/purge 5 years ago
Barış Soner Uşaklı 9738e20207 refactor: merge post.edit
fix: dont fadeout/fadeint if title/post didnt change
5 years ago
Barış Soner Uşaklı 083c74e059 refactor: api categories 5 years ago
Barış Soner Uşaklı e78c498e84 fix: missing doTopicAction, fix wrong api params 5 years ago
Julian Lam 9ee3cb9b62 refactor: topic follow/ignore to use api lib 5 years ago
Julian Lam 68d6818bca refactor: topic tools' actions to use api lib 5 years ago
Julian Lam 21974a77f8 feat: topic reply to use api lib (also + missing file) 5 years ago
Julian Lam 40598b368e refactor: topic creation to use api lib 5 years ago
Julian Lam 2d252f2fa4 refactor: user bans to use api lib 5 years ago
Barış Soner Uşaklı e367c5403e refactor: move groups.leave, fix some tests 5 years ago
Barış Soner Uşaklı bbbd9fee85 Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
Julian Lam 960e925e40 refactor: change password/user follow to use api lib 5 years ago
Barış Soner Uşaklı 081c4fa6d4 Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
Julian Lam 430e7f5834 refactor: user deletion to use api lib 5 years ago
Barış Soner Uşaklı 8ae1f81cf4 feat: refactor groups.delete 5 years ago
Julian Lam 31ae8a8323 refactor: socket profile update to use api lib 5 years ago
Barış Soner Uşaklı d69e503d21 feat: move groups.join to api 5 years ago
Julian Lam 23086daead refactor: user create and profile update to use api lib 5 years ago
Barış Soner Uşaklı 5e2caf19f5 refactor: use single function for api code 5 years ago
Barış Soner Uşaklı 25e4a09816 Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
Barış Soner Uşaklı 4418ff0716 fix: #8768 5 years ago
Julian Lam cc6e995ee2 fix: api bug where user profile editing continued even if not allowed 5 years ago
Barış Soner Uşaklı 872bacf1c4
Admin/users (#8762)
* feat: wip admin/users

* feat: more work

* feat: more fixes

* feat: #8662, verified/unverified user groups

* feat: add filter

* feat: change user search to use filters array

* refactor: remove unused search call

* fix: tests

* fix: cant join system groups

* fix: upgrade script
5 years ago
Barış Soner Uşaklı 30d6a2b84e fix: #8756, pass missing req to mock 5 years ago
Barış Soner Uşaklı dc29f4dca2 refactor: switch to using slugify module 5 years ago
Julian Lam 4a63c20a72 chore: some optimizations for codeclimate 5 years ago
Julian Lam f870721fca feat(writeapi): file deletion route 5 years ago
Julian Lam a55b381791 feat(writeapi): admin settings update route 5 years ago
Julian Lam 2ec838fc59 feat(writeapi): token generation/delete routes, ACP updates 5 years ago
Julian Lam 0973feea16 feat(writeapi): post bookmarking 5 years ago
Julian Lam 9942c248eb feat(writeapi): post voting 5 years ago
Julian Lam 5e2a3ea6ec refactor(writeapi): post.tools.purge no longer a method 5 years ago
Julian Lam 414169fdfa feat(writeapi): post delete/restore/purge 5 years ago
Julian Lam f66c2fb60f feat(writeapi): post editing 5 years ago
Julian Lam 1605e5e443 feat(writeapi): topic tags 5 years ago
Julian Lam 9be5629458 feat(writeapi): topic follow/ignore 5 years ago
Julian Lam da25ce4d09 feat: topic delete/restore/purge/(un)pin/(un)lock 5 years ago
Julian Lam 7757f965eb fix: errors thrown if no password sent in to profile edit route 5 years ago
Julian Lam 6096f74ab2 feat(writeapi): adding missing files 5 years ago
Julian Lam 4c833d0bf0 feat(writeapi): topic posting and replying 5 years ago
Julian Lam 40dc1c38d3 feat(writeapi): added DELETE /groups/:slug/membership/:uid route 5 years ago
Julian Lam 68ecf41ecf fix(writeapi): client-side group join API call 5 years ago
Julian Lam 952dc211dd feat(writeapi): added group joining and deletion 5 years ago
Julian Lam d044c3223e feat(writeapi): abstracted ajax calls out to new api module 5 years ago
Julian Lam ba345e53e8 feat(writeapi): added POST /api/v1/groups 5 years ago
Julian Lam 3072de4812 feat: added DELETE /api/v1/categories/:cid route 5 years ago
Julian Lam e942ad8101 feat: added PUT /api/v1/categories/:cid route
Deprecated admin.categories.update socket call
Showing stack trace in console for errors, when in development mode
5 years ago
Julian Lam dc666fd8a9 feat: added POST /api/v1/categories route 5 years ago
Julian Lam a5af2dc819 feat: added PUT/DELETE /api/v1/users/:uid/ban routes 5 years ago
Julian Lam b5bbcbaeaa feat: added POST and DELETE /api/v1/users/:uid/follow routes 5 years ago
Julian Lam 7aed174ebc feat: added PUT /api/v1/users/:uid/password route 5 years ago
Julian Lam a1ddc210b2 feat: added DELETE /api/v1/users/:uid and DELETE /api/v1/users 5 years ago
Julian Lam d15d9e4492 fix(refactor): patching helpers.tryRoute for API routes, some re-org
Thanks @barisusakli for the tip
5 years ago