dockge/backend/models/agent.ts
stroskler 54e158f75a
DRAFT: feat(friendlyName): make friendlyname configurable
allow updates and removal of `friendly name`
2024-02-01 18:54:52 +00:00

33 lines
871 B
TypeScript

import { BeanModel } from "redbean-node/dist/bean-model";
import { R } from "redbean-node";
import { LooseObject } from "../../common/util-common";
export class Agent extends BeanModel {
static async getAgentList() : Promise<Record<string, Agent>> {
let list = await R.findAll("agent") as Agent[];
let result : Record<string, Agent> = {};
for (let agent of list) {
result[agent.endpoint] = agent;
}
return result;
}
get endpoint() : string {
let obj = new URL(this.url);
return obj.host;
}
toJSON() : LooseObject {
return {
url: this.url,
username: this.username,
endpoint: this.endpoint,
friendlyname: this.friendlyname,
updatedFriendlyName: this.updatedFriendlyName
};
}
}
export default Agent;