Commit Graph

194 Commits

Author SHA1 Message Date
Julian Lam
6e2da9966e refactor: move plugin hook methods to plugin.hooks.* 2020-11-20 16:32:39 -05:00
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
2020-11-17 17:29:50 -05:00
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>
2020-11-16 14:47:23 -05:00
Julian Lam
d263192271 feat: group exists API call in write api 2020-11-06 12:18:42 -05:00
Julian Lam
1446cec77f feat: user exist route in write api 2020-11-06 11:55:04 -05:00
Julian Lam
c26f2b6599 feat(writeapi): user settings API 2020-10-22 14:07:50 -04:00
Julian Lam
960e925e40 refactor: change password/user follow to use api lib 2020-10-15 17:09:39 -04:00
Julian Lam
3ea1aa4780 refactor(writeapi): update route prefix to api/v3, default error option 2020-10-08 15:33:10 -04:00
Julian Lam
b5bbcbaeaa feat: added POST and DELETE /api/v1/users/:uid/follow routes 2020-10-08 15:33:10 -04:00
Julian Lam
4fca79380a fix: tests, because redis is TOO FAST 2020-09-14 11:07:46 -04:00
Julian Lam
29b357bc66 refactor: expose new method for appending moderation note 2020-09-14 10:16:45 -04:00
Barış Soner Uşaklı
8bd63f61e0 feat: resolve flag on delete/purge/ban/delete account 2020-07-25 18:26:09 -04:00
Barış Soner Uşaklı
4d0636f847 fix: #8163, prevent account deletion 2020-02-13 11:31:20 -05:00
Barış Soner Uşaklı
a7d2b8a1fe refactor: async/await socket.io 2019-09-15 02:14:51 -04:00
Barış Soner Uşaklı
805dcd7ca2 Async refactor in place (#7736)
* feat: allow both callback&and await

* feat: ignore async key

* feat: callbackify and promisify in same file

* Revert "feat: callbackify and promisify in same file"

This reverts commit cea206a9b8.

* feat: no need to store .callbackify

* feat: change getTopics to async

* feat: remove .async

* fix: byScore

* feat: rewrite topics/index and social with async/await

* fix: rewrite topics/data.js

fix issue with async.waterfall, only pass result if its not undefined

* feat: add callbackify to redis/psql

* feat: psql use await

* fix: redis 🌋

* feat: less returns

* feat: more await rewrite

* fix: redis tests

* feat: convert sortedSetAdd

rewrite psql transaction to async/await

* feat: 🐶

* feat: test

* feat: log client and query

* feat: log bind

* feat: more logs

* feat: more logs

* feat: check perform

* feat: dont callbackify transaction

* feat: remove logs

* fix: main functions

* feat: more logs

* fix: increment

* fix: rename

* feat: remove cls

* fix: remove console.log

* feat: add deprecation message to .async usage

* feat: update more dbal methods

* fix: redis :voodoo:

* feat:  fix redis zrem, convert setObject

* feat: upgrade getObject methods

* fix: psql getObjectField

* fix: redis tests

* feat: getObjectKeys

* feat: getObjectValues

* feat: isObjectField

* fix: add missing return

* feat: delObjectField

* feat: incrObjectField

* fix: add missing await

* feat: remove exposed helpers

* feat: list methods

* feat: flush/empty

* feat: delete

* fix: redis delete all

* feat: get/set

* feat: incr/rename

* feat: type

* feat: expire

* feat: setAdd

* feat: setRemove

* feat: isSetMember

* feat: getSetMembers

* feat: setCount, setRemoveRandom

* feat: zcard,zcount

* feat: sortedSetRank

* feat: isSortedSetMember

* feat: zincrby

* feat: sortedSetLex

* feat: processSortedSet

* fix: add mising await

* feat: debug psql

* fix: psql test

* fix: test

* fix: another test

* fix: test fix

* fix: psql tests

* feat: remove logs

* feat: user arrow func

use builtin async promises

* feat: topic bookmarks

* feat: topic.delete

* feat: topic.restore

* feat: topics.purge

* feat: merge

* feat: suggested

* feat: topics/user.js

* feat: topics modules

* feat: topics/follow

* fix: deprecation msg

* feat: fork

* feat: topics/posts

* feat: sorted/recent

* feat: topic/teaser

* feat: topics/tools

* feat: topics/unread

* feat: add back node versions

disable deprecation notice
wrap async controllers in try/catch

* feat: use db directly

* feat: promisify in place

* fix: redis/psql

* feat: deprecation message

logs for psql

* feat: more logs

* feat: more logs

* feat: logs again

* feat: more logs

* fix: call release

* feat: restore travis, remove logs

* fix: loops

* feat: remove .async. usage
2019-07-09 12:46:49 -04:00
Andrew Rodrigues
50260e137a fix: #7576 "Disable password changes" can be sidestepped 2019-05-09 15:51:36 -04:00
Baris Usakli
ed91d3f2c8 fix: #7519 2019-04-05 13:44:15 -04:00
Baris Usakli
f8fa659642 fix don't crash if settings are not passed in 2019-03-15 15:26:41 -04:00
Julian Lam
0c09b7402d feat: logging password resets and errors into event log
closes #7343, also adds tests for password reset socket calls
2019-02-08 10:51:10 -05:00
Barış Soner Uşaklı
5353960ae7 fix: #7316 2019-01-29 13:11:45 -05:00
Barış Soner Uşaklı
9c022afae1 Parse int (#6853)
* Store config fields as JSON in the db

Fewer parseInts

* Remove unnecessary parseInts

* remove some dupe code add tests

* remove console.log

* remove more parseInts

* WIP: read meta.configs defaults from defaults.json

remove more parseInts

* more work

* add log for failing test

* update admin pwd

* fix tests, dont require posts/cache before configs are initialized

* handle saves

* Test boolean conditions

* remove more parseInts

* Fix boolean values

* remove lots more parseInts

* removed json parsing

* renamed var to number

* categories dont have timestamp
2018-10-21 16:47:51 -04:00
Barış Soner Uşaklı
1bea247748 add username/email to user-delete event 2018-10-04 11:08:01 -04:00
Barış Soner Uşaklı
cf75c79611 Unread changes closes #6781 (#6783)
* WIP

* more unread work

* faster teaser block handling

if user doesn't have anyone blocked don't check

* much faster filtering of blocked posts

* add missing uid

* add tidsByFilter to return

* dont load all pids to find previous non-blocked teaser

* fix unread filters

they no longer use unread/new unread/watched etc they are query strings now

* shorter nav item code

* add unreplied to filters

fix icons not clearing to 0
dont increment unread counters if there is a reply in a topic where you ignored the topic creator
2018-09-24 12:58:59 -04:00
Barış Soner Uşaklı
69c7260fe9 dont let sending more than max invites via bulk invite 2018-09-20 11:55:53 -04:00
Barış Soner Uşaklı
669a5135e1 closes #6768 2018-09-19 14:38:07 -04:00
Barış Soner Uşaklı
25fed0aa8d change isPasswordCorrect to return false if user does not have password 2018-09-06 14:32:44 -04:00
Julian Lam
b6a5419ca1 closes #6674 2018-07-27 11:54:32 -04:00
Julian Lam
fb42862ec7 check password validity in user delete socket call 2018-07-03 16:38:51 -04:00
Julian Lam
be0ef799ee closes #6592 2018-06-29 14:16:28 -04:00
Julian Lam
896a5325a5 added gdpr check socket method 2018-05-11 12:18:51 -04:00
Barış Soner Uşaklı
5d2a7106f6 change upload storage 2018-04-12 12:35:05 -04:00
Barış Soner Uşaklı
927537c759 #6431 add private upload info 2018-04-09 20:22:36 -04:00
Barış Soner Uşaklı
b35bfb81ce ability to delete uploads from account page #6431 2018-04-09 20:03:33 -04:00
Julian Lam
8e822c7772 Added user consent pages (#6430)
- "Your Rights & Consent" user settings page
2018-04-09 12:23:53 -04:00
Julian Lam
f769e734ed removed error output from user reset for rate limiting or incorrect email, so users cannot validate emails via this endpoint 2018-04-04 13:09:53 -04:00
Julian Lam
a2627d2066 added default payload to emails, and adding nodebb logo for email header 2017-07-13 11:30:44 -04:00
Julian Lam
12524b5ce4 fix lint 2017-05-30 13:17:26 -04:00
Julian Lam
d2b5b53cb4 refactor for sendValidationEmail, and sending better dummy data for welcome email template 2017-05-30 13:09:30 -04:00
Barış Soner Uşaklı
f6ac92111b style changes 2017-05-26 00:02:20 -04:00
Barış Soner Uşaklı
6fdad4b002 fix test on redis 2017-05-13 22:12:52 -04:00
barisusakli
75e5f2da74 closes #5485 2017-04-21 21:36:42 -04:00
Barış Soner Uşaklı
fe27d40ff6 closes #5542 2017-03-23 10:58:28 +03:00
barisusakli
5a2ff8ed0a closes #5527 2017-03-14 23:03:09 +03:00
barisusakli
b1b87d339f more refactors 2017-03-02 16:11:11 +03:00
Peter Jaszkowiak
dd2b930824 Resolve merge conflicts, minify only .js files 2017-02-23 18:31:49 -07:00
barisusakli
799f688503 closes #5463 , invitation tests 2017-02-21 15:08:17 +03:00
Peter Jaszkowiak
896c8c7343 ESlint object-curly-spacing 2017-02-18 12:30:49 -07:00
Peter Jaszkowiak
3b0dd2d1ef ESlint padded-blocks 2017-02-18 02:32:24 -07:00
Peter Jaszkowiak
bc1d70c126 ESlint comma-dangle 2017-02-17 19:31:21 -07:00
barisusakli
69b766bbc8 more tests 2016-12-02 17:05:46 +03:00