UNPKG

@aequum/in-memory

Version:
38 lines (37 loc) 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseCRUDLInMemoryService = void 0; const crudl_1 = require("@aequum/crudl"); class BaseCRUDLInMemoryService extends crudl_1.BaseCRUDLService { primaryKeyField = 'id'; repository; async create(data) { return this.repository.put(data); } async retrieve(id) { return this.repository.getOneById(id); } async retrieveBy(filter) { return this.repository.getOne(filter); } async update(id, data) { await this.repository.update({ [this.primaryKeyField]: id }, data); return this.repository.getOneById(id); } async updateBy(filter, data) { const updated = this.repository.update(filter, data); if (Array.isArray(updated)) return updated; return updated; } async delete(id) { await this.repository.delete({ [this.primaryKeyField]: id }); } async deleteBy(filter) { await this.repository.delete(filter); } async list(filter) { return this.repository.find(filter ?? {}); } } exports.BaseCRUDLInMemoryService = BaseCRUDLInMemoryService;