UNPKG

@digigov-oss/gsis-audit-record-db

Version:

JSON file storage database for use with audit mechanism of GSIS

59 lines (58 loc) 1.57 kB
/** * @description AuditEngine implementation * @note This class uses AuditEngine implemetations, look at FileEngine.ts for an example * @class db * @param {AuditEngine} engine - AuditEngine implementation */ export class db { engine; constructor(engine) { this.engine = engine; } /** * @description Store a record in the database * @param record:AuditRecord * @returns Promise<AuditRecord> * @memberof db * @method put */ async put(record) { if (!record.auditTransactionId) throw new Error("record.auditTransactionId is required"); return await this.engine.put(record); } /** * @description Get a record from the database * @param auditTransactionId:string * @returns Promise<AuditRecord> * @memberof db * @method get */ async get(auditTransactionId) { if (!auditTransactionId) throw new Error("auditTransactionId is required"); return await this.engine.get(auditTransactionId); } /** * @description Generate a new sequence number * @param path:string * @returns Promise<number> * @memberof db * @method seq */ async seq(path) { return await this.engine.seq(path); } /** * @description Generate a new protocol string * @param type:PNRESETTYPES * @param path:string * @returns string * @memberof db * @method pn */ async pn(reset, path) { return await this.engine.pn(reset, path); } } export default db;