Merge branch 'notification-read-api' into swn

This commit is contained in:
tamaina 2022-02-20 16:16:57 +09:00
commit a0f92f60b3
316 changed files with 390 additions and 456 deletions

View file

@ -14,11 +14,15 @@ You should also include the user name that made the change.
## 12.x.x (unreleased) ## 12.x.x (unreleased)
### Changes
- ートの最大文字数を設定できる機能が廃止され、デフォルトで一律3000文字になりました
### Improvements ### Improvements
- -
### Bugfixes ### Bugfixes
- Client: リアクションピッカーの高さが低くなったまま戻らないことがあるのを修正 @syuilo - Client: リアクションピッカーの高さが低くなったまま戻らないことがあるのを修正 @syuilo
- Client: タッチ操作だとウィジェットの編集がしにくいのを修正 @xianonn
## 12.107.0 (2022/02/12) ## 12.107.0 (2022/02/12)

View file

@ -422,7 +422,6 @@ next: "次"
retype: "再入力" retype: "再入力"
noteOf: "{user}のノート" noteOf: "{user}のノート"
inviteToGroup: "グループに招待" inviteToGroup: "グループに招待"
maxNoteTextLength: "ノートの文字数制限"
quoteAttached: "引用付き" quoteAttached: "引用付き"
quoteQuestion: "引用として添付しますか?" quoteQuestion: "引用として添付しますか?"
noMessagesYet: "まだチャットはありません" noMessagesYet: "まだチャットはありません"

View file

@ -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'`);
}
}

View file

@ -1,3 +1,5 @@
export const MAX_NOTE_TEXT_LENGTH = 3000;
export const USER_ONLINE_THRESHOLD = 1000 * 60 * 10; // 10min export const USER_ONLINE_THRESHOLD = 1000 * 60 * 10; // 10min
export const USER_ACTIVE_THRESHOLD = 1000 * 60 * 60 * 24 * 3; // 3days export const USER_ACTIVE_THRESHOLD = 1000 * 60 * 60 * 24 * 3; // 3days

View file

