summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/i/webhooks
diff options
context:
space:
mode:
authorGrapeApple0 <84321396+GrapeApple0@users.noreply.github.com>2023-12-21 16:57:05 +0900
committerGitHub <noreply@github.com>2023-12-21 16:57:05 +0900
commit79ca93cefb8c892556b49fe4055d397e2a56adcf (patch)
tree001d98fcbc5d17c33c02724f9618303fc14acbc3 /packages/backend/src/server/api/endpoints/i/webhooks
parentUpdate CHANGELOG.md (diff)
downloadmisskey-79ca93cefb8c892556b49fe4055d397e2a56adcf.tar.gz
misskey-79ca93cefb8c892556b49fe4055d397e2a56adcf.tar.bz2
misskey-79ca93cefb8c892556b49fe4055d397e2a56adcf.zip
enhance: api.jsonのレスポンスの内容を実際の内容に合わせる (#12723)
* Create packedAdSchema * admin/emoji/add * admin/get-user-ips * admin/roles/users * admin/get-index-stats * admin/accounts/find-by-email * fix type of admin/ad/list * federation/stats * endpoints * get-online-users-count * i/2fa/register-key * i/2fa/key-done * i/2fa/register * i/apps * i/authorized-apps * i/registry/get-all * i/registry/get * i/registry/get-detail * i/registry/key-with-type * i/registry/scopes-with-domain * i/update-email * i/move * i/webhooks/create * fix miss type * i/webhooks/show * i/webhooks/list * flash/create * roles/users * server-info * test * users/lists/get-memberships * users/achievements * fetch-rss * fetch-external-resources
Diffstat (limited to 'packages/backend/src/server/api/endpoints/i/webhooks')
-rw-r--r--packages/backend/src/server/api/endpoints/i/webhooks/create.ts39
-rw-r--r--packages/backend/src/server/api/endpoints/i/webhooks/list.ts45
-rw-r--r--packages/backend/src/server/api/endpoints/i/webhooks/show.ts40
3 files changed, 121 insertions, 3 deletions
diff --git a/packages/backend/src/server/api/endpoints/i/webhooks/create.ts b/packages/backend/src/server/api/endpoints/i/webhooks/create.ts
index f00dba4a85..bdc9f9ea8b 100644
--- a/packages/backend/src/server/api/endpoints/i/webhooks/create.ts
+++ b/packages/backend/src/server/api/endpoints/i/webhooks/create.ts
@@ -27,6 +27,33 @@ export const meta = {
id: '87a9bb19-111e-4e37-81d3-a3e7426453b0',
},
},
+
+ res: {
+ type: 'object',
+ properties: {
+ id: {
+ type: 'string',
+ format: 'misskey:id'
+ },
+ userId: {
+ type: 'string',
+ format: 'misskey:id',
+ },
+ name: { type: 'string' },
+ on: {
+ type: 'array',
+ items: {
+ type: 'string',
+ enum: webhookEventTypes,
+ }
+ },
+ url: { type: 'string' },
+ secret: { type: 'string' },
+ active: { type: 'boolean' },
+ latestSentAt: { type: 'string', format: 'date-time', nullable: true },
+ latestStatus: { type: 'integer', nullable: true },
+ },
+ },
} as const;
export const paramDef = {
@@ -73,7 +100,17 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.globalEventService.publishInternalEvent('webhookCreated', webhook);
- return webhook;
+ return {
+ id: webhook.id,
+ userId: webhook.userId,
+ name: webhook.name,
+ on: webhook.on,
+ url: webhook.url,
+ secret: webhook.secret,
+ active: webhook.active,
+ latestSentAt: webhook.latestSentAt?.toISOString(),
+ latestStatus: webhook.latestStatus,
+ };
});
}
}
diff --git a/packages/backend/src/server/api/endpoints/i/webhooks/list.ts b/packages/backend/src/server/api/endpoints/i/webhooks/list.ts
index aa8921fe24..afb2d0509e 100644
--- a/packages/backend/src/server/api/endpoints/i/webhooks/list.ts
+++ b/packages/backend/src/server/api/endpoints/i/webhooks/list.ts
@@ -5,6 +5,7 @@
import { Inject, Injectable } from '@nestjs/common';
import { Endpoint } from '@/server/api/endpoint-base.js';
+import { webhookEventTypes } from '@/models/Webhook.js';
import type { WebhooksRepository } from '@/models/_.js';
import { DI } from '@/di-symbols.js';
@@ -14,6 +15,36 @@ export const meta = {
requireCredential: true,
kind: 'read:account',
+
+ res: {
+ type: 'array',
+ items: {
+ type: 'object',
+ properties: {
+ id: {
+ type: 'string',
+ format: 'misskey:id'
+ },
+ userId: {
+ type: 'string',
+ format: 'misskey:id',
+ },
+ name: { type: 'string' },
+ on: {
+ type: 'array',
+ items: {
+ type: 'string',
+ enum: webhookEventTypes,
+ }
+ },
+ url: { type: 'string' },
+ secret: { type: 'string' },
+ active: { type: 'boolean' },
+ latestSentAt: { type: 'string', format: 'date-time', nullable: true },
+ latestStatus: { type: 'integer', nullable: true },
+ },
+ }
+ }
} as const;
export const paramDef = {
@@ -33,7 +64,19 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
userId: me.id,
});
- return webhooks;
+ return webhooks.map(webhook => (
+ {
+ id: webhook.id,
+ userId: webhook.userId,
+ name: webhook.name,
+ on: webhook.on,
+ url: webhook.url,
+ secret: webhook.secret,
+ active: webhook.active,
+ latestSentAt: webhook.latestSentAt?.toISOString(),
+ latestStatus: webhook.latestStatus,
+ }
+ ));
});
}
}
diff --git a/packages/backend/src/server/api/endpoints/i/webhooks/show.ts b/packages/backend/src/server/api/endpoints/i/webhooks/show.ts
index f1294bb5c8..5c6dd908b4 100644
--- a/packages/backend/src/server/api/endpoints/i/webhooks/show.ts
+++ b/packages/backend/src/server/api/endpoints/i/webhooks/show.ts
@@ -5,6 +5,7 @@
import { Inject, Injectable } from '@nestjs/common';
import { Endpoint } from '@/server/api/endpoint-base.js';
+import { webhookEventTypes } from '@/models/Webhook.js';
import type { WebhooksRepository } from '@/models/_.js';
import { DI } from '@/di-symbols.js';
import { ApiError } from '../../../error.js';
@@ -23,6 +24,33 @@ export const meta = {
id: '50f614d9-3047-4f7e-90d8-ad6b2d5fb098',
},
},
+
+ res: {
+ type: 'object',
+ properties: {
+ id: {
+ type: 'string',
+ format: 'misskey:id'
+ },
+ userId: {
+ type: 'string',
+ format: 'misskey:id',
+ },
+ name: { type: 'string' },
+ on: {
+ type: 'array',
+ items: {
+ type: 'string',
+ enum: webhookEventTypes,
+ }
+ },
+ url: { type: 'string' },
+ secret: { type: 'string' },
+ active: { type: 'boolean' },
+ latestSentAt: { type: 'string', format: 'date-time', nullable: true },
+ latestStatus: { type: 'integer', nullable: true },
+ },
+ },
} as const;
export const paramDef = {
@@ -49,7 +77,17 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
throw new ApiError(meta.errors.noSuchWebhook);
}
- return webhook;
+ return {
+ id: webhook.id,
+ userId: webhook.userId,
+ name: webhook.name,
+ on: webhook.on,
+ url: webhook.url,
+ secret: webhook.secret,
+ active: webhook.active,
+ latestSentAt: webhook.latestSentAt?.toISOString(),
+ latestStatus: webhook.latestStatus,
+ };
});
}
}