diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-02-19 14:05:32 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-19 14:05:32 +0900 |
| commit | 510de87607283d4d49239b1d14026a577299c99e (patch) | |
| tree | d56933864d6cf07751e2e2a11a373ee752338c80 /packages/backend/src/server/api/endpoints/users.ts | |
| parent | update deps (diff) | |
| download | sharkey-510de87607283d4d49239b1d14026a577299c99e.tar.gz sharkey-510de87607283d4d49239b1d14026a577299c99e.tar.bz2 sharkey-510de87607283d4d49239b1d14026a577299c99e.zip | |
refactor: use ajv instead of cafy (#8324)
* wip
* wip
* Update abuse-user-reports.ts
* Update files.ts
* Update list-remote.ts
* Update list.ts
* Update show-users.ts
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Update update.ts
* Update search.ts
* Update reactions.ts
* Update search.ts
* wip
* wip
* wip
* wip
* Update update.ts
* Update relation.ts
* Update available.ts
* wip
* wip
* wip
* Update packages/backend/src/server/api/define.ts
Co-authored-by: Johann150 <johann.galle@protonmail.com>
* Update define.ts
* Update define.ts
* typo
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Update update.ts
* wip
* Update signup.ts
* Update call.ts
* minimum for limit
* type
* remove needless annotation
* wip
* Update signup.ts
* wip
* wip
* fix
* Update create.ts
Co-authored-by: Johann150 <johann.galle@protonmail.com>
Diffstat (limited to 'packages/backend/src/server/api/endpoints/users.ts')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/users.ts | 60 |
1 files changed, 14 insertions, 46 deletions
diff --git a/packages/backend/src/server/api/endpoints/users.ts b/packages/backend/src/server/api/endpoints/users.ts index 6b11ec0f01..0c03ac05c3 100644 --- a/packages/backend/src/server/api/endpoints/users.ts +++ b/packages/backend/src/server/api/endpoints/users.ts @@ -1,4 +1,3 @@ -import $ from 'cafy'; import define from '../define'; import { Users } from '@/models/index'; import { generateMutedUserQueryForUsers } from '../common/generate-muted-user-query'; @@ -9,49 +8,6 @@ export const meta = { requireCredential: false, - params: { - limit: { - validator: $.optional.num.range(1, 100), - default: 10, - }, - - offset: { - validator: $.optional.num.min(0), - default: 0, - }, - - sort: { - validator: $.optional.str.or([ - '+follower', - '-follower', - '+createdAt', - '-createdAt', - '+updatedAt', - '-updatedAt', - ]), - }, - - state: { - validator: $.optional.str.or([ - 'all', - 'admin', - 'moderator', - 'adminOrModerator', - 'alive', - ]), - default: 'all', - }, - - origin: { - validator: $.optional.str.or([ - 'combined', - 'local', - 'remote', - ]), - default: 'local', - }, - }, - res: { type: 'array', optional: false, nullable: false, @@ -63,8 +19,20 @@ export const meta = { }, } as const; +const paramDef = { + type: 'object', + properties: { + limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, + offset: { type: 'integer', default: 0 }, + sort: { type: 'string', enum: ['+follower', '-follower', '+createdAt', '-createdAt', '+updatedAt', '-updatedAt'] }, + state: { type: 'string', enum: ['all', 'admin', 'moderator', 'adminOrModerator', 'alive'], default: "all" }, + origin: { type: 'string', enum: ['combined', 'local', 'remote'], default: "local" }, + }, + required: [], +} as const; + // eslint-disable-next-line import/no-default-export -export default define(meta, async (ps, me) => { +export default define(meta, paramDef, async (ps, me) => { const query = Users.createQueryBuilder('user'); query.where('user.isExplorable = TRUE'); @@ -93,7 +61,7 @@ export default define(meta, async (ps, me) => { if (me) generateMutedUserQueryForUsers(query, me); if (me) generateBlockQueryForUsers(query, me); - query.take(ps.limit!); + query.take(ps.limit); query.skip(ps.offset); const users = await query.getMany(); |