20 lines
575 B
TypeScript
20 lines
575 B
TypeScript
import * as plugins from '../plugins.js';
|
|
|
|
export class AuditLog {
|
|
private receipts: plugins.shxInterfaces.data.IAuditReceipt[] = [];
|
|
|
|
public appendReceipt(receiptArg: Omit<plugins.shxInterfaces.data.IAuditReceipt, 'id' | 'createdAt'>) {
|
|
const receipt: plugins.shxInterfaces.data.IAuditReceipt = {
|
|
id: `receipt:${Date.now()}:${Math.random().toString(36).slice(2)}`,
|
|
createdAt: new Date().toISOString(),
|
|
...receiptArg,
|
|
};
|
|
this.receipts.unshift(receipt);
|
|
return receipt;
|
|
}
|
|
|
|
public listReceipts() {
|
|
return [...this.receipts];
|
|
}
|
|
}
|