summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/admin/ad/delete.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-05-04 21:15:57 +0900
committerGitHub <noreply@github.com>2021-05-04 21:15:57 +0900
commit18e1efc7ecd3f5a6d774c16f17526d12ae46b2f5 (patch)
tree8f2cb50644bb3679eafd29fb9e7448ed5069321c /src/server/api/endpoints/admin/ad/delete.ts
parentメールアドレスの設定を促すように (diff)
downloadsharkey-18e1efc7ecd3f5a6d774c16f17526d12ae46b2f5.tar.gz
sharkey-18e1efc7ecd3f5a6d774c16f17526d12ae46b2f5.tar.bz2
sharkey-18e1efc7ecd3f5a6d774c16f17526d12ae46b2f5.zip
Ad (#7495)
* wip * Update ad.vue * Update default.widgets.vue * wip * Create 1620019354680-ad.ts * wip * Update ads.vue * wip * Update ad.vue
Diffstat (limited to 'src/server/api/endpoints/admin/ad/delete.ts')
-rw-r--r--src/server/api/endpoints/admin/ad/delete.ts34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/server/api/endpoints/admin/ad/delete.ts b/src/server/api/endpoints/admin/ad/delete.ts
new file mode 100644
index 0000000000..6a5f92193e
--- /dev/null
+++ b/src/server/api/endpoints/admin/ad/delete.ts
@@ -0,0 +1,34 @@
+import $ from 'cafy';
+import define from '../../../define';
+import { ID } from '@/misc/cafy-id';
+import { Ads } from '../../../../../models';
+import { ApiError } from '../../../error';
+
+export const meta = {
+ tags: ['admin'],
+
+ requireCredential: true as const,
+ requireModerator: true,
+
+ params: {
+ id: {
+ validator: $.type(ID)
+ }
+ },
+
+ errors: {
+ noSuchAd: {
+ message: 'No such ad.',
+ code: 'NO_SUCH_AD',
+ id: 'ccac9863-3a03-416e-b899-8a64041118b1'
+ }
+ }
+};
+
+export default define(meta, async (ps, me) => {
+ const ad = await Ads.findOne(ps.id);
+
+ if (ad == null) throw new ApiError(meta.errors.noSuchAd);
+
+ await Ads.delete(ad.id);
+});