mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-27 11:53:09 +02:00
Improve API doc
This commit is contained in:
parent
e7dd5e155d
commit
a78b048720
3 changed files with 46 additions and 2 deletions
|
@ -2,6 +2,7 @@ import { EntityRepository, Repository } from 'typeorm';
|
||||||
import { NoteFavorite } from '../entities/note-favorite';
|
import { NoteFavorite } from '../entities/note-favorite';
|
||||||
import { Notes } from '..';
|
import { Notes } from '..';
|
||||||
import { ensure } from '../../prelude/ensure';
|
import { ensure } from '../../prelude/ensure';
|
||||||
|
import { types, bool } from '../../misc/schema';
|
||||||
|
|
||||||
@EntityRepository(NoteFavorite)
|
@EntityRepository(NoteFavorite)
|
||||||
export class NoteFavoriteRepository extends Repository<NoteFavorite> {
|
export class NoteFavoriteRepository extends Repository<NoteFavorite> {
|
||||||
|
@ -26,3 +27,33 @@ export class NoteFavoriteRepository extends Repository<NoteFavorite> {
|
||||||
return Promise.all(favorites.map(x => this.pack(x, me)));
|
return Promise.all(favorites.map(x => this.pack(x, me)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const packedNoteFavoriteSchema = {
|
||||||
|
type: types.object,
|
||||||
|
optional: bool.false, nullable: bool.false,
|
||||||
|
properties: {
|
||||||
|
id: {
|
||||||
|
type: types.string,
|
||||||
|
optional: bool.false, nullable: bool.false,
|
||||||
|
format: 'id',
|
||||||
|
description: 'The unique identifier for this favorite.',
|
||||||
|
example: 'xxxxxxxxxx',
|
||||||
|
},
|
||||||
|
createdAt: {
|
||||||
|
type: types.string,
|
||||||
|
optional: bool.false, nullable: bool.false,
|
||||||
|
format: 'date-time',
|
||||||
|
description: 'The date that the favorite was created.'
|
||||||
|
},
|
||||||
|
note: {
|
||||||
|
type: types.object,
|
||||||
|
optional: bool.false, nullable: bool.false,
|
||||||
|
ref: 'Note',
|
||||||
|
},
|
||||||
|
noteId: {
|
||||||
|
type: types.string,
|
||||||
|
optional: bool.false, nullable: bool.false,
|
||||||
|
format: 'id',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
|
@ -3,6 +3,7 @@ import { ID } from '../../../../misc/cafy-id';
|
||||||
import define from '../../define';
|
import define from '../../define';
|
||||||
import { NoteFavorites } from '../../../../models';
|
import { NoteFavorites } from '../../../../models';
|
||||||
import { makePaginationQuery } from '../../common/make-pagination-query';
|
import { makePaginationQuery } from '../../common/make-pagination-query';
|
||||||
|
import { types, bool } from '../../../../misc/schema';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
desc: {
|
||||||
|
@ -29,7 +30,17 @@ export const meta = {
|
||||||
untilId: {
|
untilId: {
|
||||||
validator: $.optional.type(ID),
|
validator: $.optional.type(ID),
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
|
|
||||||
|
res: {
|
||||||
|
type: types.array,
|
||||||
|
optional: bool.false, nullable: bool.false,
|
||||||
|
items: {
|
||||||
|
type: types.object,
|
||||||
|
optional: bool.false, nullable: bool.false,
|
||||||
|
ref: 'NoteFavorite',
|
||||||
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default define(meta, async (ps, user) => {
|
export default define(meta, async (ps, user) => {
|
||||||
|
|
|
@ -14,6 +14,7 @@ import { packedNoteReactionSchema } from '../../../models/repositories/note-reac
|
||||||
import { packedHashtagSchema } from '../../../models/repositories/hashtag';
|
import { packedHashtagSchema } from '../../../models/repositories/hashtag';
|
||||||
import { packedPageSchema } from '../../../models/repositories/page';
|
import { packedPageSchema } from '../../../models/repositories/page';
|
||||||
import { packedUserGroupSchema } from '../../../models/repositories/user-group';
|
import { packedUserGroupSchema } from '../../../models/repositories/user-group';
|
||||||
|
import { packedNoteFavoriteSchema } from '../../../models/repositories/note-favorite';
|
||||||
|
|
||||||
export function convertSchemaToOpenApiSchema(schema: Schema) {
|
export function convertSchemaToOpenApiSchema(schema: Schema) {
|
||||||
const res: any = schema;
|
const res: any = schema;
|
||||||
|
@ -71,13 +72,14 @@ export const schemas = {
|
||||||
App: convertSchemaToOpenApiSchema(packedAppSchema),
|
App: convertSchemaToOpenApiSchema(packedAppSchema),
|
||||||
MessagingMessage: convertSchemaToOpenApiSchema(packedMessagingMessageSchema),
|
MessagingMessage: convertSchemaToOpenApiSchema(packedMessagingMessageSchema),
|
||||||
Note: convertSchemaToOpenApiSchema(packedNoteSchema),
|
Note: convertSchemaToOpenApiSchema(packedNoteSchema),
|
||||||
|
NoteReaction: convertSchemaToOpenApiSchema(packedNoteReactionSchema),
|
||||||
|
NoteFavorite: convertSchemaToOpenApiSchema(packedNoteFavoriteSchema),
|
||||||
Notification: convertSchemaToOpenApiSchema(packedNotificationSchema),
|
Notification: convertSchemaToOpenApiSchema(packedNotificationSchema),
|
||||||
DriveFile: convertSchemaToOpenApiSchema(packedDriveFileSchema),
|
DriveFile: convertSchemaToOpenApiSchema(packedDriveFileSchema),
|
||||||
DriveFolder: convertSchemaToOpenApiSchema(packedDriveFolderSchema),
|
DriveFolder: convertSchemaToOpenApiSchema(packedDriveFolderSchema),
|
||||||
Following: convertSchemaToOpenApiSchema(packedFollowingSchema),
|
Following: convertSchemaToOpenApiSchema(packedFollowingSchema),
|
||||||
Muting: convertSchemaToOpenApiSchema(packedMutingSchema),
|
Muting: convertSchemaToOpenApiSchema(packedMutingSchema),
|
||||||
Blocking: convertSchemaToOpenApiSchema(packedBlockingSchema),
|
Blocking: convertSchemaToOpenApiSchema(packedBlockingSchema),
|
||||||
NoteReaction: convertSchemaToOpenApiSchema(packedNoteReactionSchema),
|
|
||||||
Hashtag: convertSchemaToOpenApiSchema(packedHashtagSchema),
|
Hashtag: convertSchemaToOpenApiSchema(packedHashtagSchema),
|
||||||
Page: convertSchemaToOpenApiSchema(packedPageSchema),
|
Page: convertSchemaToOpenApiSchema(packedPageSchema),
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue