Commit Graph

303 Commits (7ca37bd6c3b6c39cb40c34b5e9ac1824580e6281)

Author SHA1 Message Date
Julian Lam d3a9e76ae2 test(user): added additional tests for icon background colour
Julian Lam 4c078084dc test: fix spec for topic thumbs
Julian Lam 1d9ade4c36 test: added missing properties to topicObject
Julian Lam b31f6dd24a test: added missing test file
Julian Lam ad54b174a4 test: topic reordering tests
Barış Soner Uşaklı ab0ef44289 fix: spec
Barış Soner Uşaklı 47299ea587
Categories refactor ()
* feat: wip categories pagination

* feat: add subCategoriesPerPage setting

* feat: add load more sub categories button to category page

* fix: openapi spec

* feat: show sub categories left on category page

hide button when no more categories left

* breaking: rename categories to allCategories on /search

categories contains the search results

* fix: spec

* refactor: remove cidsPerPage

* fix: tests

* feat: use component for subcategories

* fix: prevent negative subCategoriesLeft

* feat: new category filter/search WIP

* feat: remove categories from /tag

* fix: dont load all categories when showing move modal

* feat: allow adding custom categories to list

* breaking: dont load entire category tree on post queue

removed unused code
add hooks to filter/selector
add options to filter/selector

* feat: make selector modal work again

* feat: replace old search module

* fix: topic move selector

* feat: dont load all categories on create category modal

* fix: fix more categorySelectors

* feat: dont load entire category tree on group details page

* feat: dont load all categories on home page and user settings page

* feat: add pagination to /user/:userslug/categories

* fix: update schemas

* fix: more tests

* fix: test

* feat: flags page, dont return entire category tree

* fix: flag test

* feat: categories manage page

dont load all categories
allow changing root category
clear caches properly

* fix: spec

* feat: admins&mods page

dont load all categories

* fix: spec

* fix: dont load all children when opening dropdown

* fix: on search results dont return all children

* refactor: pass all options, rename options.cids to options.selectedCids

* fix: 

* fix: index 0

* fix: spec

* feat: , add setObjectBulk

* refactor: shoter updateOrder

* feat: selectors on categories/category

* fix: tests and search filter

* fix: category update test

* feat: pagination on acp categories page

show order in set order modal

* fix: allow drag&drop on pages > 1 in /admin/manage/categories

* fix: teasers for deep nested categories

fix sub category display on /category page

* fix: spec

* refactor: use eslint-disable-next-line

* refactor: shorter
gasoved cabec378f4 fix: openapi test specs
gasoved 72b050b4a8 test: post diff deletion tests
Barış Soner Uşaklı 833c73e81b fix: example
Barış Soner Uşaklı cc560ca3f9 feat: doc add description
Barış Soner Uşaklı ed11e17129 feat: add doc for query param
Barış Soner Uşaklı d1364c3130
Categories refactor ()
* feat: wip categories pagination

* feat: add subCategoriesPerPage setting

* feat: add load more sub categories button to category page

* fix: openapi spec

* feat: show sub categories left on category page

hide button when no more categories left

* breaking: rename categories to allCategories on /search

categories contains the search results

* fix: spec

* refactor: remove cidsPerPage

* fix: tests

* feat: use component for subcategories

