diff options
| author | おさむのひと <46447427+samunohito@users.noreply.github.com> | 2023-12-02 21:00:05 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-02 21:00:05 +0900 |
| commit | 336416261a0a9f46467f90e93854d81ca01292d9 (patch) | |
| tree | 8ae444f178513fce8f29c2ad3366d5cac71fdb41 /packages/backend/src/server/api/endpoints/federation | |
| parent | fix: #12544 (#12545) (diff) | |
| download | sharkey-336416261a0a9f46467f90e93854d81ca01292d9.tar.gz sharkey-336416261a0a9f46467f90e93854d81ca01292d9.tar.bz2 sharkey-336416261a0a9f46467f90e93854d81ca01292d9.zip | |
バックエンドが生成するapi.jsonからmisskey-jsの型を作成する (#12434)
* ひとまず生成できるところまで
* ファイル構成整理
* 生成コマンド整理
* misskey-jsへの組み込み
* fix generator.ts
* wip
* fix generator.ts
* fix package.json
* 生成ロジックの調整
* 型レベルでのswitch-case機構をmisskey-jsからfrontendに持ち込めるようにした
* 型チェック用のtsconfig.jsonを作成
* 他のエンドポイントを呼ぶ関数にも適用
* 未使用エンティティなどを削除
* misskey-js側で手動定義されていた型を自動生成された型に移行(ただしapi.jsonがvalidでなくなってしまったので後で修正する)
* messagingは廃止されている(テストのビルドエラー解消)
* validなapi.jsonを出力できるように修正
* 修正漏れ対応
* Ajvに怒られて起動できなかったところを修正
* fix ci(途中)
* パラメータenumをやめる
* add command
* add api.json
* 都度自動生成をやめる
* 一気通貫スクリプト修正
* fix ci
* 生成ロジック修正
* フロントの型チェックは結局やらなかったので戻しておく
* fix pnpm-lock.yaml
* add README.md
---------
Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Diffstat (limited to 'packages/backend/src/server/api/endpoints/federation')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/federation/instances.ts | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/packages/backend/src/server/api/endpoints/federation/instances.ts b/packages/backend/src/server/api/endpoints/federation/instances.ts index c8beefa9c7..e5a90715f5 100644 --- a/packages/backend/src/server/api/endpoints/federation/instances.ts +++ b/packages/backend/src/server/api/endpoints/federation/instances.ts @@ -36,13 +36,32 @@ export const paramDef = { blocked: { type: 'boolean', nullable: true }, notResponding: { type: 'boolean', nullable: true }, suspended: { type: 'boolean', nullable: true }, - silenced: { type: "boolean", nullable: true }, + silenced: { type: 'boolean', nullable: true }, federating: { type: 'boolean', nullable: true }, subscribing: { type: 'boolean', nullable: true }, publishing: { type: 'boolean', nullable: true }, limit: { type: 'integer', minimum: 1, maximum: 100, default: 30 }, offset: { type: 'integer', default: 0 }, - sort: { type: 'string' }, + sort: { + type: 'string', + nullable: true, + enum: [ + '+pubSub', + '-pubSub', + '+notes', + '-notes', + '+users', + '-users', + '+following', + '-following', + '+followers', + '-followers', + '+firstRetrievedAt', + '-firstRetrievedAt', + '+latestRequestReceivedAt', + '-latestRequestReceivedAt', + ], + }, }, required: [], } as const; @@ -103,18 +122,18 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- } } - if (typeof ps.silenced === "boolean") { + if (typeof ps.silenced === 'boolean') { const meta = await this.metaService.fetch(true); if (ps.silenced) { if (meta.silencedHosts.length === 0) { return []; } - query.andWhere("instance.host IN (:...silences)", { + query.andWhere('instance.host IN (:...silences)', { silences: meta.silencedHosts, }); } else if (meta.silencedHosts.length > 0) { - query.andWhere("instance.host NOT IN (:...silences)", { + query.andWhere('instance.host NOT IN (:...silences)', { silences: meta.silencedHosts, }); } |