mirror of
https://github.com/louislam/dockge.git
synced 2026-05-21 14:02:17 +00:00
feat: dockge set/update agent friendly name (#414)
Co-authored-by: cmcooper1980 <31871143+cmcooper1980@users.noreply.github.com>
This commit is contained in:
@@ -76,12 +76,14 @@ export class AgentManager {
|
||||
* @param url
|
||||
* @param username
|
||||
* @param password
|
||||
* @param name
|
||||
*/
|
||||
async add(url : string, username : string, password : string) : Promise<Agent> {
|
||||
async add(url: string, username: string, password: string, name: string): Promise<Agent> {
|
||||
let bean = R.dispense("agent") as Agent;
|
||||
bean.url = url;
|
||||
bean.username = username;
|
||||
bean.password = password;
|
||||
bean.name = name;
|
||||
await R.store(bean);
|
||||
return bean;
|
||||
}
|
||||
@@ -106,6 +108,23 @@ export class AgentManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param url
|
||||
* @param updatedName
|
||||
*/
|
||||
async update(url: string, updatedName: string) {
|
||||
const agent = await R.findOne("agent", " url = ? ", [
|
||||
url,
|
||||
]);
|
||||
if (agent) {
|
||||
agent.name = updatedName;
|
||||
await R.store(agent);
|
||||
} else {
|
||||
throw new Error("Agent not found");
|
||||
}
|
||||
}
|
||||
|
||||
connect(url : string, username : string, password : string) {
|
||||
let obj = new URL(url);
|
||||
let endpoint = obj.host;
|
||||
@@ -278,6 +297,8 @@ export class AgentManager {
|
||||
url: "",
|
||||
username: "",
|
||||
endpoint: "",
|
||||
name: "",
|
||||
updatedName: "",
|
||||
};
|
||||
|
||||
for (let endpoint in list) {
|
||||
|
||||
@@ -7,6 +7,7 @@ export async function up(knex: Knex): Promise<void> {
|
||||
table.string("url", 255).notNullable().unique();
|
||||
table.string("username", 255).notNullable();
|
||||
table.string("password", 255).notNullable();
|
||||
table.string("name", 255);
|
||||
table.boolean("active").notNullable().defaultTo(true);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ export class Agent extends BeanModel {
|
||||
url: this.url,
|
||||
username: this.username,
|
||||
endpoint: this.endpoint,
|
||||
name: this.name,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ export class ManageAgentSocketHandler extends SocketHandler {
|
||||
let data = requestData as LooseObject;
|
||||
let manager = socket.instanceManager;
|
||||
await manager.test(data.url, data.username, data.password);
|
||||
await manager.add(data.url, data.username, data.password);
|
||||
await manager.add(data.url, data.username, data.password, data.name);
|
||||
|
||||
// connect to the agent
|
||||
manager.connect(data.url, data.username, data.password);
|
||||
@@ -66,5 +66,27 @@ export class ManageAgentSocketHandler extends SocketHandler {
|
||||
callbackError(e, callback);
|
||||
}
|
||||
});
|
||||
|
||||
// updateAgent
|
||||
socket.on("updateAgent", async (name : string, updatedName : string, callback : unknown) => {
|
||||
try {
|
||||
log.debug("manage-agent-socket-handler", "updateAgent");
|
||||
checkLogin(socket);
|
||||
|
||||
let manager = socket.instanceManager;
|
||||
await manager.update(name, updatedName);
|
||||
|
||||
server.disconnectAllSocketClients(undefined, socket.id);
|
||||
manager.sendAgentList();
|
||||
|
||||
callbackResult({
|
||||
ok: true,
|
||||
msg: "agentUpdatedSuccessfully",
|
||||
msgi18n: true,
|
||||
}, callback);
|
||||
} catch (e) {
|
||||
callbackError(e, callback);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user