* fix: prevent negative subCategoriesLeft
Barış Soner Uşaklı 4c12e0aaf8 fix: update docs
Barış Soner Uşaklı faeb637353 fix: tests remove old routes
Julian Lam dc84559d0b feat(topic-events): topic events GET route in write API
Julian Lam ab2e1ecb40 feat(topic-events): work in progress topic events logic and client-side implementation
Julian Lam 8b72479f62 fix: remove 'filters' and 'categories' from flag details API return [breaking]
These options were originally used when the flag filters were shown in the sidebar. This has seen been removed, and so the information is now superfluous
Julian Lam 966c4117ec refactor(api): post move to write API
Julian Lam e118e59ce0 refactor(api): post diffs to use write API
Julian Lam 0da2843281 feat(api): schema definition for new credential checking route
Julian Lam 87a7d85e89 fix: missing breadcrumbs in schema
Julian Lam edb8da1ef9 feat(api): closes category and topic routes migrated to Write API
Julian Lam fb3f3f729f refactor(openapi): update TopicObject component to reference TopicObjectSlim in its schema
Julian Lam 3959a7bd9c fix(api): failing test due to missing file
Julian Lam 32e36f7b2e feat(api): group ownership API route, switch client-side to use API route
Julian Lam 98550d61d7 feat(api): add schema for groups update route
Julian Lam 4fc1337762 feat(api): added schema for email unsubscribe token
Julian Lam f416dc177a fix: all tests, wrap up work
Julian Lam 9c2de86a6e fix: two more routes
Julian Lam cb32e32ae3 feat: fix more tests, add more routes, update api test suite
Julian Lam 14c51e3c60 feat: add registration/complete route, fix some other tests
Julian Lam b9a61d2d45 fix: api tests
Julian Lam 9de35ec5a3 feat: add missing schemas for various ACP settings routes
Julian Lam c079051b19 fix: errors in write-api schema
Julian Lam 8e5a413e4e chore: minor reordering of lines
Julian Lam 990f107736 fix: broken tests from last round of fixes
Julian Lam d6de925348 feat: add missing schema for category update and deletion
Deleted CategoryObj component, since CategoryObject is used more
Julian Lam eef052c1bf fix: add missing token generation route to write api spec
Julian Lam d85181e031 feat: add schema for api ping routes
Julian Lam 878ee06715 refactor: schema backreference test to use map instead of reduce, properly check write-api routes
Julian Lam df8d62ba06 feat: normalize paths before comparison
Julian Lam 2170c40007 fix: iteration logic bug
Julian Lam ae9439748d fix: spec
Julian Lam d31aae167e fix(spec): broken link to status component
Julian Lam 340387c18a fix: , 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
Julian Lam 5950683316 feat: closes , tests for topic thumbs routes, write API schema
Julian Lam 1949d20a87 fix: spec
Barış Soner Uşaklı 5f0f476b57 feat: , use timestamp in profile/cover images
delete current one if keepAllUserImages is turned off
fix typo in data
psychobunny 69864b8746 fix(openapi): spec for c1a7968d23
psychobunny af9e676291 Revert "fix(openapi): spec for 685f3c6aa6173383d6c31b87ed51cf8ed0ca44ce"
This reverts commit 1bb75e762e.
psychobunny 1bb75e762e fix(openapi): spec for 685f3c6aa6
Barış Soner Uşaklı cfb7b113e9 fix: spec
Barış Soner Uşaklı cbbda45102 fix: remove dupe
Barış Soner Uşaklı 700ef1af97 Merge branch 'master' of https://github.com/NodeBB/NodeBB
Barış Soner Uşaklı 4afdf8bc27 fix: spec, remove old tests
Julian Lam acb576662e fix(spec): from 6e6a7a8f8a
Julian Lam 1b1205a9ce fix(spec): broken test due to canFlag addition
Barış Soner Uşaklı 88e5cda5b4 fix: spec for /tag
Julian Lam 22715d5413 refactor: add TopicObjectSlim common schema
Barış Soner Uşaklı c037779fa1 feat: add topicOwnerPost
Julian Lam 45a4f1361f chore(spec): replace ugly hack with another hack for optional properties
Julian Lam 90434a4668 Revert "fix(spec): always show thumb in topic response"
This reverts commit 493c568a75.
Julian Lam 493c568a75 fix(spec): always show thumb in topic response
Julian Lam ae402e213e chore: move topic route schema up two levels as slug and index are optional
Julian Lam b3b501d789 chore: move category route schema up two levels as slug and index are optional
Barış Soner Uşaklı b18e7e319b fix: spec
Barış Soner Uşaklı c2bb61231e fix: spec
Barış Soner Uşaklı 9ca44e6f54
feat: add displayname into user obj ()
* feat: add displayname into user obj 

* fix: spec

* perf: dont load settings if acp setting is turned off
Barış Soner Uşaklı 8d060065a0 fix: spec
Julian Lam a0b7a82350
feat(api): account deletion routes for the Write API ()
* feat(api): account deletion routes for the Write API

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

* style: apply DRY
Barış Soner Uşaklı b44ddecdf8 feat: , separate notification type for group chats
Barış Soner Uşaklı 1d6bcbebde feat: https://github.com/NodeBB/NodeBB/issues/8147
gasoved 3ccebf112e
feat: invites regardless of registration type, invite privilege, groups to join on acceptance ()
* 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>
Barış Soner Uşaklı 2f4653a3cc fix: spec
Julian Lam 8518404e22
feat: allow groups to specify which cids to show member posts from ()
* feat: allow groups to specify which cids to show member posts from

* docs: fix tests for openapi

* fix: test breakage caused by improper conditional

* feat: server-side checking of memberPostCids for validity

* feat: admin panel template update to select categories to include

* refactor: privilege helpers.isUserAllowedTo

