40 lines
1 KiB
TypeScript
40 lines
1 KiB
TypeScript
|
import { DefaultClient, PBResponse, QueryArguments } from "./Client";
|
||
|
import { Provider } from "./Providers";
|
||
|
|
||
|
export interface OutpostHealth {
|
||
|
last_seen: number;
|
||
|
version: string;
|
||
|
version_should: string;
|
||
|
version_outdated: boolean;
|
||
|
}
|
||
|
|
||
|
export class Outpost {
|
||
|
|
||
|
pk: string;
|
||
|
name: string;
|
||
|
providers: Provider[];
|
||
|
service_connection?: string;
|
||
|
_config: QueryArguments;
|
||
|
token_identifier: string;
|
||
|
|
||
|
constructor() {
|
||
|
throw Error();
|
||
|
}
|
||
|
|
||
|
static get(pk: string): Promise<Outpost> {
|
||
|
return DefaultClient.fetch<Outpost>(["outposts", "outposts", pk]);
|
||
|
}
|
||
|
|
||
|
static list(filter?: QueryArguments): Promise<PBResponse<Outpost>> {
|
||
|
return DefaultClient.fetch<PBResponse<Outpost>>(["outposts", "outposts"], filter);
|
||
|
}
|
||
|
|
||
|
static health(pk: string): Promise<OutpostHealth[]> {
|
||
|
return DefaultClient.fetch<OutpostHealth[]>(["outposts", "outposts", pk, "health"]);
|
||
|
}
|
||
|
|
||
|
static adminUrl(rest: string): string {
|
||
|
return `/administration/outposts/${rest}`;
|
||
|
}
|
||
|
}
|