@ -63,14 +63,7 @@ export const refs = {
Emoji: packedEmojiSchema, Emoji: packedEmojiSchema,
}; };
// Packed = SchemaTypeDef<typeof refs[x]>; とすると展開されてマウスホバー時に型表示が使い物にならなくなる export type Packed<x extends keyof typeof refs> = SchemaType<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]>;
type TypeStringef = 'null' | 'boolean' | 'integer' | 'number' | 'string' | 'array' | 'object' | 'any'; type TypeStringef = 'null' | 'boolean' | 'integer' | 'number' | 'string' | 'array' | 'object' | 'any';
type StringDefToType<T extends TypeStringef> = type StringDefToType<T extends TypeStringef> =
@ -107,31 +100,20 @@ export interface Schema extends OfSchema {
readonly minLength?: number; readonly minLength?: number;
} }
type OptionalPropertyNames<T extends Obj> = { type RequiredPropertyNames<s extends Obj> = {
[K in keyof T]: T[K]['optional'] extends true ? K : never [K in keyof s]:
}[keyof T]; // K is not optional
s[K]['optional'] extends false ? K :
type NonOptionalPropertyNames<T extends Obj> = { // K has default value
[K in keyof T]: T[K]['optional'] extends false ? K : never s[K]['default'] extends null | string | number | boolean | Record<string, unknown> ? K : never
}[keyof T]; }[keyof s];
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];
export interface Obj { [key: string]: Schema; } 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 keyof s]?: SchemaType<s[P]> } &
{ -readonly [P in RequiredProps[number]]: SchemaType<s[P]> } & { -readonly [P in RequiredProps]: SchemaType<s[P]> } &
{ -readonly [P in OptionalPropertyNames<s>]?: SchemaType<s[P]> } & { -readonly [P in RequiredPropertyNames<s>]: SchemaType<s[P]> };
{ -readonly [P in NonOptionalPropertyNames<s>]: SchemaType<s[P]> } &
{ -readonly [P in DefaultPropertyNames<s>]: SchemaType<s[P]> };
type NullOrUndefined<p extends Schema, T> = type NullOrUndefined<p extends Schema, T> =
p['nullable'] extends true p['nullable'] extends true
@ -142,11 +124,12 @@ type NullOrUndefined<p extends Schema, T> =
? (T | undefined) ? (T | undefined)
: T; : 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; 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 // 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 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; 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 'boolean' ? boolean :
p['type'] extends 'object' ? ( p['type'] extends 'object' ? (
p['ref'] extends keyof typeof refs ? Packed<p['ref']> : 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['anyOf'] extends ReadonlyArray<Schema> ? UnionSchemaType<p['anyOf']> & Partial<UnionToIntersection<UnionSchemaType<p['anyOf']>>> :
p['allOf'] extends ReadonlyArray<Schema> ? UnionToIntersection<UnionSchemaType<p['allOf']>> : p['allOf'] extends ReadonlyArray<Schema> ? UnionToIntersection<UnionSchemaType<p['allOf']>> :
any any

View file

@ -205,12 +205,6 @@ export class Meta {
}) })
public remoteDriveCapacityMb: number; public remoteDriveCapacityMb: number;
@Column('integer', {
default: 500,
comment: 'Max allowed note text length in characters',
})
public maxNoteTextLength: number;
@Column('varchar', { @Column('varchar', {
length: 128, length: 128,
nullable: true, nullable: true,

View file

@ -32,7 +32,7 @@ export class AppRepository extends Repository<App> {
...(me ? { ...(me ? {
isAuthorized: await AccessTokens.count({ isAuthorized: await AccessTokens.count({
appId: app.id, appId: app.id,
userId: me, userId: me.id,
}).then(count => count > 0), }).then(count => count > 0),
} : {}), } : {}),
}; };

View file

@ -78,8 +78,8 @@ export default async (endpoint: string, user: User | null | undefined, token: Ac
} }
// Cast non JSON input // Cast non JSON input
if (ep.meta.requireFile) { if (ep.meta.requireFile && ep.params.properties) {
for (const k of Object.keys(ep.params)) { for (const k of Object.keys(ep.params.properties)) {
const param = ep.params.properties![k]; const param = ep.params.properties![k];
if (['boolean', 'number', 'integer'].includes(param.type ?? '') && typeof data[k] === 'string') { if (['boolean', 'number', 'integer'].includes(param.type ?? '') && typeof data[k] === 'string') {
try { try {

View file

@ -1,5 +1,5 @@
import * as fs from 'fs'; import * as fs from 'fs';
import * as Ajv from 'ajv'; import Ajv from 'ajv';
import { ILocalUser } from '@/models/entities/user'; import { ILocalUser } from '@/models/entities/user';
import { IEndpointMeta } from './endpoints'; import { IEndpointMeta } from './endpoints';
import { ApiError } from './error'; 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 Promise.reject(err);
} }
return cb(params, user, token, file, cleanup); return cb(params as SchemaType<Ps>, user, token, file, cleanup);
}; };
} }

View file

@ -70,7 +70,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },

View file

@ -18,7 +18,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
username: Users.localUsernameSchema, username: Users.localUsernameSchema,

View file

@ -11,7 +11,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
userId: { type: 'string', format: 'misskey:id' }, userId: { type: 'string', format: 'misskey:id' },

View file

@ -9,7 +9,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
url: { type: 'string', minLength: 1 }, url: { type: 'string', minLength: 1 },

View file

@ -17,7 +17,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
id: { type: 'string', format: 'misskey:id' }, id: { type: 'string', format: 'misskey:id' },

View file

@ -9,7 +9,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },

View file

@ -17,7 +17,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
id: { type: 'string', format: 'misskey:id' }, id: { type: 'string', format: 'misskey:id' },

View file

@ -44,7 +44,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
title: { type: 'string', minLength: 1 }, title: { type: 'string', minLength: 1 },
@ -65,5 +65,5 @@ export default define(meta, paramDef, async (ps) => {
imageUrl: ps.imageUrl, imageUrl: ps.imageUrl,
}).then(x => Announcements.findOneOrFail(x.identifiers[0])); }).then(x => Announcements.findOneOrFail(x.identifiers[0]));
return announcement; return Object.assign({}, announcement, { createdAt: announcement.createdAt.toISOString(), updatedAt: null });
}); });