... to helpers.isAllowedTo, allowing group names to be passed in
Julian Lam bcccb331db docs: openapi schema for user/group exist check, session deletion
Julian Lam 97842c43d3 test: new api test to ensure each path's parameters are defined in context
Barış Soner Uşaklı fe63c6aef3 fix: spec
Barış Soner Uşaklı f1f9b225b0
feat: , cache refactor ()
* feat: , cache refactor

ability to disable caches
ability to download contents of cache
refactor cache modules to remove duplicated code

* fix: remove duplicate hit/miss tracking

check cacheEnabled in getUncachedKeys
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
Julian Lam cc1c722092 fix: breaking test from 0db0231cff
Also lowered export timeout to 5s
Julian Lam 14e5c24ec5 fix(openapi): final fixes to schemas
Julian Lam b2e9e3e048 fix(writeapi): more tweaks to schema files
Julian Lam 9f9e3c1582 fix(writeapi): fix components, + tag object schema
Julian Lam a4f3270fc5 fix(writeapi): missing files for tests
Julian Lam b092f65d95 fix(writeapi): tests
Julian Lam 93f65f89e7 fix(writeapi): added examples to all parameter objects in schema
Barış Soner Uşaklı 0db0231cff feat: move postercount to topic hash
Barış Soner Uşaklı 7a3183520f fix: spec
Julian Lam 63e07c9433 fix: tests
Julian Lam c26f2b6599 feat(writeapi): user settings API
Barış Soner Uşaklı cf474ab246 fix: spec
Barış Soner Uşaklı 872bacf1c4
Admin/users ()
* feat: wip admin/users

* feat: more work

* feat: more fixes

* feat: , 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
psychobunny 0e0f1506d2 fix: update server param to /api/v3
psychobunny c68653d035 fix: typo
psychobunny 7aa4d104af fix: testing openapi write tests
psychobunny 16873800a6 fix(openapi): users.yaml
psychobunny 54e6003a7c fix: test fix for write API
need to rewrite users.yaml to fix properly
psychobunny dbb4cfe9d6 style(openapi): break write API routes into individual files
psychobunny ffac3c7902 style(openapi): move schemas and responses out of write.yaml
Julian Lam f870721fca feat(writeapi): file deletion route
Julian Lam a55b381791 feat(writeapi): admin settings update route
Julian Lam 2928b9b87a style: updates to openapi files
Julian Lam 0973feea16 feat(writeapi): post bookmarking
Julian Lam 9942c248eb feat(writeapi): post voting
Julian Lam f66c2fb60f feat(writeapi): post editing
Julian Lam 1605e5e443 feat(writeapi): topic tags
Julian Lam da25ce4d09 feat: topic delete/restore/purge/(un)pin/(un)lock
Julian Lam 4c833d0bf0 feat(writeapi): topic posting and replying
Julian Lam 952dc211dd feat(writeapi): added group joining and deletion
Julian Lam ba345e53e8 feat(writeapi): added POST /api/v1/groups
Julian Lam 49994f3a15 fix(openapi): moved write-api to public/openapi
Barış Soner Uşaklı 7cd83b9a6a fix: spec
Barış Soner Uşaklı 6924eb6c52 fix: spec
Barış Soner Uşaklı fbd85680fb fix: spec
Barış Soner Uşaklı 5d9a868142
feat: category filter on post queue ()
* feat: category filter on post queue

category filter module

* feat: add spec
psychobunny ffbf2d6d63 feat(openapi): refactor into indiv. files to match API & tpl routing
psychobunny c7d27731b3 Revert "feat(openapi): refactor into indiv. files to match API & tpl routing"
This reverts commit 84f5e4cf3d.
psychobunny 84f5e4cf3d feat(openapi): refactor into indiv. files to match API & tpl routing
psychobunny 6478b32d0e feat: upload maskable icon for PWA
Julian Lam 3fbddbe2ca fix(openapi): test for new trending plugins in ACP
Barış Soner Uşaklı 83d4e7efaa feat: add number of posters to topic
Barış Soner Uşaklı 654d583059 fix: api spec
Barış Soner Uşaklı af43f0e48e fix: , rename /api/me to /api/self
Barış Soner Uşaklı e90940949c fix: openapi
Barış Soner Uşaklı 5f10d67db5
Remove sounds ()
* feat: remove sounds

* feat: remove more sounds

* feat: disable sounds plugin

