Merge branch 'notification-read-api' into swn
This commit is contained in:
commit
a0f92f60b3
316 changed files with 390 additions and 456 deletions
|
@ -14,11 +14,15 @@ You should also include the user name that made the change.
|
|||
|
||||
## 12.x.x (unreleased)
|
||||
|
||||
### Changes
|
||||
- ノートの最大文字数を設定できる機能が廃止され、デフォルトで一律3000文字になりました
|
||||
|
||||
### Improvements
|
||||
-
|
||||
|
||||
### Bugfixes
|
||||
- Client: リアクションピッカーの高さが低くなったまま戻らないことがあるのを修正 @syuilo
|
||||
- Client: タッチ操作だとウィジェットの編集がしにくいのを修正 @xianonn
|
||||
|
||||
## 12.107.0 (2022/02/12)
|
||||
|
||||
|
|
|
@ -422,7 +422,6 @@ next: "次"
|
|||
retype: "再入力"
|
||||
noteOf: "{user}のノート"
|
||||
inviteToGroup: "グループに招待"
|
||||
maxNoteTextLength: "ノートの文字数制限"
|
||||
quoteAttached: "引用付き"
|
||||
quoteQuestion: "引用として添付しますか?"
|
||||
noMessagesYet: "まだチャットはありません"
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
const { MigrationInterface, QueryRunner } = require("typeorm");
|
||||
|
||||
module.exports = class removeMaxNoteTextLength1645340161439 {
|
||||
name = 'removeMaxNoteTextLength1645340161439'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "maxNoteTextLength"`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "maxNoteTextLength" integer NOT NULL DEFAULT '500'`);
|
||||
}
|
||||
}
|
|
@ -1,3 +1,5 @@
|
|||
export const MAX_NOTE_TEXT_LENGTH = 3000;
|
||||
|
||||
export const USER_ONLINE_THRESHOLD = 1000 * 60 * 10; // 10min
|
||||
export const USER_ACTIVE_THRESHOLD = 1000 * 60 * 60 * 24 * 3; // 3days
|
||||
|
||||
|
|
|
@ -63,14 +63,7 @@ export const refs = {
|
|||
Emoji: packedEmojiSchema,
|
||||
};
|
||||
|
||||
// Packed = SchemaTypeDef<typeof refs[x]>; とすると展開されてマウスホバー時に型表示が使い物にならなくなる
|
||||
// ObjType<r['properties']>を指定すると(なぜか)展開されずにPacked<'Hoge'>と表示される
|
||||
type PackedDef<r extends { properties?: Obj; oneOf?: ReadonlyArray<Schema>; allOf?: ReadonlyArray<Schema> }> =
|
||||
r['allOf'] extends ReadonlyArray<Schema> ? UnionToIntersection<UnionSchemaType<r['allOf']>> :
|
||||
r['oneOf'] extends ReadonlyArray<Schema> ? UnionSchemaType<r['oneOf']> :
|
||||
r['properties'] extends Obj ? ObjType<r['properties'], any> :
|
||||
never;
|
||||
export type Packed<x extends keyof typeof refs> = PackedDef<typeof refs[x]>;
|
||||
export type Packed<x extends keyof typeof refs> = SchemaType<typeof refs[x]>;
|
||||
|
||||
type TypeStringef = 'null' | 'boolean' | 'integer' | 'number' | 'string' | 'array' | 'object' | 'any';
|
||||
type StringDefToType<T extends TypeStringef> =
|
||||
|
@ -107,31 +100,20 @@ export interface Schema extends OfSchema {
|
|||
readonly minLength?: number;
|
||||
}
|
||||
|
||||
type OptionalPropertyNames<T extends Obj> = {
|
||||
[K in keyof T]: T[K]['optional'] extends true ? K : never
|
||||
}[keyof T];
|
||||
|
||||
type NonOptionalPropertyNames<T extends Obj> = {
|
||||
[K in keyof T]: T[K]['optional'] extends false ? K : never
|
||||
}[keyof T];
|
||||
|
||||
type DefaultPropertyNames<T extends Obj> = {
|
||||
[K in keyof T]: T[K]['default'] extends null ? K :
|
||||
T[K]['default'] extends string ? K :
|
||||
T[K]['default'] extends number ? K :
|
||||
T[K]['default'] extends boolean ? K :
|
||||
T[K]['default'] extends Record<string, unknown> ? K :
|
||||
never
|
||||
}[keyof T];
|
||||
type RequiredPropertyNames<s extends Obj> = {
|
||||
[K in keyof s]:
|
||||
// K is not optional
|
||||
s[K]['optional'] extends false ? K :
|
||||
// K has default value
|
||||
s[K]['default'] extends null | string | number | boolean | Record<string, unknown> ? K : never
|
||||
}[keyof s];
|
||||
|
||||
export interface Obj { [key: string]: Schema; }
|
||||
|
||||
export type ObjType<s extends Obj, RequiredProps extends ReadonlyArray<keyof s>> =
|
||||
export type ObjType<s extends Obj, RequiredProps extends keyof s> =
|
||||
{ -readonly [P in keyof s]?: SchemaType<s[P]> } &
|
||||
{ -readonly [P in RequiredProps[number]]: SchemaType<s[P]> } &
|
||||
{ -readonly [P in OptionalPropertyNames<s>]?: SchemaType<s[P]> } &
|
||||
{ -readonly [P in NonOptionalPropertyNames<s>]: SchemaType<s[P]> } &
|
||||
{ -readonly [P in DefaultPropertyNames<s>]: SchemaType<s[P]> };
|
||||
{ -readonly [P in RequiredProps]: SchemaType<s[P]> } &
|
||||
{ -readonly [P in RequiredPropertyNames<s>]: SchemaType<s[P]> };
|
||||
|
||||
type NullOrUndefined<p extends Schema, T> =
|
||||
p['nullable'] extends true
|
||||
|
@ -142,11 +124,12 @@ type NullOrUndefined<p extends Schema, T> =
|
|||
? (T | undefined)
|
||||
: T;
|
||||
|
||||
// 共用体型を交差型にする型 https://stackoverflow.com/questions/54938141/typescript-convert-union-to-intersection
|
||||
// https://stackoverflow.com/questions/54938141/typescript-convert-union-to-intersection
|
||||
// Get intersection from union
|
||||
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
|
||||
|
||||
// https://github.com/misskey-dev/misskey/pull/8144#discussion_r785287552
|
||||
// 単純にSchemaTypeDef<X>で判定するだけではダメ
|
||||
// To get union, we use `Foo extends any ? Hoge<Foo> : never`
|
||||
type UnionSchemaType<a extends readonly any[], X extends Schema = a[number]> = X extends any ? SchemaType<X> : never;
|
||||
type ArrayUnion<T> = T extends any ? Array<T> : never;
|
||||
|
||||
|
@ -163,7 +146,7 @@ export type SchemaTypeDef<p extends Schema> =
|
|||
p['type'] extends 'boolean' ? boolean :
|
||||
p['type'] extends 'object' ? (
|
||||
p['ref'] extends keyof typeof refs ? Packed<p['ref']> :
|
||||
p['properties'] extends NonNullable<Obj> ? ObjType<p['properties'], NonNullable<p['required']>> :
|
||||
p['properties'] extends NonNullable<Obj> ? ObjType<p['properties'], NonNullable<p['required']>[number]> :
|
||||
p['anyOf'] extends ReadonlyArray<Schema> ? UnionSchemaType<p['anyOf']> & Partial<UnionToIntersection<UnionSchemaType<p['anyOf']>>> :
|
||||
p['allOf'] extends ReadonlyArray<Schema> ? UnionToIntersection<UnionSchemaType<p['allOf']>> :
|
||||
any
|
||||
|
|
|
@ -205,12 +205,6 @@ export class Meta {
|
|||
})
|
||||
public remoteDriveCapacityMb: number;
|
||||
|
||||
@Column('integer', {
|
||||
default: 500,
|
||||
comment: 'Max allowed note text length in characters',
|
||||
})
|
||||
public maxNoteTextLength: number;
|
||||
|
||||
@Column('varchar', {
|
||||
length: 128,
|
||||
nullable: true,
|
||||
|
|
|
@ -32,7 +32,7 @@ export class AppRepository extends Repository<App> {
|
|||
...(me ? {
|
||||
isAuthorized: await AccessTokens.count({
|
||||
appId: app.id,
|
||||
userId: me,
|
||||
userId: me.id,
|
||||
}).then(count => count > 0),
|
||||
} : {}),
|
||||
};
|
||||
|
|
|
@ -78,8 +78,8 @@ export default async (endpoint: string, user: User | null | undefined, token: Ac
|
|||
}
|
||||
|
||||
// Cast non JSON input
|
||||
if (ep.meta.requireFile) {
|
||||
for (const k of Object.keys(ep.params)) {
|
||||
if (ep.meta.requireFile && ep.params.properties) {
|
||||
for (const k of Object.keys(ep.params.properties)) {
|
||||
const param = ep.params.properties![k];
|
||||
if (['boolean', 'number', 'integer'].includes(param.type ?? '') && typeof data[k] === 'string') {
|
||||
try {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import * as fs from 'fs';
|
||||
import * as Ajv from 'ajv';
|
||||
import Ajv from 'ajv';
|
||||
import { ILocalUser } from '@/models/entities/user';
|
||||
import { IEndpointMeta } from './endpoints';
|
||||
import { ApiError } from './error';
|
||||
|
@ -65,6 +65,6 @@ export default function <T extends IEndpointMeta, Ps extends Schema>(meta: T, pa
|
|||
return Promise.reject(err);
|
||||
}
|
||||
|
||||
return cb(params, user, token, file, cleanup);
|
||||
return cb(params as SchemaType<Ps>, user, token, file, cleanup);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
||||
|
|
|
@ -18,7 +18,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
username: Users.localUsernameSchema,
|
||||
|
|
|
@ -11,7 +11,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
userId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -9,7 +9,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
url: { type: 'string', minLength: 1 },
|
||||
|
|
|
@ -17,7 +17,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
id: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -9,7 +9,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
||||
|
|
|
@ -17,7 +17,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
id: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -44,7 +44,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
title: { type: 'string', minLength: 1 },
|
||||
|
@ -65,5 +65,5 @@ export default define(meta, paramDef, async (ps) => {
|
|||
imageUrl: ps.imageUrl,
|
||||
}).then(x => Announcements.findOneOrFail(x.identifiers[0]));
|
||||
|
||||
return announcement;
|
||||
return Object.assign({}, announcement, { createdAt: announcement.createdAt.toISOString(), updatedAt: null });
|
||||
});
|
||||
|
|
|
@ -17,7 +17,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
id: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -52,7 +52,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
||||
|
|
|
@ -17,7 +17,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
id: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -9,7 +9,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
userId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -10,7 +10,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -19,7 +19,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
||||
|
|
|
@ -149,7 +149,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
fileId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -10,7 +10,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
ids: { type: 'array', items: {
|
||||
|
|
|
@ -22,7 +22,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
fileId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -34,7 +34,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
emojiId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -11,7 +11,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
ids: { type: 'array', items: {
|
||||
|
|
|
@ -19,7 +19,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
id: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
fileId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -50,7 +50,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
query: { type: 'string', nullable: true, default: null },
|
||||
|
|
|
@ -50,7 +50,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
query: { type: 'string', nullable: true, default: null },
|
||||
|
|
|
@ -10,7 +10,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
ids: { type: 'array', items: {
|
||||
|
|
|
@ -10,7 +10,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
ids: { type: 'array', items: {
|
||||
|
|
|
@ -10,7 +10,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
ids: { type: 'array', items: {
|
||||
|
|
|
@ -18,7 +18,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
id: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -9,7 +9,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
host: { type: 'string' },
|
||||
|
|
|
@ -10,7 +10,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
host: { type: 'string' },
|
||||
|
|
|
@ -9,7 +9,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
host: { type: 'string' },
|
||||
|
|
|
@ -9,7 +9,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
host: { type: 'string' },
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
tags: ['admin'],
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -19,7 +19,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -24,7 +24,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
requireAdmin: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
userId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
requireAdmin: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
userId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -24,7 +24,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
noteId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -9,7 +9,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -32,7 +32,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -32,7 +32,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -31,7 +31,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -45,7 +45,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
inbox: { type: 'string' },
|
||||
|
|
|
@ -39,7 +39,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
inbox: { type: 'string' },
|
||||
|
|
|
@ -23,7 +23,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
userId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -12,7 +12,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
reportId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
to: { type: 'string' },
|
||||
|
|
|
@ -87,7 +87,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -48,7 +48,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
||||
|
|
|
@ -13,7 +13,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
userId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -18,7 +18,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
||||
|
|
|
@ -9,7 +9,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
userId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -13,7 +13,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
userId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -9,7 +9,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
userId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -10,7 +10,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
userId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -11,7 +11,7 @@ export const meta = {
|
|||
requireAdmin: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
disableRegistration: { type: 'boolean', nullable: true },
|
||||
|
@ -36,7 +36,6 @@ const paramDef = {
|
|||
logoImageUrl: { type: 'string', nullable: true },
|
||||
name: { type: 'string', nullable: true },
|
||||
description: { type: 'string', nullable: true },
|
||||
maxNoteTextLength: { type: 'integer', maximum: 8192 },
|
||||
localDriveCapacityMb: { type: 'integer' },
|
||||
remoteDriveCapacityMb: { type: 'integer' },
|
||||
cacheRemoteFiles: { type: 'boolean' },
|
||||
|
@ -164,10 +163,6 @@ export default define(meta, paramDef, async (ps, me) => {
|
|||
set.description = ps.description;
|
||||
}
|
||||
|
||||
if (ps.maxNoteTextLength) {
|
||||
set.maxNoteTextLength = ps.maxNoteTextLength;
|
||||
}
|
||||
|
||||
if (ps.localDriveCapacityMb !== undefined) {
|
||||
set.localDriveCapacityMb = ps.localDriveCapacityMb;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ export const meta = {
|
|||
requireModerator: true,
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
full: { type: 'boolean' },
|
||||
|
|
|
@ -51,7 +51,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
||||
|
|
|
@ -32,7 +32,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
name: { type: 'string', minLength: 1, maxLength: 100 },
|
||||
|
|
|
@ -19,7 +19,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
antennaId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -19,7 +19,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -33,7 +33,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
antennaId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -24,7 +24,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
antennaId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -37,7 +37,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
antennaId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -22,7 +22,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
uri: { type: 'string' },
|
||||
|
|
|
@ -68,7 +68,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
uri: { type: 'string' },
|
||||
|
|
|
@ -16,7 +16,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
name: { type: 'string' },
|
||||
|
|
|
@ -20,7 +20,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
appId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -21,7 +21,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
token: { type: 'string' },
|
||||
|
|
|
@ -35,7 +35,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
appSecret: { type: 'string' },
|
||||
|
|
|
@ -37,7 +37,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
token: { type: 'string' },
|
||||
|
|
|
@ -45,7 +45,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
appSecret: { type: 'string' },
|
||||
|
|
|
@ -44,7 +44,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
userId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -44,7 +44,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
userId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -20,7 +20,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 30 },
|
||||
|
|
|
@ -26,7 +26,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
name: { type: 'string', minLength: 1, maxLength: 128 },
|
||||
|
|
|
@ -17,7 +17,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {},
|
||||
required: [],
|
||||
|
|
|
@ -20,7 +20,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
channelId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -20,7 +20,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
sinceId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -20,7 +20,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
sinceId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -22,7 +22,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
channelId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -28,7 +28,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
channelId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -19,7 +19,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
channelId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -36,7 +36,7 @@ export const meta = {
|
|||
},
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
channelId: { type: 'string', format: 'misskey:id' },
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
res: getJsonSchema(activeUsersChart.schema),
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
span: { type: 'string', enum: ['day', 'hour'] },
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
res: getJsonSchema(apRequestChart.schema),
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
span: { type: 'string', enum: ['day', 'hour'] },
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
res: getJsonSchema(driveChart.schema),
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
span: { type: 'string', enum: ['day', 'hour'] },
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
res: getJsonSchema(federationChart.schema),
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
span: { type: 'string', enum: ['day', 'hour'] },
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
res: getJsonSchema(hashtagChart.schema),
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
span: { type: 'string', enum: ['day', 'hour'] },
|
||||
|
|
|
@ -8,7 +8,7 @@ export const meta = {
|
|||
res: getJsonSchema(instanceChart.schema),
|
||||
} as const;
|
||||
|
||||
const paramDef = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
span: { type: 'string', enum: ['day', 'hour'] },
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue