67 Commits (c77361c8d77fc4b1137f8cfd0d217da2207b1259)

Author SHA1 Message Date
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