Improve doc

This commit is contained in:
syuilo 2019-02-25 04:02:18 +09:00
parent eb8d1211ba
commit 47d4dcfdf5
No known key found for this signature in database
GPG key ID: BDC4C49D06AB9D69
2 changed files with 63 additions and 33 deletions

View file

@ -1,7 +1,8 @@
import $ from 'cafy'; import $ from 'cafy';
import define from '../../../define'; import define from '../../../define';
import perUserFollowingChart from '../../../../../services/chart/per-user-following'; import perUserFollowingChart, { perUserFollowingLogSchema } from '../../../../../services/chart/per-user-following';
import ID, { transform } from '../../../../../misc/cafy-id'; import ID, { transform } from '../../../../../misc/cafy-id';
import { convertLog } from '../../../../../services/chart';
export const meta = { export const meta = {
stability: 'stable', stability: 'stable',
@ -38,12 +39,7 @@ export const meta = {
} }
}, },
res: { res: convertLog(perUserFollowingLogSchema),
type: 'array',
items: {
type: 'object',
},
},
}; };
export default define(meta, async (ps) => { export default define(meta, async (ps) => {

View file

@ -2,56 +2,90 @@ import autobind from 'autobind-decorator';
import Chart, { Obj } from './'; import Chart, { Obj } from './';
import Following from '../../models/following'; import Following from '../../models/following';
import { IUser, isLocalUser } from '../../models/user'; import { IUser, isLocalUser } from '../../models/user';
import { SchemaType } from '../../misc/schema';
/** export const logSchema = {
*
*/
type PerUserFollowingLog = {
local: {
/** /**
* *
*/ */
followings: { followings: {
type: 'object' as 'object',
properties: {
/** /**
* *
*/ */
total: number; total: {
type: 'number',
description: 'フォローしている合計',
},
/** /**
* *
*/ */
inc: number; inc: {
type: 'number',
description: 'フォローした数',
},
/** /**
* *
*/ */
dec: number; dec: {
}; type: 'number',
description: 'フォロー解除した数',
},
}
},
/** /**
* *
*/ */
followers: { followers: {
type: 'object' as 'object',
properties: {
/** /**
* *
*/ */
total: number; total: {
type: 'number',
description: 'フォローされている合計',
},
/** /**
* *
*/ */
inc: number; inc: {
type: 'number',
description: 'フォローされた数',
},
/** /**
* *
*/ */
dec: number; dec: {
}; type: 'number',
}; description: 'フォロー解除された数',
},
remote: PerUserFollowingLog['local']; }
},
}; };
export const perUserFollowingLogSchema = {
type: 'object' as 'object',
properties: {
local: {
type: 'object' as 'object',
properties: logSchema
},
remote: {
type: 'object' as 'object',
properties: logSchema
},
}
};
type PerUserFollowingLog = SchemaType<typeof perUserFollowingLogSchema>;
class PerUserFollowingChart extends Chart<PerUserFollowingLog> { class PerUserFollowingChart extends Chart<PerUserFollowingLog> {
constructor() { constructor() {
super('perUserFollowing', true); super('perUserFollowing', true);