Improve instances manegement

Resolve #4187
This commit is contained in:
syuilo
2019-02-08 20:56:16 +09:00
parent 72b85fc09f
commit 5e0eda9526
7 changed files with 65 additions and 11 deletions

View File

@ -14,6 +14,10 @@ export const meta = {
isBlocked: {
validator: $.bool
},
isClosed: {
validator: $.bool
},
}
};
@ -26,7 +30,8 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => {
Instance.update({ host: ps.host }, {
$set: {
isBlocked: ps.isBlocked
isBlocked: ps.isBlocked,
isMarkedAsClosed: ps.isClosed
}
});

View File

@ -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, {