* fix: openapi
Julian Lam b587127560 fix: new openapi def for replies addition
Julian Lam e0c7d65a92 Revert "feat: add reply count to getPostSummaryByPids"
This reverts commit de0f4aadb8.
Julian Lam de0f4aadb8 feat: add reply count to getPostSummaryByPids
Barış Soner Uşaklı 4f7cfd5372 fix: openapi spec
Barış Soner Uşaklı c4ad14cb68 fix: api spec
Julian Lam 2a948d32a4 Revert "test(openapi): missing commonprops addition"
This reverts commit 0dc55bbc80.
Julian Lam 0dc55bbc80 test(openapi): missing commonprops addition
Julian Lam d935f03636 fix(openapi): tests
Julian Lam 8ff09630b6 fix(openapi): new api definition
Julian Lam d6297b28e9 fix: tests
Barış Soner Uşaklı dfabd0a3fe feat: remove administrator property from public routes
Julian Lam a716a5529c
feat: more discrete commit-on-save instead of commit-on-change w/ confirm modals ()
* feat: privileges save button, , WIP

* fix: disable firefox autocomplete on privilege form fields

* feat: closes  privilege changes commit on save

- new language strings for confirmation and success modals/toasts
- indeterminate privilege handling (/cc @psychobunny)
- added new discard button
- both discard and save buttons now have confirmation dialogs

* fix(tests): remove duplicate template helper test

* fix(tests): broken template helper test

* feat: confirm dialogs for all privilege copy actions

Also, ability to add user to a privilege table without needing
to refresh the privilege table.

* feat: group row addition w/o table refresh

breaking: helpers.getUserPrivileges and helpers.getGroupPrivileges
no longer make socket calls to the following hooks:

- filter:privileges.list, filter:privileges.admin.list,
  filter:privileges.global.list, filter:privileges.groups.list,
  filter:privileges.admin.groups.list,
  filter:privileges.gloval.groups.list

The filters are still called, but done before the helper method
is called, and the results are passed in instead. This change
should only affect you if you directly call the helper methods,
otherwise the change is transparent.

* fix: stale ajaxify data on privilege category switch

* fix: implicit privileges not showing for user privs

* fix: groups, not group, also fix tests

* fix(tests): again

* fix: wrong tpl rendered when adding group to global priv table
Barış Soner Uşaklı fb7bb8d400 feat: use category selector in category page
fix privilege shortcuts in group page after search
Barış Soner Uşaklı 91411cc47c feat: add privileges shortcut to groups list
fix issues with escape group names
Barış Soner Uşaklı 8415d2f014 fix: api test
Barış Soner Uşaklı 69fb15276c fix: tests
Barış Soner Uşaklı f48d155670 fix: tests
Julian Lam 55b0e902fb feat: consolidation of flags to reduce flagspam,
Squashed commit of the following:

commit c6d09396208a10c244d7b3d22ffd2d7dd1274d3a
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 13:41:32 2020 -0400

    fix: more tests

commit 32f9af2a87a81fa62ecca01e71d6f0d5b9d37ba1
Merge: e50907535 4eae927d1
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 10:53:04 2020 -0400

    Merge remote-tracking branch 'origin/master' into singleton-flags

commit e50907535109dbdbe8f15c3e2fcdf22d90b1332a
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 10:52:46 2020 -0400

    fix: controllers-admin test

commit fd5af99e303de48a80b0ccc166eee19175cf232b
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 17:26:55 2020 -0400

    fix(tests): dummy commit to trigger travisCI

commit c452a6ffcfaef91403de084c4ae16795cb23c60e
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 17:05:09 2020 -0400

    fix(openapi): openapi spec changes

commit 8089a74e89128141ab1e6f8ff83447114b3b846b
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:48:00 2020 -0400

    fix: reversing the order of reports for display purposes

commit a099892b377333561c72f1ad5b6b20ddb4ce8a96
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:45:44 2020 -0400

    refactor: run all flag creation calls in a single batch

commit b24999682f9d5a33a08a049749c1f0eb4f00facc
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:08:23 2020 -0400

    feat: handling multiple reporters per flag, 

commit 08c75c020021ada754bf0e39eae77d631b01dee5
Author: Julian Lam <julian@nodebb.org>
Date:   Thu Jul 16 20:53:18 2020 -0400

    feat: upgrade script for 
psychobunny 8769e28b28 fix: api docs for admin/manage/groups/x
Barış Soner Uşaklı 42af4b572b fix: api tests
Barış Soner Uşaklı a46adb3fd5 fix: more tests
Barış Soner Uşaklı 67ca5e3256 fix: tests
Barış Soner Uşaklı 00d39fb32c feat: , export groups members as csv