UNPKG

wallet-storage-client

Version:
99 lines 4.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Certificate = void 0; const index_client_1 = require("../../../index.client"); const _1 = require("."); class Certificate extends _1.EntityBase { constructor(api) { const now = new Date(); super(api || { certificateId: 0, created_at: now, updated_at: now, userId: 0, type: "", subject: "", verifier: undefined, serialNumber: "", certifier: "", revocationOutpoint: "", signature: "", isDeleted: false }); } updateApi() { /* nothing needed yet... */ } get certificateId() { return this.api.certificateId; } set certificateId(v) { this.api.certificateId = v; } get created_at() { return this.api.created_at; } set created_at(v) { this.api.created_at = v; } get updated_at() { return this.api.updated_at; } set updated_at(v) { this.api.updated_at = v; } get userId() { return this.api.userId; } set userId(v) { this.api.userId = v; } get type() { return this.api.type; } set type(v) { this.api.type = v; } get subject() { return this.api.subject; } set subject(v) { this.api.subject = v; } get verifier() { return this.api.verifier; } set verifier(v) { this.api.verifier = v; } get serialNumber() { return this.api.serialNumber; } set serialNumber(v) { this.api.serialNumber = v; } get certifier() { return this.api.certifier; } set certifier(v) { this.api.certifier = v; } get revocationOutpoint() { return this.api.revocationOutpoint; } set revocationOutpoint(v) { this.api.revocationOutpoint = v; } get signature() { return this.api.signature; } set signature(v) { this.api.signature = v; } get isDeleted() { return this.api.isDeleted; } set isDeleted(v) { this.api.isDeleted = v; } //get fields() { return this.api.fields } //set fields(v: Record<string, string> | undefined) { this.api.fields = v } get id() { return this.api.certificateId; } set id(v) { this.api.certificateId = v; } get entityName() { return 'entity.Certificate'; } get entityTable() { return 'certificates'; } equals(ei, syncMap) { if (this.type !== ei.type || this.subject !== ei.subject || this.serialNumber !== ei.serialNumber || this.revocationOutpoint !== ei.revocationOutpoint || this.signature !== ei.signature || this.verifier !== ei.verifier || this.isDeleted !== ei.isDeleted) return false; return true; } static async mergeFind(storage, userId, ei, syncMap, trx) { const ef = (0, index_client_1.verifyOneOrNone)(await storage.findCertificates({ partial: { serialNumber: ei.serialNumber, certifier: ei.certifier, userId }, trx })); return { found: !!ef, eo: new index_client_1.entity.Certificate(ef || { ...ei }), eiId: (0, index_client_1.verifyId)(ei.certificateId) }; } async mergeNew(storage, userId, syncMap, trx) { this.userId = userId; this.certificateId = 0; this.certificateId = await storage.insertCertificate(this.toApi(), trx); } async mergeExisting(storage, since, ei, syncMap, trx) { let wasMerged = false; if (ei.updated_at > this.updated_at) { this.type = ei.type; this.subject = ei.subject; this.serialNumber = ei.serialNumber; this.revocationOutpoint = ei.revocationOutpoint; this.signature = ei.signature; this.verifier = ei.verifier; this.isDeleted = ei.isDeleted; this.updated_at = new Date(); await storage.updateCertificate(this.id, this.toApi(), trx); wasMerged = true; } return wasMerged; } } exports.Certificate = Certificate; //# sourceMappingURL=Certificate.js.map