View file

@ -17,7 +17,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
id: { type: 'string', format: 'misskey:id' }, id: { type: 'string', format: 'misskey:id' },

View file

@ -52,7 +52,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },

View file

@ -17,7 +17,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
id: { type: 'string', format: 'misskey:id' }, id: { type: 'string', format: 'misskey:id' },

View file

@ -9,7 +9,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
userId: { type: 'string', format: 'misskey:id' }, userId: { type: 'string', format: 'misskey:id' },

View file

@ -8,7 +8,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -10,7 +10,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -19,7 +19,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },

View file

@ -149,7 +149,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
fileId: { type: 'string', format: 'misskey:id' }, fileId: { type: 'string', format: 'misskey:id' },

View file

@ -10,7 +10,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
ids: { type: 'array', items: { ids: { type: 'array', items: {

View file

@ -22,7 +22,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
fileId: { type: 'string', format: 'misskey:id' }, fileId: { type: 'string', format: 'misskey:id' },

View file

@ -34,7 +34,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
emojiId: { type: 'string', format: 'misskey:id' }, emojiId: { type: 'string', format: 'misskey:id' },

View file

@ -11,7 +11,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
ids: { type: 'array', items: { ids: { type: 'array', items: {

View file

@ -19,7 +19,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
id: { type: 'string', format: 'misskey:id' }, id: { type: 'string', format: 'misskey:id' },

View file

@ -8,7 +8,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
fileId: { type: 'string', format: 'misskey:id' }, fileId: { type: 'string', format: 'misskey:id' },

View file

@ -50,7 +50,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
query: { type: 'string', nullable: true, default: null }, query: { type: 'string', nullable: true, default: null },

View file

@ -50,7 +50,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
query: { type: 'string', nullable: true, default: null }, query: { type: 'string', nullable: true, default: null },

View file

@ -10,7 +10,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
ids: { type: 'array', items: { ids: { type: 'array', items: {

View file

@ -10,7 +10,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
ids: { type: 'array', items: { ids: { type: 'array', items: {

View file

@ -10,7 +10,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
ids: { type: 'array', items: { ids: { type: 'array', items: {

View file

@ -18,7 +18,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
id: { type: 'string', format: 'misskey:id' }, id: { type: 'string', format: 'misskey:id' },

View file

@ -9,7 +9,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
host: { type: 'string' }, host: { type: 'string' },

View file

@ -10,7 +10,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
host: { type: 'string' }, host: { type: 'string' },

View file

@ -9,7 +9,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
host: { type: 'string' }, host: { type: 'string' },

View file

@ -9,7 +9,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
host: { type: 'string' }, host: { type: 'string' },

View file

@ -8,7 +8,7 @@ export const meta = {
tags: ['admin'], tags: ['admin'],
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -19,7 +19,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -24,7 +24,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -8,7 +8,7 @@ export const meta = {
requireAdmin: true, requireAdmin: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
userId: { type: 'string', format: 'misskey:id' }, userId: { type: 'string', format: 'misskey:id' },

View file

@ -8,7 +8,7 @@ export const meta = {
requireAdmin: true, requireAdmin: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
userId: { type: 'string', format: 'misskey:id' }, userId: { type: 'string', format: 'misskey:id' },

View file

@ -24,7 +24,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
noteId: { type: 'string', format: 'misskey:id' }, noteId: { type: 'string', format: 'misskey:id' },

View file

@ -9,7 +9,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -32,7 +32,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -32,7 +32,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -31,7 +31,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -45,7 +45,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
inbox: { type: 'string' }, inbox: { type: 'string' },

View file

@ -39,7 +39,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -8,7 +8,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
inbox: { type: 'string' }, inbox: { type: 'string' },

View file

@ -23,7 +23,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
userId: { type: 'string', format: 'misskey:id' }, userId: { type: 'string', format: 'misskey:id' },

View file

@ -12,7 +12,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
reportId: { type: 'string', format: 'misskey:id' }, reportId: { type: 'string', format: 'misskey:id' },

View file

@ -8,7 +8,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
to: { type: 'string' }, to: { type: 'string' },

View file

@ -87,7 +87,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -48,7 +48,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },

View file

@ -13,7 +13,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
userId: { type: 'string', format: 'misskey:id' }, userId: { type: 'string', format: 'misskey:id' },

View file

@ -18,7 +18,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },

View file

@ -9,7 +9,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
userId: { type: 'string', format: 'misskey:id' }, userId: { type: 'string', format: 'misskey:id' },

View file

@ -13,7 +13,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
userId: { type: 'string', format: 'misskey:id' }, userId: { type: 'string', format: 'misskey:id' },

View file

@ -9,7 +9,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
userId: { type: 'string', format: 'misskey:id' }, userId: { type: 'string', format: 'misskey:id' },

View file

@ -10,7 +10,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
userId: { type: 'string', format: 'misskey:id' }, userId: { type: 'string', format: 'misskey:id' },

View file

@ -11,7 +11,7 @@ export const meta = {
requireAdmin: true, requireAdmin: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
disableRegistration: { type: 'boolean', nullable: true }, disableRegistration: { type: 'boolean', nullable: true },
@ -36,7 +36,6 @@ const paramDef = {
logoImageUrl: { type: 'string', nullable: true }, logoImageUrl: { type: 'string', nullable: true },
name: { type: 'string', nullable: true }, name: { type: 'string', nullable: true },
description: { type: 'string', nullable: true }, description: { type: 'string', nullable: true },
maxNoteTextLength: { type: 'integer', maximum: 8192 },
localDriveCapacityMb: { type: 'integer' }, localDriveCapacityMb: { type: 'integer' },
remoteDriveCapacityMb: { type: 'integer' }, remoteDriveCapacityMb: { type: 'integer' },
cacheRemoteFiles: { type: 'boolean' }, cacheRemoteFiles: { type: 'boolean' },
@ -164,10 +163,6 @@ export default define(meta, paramDef, async (ps, me) => {
set.description = ps.description; set.description = ps.description;
} }
if (ps.maxNoteTextLength) {
set.maxNoteTextLength = ps.maxNoteTextLength;
}
if (ps.localDriveCapacityMb !== undefined) { if (ps.localDriveCapacityMb !== undefined) {
set.localDriveCapacityMb = ps.localDriveCapacityMb; set.localDriveCapacityMb = ps.localDriveCapacityMb;
} }

View file

@ -9,7 +9,7 @@ export const meta = {
requireModerator: true, requireModerator: true,
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
full: { type: 'boolean' }, full: { type: 'boolean' },

View file

@ -51,7 +51,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },

View file

@ -32,7 +32,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
name: { type: 'string', minLength: 1, maxLength: 100 }, name: { type: 'string', minLength: 1, maxLength: 100 },

View file

@ -19,7 +19,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
antennaId: { type: 'string', format: 'misskey:id' }, antennaId: { type: 'string', format: 'misskey:id' },

View file

@ -19,7 +19,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -33,7 +33,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
antennaId: { type: 'string', format: 'misskey:id' }, antennaId: { type: 'string', format: 'misskey:id' },

View file

@ -24,7 +24,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
antennaId: { type: 'string', format: 'misskey:id' }, antennaId: { type: 'string', format: 'misskey:id' },

View file

@ -37,7 +37,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
antennaId: { type: 'string', format: 'misskey:id' }, antennaId: { type: 'string', format: 'misskey:id' },

View file

@ -22,7 +22,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
uri: { type: 'string' }, uri: { type: 'string' },

View file

@ -68,7 +68,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
uri: { type: 'string' }, uri: { type: 'string' },

View file

@ -16,7 +16,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
name: { type: 'string' }, name: { type: 'string' },

View file

@ -20,7 +20,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
appId: { type: 'string', format: 'misskey:id' }, appId: { type: 'string', format: 'misskey:id' },

View file

@ -21,7 +21,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
token: { type: 'string' }, token: { type: 'string' },

View file

@ -35,7 +35,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
appSecret: { type: 'string' }, appSecret: { type: 'string' },

View file

@ -37,7 +37,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
token: { type: 'string' }, token: { type: 'string' },

View file

@ -45,7 +45,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
appSecret: { type: 'string' }, appSecret: { type: 'string' },

View file

@ -44,7 +44,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
userId: { type: 'string', format: 'misskey:id' }, userId: { type: 'string', format: 'misskey:id' },

View file

@ -44,7 +44,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
userId: { type: 'string', format: 'misskey:id' }, userId: { type: 'string', format: 'misskey:id' },

View file

@ -20,7 +20,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
limit: { type: 'integer', minimum: 1, maximum: 100, default: 30 }, limit: { type: 'integer', minimum: 1, maximum: 100, default: 30 },

View file

@ -26,7 +26,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
name: { type: 'string', minLength: 1, maxLength: 128 }, name: { type: 'string', minLength: 1, maxLength: 128 },

View file

@ -17,7 +17,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: {}, properties: {},
required: [], required: [],

View file

@ -20,7 +20,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
channelId: { type: 'string', format: 'misskey:id' }, channelId: { type: 'string', format: 'misskey:id' },

View file

@ -20,7 +20,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
sinceId: { type: 'string', format: 'misskey:id' }, sinceId: { type: 'string', format: 'misskey:id' },

View file

@ -20,7 +20,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
sinceId: { type: 'string', format: 'misskey:id' }, sinceId: { type: 'string', format: 'misskey:id' },

View file

@ -22,7 +22,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
channelId: { type: 'string', format: 'misskey:id' }, channelId: { type: 'string', format: 'misskey:id' },

View file

@ -28,7 +28,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
channelId: { type: 'string', format: 'misskey:id' }, channelId: { type: 'string', format: 'misskey:id' },

View file

@ -19,7 +19,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
channelId: { type: 'string', format: 'misskey:id' }, channelId: { type: 'string', format: 'misskey:id' },

View file

@ -36,7 +36,7 @@ export const meta = {
}, },
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
channelId: { type: 'string', format: 'misskey:id' }, channelId: { type: 'string', format: 'misskey:id' },

View file

@ -8,7 +8,7 @@ export const meta = {
res: getJsonSchema(activeUsersChart.schema), res: getJsonSchema(activeUsersChart.schema),
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
span: { type: 'string', enum: ['day', 'hour'] }, span: { type: 'string', enum: ['day', 'hour'] },

View file

@ -8,7 +8,7 @@ export const meta = {
res: getJsonSchema(apRequestChart.schema), res: getJsonSchema(apRequestChart.schema),
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
span: { type: 'string', enum: ['day', 'hour'] }, span: { type: 'string', enum: ['day', 'hour'] },

View file

@ -8,7 +8,7 @@ export const meta = {
res: getJsonSchema(driveChart.schema), res: getJsonSchema(driveChart.schema),
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
span: { type: 'string', enum: ['day', 'hour'] }, span: { type: 'string', enum: ['day', 'hour'] },

View file

@ -8,7 +8,7 @@ export const meta = {
res: getJsonSchema(federationChart.schema), res: getJsonSchema(federationChart.schema),
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
span: { type: 'string', enum: ['day', 'hour'] }, span: { type: 'string', enum: ['day', 'hour'] },

View file

@ -8,7 +8,7 @@ export const meta = {
res: getJsonSchema(hashtagChart.schema), res: getJsonSchema(hashtagChart.schema),
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
span: { type: 'string', enum: ['day', 'hour'] }, span: { type: 'string', enum: ['day', 'hour'] },

View file

@ -8,7 +8,7 @@ export const meta = {
res: getJsonSchema(instanceChart.schema), res: getJsonSchema(instanceChart.schema),
} as const; } as const;
const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
span: { type: 'string', enum: ['day', 'hour'] }, span: { type: 'string', enum: ['day', 'hour'] },

Some files were not shown because too many files have changed in this diff Show more