refactor(striker-ui-api): reduce repeat in get all servers

main
Tsu-ba-me 2 years ago
parent 192e1b82cc
commit 039d755e89
  1. 55
      striker-ui-api/src/lib/request_handlers/server/getServer.ts
  2. 2
      striker-ui-api/src/types/ApiServer.d.ts

@ -1,4 +1,7 @@
import { DELETED } from '../../consts';
import buildGetRequestHandler from '../buildGetRequestHandler';
import { buildQueryResultReducer } from '../../buildQueryResultModifier';
import join from '../../join';
import { sanitize } from '../../sanitize';
import { stdoutVar } from '../../shell';
@ -17,31 +20,33 @@ export const getServer = buildGetRequestHandler(
stdoutVar({ condAnvilUUIDs });
if (buildQueryOptions) {
buildQueryOptions.afterQueryReturn = (queryStdout) => {
let result = queryStdout;
if (queryStdout instanceof Array) {
result = queryStdout.map<ServerOverview>(
([
serverUUID,
serverName,
serverState,
serverHostUUID,
anvilUUID,
anvilName,
]) => ({
serverHostUUID,
serverName,
serverState,
serverUUID,
anvilUUID,
anvilName,
}),
);
}
buildQueryOptions.afterQueryReturn = buildQueryResultReducer<
ServerOverview[]
>(
(
previous,
[
serverUUID,
serverName,
serverState,
serverHostUUID,
anvilUUID,
anvilName,
],
) => {
previous.push({
anvilName,
anvilUUID,
serverHostUUID,
serverName,
serverState,
serverUUID,
});
return result;
};
return previous;
},
[],
);
}
return `
@ -55,7 +60,7 @@ export const getServer = buildGetRequestHandler(
FROM servers AS ser
JOIN anvils AS anv
ON ser.server_anvil_uuid = anv.anvil_uuid
WHERE ser.server_state != 'DELETED'
WHERE ser.server_state != '${DELETED}'
${condAnvilUUIDs};`;
},
);

@ -1,4 +1,6 @@
type ServerOverview = {
anvilName: string;
anvilUUID: string;
serverHostUUID: string;
serverName: string;
serverState: string;

Loading…
Cancel
Save