Migrate cafy to 14.0 (#4240)
This commit is contained in:
		
							parent
							
								
									b083430011
								
							
						
					
					
						commit
						5aa58da918
					
				
					 77 changed files with 334 additions and 345 deletions
				
			
		| 
						 | 
					@ -103,7 +103,7 @@
 | 
				
			||||||
		"bcryptjs": "2.4.3",
 | 
							"bcryptjs": "2.4.3",
 | 
				
			||||||
		"bee-queue": "1.2.2",
 | 
							"bee-queue": "1.2.2",
 | 
				
			||||||
		"bootstrap-vue": "2.0.0-rc.11",
 | 
							"bootstrap-vue": "2.0.0-rc.11",
 | 
				
			||||||
		"cafy": "12.1.0",
 | 
							"cafy": "14.0.1",
 | 
				
			||||||
		"chai": "4.2.0",
 | 
							"chai": "4.2.0",
 | 
				
			||||||
		"chai-http": "4.2.1",
 | 
							"chai-http": "4.2.1",
 | 
				
			||||||
		"chalk": "2.4.2",
 | 
							"chalk": "2.4.2",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,9 +25,9 @@ export type ObjectId = mongo.ObjectID;
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * ID
 | 
					 * ID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
export default class ID extends Context<string> {
 | 
					export default class ID<Maybe = string> extends Context<string | Maybe> {
 | 
				
			||||||
	constructor() {
 | 
						constructor(optional = false, nullable = false) {
 | 
				
			||||||
		super();
 | 
							super(optional, nullable);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		this.push((v: any) => {
 | 
							this.push((v: any) => {
 | 
				
			||||||
			if (!isObjectId(v) && isNotAnId(v)) {
 | 
								if (!isObjectId(v) && isNotAnId(v)) {
 | 
				
			||||||
| 
						 | 
					@ -40,4 +40,16 @@ export default class ID extends Context<string> {
 | 
				
			||||||
	public getType() {
 | 
						public getType() {
 | 
				
			||||||
		return super.getType('string');
 | 
							return super.getType('string');
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public makeOptional(): ID<undefined> {
 | 
				
			||||||
 | 
							return new ID(true, false);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public makeNullable(): ID<null> {
 | 
				
			||||||
 | 
							return new ID(false, true);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public makeOptionalNullable(): ID<undefined | null> {
 | 
				
			||||||
 | 
							return new ID(true, true);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,10 +20,10 @@ export default async (ctx: Router.IRouterContext) => {
 | 
				
			||||||
	const userId = new ObjectID(ctx.params.user);
 | 
						const userId = new ObjectID(ctx.params.user);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Get 'cursor' parameter
 | 
						// Get 'cursor' parameter
 | 
				
			||||||
	const [cursor = null, cursorErr] = $.type(ID).optional.get(ctx.request.query.cursor);
 | 
						const [cursor = null, cursorErr] = $.optional.type(ID).get(ctx.request.query.cursor);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Get 'page' parameter
 | 
						// Get 'page' parameter
 | 
				
			||||||
	const pageErr = !$.str.optional.or(['true', 'false']).ok(ctx.request.query.page);
 | 
						const pageErr = !$.optional.str.or(['true', 'false']).ok(ctx.request.query.page);
 | 
				
			||||||
	const page: boolean = ctx.request.query.page === 'true';
 | 
						const page: boolean = ctx.request.query.page === 'true';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Validate parameters
 | 
						// Validate parameters
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,10 +20,10 @@ export default async (ctx: Router.IRouterContext) => {
 | 
				
			||||||
	const userId = new ObjectID(ctx.params.user);
 | 
						const userId = new ObjectID(ctx.params.user);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Get 'cursor' parameter
 | 
						// Get 'cursor' parameter
 | 
				
			||||||
	const [cursor = null, cursorErr] = $.type(ID).optional.get(ctx.request.query.cursor);
 | 
						const [cursor = null, cursorErr] = $.optional.type(ID).get(ctx.request.query.cursor);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Get 'page' parameter
 | 
						// Get 'page' parameter
 | 
				
			||||||
	const pageErr = !$.str.optional.or(['true', 'false']).ok(ctx.request.query.page);
 | 
						const pageErr = !$.optional.str.or(['true', 'false']).ok(ctx.request.query.page);
 | 
				
			||||||
	const page: boolean = ctx.request.query.page === 'true';
 | 
						const page: boolean = ctx.request.query.page === 'true';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Validate parameters
 | 
						// Validate parameters
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,13 +24,13 @@ export default async (ctx: Router.IRouterContext) => {
 | 
				
			||||||
	const userId = new ObjectID(ctx.params.user);
 | 
						const userId = new ObjectID(ctx.params.user);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Get 'sinceId' parameter
 | 
						// Get 'sinceId' parameter
 | 
				
			||||||
	const [sinceId, sinceIdErr] = $.type(ID).optional.get(ctx.request.query.since_id);
 | 
						const [sinceId, sinceIdErr] = $.optional.type(ID).get(ctx.request.query.since_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Get 'untilId' parameter
 | 
						// Get 'untilId' parameter
 | 
				
			||||||
	const [untilId, untilIdErr] = $.type(ID).optional.get(ctx.request.query.until_id);
 | 
						const [untilId, untilIdErr] = $.optional.type(ID).get(ctx.request.query.until_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Get 'page' parameter
 | 
						// Get 'page' parameter
 | 
				
			||||||
	const pageErr = !$.str.optional.or(['true', 'false']).ok(ctx.request.query.page);
 | 
						const pageErr = !$.optional.str.or(['true', 'false']).ok(ctx.request.query.page);
 | 
				
			||||||
	const page: boolean = ctx.request.query.page === 'true';
 | 
						const page: boolean = ctx.request.query.page === 'true';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Validate parameters
 | 
						// Validate parameters
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,17 +9,17 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,17 +8,17 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0
 | 
								default: 0
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sort: {
 | 
							sort: {
 | 
				
			||||||
			validator: $.str.optional.or([
 | 
								validator: $.optional.str.or([
 | 
				
			||||||
				'+createdAt',
 | 
									'+createdAt',
 | 
				
			||||||
				'-createdAt',
 | 
									'-createdAt',
 | 
				
			||||||
				'+size',
 | 
									'+size',
 | 
				
			||||||
| 
						 | 
					@ -27,7 +27,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		origin: {
 | 
							origin: {
 | 
				
			||||||
			validator: $.str.optional.or([
 | 
								validator: $.optional.str.or([
 | 
				
			||||||
				'combined',
 | 
									'combined',
 | 
				
			||||||
				'local',
 | 
									'local',
 | 
				
			||||||
				'remote',
 | 
									'remote',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,7 +20,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		aliases: {
 | 
							aliases: {
 | 
				
			||||||
			validator: $.arr($.str.min(1)).optional,
 | 
								validator: $.optional.arr($.str.min(1)),
 | 
				
			||||||
			default: [] as string[]
 | 
								default: [] as string[]
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,7 +12,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		host: {
 | 
							host: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			default: null as any
 | 
								default: null as any
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,17 +8,17 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0
 | 
								default: 0
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sort: {
 | 
							sort: {
 | 
				
			||||||
			validator: $.str.optional.or([
 | 
								validator: $.optional.str.or([
 | 
				
			||||||
				'+follower',
 | 
									'+follower',
 | 
				
			||||||
				'-follower',
 | 
									'-follower',
 | 
				
			||||||
				'+createdAt',
 | 
									'+createdAt',
 | 
				
			||||||
| 
						 | 
					@ -29,7 +29,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		state: {
 | 
							state: {
 | 
				
			||||||
			validator: $.str.optional.or([
 | 
								validator: $.optional.str.or([
 | 
				
			||||||
				'all',
 | 
									'all',
 | 
				
			||||||
				'admin',
 | 
									'admin',
 | 
				
			||||||
				'moderator',
 | 
									'moderator',
 | 
				
			||||||
| 
						 | 
					@ -42,7 +42,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		origin: {
 | 
							origin: {
 | 
				
			||||||
			validator: $.str.optional.or([
 | 
								validator: $.optional.str.or([
 | 
				
			||||||
				'combined',
 | 
									'combined',
 | 
				
			||||||
				'local',
 | 
									'local',
 | 
				
			||||||
				'remote',
 | 
									'remote',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,84 +12,84 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		broadcasts: {
 | 
							broadcasts: {
 | 
				
			||||||
			validator: $.arr($.obj()).optional.nullable,
 | 
								validator: $.optional.nullable.arr($.obj()),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ブロードキャスト'
 | 
									'ja-JP': 'ブロードキャスト'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		disableRegistration: {
 | 
							disableRegistration: {
 | 
				
			||||||
			validator: $.bool.optional.nullable,
 | 
								validator: $.optional.nullable.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '招待制か否か'
 | 
									'ja-JP': '招待制か否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		disableLocalTimeline: {
 | 
							disableLocalTimeline: {
 | 
				
			||||||
			validator: $.bool.optional.nullable,
 | 
								validator: $.optional.nullable.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ローカルタイムライン(とソーシャルタイムライン)を無効にするか否か'
 | 
									'ja-JP': 'ローカルタイムライン(とソーシャルタイムライン)を無効にするか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		disableGlobalTimeline: {
 | 
							disableGlobalTimeline: {
 | 
				
			||||||
			validator: $.bool.optional.nullable,
 | 
								validator: $.optional.nullable.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'グローバルタイムラインを無効にするか否か'
 | 
									'ja-JP': 'グローバルタイムラインを無効にするか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		hidedTags: {
 | 
							hidedTags: {
 | 
				
			||||||
			validator: $.arr($.str).optional.nullable,
 | 
								validator: $.optional.nullable.arr($.str),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '統計などで無視するハッシュタグ'
 | 
									'ja-JP': '統計などで無視するハッシュタグ'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mascotImageUrl: {
 | 
							mascotImageUrl: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'インスタンスキャラクター画像のURL'
 | 
									'ja-JP': 'インスタンスキャラクター画像のURL'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		bannerUrl: {
 | 
							bannerUrl: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'インスタンスのバナー画像URL'
 | 
									'ja-JP': 'インスタンスのバナー画像URL'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		errorImageUrl: {
 | 
							errorImageUrl: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'インスタンスのエラー画像URL'
 | 
									'ja-JP': 'インスタンスのエラー画像URL'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		name: {
 | 
							name: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'インスタンス名'
 | 
									'ja-JP': 'インスタンス名'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		description: {
 | 
							description: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'インスタンスの紹介文'
 | 
									'ja-JP': 'インスタンスの紹介文'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		maxNoteTextLength: {
 | 
							maxNoteTextLength: {
 | 
				
			||||||
			validator: $.num.optional.min(1),
 | 
								validator: $.optional.num.min(1),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '投稿の最大文字数'
 | 
									'ja-JP': '投稿の最大文字数'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		localDriveCapacityMb: {
 | 
							localDriveCapacityMb: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ローカルユーザーひとりあたりのドライブ容量 (メガバイト単位)',
 | 
									'ja-JP': 'ローカルユーザーひとりあたりのドライブ容量 (メガバイト単位)',
 | 
				
			||||||
				'en-US': 'Drive capacity of a local user (MB)'
 | 
									'en-US': 'Drive capacity of a local user (MB)'
 | 
				
			||||||
| 
						 | 
					@ -97,7 +97,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		remoteDriveCapacityMb: {
 | 
							remoteDriveCapacityMb: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'リモートユーザーひとりあたりのドライブ容量 (メガバイト単位)',
 | 
									'ja-JP': 'リモートユーザーひとりあたりのドライブ容量 (メガバイト単位)',
 | 
				
			||||||
				'en-US': 'Drive capacity of a remote user (MB)'
 | 
									'en-US': 'Drive capacity of a remote user (MB)'
 | 
				
			||||||
| 
						 | 
					@ -105,217 +105,217 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		cacheRemoteFiles: {
 | 
							cacheRemoteFiles: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'リモートのファイルをキャッシュするか否か'
 | 
									'ja-JP': 'リモートのファイルをキャッシュするか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		enableRecaptcha: {
 | 
							enableRecaptcha: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'reCAPTCHAを使用するか否か'
 | 
									'ja-JP': 'reCAPTCHAを使用するか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		recaptchaSiteKey: {
 | 
							recaptchaSiteKey: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'reCAPTCHA site key'
 | 
									'ja-JP': 'reCAPTCHA site key'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		recaptchaSecretKey: {
 | 
							recaptchaSecretKey: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'reCAPTCHA secret key'
 | 
									'ja-JP': 'reCAPTCHA secret key'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		proxyAccount: {
 | 
							proxyAccount: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'プロキシアカウントのユーザー名'
 | 
									'ja-JP': 'プロキシアカウントのユーザー名'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		maintainerName: {
 | 
							maintainerName: {
 | 
				
			||||||
			validator: $.str.optional,
 | 
								validator: $.optional.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'インスタンスの管理者名'
 | 
									'ja-JP': 'インスタンスの管理者名'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		maintainerEmail: {
 | 
							maintainerEmail: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'インスタンス管理者の連絡先メールアドレス'
 | 
									'ja-JP': 'インスタンス管理者の連絡先メールアドレス'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		langs: {
 | 
							langs: {
 | 
				
			||||||
			validator: $.arr($.str).optional,
 | 
								validator: $.optional.arr($.str),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'インスタンスの対象言語'
 | 
									'ja-JP': 'インスタンスの対象言語'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		summalyProxy: {
 | 
							summalyProxy: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'summalyプロキシURL'
 | 
									'ja-JP': 'summalyプロキシURL'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		enableTwitterIntegration: {
 | 
							enableTwitterIntegration: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Twitter連携機能を有効にするか否か'
 | 
									'ja-JP': 'Twitter連携機能を有効にするか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		twitterConsumerKey: {
 | 
							twitterConsumerKey: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'TwitterアプリのConsumer key'
 | 
									'ja-JP': 'TwitterアプリのConsumer key'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		twitterConsumerSecret: {
 | 
							twitterConsumerSecret: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'TwitterアプリのConsumer secret'
 | 
									'ja-JP': 'TwitterアプリのConsumer secret'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		enableGithubIntegration: {
 | 
							enableGithubIntegration: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'GitHub連携機能を有効にするか否か'
 | 
									'ja-JP': 'GitHub連携機能を有効にするか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		githubClientId: {
 | 
							githubClientId: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'GitHubアプリのClient ID'
 | 
									'ja-JP': 'GitHubアプリのClient ID'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		githubClientSecret: {
 | 
							githubClientSecret: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'GitHubアプリのClient Secret'
 | 
									'ja-JP': 'GitHubアプリのClient Secret'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		enableDiscordIntegration: {
 | 
							enableDiscordIntegration: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Discord連携機能を有効にするか否か'
 | 
									'ja-JP': 'Discord連携機能を有効にするか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		discordClientId: {
 | 
							discordClientId: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'DiscordアプリのClient ID'
 | 
									'ja-JP': 'DiscordアプリのClient ID'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		discordClientSecret: {
 | 
							discordClientSecret: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'DiscordアプリのClient Secret'
 | 
									'ja-JP': 'DiscordアプリのClient Secret'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		enableExternalUserRecommendation: {
 | 
							enableExternalUserRecommendation: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '外部ユーザーレコメンデーションを有効にする'
 | 
									'ja-JP': '外部ユーザーレコメンデーションを有効にする'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		externalUserRecommendationEngine: {
 | 
							externalUserRecommendationEngine: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '外部ユーザーレコメンデーションのサードパーティエンジン'
 | 
									'ja-JP': '外部ユーザーレコメンデーションのサードパーティエンジン'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		externalUserRecommendationTimeout: {
 | 
							externalUserRecommendationTimeout: {
 | 
				
			||||||
			validator: $.num.optional.nullable.min(0),
 | 
								validator: $.optional.nullable.num.min(0),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '外部ユーザーレコメンデーションのタイムアウト (ミリ秒)'
 | 
									'ja-JP': '外部ユーザーレコメンデーションのタイムアウト (ミリ秒)'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		enableEmail: {
 | 
							enableEmail: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'メール配信を有効にするか否か'
 | 
									'ja-JP': 'メール配信を有効にするか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		email: {
 | 
							email: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'メール配信する際に利用するメールアドレス'
 | 
									'ja-JP': 'メール配信する際に利用するメールアドレス'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		smtpSecure: {
 | 
							smtpSecure: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'SMTPサーバがSSLを使用しているか否か'
 | 
									'ja-JP': 'SMTPサーバがSSLを使用しているか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		smtpHost: {
 | 
							smtpHost: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'SMTPサーバのホスト'
 | 
									'ja-JP': 'SMTPサーバのホスト'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		smtpPort: {
 | 
							smtpPort: {
 | 
				
			||||||
			validator: $.num.optional.nullable,
 | 
								validator: $.optional.nullable.num,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'SMTPサーバのポート'
 | 
									'ja-JP': 'SMTPサーバのポート'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		smtpUser: {
 | 
							smtpUser: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'SMTPサーバのユーザー名'
 | 
									'ja-JP': 'SMTPサーバのユーザー名'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		smtpPass: {
 | 
							smtpPass: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'SMTPサーバのパスワード'
 | 
									'ja-JP': 'SMTPサーバのパスワード'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		enableServiceWorker: {
 | 
							enableServiceWorker: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ServiceWorkerを有効にするか否か'
 | 
									'ja-JP': 'ServiceWorkerを有効にするか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		swPublicKey: {
 | 
							swPublicKey: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ServiceWorkerのVAPIDキーペアの公開鍵'
 | 
									'ja-JP': 'ServiceWorkerのVAPIDキーペアの公開鍵'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		swPrivateKey: {
 | 
							swPrivateKey: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ServiceWorkerのVAPIDキーペアの秘密鍵'
 | 
									'ja-JP': 'ServiceWorkerのVAPIDキーペアの秘密鍵'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,7 +21,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// TODO: Check it is valid url
 | 
							// TODO: Check it is valid url
 | 
				
			||||||
		callbackUrl: {
 | 
							callbackUrl: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
			default: null as any
 | 
								default: null as any
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,17 +15,17 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 30
 | 
								default: 30
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 500),
 | 
								validator: $.optional.num.range(1, 500),
 | 
				
			||||||
			default: 30,
 | 
								default: 30,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
									'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 500),
 | 
								validator: $.optional.num.range(1, 500),
 | 
				
			||||||
			default: 30,
 | 
								default: 30,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
									'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 500),
 | 
								validator: $.optional.num.range(1, 500),
 | 
				
			||||||
			default: 30,
 | 
								default: 30,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
									'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 500),
 | 
								validator: $.optional.num.range(1, 500),
 | 
				
			||||||
			default: 30,
 | 
								default: 30,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
									'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 500),
 | 
								validator: $.optional.num.range(1, 500),
 | 
				
			||||||
			default: 30,
 | 
								default: 30,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
									'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 500),
 | 
								validator: $.optional.num.range(1, 500),
 | 
				
			||||||
			default: 30,
 | 
								default: 30,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
									'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 500),
 | 
								validator: $.optional.num.range(1, 500),
 | 
				
			||||||
			default: 30,
 | 
								default: 30,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
									'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,7 +19,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 500),
 | 
								validator: $.optional.num.range(1, 500),
 | 
				
			||||||
			default: 30,
 | 
								default: 30,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
									'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,7 +19,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 500),
 | 
								validator: $.optional.num.range(1, 500),
 | 
				
			||||||
			default: 30,
 | 
								default: 30,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
									'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,7 +19,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 500),
 | 
								validator: $.optional.num.range(1, 500),
 | 
				
			||||||
			default: 30,
 | 
								default: 30,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
									'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,7 +19,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 500),
 | 
								validator: $.optional.num.range(1, 500),
 | 
				
			||||||
			default: 30,
 | 
								default: 30,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
									'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 500),
 | 
								validator: $.optional.num.range(1, 500),
 | 
				
			||||||
			default: 30,
 | 
								default: 30,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
									'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,28 +15,28 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		folderId: {
 | 
							folderId: {
 | 
				
			||||||
			validator: $.type(ID).optional.nullable,
 | 
								validator: $.optional.nullable.type(ID),
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		type: {
 | 
							type: {
 | 
				
			||||||
			validator: $.str.optional.match(/^[a-zA-Z\/\-\*]+$/)
 | 
								validator: $.optional.str.match(/^[a-zA-Z\/\-\*]+$/)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,7 +25,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		folderId: {
 | 
							folderId: {
 | 
				
			||||||
			validator: $.type(ID).optional.nullable,
 | 
								validator: $.optional.nullable.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
| 
						 | 
					@ -34,7 +34,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		isSensitive: {
 | 
							isSensitive: {
 | 
				
			||||||
			validator: $.or($.bool, $.str).optional,
 | 
								validator: $.optional.or($.bool, $.str),
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			transform: (v: any): boolean => v === true || v === 'true',
 | 
								transform: (v: any): boolean => v === true || v === 'true',
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
| 
						 | 
					@ -44,7 +44,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		force: {
 | 
							force: {
 | 
				
			||||||
			validator: $.or($.bool, $.str).optional,
 | 
								validator: $.optional.or($.bool, $.str),
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			transform: (v: any): boolean => v === true || v === 'true',
 | 
								transform: (v: any): boolean => v === true || v === 'true',
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,7 +14,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		folderId: {
 | 
							folderId: {
 | 
				
			||||||
			validator: $.type(ID).optional.nullable,
 | 
								validator: $.optional.nullable.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,7 +19,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		fileId: {
 | 
							fileId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '対象のファイルID',
 | 
									'ja-JP': '対象のファイルID',
 | 
				
			||||||
| 
						 | 
					@ -28,7 +28,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		url: {
 | 
							url: {
 | 
				
			||||||
			validator: $.str.optional,
 | 
								validator: $.optional.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '対象のファイルのURL',
 | 
									'ja-JP': '対象のファイルのURL',
 | 
				
			||||||
				'en-US': 'Target file URL'
 | 
									'en-US': 'Target file URL'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,7 +26,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		folderId: {
 | 
							folderId: {
 | 
				
			||||||
			validator: $.type(ID).optional.nullable,
 | 
								validator: $.optional.nullable.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			default: undefined as any,
 | 
								default: undefined as any,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
| 
						 | 
					@ -35,7 +35,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		name: {
 | 
							name: {
 | 
				
			||||||
			validator: $.str.optional.pipe(validateFileName),
 | 
								validator: $.optional.str.pipe(validateFileName),
 | 
				
			||||||
			default: undefined as any,
 | 
								default: undefined as any,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ファイル名',
 | 
									'ja-JP': 'ファイル名',
 | 
				
			||||||
| 
						 | 
					@ -44,7 +44,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		isSensitive: {
 | 
							isSensitive: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: undefined as any,
 | 
								default: undefined as any,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'このメディアが「閲覧注意」(NSFW)かどうか',
 | 
									'ja-JP': 'このメディアが「閲覧注意」(NSFW)かどうか',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,13 +26,13 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		folderId: {
 | 
							folderId: {
 | 
				
			||||||
			validator: $.type(ID).optional.nullable,
 | 
								validator: $.optional.nullable.type(ID),
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
			transform: transform
 | 
								transform: transform
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		isSensitive: {
 | 
							isSensitive: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'このメディアが「閲覧注意」(NSFW)かどうか',
 | 
									'ja-JP': 'このメディアが「閲覧注意」(NSFW)かどうか',
 | 
				
			||||||
| 
						 | 
					@ -41,7 +41,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		force: {
 | 
							force: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'true にすると、同じハッシュを持つファイルが既にアップロードされていても強制的にファイルを作成します。',
 | 
									'ja-JP': 'true にすると、同じハッシュを持つファイルが既にアップロードされていても強制的にファイルを作成します。',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,22 +15,22 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		folderId: {
 | 
							folderId: {
 | 
				
			||||||
			validator: $.type(ID).optional.nullable,
 | 
								validator: $.optional.nullable.type(ID),
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		name: {
 | 
							name: {
 | 
				
			||||||
			validator: $.str.optional.pipe(isValidFolderName),
 | 
								validator: $.optional.str.pipe(isValidFolderName),
 | 
				
			||||||
			default: 'Untitled',
 | 
								default: 'Untitled',
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'フォルダ名',
 | 
									'ja-JP': 'フォルダ名',
 | 
				
			||||||
| 
						 | 
					@ -27,7 +27,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		parentId: {
 | 
							parentId: {
 | 
				
			||||||
			validator: $.type(ID).optional.nullable,
 | 
								validator: $.optional.nullable.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '親フォルダID',
 | 
									'ja-JP': '親フォルダID',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,7 +14,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		parentId: {
 | 
							parentId: {
 | 
				
			||||||
			validator: $.type(ID).optional.nullable,
 | 
								validator: $.optional.nullable.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,7 +27,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		name: {
 | 
							name: {
 | 
				
			||||||
			validator: $.str.optional.pipe(isValidFolderName),
 | 
								validator: $.optional.str.pipe(isValidFolderName),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'フォルダ名',
 | 
									'ja-JP': 'フォルダ名',
 | 
				
			||||||
				'en-US': 'Folder name'
 | 
									'en-US': 'Folder name'
 | 
				
			||||||
| 
						 | 
					@ -35,7 +35,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		parentId: {
 | 
							parentId: {
 | 
				
			||||||
			validator: $.type(ID).optional.nullable,
 | 
								validator: $.optional.nullable.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '親フォルダID',
 | 
									'ja-JP': '親フォルダID',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,22 +10,22 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		type: {
 | 
							type: {
 | 
				
			||||||
			validator: $.str.optional.match(/^[a-zA-Z\/\-\*]+$/)
 | 
								validator: $.optional.str.match(/^[a-zA-Z\/\-\*]+$/)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,29 +7,29 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		blocked: {
 | 
							blocked: {
 | 
				
			||||||
			validator: $.bool.optional.nullable,
 | 
								validator: $.optional.nullable.bool,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		notResponding: {
 | 
							notResponding: {
 | 
				
			||||||
			validator: $.bool.optional.nullable,
 | 
								validator: $.optional.nullable.bool,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		markedAsClosed: {
 | 
							markedAsClosed: {
 | 
				
			||||||
			validator: $.bool.optional.nullable,
 | 
								validator: $.optional.nullable.bool,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 30
 | 
								default: 30
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0
 | 
								default: 0
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sort: {
 | 
							sort: {
 | 
				
			||||||
			validator: $.str.optional,
 | 
								validator: $.optional.str,
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,22 +6,22 @@ import define from '../../../define';
 | 
				
			||||||
export const meta = {
 | 
					export const meta = {
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		my: {
 | 
							my: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false
 | 
								default: false
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,7 +12,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10,
 | 
								default: 10,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数'
 | 
									'ja-JP': '最大数'
 | 
				
			||||||
| 
						 | 
					@ -27,7 +27,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0,
 | 
								default: 0,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'オフセット'
 | 
									'ja-JP': 'オフセット'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,17 +10,17 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10,
 | 
								default: 10,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0,
 | 
								default: 0,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sort: {
 | 
							sort: {
 | 
				
			||||||
			validator: $.str.optional.or('desc|asc'),
 | 
								validator: $.optional.str.or('desc|asc'),
 | 
				
			||||||
			default: 'desc',
 | 
								default: 'desc',
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,17 +15,17 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,37 +19,37 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		following: {
 | 
							following: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false
 | 
								default: false
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		markAsRead: {
 | 
							markAsRead: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true
 | 
								default: true
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeTypes: {
 | 
							includeTypes: {
 | 
				
			||||||
			validator: $.arr($.str.or(['follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'poll_vote', 'receiveFollowRequest'])).optional,
 | 
								validator: $.optional.arr($.str.or(['follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'poll_vote', 'receiveFollowRequest'])),
 | 
				
			||||||
			default: [] as string[]
 | 
								default: [] as string[]
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		excludeTypes: {
 | 
							excludeTypes: {
 | 
				
			||||||
			validator: $.arr($.str.or(['follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'poll_vote', 'receiveFollowRequest'])).optional,
 | 
								validator: $.optional.arr($.str.or(['follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'poll_vote', 'receiveFollowRequest'])),
 | 
				
			||||||
			default: [] as string[]
 | 
								default: [] as string[]
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,17 +10,17 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,42 +24,42 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		name: {
 | 
							name: {
 | 
				
			||||||
			validator: $.str.optional.nullable.pipe(isValidName),
 | 
								validator: $.optional.nullable.str.pipe(isValidName),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '名前(ハンドルネームやニックネーム)'
 | 
									'ja-JP': '名前(ハンドルネームやニックネーム)'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		description: {
 | 
							description: {
 | 
				
			||||||
			validator: $.str.optional.nullable.pipe(isValidDescription),
 | 
								validator: $.optional.nullable.str.pipe(isValidDescription),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'アカウントの説明や自己紹介'
 | 
									'ja-JP': 'アカウントの説明や自己紹介'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		lang: {
 | 
							lang: {
 | 
				
			||||||
			validator: $.str.optional.nullable.or(Object.keys(langmap)),
 | 
								validator: $.optional.nullable.str.or(Object.keys(langmap)),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '言語'
 | 
									'ja-JP': '言語'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		location: {
 | 
							location: {
 | 
				
			||||||
			validator: $.str.optional.nullable.pipe(isValidLocation),
 | 
								validator: $.optional.nullable.str.pipe(isValidLocation),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '住んでいる地域、所在'
 | 
									'ja-JP': '住んでいる地域、所在'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		birthday: {
 | 
							birthday: {
 | 
				
			||||||
			validator: $.str.optional.nullable.pipe(isValidBirthday),
 | 
								validator: $.optional.nullable.str.pipe(isValidBirthday),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '誕生日 (YYYY-MM-DD形式)'
 | 
									'ja-JP': '誕生日 (YYYY-MM-DD形式)'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		avatarId: {
 | 
							avatarId: {
 | 
				
			||||||
			validator: $.type(ID).optional.nullable,
 | 
								validator: $.optional.nullable.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'アイコンに設定する画像のドライブファイルID'
 | 
									'ja-JP': 'アイコンに設定する画像のドライブファイルID'
 | 
				
			||||||
| 
						 | 
					@ -67,7 +67,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		bannerId: {
 | 
							bannerId: {
 | 
				
			||||||
			validator: $.type(ID).optional.nullable,
 | 
								validator: $.optional.nullable.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'バナーに設定する画像のドライブファイルID'
 | 
									'ja-JP': 'バナーに設定する画像のドライブファイルID'
 | 
				
			||||||
| 
						 | 
					@ -75,7 +75,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		wallpaperId: {
 | 
							wallpaperId: {
 | 
				
			||||||
			validator: $.type(ID).optional.nullable,
 | 
								validator: $.optional.nullable.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '壁紙に設定する画像のドライブファイルID'
 | 
									'ja-JP': '壁紙に設定する画像のドライブファイルID'
 | 
				
			||||||
| 
						 | 
					@ -83,49 +83,49 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		isLocked: {
 | 
							isLocked: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '鍵アカウントか否か'
 | 
									'ja-JP': '鍵アカウントか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		carefulBot: {
 | 
							carefulBot: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Botからのフォローを承認制にするか'
 | 
									'ja-JP': 'Botからのフォローを承認制にするか'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		autoAcceptFollowed: {
 | 
							autoAcceptFollowed: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'フォローしているユーザーからのフォローリクエストを自動承認するか'
 | 
									'ja-JP': 'フォローしているユーザーからのフォローリクエストを自動承認するか'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		isBot: {
 | 
							isBot: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Botか否か'
 | 
									'ja-JP': 'Botか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		isCat: {
 | 
							isCat: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '猫か否か'
 | 
									'ja-JP': '猫か否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		autoWatch: {
 | 
							autoWatch: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '投稿の自動ウォッチをするか否か'
 | 
									'ja-JP': '投稿の自動ウォッチをするか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		alwaysMarkNsfw: {
 | 
							alwaysMarkNsfw: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'アップロードするメディアをデフォルトで「閲覧注意」として設定するか'
 | 
									'ja-JP': 'アップロードするメディアをデフォルトで「閲覧注意」として設定するか'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,7 +14,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		value: {
 | 
							value: {
 | 
				
			||||||
			validator: $.any.nullable
 | 
								validator: $.nullable.any
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,7 +26,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		email: {
 | 
							email: {
 | 
				
			||||||
			validator: $.str.optional.nullable
 | 
								validator: $.optional.nullable.str
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,7 +15,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,22 +27,22 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		markAsRead: {
 | 
							markAsRead: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true
 | 
								default: true
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,11 +32,11 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		text: {
 | 
							text: {
 | 
				
			||||||
			validator: $.str.optional.pipe(isValidText)
 | 
								validator: $.optional.str.pipe(isValidText)
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		fileId: {
 | 
							fileId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,7 +20,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		detail: {
 | 
							detail: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true
 | 
								default: true
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,17 +15,17 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 30
 | 
								default: 30
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,12 +12,12 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0
 | 
								default: 0
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,59 +10,59 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		local: {
 | 
							local: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ローカルの投稿に限定するか否か'
 | 
									'ja-JP': 'ローカルの投稿に限定するか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		reply: {
 | 
							reply: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '返信に限定するか否か'
 | 
									'ja-JP': '返信に限定するか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		renote: {
 | 
							renote: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Renoteに限定するか否か'
 | 
									'ja-JP': 'Renoteに限定するか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		withFiles: {
 | 
							withFiles: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ファイルが添付された投稿に限定するか否か'
 | 
									'ja-JP': 'ファイルが添付された投稿に限定するか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		media: {
 | 
							media: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ファイルが添付された投稿に限定するか否か (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
									'ja-JP': 'ファイルが添付された投稿に限定するか否か (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		poll: {
 | 
							poll: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'アンケートが添付された投稿に限定するか否か'
 | 
									'ja-JP': 'アンケートが添付された投稿に限定するか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,12 +22,12 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0
 | 
								default: 0
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,7 +35,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		visibility: {
 | 
							visibility: {
 | 
				
			||||||
			validator: $.str.optional.or(['public', 'home', 'followers', 'specified', 'private']),
 | 
								validator: $.optional.str.or(['public', 'home', 'followers', 'specified', 'private']),
 | 
				
			||||||
			default: 'public',
 | 
								default: 'public',
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '投稿の公開範囲'
 | 
									'ja-JP': '投稿の公開範囲'
 | 
				
			||||||
| 
						 | 
					@ -43,7 +43,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		visibleUserIds: {
 | 
							visibleUserIds: {
 | 
				
			||||||
			validator: $.arr($.type(ID)).optional.unique().min(0),
 | 
								validator: $.optional.arr($.type(ID)).unique().min(0),
 | 
				
			||||||
			transform: transformMany,
 | 
								transform: transformMany,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '(投稿の公開範囲が specified の場合)投稿を閲覧できるユーザー'
 | 
									'ja-JP': '(投稿の公開範囲が specified の場合)投稿を閲覧できるユーザー'
 | 
				
			||||||
| 
						 | 
					@ -51,7 +51,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		text: {
 | 
							text: {
 | 
				
			||||||
			validator: $.str.optional.nullable.pipe(text =>
 | 
								validator: $.optional.nullable.str.pipe(text =>
 | 
				
			||||||
				length(text.trim()) <= maxNoteTextLength && text.trim() != ''
 | 
									length(text.trim()) <= maxNoteTextLength && text.trim() != ''
 | 
				
			||||||
			),
 | 
								),
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
| 
						 | 
					@ -61,14 +61,14 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		cw: {
 | 
							cw: {
 | 
				
			||||||
			validator: $.str.optional.nullable.pipe(isValidCw),
 | 
								validator: $.optional.nullable.str.pipe(isValidCw),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'コンテンツの警告。このパラメータを指定すると設定したテキストで投稿のコンテンツを隠す事が出来ます。'
 | 
									'ja-JP': 'コンテンツの警告。このパラメータを指定すると設定したテキストで投稿のコンテンツを隠す事が出来ます。'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		viaMobile: {
 | 
							viaMobile: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'モバイルデバイスからの投稿か否か。'
 | 
									'ja-JP': 'モバイルデバイスからの投稿か否か。'
 | 
				
			||||||
| 
						 | 
					@ -76,7 +76,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		localOnly: {
 | 
							localOnly: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ローカルのみに投稿か否か。'
 | 
									'ja-JP': 'ローカルのみに投稿か否か。'
 | 
				
			||||||
| 
						 | 
					@ -84,7 +84,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		noExtractMentions: {
 | 
							noExtractMentions: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '本文からメンションを展開しないか否か。'
 | 
									'ja-JP': '本文からメンションを展開しないか否か。'
 | 
				
			||||||
| 
						 | 
					@ -92,7 +92,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		noExtractHashtags: {
 | 
							noExtractHashtags: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '本文からハッシュタグを展開しないか否か。'
 | 
									'ja-JP': '本文からハッシュタグを展開しないか否か。'
 | 
				
			||||||
| 
						 | 
					@ -100,7 +100,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		noExtractEmojis: {
 | 
							noExtractEmojis: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '本文からカスタム絵文字を展開しないか否か。'
 | 
									'ja-JP': '本文からカスタム絵文字を展開しないか否か。'
 | 
				
			||||||
| 
						 | 
					@ -108,16 +108,16 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		geo: {
 | 
							geo: {
 | 
				
			||||||
			validator: $.obj({
 | 
								validator: $.optional.nullable.obj({
 | 
				
			||||||
				coordinates: $.arr().length(2)
 | 
									coordinates: $.arr().length(2)
 | 
				
			||||||
					.item(0, $.num.range(-180, 180))
 | 
										.item(0, $.num.range(-180, 180))
 | 
				
			||||||
					.item(1, $.num.range(-90, 90)),
 | 
										.item(1, $.num.range(-90, 90)),
 | 
				
			||||||
				altitude: $.num.nullable,
 | 
									altitude: $.nullable.num,
 | 
				
			||||||
				accuracy: $.num.nullable,
 | 
									accuracy: $.nullable.num,
 | 
				
			||||||
				altitudeAccuracy: $.num.nullable,
 | 
									altitudeAccuracy: $.nullable.num,
 | 
				
			||||||
				heading: $.num.nullable.range(0, 360),
 | 
									heading: $.nullable.num.range(0, 360),
 | 
				
			||||||
				speed: $.num.nullable
 | 
									speed: $.nullable.num
 | 
				
			||||||
			}).optional.nullable.strict(),
 | 
								}).strict(),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '位置情報'
 | 
									'ja-JP': '位置情報'
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
| 
						 | 
					@ -125,7 +125,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		fileIds: {
 | 
							fileIds: {
 | 
				
			||||||
			validator: $.arr($.type(ID)).optional.unique().range(1, 4),
 | 
								validator: $.optional.arr($.type(ID)).unique().range(1, 4),
 | 
				
			||||||
			transform: transformMany,
 | 
								transform: transformMany,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '添付するファイル'
 | 
									'ja-JP': '添付するファイル'
 | 
				
			||||||
| 
						 | 
					@ -133,7 +133,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mediaIds: {
 | 
							mediaIds: {
 | 
				
			||||||
			validator: $.arr($.type(ID)).optional.unique().range(1, 4),
 | 
								validator: $.optional.arr($.type(ID)).unique().range(1, 4),
 | 
				
			||||||
			transform: transformMany,
 | 
								transform: transformMany,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '添付するファイル (このパラメータは廃止予定です。代わりに fileIds を使ってください。)'
 | 
									'ja-JP': '添付するファイル (このパラメータは廃止予定です。代わりに fileIds を使ってください。)'
 | 
				
			||||||
| 
						 | 
					@ -141,7 +141,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		replyId: {
 | 
							replyId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '返信対象'
 | 
									'ja-JP': '返信対象'
 | 
				
			||||||
| 
						 | 
					@ -149,7 +149,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		renoteId: {
 | 
							renoteId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Renote対象'
 | 
									'ja-JP': 'Renote対象'
 | 
				
			||||||
| 
						 | 
					@ -157,12 +157,12 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		poll: {
 | 
							poll: {
 | 
				
			||||||
			validator: $.obj({
 | 
								validator: $.optional.obj({
 | 
				
			||||||
				choices: $.arr($.str)
 | 
									choices: $.arr($.str)
 | 
				
			||||||
					.unique()
 | 
										.unique()
 | 
				
			||||||
					.range(2, 10)
 | 
										.range(2, 10)
 | 
				
			||||||
					.each(c => c.length > 0 && c.length < 50)
 | 
										.each(c => c.length > 0 && c.length < 50)
 | 
				
			||||||
			}).optional.strict(),
 | 
								}).strict(),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'アンケート'
 | 
									'ja-JP': 'アンケート'
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,7 +13,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 30),
 | 
								validator: $.optional.num.range(1, 30),
 | 
				
			||||||
			default: 10,
 | 
								default: 10,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数'
 | 
									'ja-JP': '最大数'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,40 +14,40 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		withFiles: {
 | 
							withFiles: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ファイルが添付された投稿に限定するか否か'
 | 
									'ja-JP': 'ファイルが添付された投稿に限定するか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mediaOnly: {
 | 
							mediaOnly: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ファイルが添付された投稿に限定するか否か (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
									'ja-JP': 'ファイルが添付された投稿に限定するか否か (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceDate: {
 | 
							sinceDate: {
 | 
				
			||||||
			validator: $.num.optional
 | 
								validator: $.optional.num
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilDate: {
 | 
							untilDate: {
 | 
				
			||||||
			validator: $.num.optional
 | 
								validator: $.optional.num
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,7 +16,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10,
 | 
								default: 10,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数'
 | 
									'ja-JP': '最大数'
 | 
				
			||||||
| 
						 | 
					@ -24,7 +24,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定すると、この投稿を基点としてより新しい投稿を取得します'
 | 
									'ja-JP': '指定すると、この投稿を基点としてより新しい投稿を取得します'
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定すると、この投稿を基点としてより古い投稿を取得します'
 | 
									'ja-JP': '指定すると、この投稿を基点としてより古い投稿を取得します'
 | 
				
			||||||
| 
						 | 
					@ -40,21 +40,21 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceDate: {
 | 
							sinceDate: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定した時間を基点としてより新しい投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
									'ja-JP': '指定した時間を基点としてより新しい投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilDate: {
 | 
							untilDate: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定した時間を基点としてより古い投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
									'ja-JP': '指定した時間を基点としてより古い投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeMyRenotes: {
 | 
							includeMyRenotes: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '自分の行ったRenoteを含めるかどうか'
 | 
									'ja-JP': '自分の行ったRenoteを含めるかどうか'
 | 
				
			||||||
| 
						 | 
					@ -62,7 +62,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeRenotedMyNotes: {
 | 
							includeRenotedMyNotes: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Renoteされた自分の投稿を含めるかどうか'
 | 
									'ja-JP': 'Renoteされた自分の投稿を含めるかどうか'
 | 
				
			||||||
| 
						 | 
					@ -70,7 +70,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeLocalRenotes: {
 | 
							includeLocalRenotes: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Renoteされたローカルの投稿を含めるかどうか'
 | 
									'ja-JP': 'Renoteされたローカルの投稿を含めるかどうか'
 | 
				
			||||||
| 
						 | 
					@ -78,14 +78,14 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		withFiles: {
 | 
							withFiles: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します'
 | 
									'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mediaOnly: {
 | 
							mediaOnly: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
									'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,28 +15,28 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		withFiles: {
 | 
							withFiles: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ファイルが添付された投稿に限定するか否か'
 | 
									'ja-JP': 'ファイルが添付された投稿に限定するか否か'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mediaOnly: {
 | 
							mediaOnly: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ファイルが添付された投稿に限定するか否か (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
									'ja-JP': 'ファイルが添付された投稿に限定するか否か (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		fileType: {
 | 
							fileType: {
 | 
				
			||||||
			validator: $.arr($.str).optional,
 | 
								validator: $.optional.arr($.str),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定された種類のファイルが添付された投稿のみを取得します'
 | 
									'ja-JP': '指定された種類のファイルが添付された投稿のみを取得します'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		excludeNsfw: {
 | 
							excludeNsfw: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'true にすると、NSFW指定されたファイルを除外します(fileTypeが指定されている場合のみ有効)'
 | 
									'ja-JP': 'true にすると、NSFW指定されたファイルを除外します(fileTypeが指定されている場合のみ有効)'
 | 
				
			||||||
| 
						 | 
					@ -44,26 +44,26 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceDate: {
 | 
							sinceDate: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilDate: {
 | 
							untilDate: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,27 +17,27 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		following: {
 | 
							following: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false
 | 
								default: false
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		visibility: {
 | 
							visibility: {
 | 
				
			||||||
			validator: $.str.optional,
 | 
								validator: $.optional.str,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,12 +14,12 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0
 | 
								default: 0
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,22 +23,22 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
			default: 0
 | 
								default: 0
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,17 +22,17 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,12 +24,12 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0
 | 
								default: 0
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,12 +20,12 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0
 | 
								default: 0
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,31 +13,31 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		tag: {
 | 
							tag: {
 | 
				
			||||||
			validator: $.str.optional,
 | 
								validator: $.optional.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'タグ'
 | 
									'ja-JP': 'タグ'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		query: {
 | 
							query: {
 | 
				
			||||||
			validator: $.arr($.arr($.str)).optional,
 | 
								validator: $.optional.arr($.arr($.str)),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'クエリ'
 | 
									'ja-JP': 'クエリ'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		following: {
 | 
							following: {
 | 
				
			||||||
			validator: $.bool.optional.nullable,
 | 
								validator: $.optional.nullable.bool,
 | 
				
			||||||
			default: null as any
 | 
								default: null as any
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mute: {
 | 
							mute: {
 | 
				
			||||||
			validator: $.str.optional,
 | 
								validator: $.optional.str,
 | 
				
			||||||
			default: 'mute_all'
 | 
								default: 'mute_all'
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		reply: {
 | 
							reply: {
 | 
				
			||||||
			validator: $.bool.optional.nullable,
 | 
								validator: $.optional.nullable.bool,
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '返信に限定するか否か'
 | 
									'ja-JP': '返信に限定するか否か'
 | 
				
			||||||
| 
						 | 
					@ -45,7 +45,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		renote: {
 | 
							renote: {
 | 
				
			||||||
			validator: $.bool.optional.nullable,
 | 
								validator: $.optional.nullable.bool,
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Renoteに限定するか否か'
 | 
									'ja-JP': 'Renoteに限定するか否か'
 | 
				
			||||||
| 
						 | 
					@ -53,14 +53,14 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		withFiles: {
 | 
							withFiles: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します'
 | 
									'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		media: {
 | 
							media: {
 | 
				
			||||||
			validator: $.bool.optional.nullable,
 | 
								validator: $.optional.nullable.bool,
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ファイルが添付された投稿に限定するか否か (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
									'ja-JP': 'ファイルが添付された投稿に限定するか否か (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
				
			||||||
| 
						 | 
					@ -68,7 +68,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		poll: {
 | 
							poll: {
 | 
				
			||||||
			validator: $.bool.optional.nullable,
 | 
								validator: $.optional.nullable.bool,
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'アンケートが添付された投稿に限定するか否か'
 | 
									'ja-JP': 'アンケートが添付された投稿に限定するか否か'
 | 
				
			||||||
| 
						 | 
					@ -76,7 +76,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定すると、この投稿を基点としてより古い投稿を取得します'
 | 
									'ja-JP': '指定すると、この投稿を基点としてより古い投稿を取得します'
 | 
				
			||||||
| 
						 | 
					@ -84,20 +84,20 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceDate: {
 | 
							sinceDate: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilDate: {
 | 
							untilDate: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0
 | 
								default: 0
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 30),
 | 
								validator: $.optional.num.range(1, 30),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10,
 | 
								default: 10,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数'
 | 
									'ja-JP': '最大数'
 | 
				
			||||||
| 
						 | 
					@ -26,7 +26,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定すると、この投稿を基点としてより新しい投稿を取得します'
 | 
									'ja-JP': '指定すると、この投稿を基点としてより新しい投稿を取得します'
 | 
				
			||||||
| 
						 | 
					@ -34,7 +34,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定すると、この投稿を基点としてより古い投稿を取得します'
 | 
									'ja-JP': '指定すると、この投稿を基点としてより古い投稿を取得します'
 | 
				
			||||||
| 
						 | 
					@ -42,21 +42,21 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceDate: {
 | 
							sinceDate: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定した時間を基点としてより新しい投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
									'ja-JP': '指定した時間を基点としてより新しい投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilDate: {
 | 
							untilDate: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定した時間を基点としてより古い投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
									'ja-JP': '指定した時間を基点としてより古い投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeMyRenotes: {
 | 
							includeMyRenotes: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '自分の行ったRenoteを含めるかどうか'
 | 
									'ja-JP': '自分の行ったRenoteを含めるかどうか'
 | 
				
			||||||
| 
						 | 
					@ -64,7 +64,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeRenotedMyNotes: {
 | 
							includeRenotedMyNotes: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Renoteされた自分の投稿を含めるかどうか'
 | 
									'ja-JP': 'Renoteされた自分の投稿を含めるかどうか'
 | 
				
			||||||
| 
						 | 
					@ -72,7 +72,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeLocalRenotes: {
 | 
							includeLocalRenotes: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Renoteされたローカルの投稿を含めるかどうか'
 | 
									'ja-JP': 'Renoteされたローカルの投稿を含めるかどうか'
 | 
				
			||||||
| 
						 | 
					@ -80,14 +80,14 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		withFiles: {
 | 
							withFiles: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します'
 | 
									'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mediaOnly: {
 | 
							mediaOnly: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
									'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,7 +25,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10,
 | 
								default: 10,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数'
 | 
									'ja-JP': '最大数'
 | 
				
			||||||
| 
						 | 
					@ -33,7 +33,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定すると、この投稿を基点としてより新しい投稿を取得します'
 | 
									'ja-JP': '指定すると、この投稿を基点としてより新しい投稿を取得します'
 | 
				
			||||||
| 
						 | 
					@ -41,7 +41,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定すると、この投稿を基点としてより古い投稿を取得します'
 | 
									'ja-JP': '指定すると、この投稿を基点としてより古い投稿を取得します'
 | 
				
			||||||
| 
						 | 
					@ -49,21 +49,21 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceDate: {
 | 
							sinceDate: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定した時間を基点としてより新しい投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
									'ja-JP': '指定した時間を基点としてより新しい投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilDate: {
 | 
							untilDate: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定した時間を基点としてより古い投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
									'ja-JP': '指定した時間を基点としてより古い投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeMyRenotes: {
 | 
							includeMyRenotes: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '自分の行ったRenoteを含めるかどうか'
 | 
									'ja-JP': '自分の行ったRenoteを含めるかどうか'
 | 
				
			||||||
| 
						 | 
					@ -71,7 +71,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeRenotedMyNotes: {
 | 
							includeRenotedMyNotes: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Renoteされた自分の投稿を含めるかどうか'
 | 
									'ja-JP': 'Renoteされた自分の投稿を含めるかどうか'
 | 
				
			||||||
| 
						 | 
					@ -79,7 +79,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeLocalRenotes: {
 | 
							includeLocalRenotes: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Renoteされたローカルの投稿を含めるかどうか'
 | 
									'ja-JP': 'Renoteされたローカルの投稿を含めるかどうか'
 | 
				
			||||||
| 
						 | 
					@ -87,14 +87,14 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		withFiles: {
 | 
							withFiles: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します'
 | 
									'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mediaOnly: {
 | 
							mediaOnly: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
									'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,17 +7,17 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0
 | 
								default: 0
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sort: {
 | 
							sort: {
 | 
				
			||||||
			validator: $.str.optional.or([
 | 
								validator: $.optional.str.or([
 | 
				
			||||||
				'+follower',
 | 
									'+follower',
 | 
				
			||||||
				'-follower',
 | 
									'-follower',
 | 
				
			||||||
				'+createdAt',
 | 
									'+createdAt',
 | 
				
			||||||
| 
						 | 
					@ -28,7 +28,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		origin: {
 | 
							origin: {
 | 
				
			||||||
			validator: $.str.optional.or([
 | 
								validator: $.optional.str.or([
 | 
				
			||||||
				'combined',
 | 
									'combined',
 | 
				
			||||||
				'local',
 | 
									'local',
 | 
				
			||||||
				'remote',
 | 
									'remote',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,18 +25,18 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		cursor: {
 | 
							cursor: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		iknow: {
 | 
							iknow: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,18 +25,18 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		cursor: {
 | 
							cursor: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			default: null as any,
 | 
								default: null as any,
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		iknow: {
 | 
							iknow: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,7 +20,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,7 +14,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		userId: {
 | 
							userId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '対象のユーザーのID',
 | 
									'ja-JP': '対象のユーザーのID',
 | 
				
			||||||
| 
						 | 
					@ -23,18 +23,18 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		username: {
 | 
							username: {
 | 
				
			||||||
			validator: $.str.optional,
 | 
								validator: $.optional.str,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ユーザー名'
 | 
									'ja-JP': 'ユーザー名'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		host: {
 | 
							host: {
 | 
				
			||||||
			validator: $.str.optional.nullable,
 | 
								validator: $.optional.nullable.str,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeReplies: {
 | 
							includeReplies: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
| 
						 | 
					@ -43,7 +43,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10,
 | 
								default: 10,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '最大数'
 | 
									'ja-JP': '最大数'
 | 
				
			||||||
| 
						 | 
					@ -51,7 +51,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceId: {
 | 
							sinceId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定すると、この投稿を基点としてより新しい投稿を取得します'
 | 
									'ja-JP': '指定すると、この投稿を基点としてより新しい投稿を取得します'
 | 
				
			||||||
| 
						 | 
					@ -59,7 +59,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilId: {
 | 
							untilId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定すると、この投稿を基点としてより古い投稿を取得します'
 | 
									'ja-JP': '指定すると、この投稿を基点としてより古い投稿を取得します'
 | 
				
			||||||
| 
						 | 
					@ -67,21 +67,21 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		sinceDate: {
 | 
							sinceDate: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定した時間を基点としてより新しい投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
									'ja-JP': '指定した時間を基点としてより新しい投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		untilDate: {
 | 
							untilDate: {
 | 
				
			||||||
			validator: $.num.optional,
 | 
								validator: $.optional.num,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定した時間を基点としてより古い投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
									'ja-JP': '指定した時間を基点としてより古い投稿を取得します。数値は、1970年1月1日 00:00:00 UTC から指定した日時までの経過時間をミリ秒単位で表します。'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeMyRenotes: {
 | 
							includeMyRenotes: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '自分の行ったRenoteを含めるかどうか'
 | 
									'ja-JP': '自分の行ったRenoteを含めるかどうか'
 | 
				
			||||||
| 
						 | 
					@ -89,7 +89,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeRenotedMyNotes: {
 | 
							includeRenotedMyNotes: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Renoteされた自分の投稿を含めるかどうか'
 | 
									'ja-JP': 'Renoteされた自分の投稿を含めるかどうか'
 | 
				
			||||||
| 
						 | 
					@ -97,7 +97,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		includeLocalRenotes: {
 | 
							includeLocalRenotes: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'Renoteされたローカルの投稿を含めるかどうか'
 | 
									'ja-JP': 'Renoteされたローカルの投稿を含めるかどうか'
 | 
				
			||||||
| 
						 | 
					@ -105,7 +105,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		withFiles: {
 | 
							withFiles: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します'
 | 
									'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します'
 | 
				
			||||||
| 
						 | 
					@ -113,7 +113,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mediaOnly: {
 | 
							mediaOnly: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
									'ja-JP': 'true にすると、ファイルが添付された投稿だけ取得します (このパラメータは廃止予定です。代わりに withFiles を使ってください。)'
 | 
				
			||||||
| 
						 | 
					@ -121,14 +121,14 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		fileType: {
 | 
							fileType: {
 | 
				
			||||||
			validator: $.arr($.str).optional,
 | 
								validator: $.optional.arr($.str),
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '指定された種類のファイルが添付された投稿のみを取得します'
 | 
									'ja-JP': '指定された種類のファイルが添付された投稿のみを取得します'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		excludeNsfw: {
 | 
							excludeNsfw: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'true にすると、NSFW指定されたファイルを除外します(fileTypeが指定されている場合のみ有効)'
 | 
									'ja-JP': 'true にすると、NSFW指定されたファイルを除外します(fileTypeが指定されている場合のみ有効)'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,12 +21,12 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10
 | 
								default: 10
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0
 | 
								default: 0
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,7 +19,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		offset: {
 | 
							offset: {
 | 
				
			||||||
			validator: $.num.optional.min(0),
 | 
								validator: $.optional.num.min(0),
 | 
				
			||||||
			default: 0,
 | 
								default: 0,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'オフセット'
 | 
									'ja-JP': 'オフセット'
 | 
				
			||||||
| 
						 | 
					@ -27,7 +27,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		limit: {
 | 
							limit: {
 | 
				
			||||||
			validator: $.num.optional.range(1, 100),
 | 
								validator: $.optional.num.range(1, 100),
 | 
				
			||||||
			default: 10,
 | 
								default: 10,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '取得する数'
 | 
									'ja-JP': '取得する数'
 | 
				
			||||||
| 
						 | 
					@ -35,7 +35,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		localOnly: {
 | 
							localOnly: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: false,
 | 
								default: false,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ローカルユーザーのみ検索対象にするか否か'
 | 
									'ja-JP': 'ローカルユーザーのみ検索対象にするか否か'
 | 
				
			||||||
| 
						 | 
					@ -43,7 +43,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		detail: {
 | 
							detail: {
 | 
				
			||||||
			validator: $.bool.optional,
 | 
								validator: $.optional.bool,
 | 
				
			||||||
			default: true,
 | 
								default: true,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '詳細なユーザー情報を含めるか否か'
 | 
									'ja-JP': '詳細なユーザー情報を含めるか否か'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,7 +16,7 @@ export const meta = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	params: {
 | 
						params: {
 | 
				
			||||||
		userId: {
 | 
							userId: {
 | 
				
			||||||
			validator: $.type(ID).optional,
 | 
								validator: $.optional.type(ID),
 | 
				
			||||||
			transform: transform,
 | 
								transform: transform,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': '対象のユーザーのID',
 | 
									'ja-JP': '対象のユーザーのID',
 | 
				
			||||||
| 
						 | 
					@ -25,7 +25,7 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		userIds: {
 | 
							userIds: {
 | 
				
			||||||
			validator: $.arr($.type(ID)).optional.unique(),
 | 
								validator: $.optional.arr($.type(ID)).unique(),
 | 
				
			||||||
			transform: transformMany,
 | 
								transform: transformMany,
 | 
				
			||||||
			desc: {
 | 
								desc: {
 | 
				
			||||||
				'ja-JP': 'ユーザーID (配列)'
 | 
									'ja-JP': 'ユーザーID (配列)'
 | 
				
			||||||
| 
						 | 
					@ -33,11 +33,11 @@ export const meta = {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		username: {
 | 
							username: {
 | 
				
			||||||
			validator: $.str.optional
 | 
								validator: $.optional.str
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		host: {
 | 
							host: {
 | 
				
			||||||
			validator: $.str.optional.nullable
 | 
								validator: $.optional.nullable.str
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,6 @@ import 'showdown-highlightjs-extension';
 | 
				
			||||||
import ms = require('ms');
 | 
					import ms = require('ms');
 | 
				
			||||||
import * as Router from 'koa-router';
 | 
					import * as Router from 'koa-router';
 | 
				
			||||||
import * as send from 'koa-send';
 | 
					import * as send from 'koa-send';
 | 
				
			||||||
import { Context, ObjectContext } from 'cafy';
 | 
					 | 
				
			||||||
import * as glob from 'glob';
 | 
					import * as glob from 'glob';
 | 
				
			||||||
import * as yaml from 'js-yaml';
 | 
					import * as yaml from 'js-yaml';
 | 
				
			||||||
import config from '../../config';
 | 
					import config from '../../config';
 | 
				
			||||||
| 
						 | 
					@ -125,27 +124,6 @@ const sortParams = (params: { name: string }[]) => {
 | 
				
			||||||
	return params;
 | 
						return params;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// WIP type
 | 
					 | 
				
			||||||
const extractParamDefRef = (params: Context[]) => {
 | 
					 | 
				
			||||||
	let defs: any[] = [];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	for (const param of params) {
 | 
					 | 
				
			||||||
		if (param.data && param.data.ref) {
 | 
					 | 
				
			||||||
			const props = (param as ObjectContext<any>).props;
 | 
					 | 
				
			||||||
			defs.push({
 | 
					 | 
				
			||||||
				name: param.data.ref,
 | 
					 | 
				
			||||||
				params: sortParams(Object.keys(props).map(k => parseParamDefinition(k, props[k])))
 | 
					 | 
				
			||||||
			});
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			const childDefs = extractParamDefRef(Object.keys(props).map(k => props[k]));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			defs = defs.concat(childDefs);
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return sortParams(defs);
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const extractPropDefRef = (props: any[]) => {
 | 
					const extractPropDefRef = (props: any[]) => {
 | 
				
			||||||
	let defs: any[] = [];
 | 
						let defs: any[] = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -189,7 +167,6 @@ router.get('/*/api/endpoints/*', async ctx => {
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		// @ts-ignore
 | 
							// @ts-ignore
 | 
				
			||||||
		params: ep.meta.params ? sortParams(Object.entries(ep.meta.params).map(([k, v]) => parseParamDefinition(k, v))) : null,
 | 
							params: ep.meta.params ? sortParams(Object.entries(ep.meta.params).map(([k, v]) => parseParamDefinition(k, v))) : null,
 | 
				
			||||||
		paramDefs: ep.meta.params ? extractParamDefRef(Object.values(ep.meta.params).map(x => x.validator)) : null,
 | 
					 | 
				
			||||||
		res: ep.meta.res,
 | 
							res: ep.meta.res,
 | 
				
			||||||
		resProps: ep.meta.res && ep.meta.res.props ? sortParams(Object.entries(ep.meta.res.props).map(([k, v]) => parsePropDefinition(k, v))) : null,
 | 
							resProps: ep.meta.res && ep.meta.res.props ? sortParams(Object.entries(ep.meta.res.props).map(([k, v]) => parsePropDefinition(k, v))) : null,
 | 
				
			||||||
		resDefs: null as any, //extractPropDefRef(Object.entries(ep.res.props).map(([k, v]) => parsePropDefinition(k, v)))
 | 
							resDefs: null as any, //extractPropDefRef(Object.entries(ep.res.props).map(([k, v]) => parsePropDefinition(k, v)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue