diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-06-27 23:49:16 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-06-27 23:49:16 +0900 |
| commit | 329f055a976dc3b2e12f2a0141bfab2c57ae9193 (patch) | |
| tree | 0f11f906c0e0401b83604e91bfee33ff6214e254 /packages/backend/src/server/api/endpoints/admin | |
| parent | refactor: remove duplicate code (#8895) (diff) | |
| download | sharkey-329f055a976dc3b2e12f2a0141bfab2c57ae9193.tar.gz sharkey-329f055a976dc3b2e12f2a0141bfab2c57ae9193.tar.bz2 sharkey-329f055a976dc3b2e12f2a0141bfab2c57ae9193.zip | |
feat: make possible to delete an account by admin
Resolve #8830
Diffstat (limited to 'packages/backend/src/server/api/endpoints/admin')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/admin/delete-account.ts | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/delete-account.ts b/packages/backend/src/server/api/endpoints/admin/delete-account.ts new file mode 100644 index 0000000000..2d7ef2f236 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/admin/delete-account.ts @@ -0,0 +1,31 @@ +import { Users } from '@/models/index.js'; +import { deleteAccount } from '@/services/delete-account.js'; +import define from '../../define.js'; + +export const meta = { + tags: ['admin'], + + requireCredential: true, + requireAdmin: true, + + res: { + }, +} as const; + +export const paramDef = { + type: 'object', + properties: { + userId: { type: 'string', format: 'misskey:id' }, + }, + required: ['userId'], +} as const; + +// eslint-disable-next-line import/no-default-export +export default define(meta, paramDef, async (ps) => { + const user = await Users.findOneByOrFail({ id: ps.userId }); + if (user.isDeleted) { + return; + } + + await deleteAccount(user); +}); |