feat(core): add table actions (edit, pause, delete confirmation) and global action log
- Add Edit and Pause/Resume actions to connections table - Add delete confirmation modal to secrets table - Add 'paused' status to connections with full backend support - Skip paused connections in health checks and secrets scanning - Add global ActionLog service with filesystem persistence - Instrument all mutation handlers (connections, secrets, pipelines) with action logging - Add Action Log view with entity type filtering to dashboard
This commit is contained in:
@@ -11,6 +11,10 @@ export class PipelinesHandler {
|
||||
this.registerHandlers();
|
||||
}
|
||||
|
||||
private get actionLog() {
|
||||
return this.opsServerRef.gitopsAppRef.actionLog;
|
||||
}
|
||||
|
||||
private registerHandlers(): void {
|
||||
// Get pipelines
|
||||
this.typedrouter.addTypedHandler(
|
||||
@@ -54,6 +58,14 @@ export class PipelinesHandler {
|
||||
dataArg.connectionId,
|
||||
);
|
||||
await provider.retryPipeline(dataArg.projectId, dataArg.pipelineId);
|
||||
this.actionLog.append({
|
||||
actionType: 'update',
|
||||
entityType: 'pipeline',
|
||||
entityId: dataArg.pipelineId,
|
||||
entityName: `Pipeline #${dataArg.pipelineId}`,
|
||||
details: `Retried pipeline #${dataArg.pipelineId} in project ${dataArg.projectId}`,
|
||||
username: dataArg.identity.username,
|
||||
});
|
||||
return { ok: true };
|
||||
},
|
||||
),
|
||||
@@ -69,6 +81,14 @@ export class PipelinesHandler {
|
||||
dataArg.connectionId,
|
||||
);
|
||||
await provider.cancelPipeline(dataArg.projectId, dataArg.pipelineId);
|
||||
this.actionLog.append({
|
||||
actionType: 'delete',
|
||||
entityType: 'pipeline',
|
||||
entityId: dataArg.pipelineId,
|
||||
entityName: `Pipeline #${dataArg.pipelineId}`,
|
||||
details: `Cancelled pipeline #${dataArg.pipelineId} in project ${dataArg.projectId}`,
|
||||
username: dataArg.identity.username,
|
||||
});
|
||||
return { ok: true };
|
||||
},
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user