Files
TREK/server/src/db/entities/PluginCapabilityAudit.entity.ts
T
2026-10-06 21:59:39 +02:00

33 lines
1.0 KiB
TypeScript

import { EntityRepositoryType, type Opt, defineEntity, p } from '@mikro-orm/core';
import { PluginCapabilityAuditRepository } from '../repositories/PluginCapabilityAudit.repository';
export class PluginCapabilityAudit {
[EntityRepositoryType]?: PluginCapabilityAuditRepository;
id!: number & Opt;
plugin_id!: string;
acting_user_id?: number | null;
method!: string;
resource?: string | null;
code!: string;
ts!: string & Opt;
prev_hash?: string | null;
hash!: string;
}
export const PluginCapabilityAuditSchema = defineEntity({
class: PluginCapabilityAudit,
repository: () => PluginCapabilityAuditRepository,
indexes: [{ name: 'idx_plugin_audit_plugin', properties: ['plugin_id', 'id'] }],
properties: {
id: p.integer().primary(),
plugin_id: p.text(),
acting_user_id: p.integer().nullable(),
method: p.text(),
resource: p.text().nullable(),
code: p.text(),
ts: p.text().defaultRaw(`(datetime('now'))`),
prev_hash: p.text().nullable(),
hash: p.text(),
},
});