summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/users
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2022-01-18 22:27:10 +0900
committerGitHub <noreply@github.com>2022-01-18 22:27:10 +0900
commitefb0ffc4ec1e0b9f6af922cee11481c28dd9a8d6 (patch)
treeea0b4d3d13b14d84eca747d93e0cad6585d07de4 /packages/backend/src/server/api/endpoints/users
parentrefactor (diff)
downloadsharkey-efb0ffc4ec1e0b9f6af922cee11481c28dd9a8d6.tar.gz
sharkey-efb0ffc4ec1e0b9f6af922cee11481c28dd9a8d6.tar.bz2
sharkey-efb0ffc4ec1e0b9f6af922cee11481c28dd9a8d6.zip
refactor: APIエンドポイントファイルの定義を良い感じにする (#8154)
* Fix API Schema Error * Delete SimpleSchema/SimpleObj and Move schemas to dedicated files * Userのスキーマを分割してみる * define packMany type * add , * Ensure enum schema and Make "as const" put once * test? * Revert "test?" This reverts commit 97dc9bfa70851bfb7d1cf38e883f8df20fb78b79. * Revert "Fix API Schema Error" This reverts commit 21b6176d974ed8e3eb73723ad21a105c5d297323. * :v: * clean up * test? * wip * wip * better schema def * :v: * fix * add minLength property * wip * wip * wip * anyOf/oneOf/allOfに対応? ~ relation.ts * refactor! * Define MinimumSchema * wip * wip * anyOf/oneOf/allOfが動作するようにUnionSchemaTypeを修正 * anyOf/oneOf/allOfが動作するようにUnionSchemaTypeを修正 * Update packages/backend/src/misc/schema.ts Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com> * fix * array oneOfをより正確な型に * array oneOfをより正確な型に * wip * :v: * なんかもういろいろ * remove * very good schema * api schema * wip * refactor: awaitAllの型定義を変えてみる * fix * specify types in awaitAll * specify types in awaitAll * :v: * wip * ... * :v: * AllowDateはやめておく * 不必要なoptional: false, nullable: falseを廃止 * Packedが展開されないように * 続packed * wip * define note type * wip * UserDetailedをMeDetailedかUserDetailedNotMeかを区別できるように * wip * wip * wip specify user type of other schemas * ok * convertSchemaToOpenApiSchemaを改修 * convertSchemaToOpenApiSchemaを改修 * Fix * fix * :v: * wip * 分割代入ではなくallOfで定義するように Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Diffstat (limited to 'packages/backend/src/server/api/endpoints/users')
-rw-r--r--packages/backend/src/server/api/endpoints/users/clips.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/users/followers.ts12
-rw-r--r--packages/backend/src/server/api/endpoints/users/following.ts12
-rw-r--r--packages/backend/src/server/api/endpoints/users/gallery/posts.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/users/get-frequently-replied-users.ts24
-rw-r--r--packages/backend/src/server/api/endpoints/users/groups/create.ts8
-rw-r--r--packages/backend/src/server/api/endpoints/users/groups/delete.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/users/groups/invitations/accept.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/users/groups/invitations/reject.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/users/groups/invite.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/users/groups/joined.ts12
-rw-r--r--packages/backend/src/server/api/endpoints/users/groups/leave.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/users/groups/owned.ts12
-rw-r--r--packages/backend/src/server/api/endpoints/users/groups/pull.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/users/groups/show.ts8
-rw-r--r--packages/backend/src/server/api/endpoints/users/groups/transfer.ts8
-rw-r--r--packages/backend/src/server/api/endpoints/users/groups/update.ts8
-rw-r--r--packages/backend/src/server/api/endpoints/users/lists/create.ts8
-rw-r--r--packages/backend/src/server/api/endpoints/users/lists/delete.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/users/lists/list.ts12
-rw-r--r--packages/backend/src/server/api/endpoints/users/lists/pull.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/users/lists/push.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/users/lists/show.ts8
-rw-r--r--packages/backend/src/server/api/endpoints/users/lists/update.ts8
-rw-r--r--packages/backend/src/server/api/endpoints/users/notes.ts10
-rw-r--r--packages/backend/src/server/api/endpoints/users/pages.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/users/reactions.ts12
-rw-r--r--packages/backend/src/server/api/endpoints/users/recommendation.ts14
-rw-r--r--packages/backend/src/server/api/endpoints/users/relation.ts79
-rw-r--r--packages/backend/src/server/api/endpoints/users/report-abuse.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/users/search-by-username-and-host.ts14
-rw-r--r--packages/backend/src/server/api/endpoints/users/search.ts12
-rw-r--r--packages/backend/src/server/api/endpoints/users/show.ts23
-rw-r--r--packages/backend/src/server/api/endpoints/users/stats.ts4
34 files changed, 187 insertions, 167 deletions
diff --git a/packages/backend/src/server/api/endpoints/users/clips.ts b/packages/backend/src/server/api/endpoints/users/clips.ts
index 91da853e6e..d4152fbf50 100644
--- a/packages/backend/src/server/api/endpoints/users/clips.ts
+++ b/packages/backend/src/server/api/endpoints/users/clips.ts
@@ -25,7 +25,7 @@ export const meta = {
validator: $.optional.type(ID),
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, user) => {
diff --git a/packages/backend/src/server/api/endpoints/users/followers.ts b/packages/backend/src/server/api/endpoints/users/followers.ts
index d9c0ed7623..6214ab40ba 100644
--- a/packages/backend/src/server/api/endpoints/users/followers.ts
+++ b/packages/backend/src/server/api/endpoints/users/followers.ts
@@ -9,7 +9,7 @@ import { toPunyNullable } from '@/misc/convert-host';
export const meta = {
tags: ['users'],
- requireCredential: false as const,
+ requireCredential: false,
params: {
userId: {
@@ -39,11 +39,11 @@ export const meta = {
},
res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
+ type: 'array',
+ optional: false, nullable: false,
items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'Following',
},
},
@@ -61,7 +61,7 @@ export const meta = {
id: '3c6a84db-d619-26af-ca14-06232a21df8a',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/following.ts b/packages/backend/src/server/api/endpoints/users/following.ts
index a77fedd68e..76112eab25 100644
--- a/packages/backend/src/server/api/endpoints/users/following.ts
+++ b/packages/backend/src/server/api/endpoints/users/following.ts
@@ -9,7 +9,7 @@ import { toPunyNullable } from '@/misc/convert-host';
export const meta = {
tags: ['users'],
- requireCredential: false as const,
+ requireCredential: false,
params: {
userId: {
@@ -39,11 +39,11 @@ export const meta = {
},
res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
+ type: 'array',
+ optional: false, nullable: false,
items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'Following',
},
},
@@ -61,7 +61,7 @@ export const meta = {
id: 'f6cdb0df-c19f-ec5c-7dbb-0ba84a1f92ba',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/gallery/posts.ts b/packages/backend/src/server/api/endpoints/users/gallery/posts.ts
index bffa4a502e..c5f08b4c94 100644
--- a/packages/backend/src/server/api/endpoints/users/gallery/posts.ts
+++ b/packages/backend/src/server/api/endpoints/users/gallery/posts.ts
@@ -25,7 +25,7 @@ export const meta = {
validator: $.optional.type(ID),
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, user) => {
diff --git a/packages/backend/src/server/api/endpoints/users/get-frequently-replied-users.ts b/packages/backend/src/server/api/endpoints/users/get-frequently-replied-users.ts
index 5852da1849..d886d3355a 100644
--- a/packages/backend/src/server/api/endpoints/users/get-frequently-replied-users.ts
+++ b/packages/backend/src/server/api/endpoints/users/get-frequently-replied-users.ts
@@ -10,7 +10,7 @@ import { Notes, Users } from '@/models/index';
export const meta = {
tags: ['users'],
- requireCredential: false as const,
+ requireCredential: false,
params: {
userId: {
@@ -24,12 +24,22 @@ export const meta = {
},
res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
+ type: 'array',
+ optional: false, nullable: false,
items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
- ref: 'User',
+ type: 'object',
+ optional: false, nullable: false,
+ properties: {
+ user: {
+ type: 'object',
+ optional: false, nullable: false,
+ ref: 'UserDetailed',
+ },
+ weight: {
+ type: 'number',
+ optional: false, nullable: false,
+ },
+ },
},
},
@@ -40,7 +50,7 @@ export const meta = {
id: 'e6965129-7b2a-40a4-bae2-cd84cd434822',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/groups/create.ts b/packages/backend/src/server/api/endpoints/users/groups/create.ts
index bbe041122e..25e29de01c 100644
--- a/packages/backend/src/server/api/endpoints/users/groups/create.ts
+++ b/packages/backend/src/server/api/endpoints/users/groups/create.ts
@@ -8,7 +8,7 @@ import { UserGroupJoining } from '@/models/entities/user-group-joining';
export const meta = {
tags: ['groups'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:user-groups',
@@ -19,11 +19,11 @@ export const meta = {
},
res: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'UserGroup',
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, user) => {
diff --git a/packages/backend/src/server/api/endpoints/users/groups/delete.ts b/packages/backend/src/server/api/endpoints/users/groups/delete.ts
index 5a38428ca4..f30ab78ca0 100644
--- a/packages/backend/src/server/api/endpoints/users/groups/delete.ts
+++ b/packages/backend/src/server/api/endpoints/users/groups/delete.ts
@@ -7,7 +7,7 @@ import { UserGroups } from '@/models/index';
export const meta = {
tags: ['groups'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:user-groups',
@@ -24,7 +24,7 @@ export const meta = {
id: '63dbd64c-cd77-413f-8e08-61781e210b38',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, user) => {
diff --git a/packages/backend/src/server/api/endpoints/users/groups/invitations/accept.ts b/packages/backend/src/server/api/endpoints/users/groups/invitations/accept.ts
index 45b6c39dc3..7061db538b 100644
--- a/packages/backend/src/server/api/endpoints/users/groups/invitations/accept.ts
+++ b/packages/backend/src/server/api/endpoints/users/groups/invitations/accept.ts
@@ -9,7 +9,7 @@ import { UserGroupJoining } from '@/models/entities/user-group-joining';
export const meta = {
tags: ['groups', 'users'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:user-groups',
@@ -26,7 +26,7 @@ export const meta = {
id: '98c11eca-c890-4f42-9806-c8c8303ebb5e',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, user) => {
diff --git a/packages/backend/src/server/api/endpoints/users/groups/invitations/reject.ts b/packages/backend/src/server/api/endpoints/users/groups/invitations/reject.ts
index 03ce90aa3d..f5ca3dec8b 100644
--- a/packages/backend/src/server/api/endpoints/users/groups/invitations/reject.ts
+++ b/packages/backend/src/server/api/endpoints/users/groups/invitations/reject.ts
@@ -7,7 +7,7 @@ import { UserGroupInvitations } from '@/models/index';
export const meta = {
tags: ['groups', 'users'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:user-groups',
@@ -24,7 +24,7 @@ export const meta = {
id: 'ad7471d4-2cd9-44b4-ac68-e7136b4ce656',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, user) => {
diff --git a/packages/backend/src/server/api/endpoints/users/groups/invite.ts b/packages/backend/src/server/api/endpoints/users/groups/invite.ts
index 68ce0f1adc..3b7a4edb81 100644
--- a/packages/backend/src/server/api/endpoints/users/groups/invite.ts
+++ b/packages/backend/src/server/api/endpoints/users/groups/invite.ts
@@ -11,7 +11,7 @@ import { createNotification } from '@/services/create-notification';
export const meta = {
tags: ['groups', 'users'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:user-groups',
@@ -50,7 +50,7 @@ export const meta = {
id: 'ee0f58b4-b529-4d13-b761-b9a3e69f97e6',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/groups/joined.ts b/packages/backend/src/server/api/endpoints/users/groups/joined.ts
index ad18a2f121..ab48b1910d 100644
--- a/packages/backend/src/server/api/endpoints/users/groups/joined.ts
+++ b/packages/backend/src/server/api/endpoints/users/groups/joined.ts
@@ -5,20 +5,20 @@ import { Not, In } from 'typeorm';
export const meta = {
tags: ['groups', 'account'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'read:user-groups',
res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
+ type: 'array',
+ optional: false, nullable: false,
items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'UserGroup',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/groups/leave.ts b/packages/backend/src/server/api/endpoints/users/groups/leave.ts
index af259d28ef..d2fcdab301 100644
--- a/packages/backend/src/server/api/endpoints/users/groups/leave.ts
+++ b/packages/backend/src/server/api/endpoints/users/groups/leave.ts
@@ -7,7 +7,7 @@ import { UserGroups, UserGroupJoinings } from '@/models/index';
export const meta = {
tags: ['groups', 'users'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:user-groups',
@@ -30,7 +30,7 @@ export const meta = {
id: 'b6d6e0c2-ef8a-9bb8-653d-79f4a3107c69',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/groups/owned.ts b/packages/backend/src/server/api/endpoints/users/groups/owned.ts
index d11d04b84d..6193a71019 100644
--- a/packages/backend/src/server/api/endpoints/users/groups/owned.ts
+++ b/packages/backend/src/server/api/endpoints/users/groups/owned.ts
@@ -4,20 +4,20 @@ import { UserGroups } from '@/models/index';
export const meta = {
tags: ['groups', 'account'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'read:user-groups',
res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
+ type: 'array',
+ optional: false, nullable: false,
items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'UserGroup',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/groups/pull.ts b/packages/backend/src/server/api/endpoints/users/groups/pull.ts
index e4c5d1f9ee..785bea140d 100644
--- a/packages/backend/src/server/api/endpoints/users/groups/pull.ts
+++ b/packages/backend/src/server/api/endpoints/users/groups/pull.ts
@@ -8,7 +8,7 @@ import { UserGroups, UserGroupJoinings } from '@/models/index';
export const meta = {
tags: ['groups', 'users'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:user-groups',
@@ -41,7 +41,7 @@ export const meta = {
id: '1546eed5-4414-4dea-81c1-b0aec4f6d2af',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/groups/show.ts b/packages/backend/src/server/api/endpoints/users/groups/show.ts
index 55b86d0e53..eb26eac2a8 100644
--- a/packages/backend/src/server/api/endpoints/users/groups/show.ts
+++ b/packages/backend/src/server/api/endpoints/users/groups/show.ts
@@ -7,7 +7,7 @@ import { UserGroups, UserGroupJoinings } from '@/models/index';
export const meta = {
tags: ['groups', 'account'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'read:user-groups',
@@ -18,8 +18,8 @@ export const meta = {
},
res: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'UserGroup',
},
@@ -30,7 +30,7 @@ export const meta = {
id: 'ea04751e-9b7e-487b-a509-330fb6bd6b9b',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/groups/transfer.ts b/packages/backend/src/server/api/endpoints/users/groups/transfer.ts
index 6795f1dd21..4b1c8fbbdb 100644
--- a/packages/backend/src/server/api/endpoints/users/groups/transfer.ts
+++ b/packages/backend/src/server/api/endpoints/users/groups/transfer.ts
@@ -8,7 +8,7 @@ import { UserGroups, UserGroupJoinings } from '@/models/index';
export const meta = {
tags: ['groups', 'users'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:user-groups',
@@ -23,8 +23,8 @@ export const meta = {
},
res: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'UserGroup',
},
@@ -47,7 +47,7 @@ export const meta = {
id: 'd31bebee-196d-42c2-9a3e-9474d4be6cc4',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/groups/update.ts b/packages/backend/src/server/api/endpoints/users/groups/update.ts
index 0d188af738..6caf903555 100644
--- a/packages/backend/src/server/api/endpoints/users/groups/update.ts
+++ b/packages/backend/src/server/api/endpoints/users/groups/update.ts
@@ -7,7 +7,7 @@ import { UserGroups } from '@/models/index';
export const meta = {
tags: ['groups'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:user-groups',
@@ -22,8 +22,8 @@ export const meta = {
},
res: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'UserGroup',
},
@@ -34,7 +34,7 @@ export const meta = {
id: '9081cda3-7a9e-4fac-a6ce-908d70f282f6',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/lists/create.ts b/packages/backend/src/server/api/endpoints/users/lists/create.ts
index 4c89d1b7eb..945b511628 100644
--- a/packages/backend/src/server/api/endpoints/users/lists/create.ts
+++ b/packages/backend/src/server/api/endpoints/users/lists/create.ts
@@ -7,7 +7,7 @@ import { UserList } from '@/models/entities/user-list';
export const meta = {
tags: ['lists'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:account',
@@ -18,11 +18,11 @@ export const meta = {
},
res: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'UserList',
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, user) => {
diff --git a/packages/backend/src/server/api/endpoints/users/lists/delete.ts b/packages/backend/src/server/api/endpoints/users/lists/delete.ts
index 0f2495dc29..3183d2a09c 100644
--- a/packages/backend/src/server/api/endpoints/users/lists/delete.ts
+++ b/packages/backend/src/server/api/endpoints/users/lists/delete.ts
@@ -7,7 +7,7 @@ import { UserLists } from '@/models/index';
export const meta = {
tags: ['lists'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:account',
@@ -24,7 +24,7 @@ export const meta = {
id: '78436795-db79-42f5-b1e2-55ea2cf19166',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, user) => {
diff --git a/packages/backend/src/server/api/endpoints/users/lists/list.ts b/packages/backend/src/server/api/endpoints/users/lists/list.ts
index 4cf7db69a3..ae66b0aacc 100644
--- a/packages/backend/src/server/api/endpoints/users/lists/list.ts
+++ b/packages/backend/src/server/api/endpoints/users/lists/list.ts
@@ -4,20 +4,20 @@ import { UserLists } from '@/models/index';
export const meta = {
tags: ['lists', 'account'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'read:account',
res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
+ type: 'array',
+ optional: false, nullable: false,
items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'UserList',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/lists/pull.ts b/packages/backend/src/server/api/endpoints/users/lists/pull.ts
index 980d90c614..4c74aefa8a 100644
--- a/packages/backend/src/server/api/endpoints/users/lists/pull.ts
+++ b/packages/backend/src/server/api/endpoints/users/lists/pull.ts
@@ -9,7 +9,7 @@ import { UserLists, UserListJoinings, Users } from '@/models/index';
export const meta = {
tags: ['lists', 'users'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:account',
@@ -36,7 +36,7 @@ export const meta = {
id: '588e7f72-c744-4a61-b180-d354e912bda2',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/lists/push.ts b/packages/backend/src/server/api/endpoints/users/lists/push.ts
index a0ca314f36..8b50c475b0 100644
--- a/packages/backend/src/server/api/endpoints/users/lists/push.ts
+++ b/packages/backend/src/server/api/endpoints/users/lists/push.ts
@@ -9,7 +9,7 @@ import { UserLists, UserListJoinings, Blockings } from '@/models/index';
export const meta = {
tags: ['lists', 'users'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:account',
@@ -48,7 +48,7 @@ export const meta = {
id: '990232c5-3f9d-4d83-9f3f-ef27b6332a4b',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/lists/show.ts b/packages/backend/src/server/api/endpoints/users/lists/show.ts
index 5822c06971..06555c1a88 100644
--- a/packages/backend/src/server/api/endpoints/users/lists/show.ts
+++ b/packages/backend/src/server/api/endpoints/users/lists/show.ts
@@ -7,7 +7,7 @@ import { UserLists } from '@/models/index';
export const meta = {
tags: ['lists', 'account'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'read:account',
@@ -18,8 +18,8 @@ export const meta = {
},
res: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'UserList',
},
@@ -30,7 +30,7 @@ export const meta = {
id: '7bc05c21-1d7a-41ae-88f1-66820f4dc686',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/lists/update.ts b/packages/backend/src/server/api/endpoints/users/lists/update.ts
index 50fcf6ff54..02b0d5fe18 100644
--- a/packages/backend/src/server/api/endpoints/users/lists/update.ts
+++ b/packages/backend/src/server/api/endpoints/users/lists/update.ts
@@ -7,7 +7,7 @@ import { UserLists } from '@/models/index';
export const meta = {
tags: ['lists'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'write:account',
@@ -22,8 +22,8 @@ export const meta = {
},
res: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'UserList',
},
@@ -34,7 +34,7 @@ export const meta = {
id: '796666fe-3dff-4d39-becb-8a5932c1d5b7',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, user) => {
diff --git a/packages/backend/src/server/api/endpoints/users/notes.ts b/packages/backend/src/server/api/endpoints/users/notes.ts
index 2069eb60ab..99158fb0ae 100644
--- a/packages/backend/src/server/api/endpoints/users/notes.ts
+++ b/packages/backend/src/server/api/endpoints/users/notes.ts
@@ -66,11 +66,11 @@ export const meta = {
},
res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
+ type: 'array',
+ optional: false, nullable: false,
items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'Note',
},
},
@@ -82,7 +82,7 @@ export const meta = {
id: '27e494ba-2ac2-48e8-893b-10d4d8c2387b',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/pages.ts b/packages/backend/src/server/api/endpoints/users/pages.ts
index 9fb985dc12..6e003dd1af 100644
--- a/packages/backend/src/server/api/endpoints/users/pages.ts
+++ b/packages/backend/src/server/api/endpoints/users/pages.ts
@@ -25,7 +25,7 @@ export const meta = {
validator: $.optional.type(ID),
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, user) => {
diff --git a/packages/backend/src/server/api/endpoints/users/reactions.ts b/packages/backend/src/server/api/endpoints/users/reactions.ts
index 6f68aca184..312d4dbf23 100644
--- a/packages/backend/src/server/api/endpoints/users/reactions.ts
+++ b/packages/backend/src/server/api/endpoints/users/reactions.ts
@@ -9,7 +9,7 @@ import { ApiError } from '../../error';
export const meta = {
tags: ['users', 'reactions'],
- requireCredential: false as const,
+ requireCredential: false,
params: {
userId: {
@@ -39,11 +39,11 @@ export const meta = {
},
res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
+ type: 'array',
+ optional: false, nullable: false,
items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'NoteReaction',
},
},
@@ -55,7 +55,7 @@ export const meta = {
id: '673a7dd2-6924-1093-e0c0-e68456ceae5c',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/recommendation.ts b/packages/backend/src/server/api/endpoints/users/recommendation.ts
index 5e640330c8..9ea39eb2dd 100644
--- a/packages/backend/src/server/api/endpoints/users/recommendation.ts
+++ b/packages/backend/src/server/api/endpoints/users/recommendation.ts
@@ -8,7 +8,7 @@ import { generateBlockedUserQuery, generateBlockQueryForUsers } from '../../comm
export const meta = {
tags: ['users'],
- requireCredential: true as const,
+ requireCredential: true,
kind: 'read:account',
@@ -25,15 +25,15 @@ export const meta = {
},
res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
+ type: 'array',
+ optional: false, nullable: false,
items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
- ref: 'User',
+ type: 'object',
+ optional: false, nullable: false,
+ ref: 'UserDetailed',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/relation.ts b/packages/backend/src/server/api/endpoints/users/relation.ts
index 629c1d0c1d..7e319ca105 100644
--- a/packages/backend/src/server/api/endpoints/users/relation.ts
+++ b/packages/backend/src/server/api/endpoints/users/relation.ts
@@ -6,7 +6,7 @@ import { Users } from '@/models/index';
export const meta = {
tags: ['users'],
- requireCredential: true as const,
+ requireCredential: true,
params: {
userId: {
@@ -15,92 +15,91 @@ export const meta = {
},
res: {
+ optional: false, nullable: false,
oneOf: [
{
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
properties: {
id: {
- type: 'string' as const,
- optional: false as const, nullable: false as const,
+ type: 'string',
+ optional: false, nullable: false,
format: 'id',
},
isFollowing: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
hasPendingFollowRequestFromYou: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
hasPendingFollowRequestToYou: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
isFollowed: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
isBlocking: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
isBlocked: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
isMuted: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
},
},
{
- type: 'array' as const,
- optional: false as const, nullable: false as const,
+ type: 'array',
items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
properties: {
id: {
- type: 'string' as const,
- optional: false as const, nullable: false as const,
+ type: 'string',
+ optional: false, nullable: false,
format: 'id',
},
isFollowing: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
hasPendingFollowRequestFromYou: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
hasPendingFollowRequestToYou: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
isFollowed: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
isBlocking: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
isBlocked: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
isMuted: {
- type: 'boolean' as const,
- optional: false as const, nullable: false as const,
+ type: 'boolean',
+ optional: false, nullable: false,
},
},
},
},
],
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/report-abuse.ts b/packages/backend/src/server/api/endpoints/users/report-abuse.ts
index bd80710fec..ed2aa7bb26 100644
--- a/packages/backend/src/server/api/endpoints/users/report-abuse.ts
+++ b/packages/backend/src/server/api/endpoints/users/report-abuse.ts
@@ -13,7 +13,7 @@ import { fetchMeta } from '@/misc/fetch-meta';
export const meta = {
tags: ['users'],
- requireCredential: true as const,
+ requireCredential: true,
params: {
userId: {
@@ -44,7 +44,7 @@ export const meta = {
id: '35e166f5-05fb-4f87-a2d5-adb42676d48f',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/search-by-username-and-host.ts b/packages/backend/src/server/api/endpoints/users/search-by-username-and-host.ts
index b9cf332f47..d67625e624 100644
--- a/packages/backend/src/server/api/endpoints/users/search-by-username-and-host.ts
+++ b/packages/backend/src/server/api/endpoints/users/search-by-username-and-host.ts
@@ -8,7 +8,7 @@ import { User } from '@/models/entities/user';
export const meta = {
tags: ['users'],
- requireCredential: false as const,
+ requireCredential: false,
params: {
username: {
@@ -31,15 +31,15 @@ export const meta = {
},
res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
+ type: 'array',
+ optional: false, nullable: false,
items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'User',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
@@ -112,6 +112,6 @@ export default define(meta, async (ps, me) => {
.getMany();
}
- return await Users.packMany(users, me, { detail: ps.detail });
+ return await Users.packMany(users, me, { detail: !!ps.detail });
}
});
diff --git a/packages/backend/src/server/api/endpoints/users/search.ts b/packages/backend/src/server/api/endpoints/users/search.ts
index 35f1988fce..26f818afcc 100644
--- a/packages/backend/src/server/api/endpoints/users/search.ts
+++ b/packages/backend/src/server/api/endpoints/users/search.ts
@@ -7,7 +7,7 @@ import { Brackets } from 'typeorm';
export const meta = {
tags: ['users'],
- requireCredential: false as const,
+ requireCredential: false,
params: {
query: {
@@ -36,15 +36,15 @@ export const meta = {
},
res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
+ type: 'array',
+ optional: false, nullable: false,
items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
+ type: 'object',
+ optional: false, nullable: false,
ref: 'User',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/show.ts b/packages/backend/src/server/api/endpoints/users/show.ts
index e8b2a781f7..92910e9ed8 100644
--- a/packages/backend/src/server/api/endpoints/users/show.ts
+++ b/packages/backend/src/server/api/endpoints/users/show.ts
@@ -11,7 +11,7 @@ import { User } from '@/models/entities/user';
export const meta = {
tags: ['users'],
- requireCredential: false as const,
+ requireCredential: false,
params: {
userId: {
@@ -32,9 +32,20 @@ export const meta = {
},
res: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
- ref: 'User',
+ optional: false, nullable: false,
+ oneOf: [
+ {
+ type: 'object',
+ ref: 'UserDetailed',
+ },
+ {
+ type: 'array',
+ items: {
+ type: 'object',
+ ref: 'UserDetailed',
+ }
+ },
+ ]
},
errors: {
@@ -42,7 +53,7 @@ export const meta = {
message: 'Failed to resolve remote user.',
code: 'FAILED_TO_RESOLVE_REMOTE_USER',
id: 'ef7b9be4-9cba-4e6f-ab41-90ed171c7d3c',
- kind: 'server' as const,
+ kind: 'server',
},
noSuchUser: {
@@ -51,7 +62,7 @@ export const meta = {
id: '4362f8dc-731f-4ad8-a694-be5a88922a24',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
diff --git a/packages/backend/src/server/api/endpoints/users/stats.ts b/packages/backend/src/server/api/endpoints/users/stats.ts
index 84bbd16f0b..381e433479 100644
--- a/packages/backend/src/server/api/endpoints/users/stats.ts
+++ b/packages/backend/src/server/api/endpoints/users/stats.ts
@@ -7,7 +7,7 @@ import { DriveFiles, Followings, NoteFavorites, NoteReactions, Notes, PageLikes,
export const meta = {
tags: ['users'],
- requireCredential: false as const,
+ requireCredential: false,
params: {
userId: {
@@ -22,7 +22,7 @@ export const meta = {
id: '9e638e45-3b25-4ef7-8f95-07e8498f1819',
},
},
-};
+} as const;
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {