diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-02-08 20:56:16 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-02-08 20:56:16 +0900 |
| commit | 5e0eda9526d512344485a4ec642775ca04c2c1af (patch) | |
| tree | 90dd49e1a9ca318816305b8e35ff812d32b91163 /src/server/api/endpoints/federation | |
| parent | 10.83.0 (diff) | |
| download | sharkey-5e0eda9526d512344485a4ec642775ca04c2c1af.tar.gz sharkey-5e0eda9526d512344485a4ec642775ca04c2c1af.tar.bz2 sharkey-5e0eda9526d512344485a4ec642775ca04c2c1af.zip | |
Improve instances manegement
Resolve #4187
Diffstat (limited to 'src/server/api/endpoints/federation')
| -rw-r--r-- | src/server/api/endpoints/federation/instances.ts | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/src/server/api/endpoints/federation/instances.ts b/src/server/api/endpoints/federation/instances.ts index 9b4efbaaff..9c1e57ee16 100644 --- a/src/server/api/endpoints/federation/instances.ts +++ b/src/server/api/endpoints/federation/instances.ts @@ -6,8 +6,16 @@ export const meta = { requireCredential: false, params: { - state: { - validator: $.str.optional, + blocked: { + validator: $.bool.optional.nullable, + }, + + notResponding: { + validator: $.bool.optional.nullable, + }, + + markedAsClosed: { + validator: $.bool.optional.nullable, }, limit: { @@ -70,6 +78,14 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => { sort = { caughtAt: 1 }; + } else if (ps.sort == '+lastCommunicatedAt') { + sort = { + lastCommunicatedAt: -1 + }; + } else if (ps.sort == '-lastCommunicatedAt') { + sort = { + lastCommunicatedAt: 1 + }; } else if (ps.sort == '+driveUsage') { sort = { driveUsage: -1 @@ -95,9 +111,9 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => { const q = {} as any; - if (ps.state === 'blocked') { - q.isBlocked = true; - } + if (typeof ps.blocked === 'boolean') q.isBlocked = ps.blocked; + if (typeof ps.notResponding === 'boolean') q.isNotResponding = ps.notResponding; + if (typeof ps.markedAsClosed === 'boolean') q.isMarkedAsClosed = ps.markedAsClosed; const instances = await Instance .find(q, { |