This commit is contained in:
tamaina
2023-05-29 16:39:03 +00:00
parent dbeb1856ac
commit 68a2aa3efd
6 changed files with 66 additions and 61 deletions

View File

@@ -1626,6 +1626,30 @@ export const endpoints = {
}
}],
},
'admin/show-moderation-logs': {
tags: ['admin'],
requireCredential: true,
requireModerator: true,
defines: [{
req: {
type: 'object',
properties: {
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
sinceId: { type: 'string', format: 'misskey:id' },
untilId: { type: 'string', format: 'misskey:id' },
},
required: [],
},
res: {
type: 'array',
items: {
$ref: 'https://misskey-hub.net/api/schemas/ModerationLog',
},
}
}],
},
} as const satisfies { [x: string]: IEndpointMeta; };
/**

View File

@@ -51,6 +51,7 @@ import {
ServerInfoSchema,
ServerInfoAdminSchema,
} from './schemas/server-info.js';
import { packedModerationLogSchema } from './schemas/moderation-log.js';
import { Error, ApiError } from './schemas/error.js';
import type { JSONSchema7, JSONSchema7Definition, GetDef, GetRefs, GetKeys, UnionToArray } from 'schema-type';
@@ -101,6 +102,7 @@ export const refs = {
InstanceMetaAdmin: InstanceMetaAdminSchema,
ServerInfo: ServerInfoSchema,
ServerInfoAdmin: ServerInfoAdminSchema,
ModerationLog: packedModerationLogSchema,
Error: Error,
ApiError: ApiError,

View File

@@ -0,0 +1,30 @@
import type { JSONSchema7Definition } from 'schema-type';
export const packedModerationLogSchema = {
$id: 'https://misskey-hub.net/api/schemas/ModerationLog',
type: 'object',
properties: {
id: { $ref: 'https://misskey-hub.net/api/schemas/Id' },
createdAt: {
type: 'string',
format: 'date-time',
},
type: {
type: 'string',
},
info: {
type: 'object',
},
userId: { $ref: 'https://misskey-hub.net/api/schemas/Id' },
user: { $ref: 'https://misskey-hub.net/api/schemas/UserDetailed' },
},
required: [
'id',
'createdAt',
'type',
'info',
'userId',
'user',
],
} as const satisfies JSONSchema7Definition;

View File

@@ -119,6 +119,9 @@ describe('schemas', () => {
type ServerInfo = Packed<'ServerInfo'>;
type ServerInfoAdmin = Packed<'ServerInfoAdmin'>;
});
test('moderation log', () => {
type ModerationLog = Packed<'ModerationLog'>;
});
test('error', () => {
type Error = Packed<'Error'>;
type ApiError = Packed<'ApiError'>;