Skip to content

Commit 2e8bd83

Browse files
os-zhuangclaude
andauthored
fix(service-settings): remove legacy buildAuditSink that wrote to sys_audit_log with wrong columns (#2017)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent df6b7e9 commit 2e8bd83

1 file changed

Lines changed: 2 additions & 29 deletions

File tree

packages/services/service-settings/src/settings-service-plugin.ts

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import type { IHttpServer, IDataEngine } from '@objectstack/spec/contracts';
55
import type { SettingsManifest } from '@objectstack/spec/system';
66
import { SettingsService } from './settings-service.js';
77
import type { ICryptoProvider } from '@objectstack/spec/contracts';
8-
import type { SettingsAuditSink, SettingsAuditWriter, SettingsEngine, SettingsSecretStore } from './settings-service.types.js';
8+
import type { SettingsAuditWriter, SettingsEngine, SettingsSecretStore } from './settings-service.types.js';
99
import type { CryptoAdapter } from './crypto-adapter.js';
1010
import { LocalCryptoProvider } from './local-crypto-provider.js';
1111
import { registerSettingsRoutes } from './settings-routes.js';
@@ -174,7 +174,7 @@ export class SettingsServicePlugin implements Plugin {
174174
// its narrow, bundled signature.
175175
this.service!.bindEngine(
176176
wrapEngineAsSettingsEngine(engine),
177-
this.buildAuditSink(ctx, engine),
177+
undefined,
178178
{
179179
secretStore: this.buildSecretStore(engine),
180180
auditWriter: this.buildAuditWriter(ctx, engine),
@@ -205,33 +205,6 @@ export class SettingsServicePlugin implements Plugin {
205205
});
206206
}
207207

208-
/** Glue an `engine.insert('sys_audit_log', …)` audit sink. */
209-
private buildAuditSink(ctx: PluginContext, engine: IDataEngine): SettingsAuditSink {
210-
return {
211-
record: async (entry) => {
212-
try {
213-
await (engine as any).insert?.('sys_audit_log', {
214-
actor_id: entry.userId ?? null,
215-
entity_type: 'sys_setting',
216-
entity_id: `${entry.namespace}.${entry.key}`,
217-
action: entry.action,
218-
payload: {
219-
namespace: entry.namespace,
220-
key: entry.key,
221-
scope: entry.scope,
222-
encrypted: entry.encrypted,
223-
digest: entry.valueDigest,
224-
},
225-
request_id: entry.requestId ?? null,
226-
occurred_at: new Date().toISOString(),
227-
});
228-
} catch (err: any) {
229-
ctx.logger?.warn?.('SettingsServicePlugin: audit record failed: ' + (err?.message ?? err));
230-
}
231-
},
232-
};
233-
}
234-
235208
/**
236209
* Phase 3: build a `sys_secret`-backed implementation of
237210
* `SettingsSecretStore`. The store bypasses the tenant audit

0 commit comments

Comments
 (0)