UNPKG

@snowtop/ent-soft-delete

Version:
63 lines (62 loc) 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GlobalDeletedEdge = exports.DeletedAtPattern = void 0; const ent_1 = require("@snowtop/ent"); class DeletedAtPattern { constructor() { this.name = "deleted_at"; this.disableMixin = true; this.fields = { deleted_at: (0, ent_1.TimestampType)({ nullable: true, index: true, defaultValueOnCreate: () => null, hideFromGraphQL: true, private: true, }), }; this.transformsDelete = true; } transformRead() { return ent_1.query.Eq("deleted_at", null); } transformReadCodegen_BETA() { return `query.Eq('deleted_at', null)`; } transformWrite(stmt) { switch (stmt.op) { case ent_1.SQLStatementOperation.Delete: return { op: ent_1.SQLStatementOperation.Update, data: { deleted_at: new Date(), }, }; } return null; } } exports.DeletedAtPattern = DeletedAtPattern; exports.GlobalDeletedEdge = { extraEdgeFields: { deleted_at: (0, ent_1.TimestampType)({ nullable: true, defaultValueOnCreate: () => null, }), }, transformEdgeRead() { return ent_1.query.Eq("deleted_at", null); }, transformEdgeWrite(stmt) { switch (stmt.op) { case ent_1.SQLStatementOperation.Delete: return { op: ent_1.SQLStatementOperation.Update, data: { deleted_at: new Date(), }, }; } return null; }, };