260330:1011 Addied correspondence_revieion_attcahments table table #01
This commit is contained in:
BIN
Binary file not shown.
+87
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-revision.entity.ts","mappings":";;;;;;;;;;;;;AAAA,wDAAwD;AACxD,qCAQiB;AACjB,iHAAsG;AACtG,uEAA2D;AAC3D,uDAA4C;AAC5C,qEAAyD;AACzD,+DAAoD;AAG7C,IAAM,WAAW,GAAjB,MAAM,WAAW;CAqDvB,CAAA;AArDY,kCAAW;AAEtB;IADC,IAAA,uBAAa,GAAE;;uCACJ;AAIZ;IAFC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,uDAAsB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC/D,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;kDACF,uDAAsB,oBAAtB,uDAAsB;2DAAC;AAGhD;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;;oDACd;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDAC9B;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACjD,IAAI,oBAAJ,IAAI;iDAAC;AAKpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACxB;AAIjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;kDACxB;AAUvB;IAPC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,KAAK;QACX,aAAa,EAAE,SAAS;QACxB,YAAY,EAAE,uDAAuD;QACrE,QAAQ,EAAE,IAAI;KACf,CAAC;;qDACwB;AAM1B;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,sCAAa,CAAC;IAC9B,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;kDAC9B,sCAAa,oBAAb,sCAAa;+CAAC;AAI3B;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wCAAc,CAAC;IAC/B,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;kDAC9B,wCAAc,oBAAd,wCAAc;gDAAC;AAG7B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,yBAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;0CACtD;AAKlB;IAHC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iCAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE;QAChE,OAAO,EAAE,IAAI;KACd,CAAC;;8CACwB;sBApDf,WAAW;IADvB,IAAA,gBAAM,EAAC,eAAe,CAAC;GACX,WAAW,CAqDvB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-revision.entity.ts"],"sourcesContent":["// File: src/modules/rfa/entities/rfa-revision.entity.ts\nimport {\n Column,\n Entity,\n JoinColumn,\n ManyToOne,\n OneToMany,\n PrimaryColumn,\n OneToOne,\n} from 'typeorm';\nimport { CorrespondenceRevision } from '../../correspondence/entities/correspondence-revision.entity';\nimport { RfaApproveCode } from './rfa-approve-code.entity';\nimport { RfaItem } from './rfa-item.entity';\nimport { RfaStatusCode } from './rfa-status-code.entity';\nimport { RfaWorkflow } from './rfa-workflow.entity';\n\n@Entity('rfa_revisions')\nexport class RfaRevision {\n @PrimaryColumn()\n id!: number;\n\n @OneToOne(() => CorrespondenceRevision, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'id' })\n correspondenceRevision!: CorrespondenceRevision;\n\n @Column({ name: 'rfa_status_code_id' })\n rfaStatusCodeId!: number;\n\n @Column({ name: 'rfa_approve_code_id', nullable: true })\n rfaApproveCodeId?: number;\n\n @Column({ name: 'approved_date', type: 'date', nullable: true })\n approvedDate?: Date;\n\n // --- JSON & Schema Section ---\n\n @Column({ type: 'json', nullable: true })\n details?: object; // Dynamic JSON — typed as `object` per TypeORM JSON column convention (no-any, ADR-019)\n\n // ✅ [New] จำเป็นสำหรับ Data Migration (T2.5.5)\n @Column({ name: 'schema_version', default: 1 })\n schemaVersion!: number;\n\n // ✅ Virtual Column\n @Column({\n name: 'v_ref_drawing_count',\n type: 'int',\n generatedType: 'VIRTUAL',\n asExpression: \"JSON_UNQUOTE(JSON_EXTRACT(details, '$.drawingCount'))\",\n nullable: true,\n })\n vRefDrawingCount?: number;\n\n // --- Relations ---\n\n @ManyToOne(() => RfaStatusCode)\n @JoinColumn({ name: 'rfa_status_code_id' })\n statusCode!: RfaStatusCode;\n\n @ManyToOne(() => RfaApproveCode)\n @JoinColumn({ name: 'rfa_approve_code_id' })\n approveCode?: RfaApproveCode;\n\n @OneToMany(() => RfaItem, (item) => item.rfaRevision, { cascade: true })\n items!: RfaItem[];\n\n @OneToMany(() => RfaWorkflow, (workflow) => workflow.rfaRevision, {\n cascade: true,\n })\n workflows!: RfaWorkflow[];\n}\n"],"version":3}
|
||||
+71
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+126
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+63
@@ -0,0 +1,63 @@
|
||||
a037f6e7bc5eae493261cbf389adbc7e
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a, _b, _c;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Contract = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const class_transformer_1 = require("class-transformer");
|
||||
const uuid_base_entity_1 = require("../../../common/entities/uuid-base.entity");
|
||||
const project_entity_1 = require("../../project/entities/project.entity");
|
||||
let Contract = class Contract extends uuid_base_entity_1.UuidBaseEntity {
|
||||
};
|
||||
exports.Contract = Contract;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
(0, class_transformer_1.Exclude)(),
|
||||
__metadata("design:type", Number)
|
||||
], Contract.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'project_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], Contract.prototype, "projectId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'contract_code', unique: true, length: 50 }),
|
||||
__metadata("design:type", String)
|
||||
], Contract.prototype, "contractCode", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'contract_name', length: 255 }),
|
||||
__metadata("design:type", String)
|
||||
], Contract.prototype, "contractName", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], Contract.prototype, "description", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'start_date', type: 'date', nullable: true }),
|
||||
__metadata("design:type", typeof (_a = typeof Date !== "undefined" && Date) === "function" ? _a : Object)
|
||||
], Contract.prototype, "startDate", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'end_date', type: 'date', nullable: true }),
|
||||
__metadata("design:type", typeof (_b = typeof Date !== "undefined" && Date) === "function" ? _b : Object)
|
||||
], Contract.prototype, "endDate", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'is_active', default: true }),
|
||||
__metadata("design:type", Boolean)
|
||||
], Contract.prototype, "isActive", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => project_entity_1.Project),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'project_id' }),
|
||||
__metadata("design:type", typeof (_c = typeof project_entity_1.Project !== "undefined" && project_entity_1.Project) === "function" ? _c : Object)
|
||||
], Contract.prototype, "project", void 0);
|
||||
exports.Contract = Contract = __decorate([
|
||||
(0, typeorm_1.Entity)('contracts')
|
||||
], Contract);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcY29udHJhY3RcXGVudGl0aWVzXFxjb250cmFjdC5lbnRpdHkudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLHFDQU1pQjtBQUNqQix5REFBNEM7QUFDNUMsZ0ZBQTJFO0FBQzNFLDBFQUFnRTtBQUd6RCxJQUFNLFFBQVEsR0FBZCxNQUFNLFFBQVMsU0FBUSxpQ0FBYztDQWdDM0MsQ0FBQTtBQWhDWSw0QkFBUTtBQUduQjtJQUZDLElBQUEsZ0NBQXNCLEdBQUU7SUFDeEIsSUFBQSwyQkFBTyxHQUFFOztvQ0FDRTtBQUtaO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDOzsyQ0FDWjtBQUduQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7OzhDQUN0QztBQUd0QjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDOzs4Q0FDekI7QUFHdEI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7NkNBQ3BCO0FBR3JCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztrREFDakQsSUFBSSxvQkFBSixJQUFJOzJDQUFDO0FBR2pCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztrREFDakQsSUFBSSxvQkFBSixJQUFJO3lDQUFDO0FBR2Y7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzs7MENBQzFCO0FBS25CO0lBRkMsSUFBQSxtQkFBUyxFQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUFPLENBQUM7SUFDeEIsSUFBQSxvQkFBVSxFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2tEQUN6Qix3QkFBTyxvQkFBUCx3QkFBTzt5Q0FBQzttQkEvQlAsUUFBUTtJQURwQixJQUFBLGdCQUFNLEVBQUMsV0FBVyxDQUFDO0dBQ1AsUUFBUSxDQWdDcEIiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcY29udHJhY3RcXGVudGl0aWVzXFxjb250cmFjdC5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBFbnRpdHksXHJcbiAgQ29sdW1uLFxyXG4gIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4sXHJcbiAgTWFueVRvT25lLFxyXG4gIEpvaW5Db2x1bW4sXHJcbn0gZnJvbSAndHlwZW9ybSc7XHJcbmltcG9ydCB7IEV4Y2x1ZGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XHJcbmltcG9ydCB7IFV1aWRCYXNlRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudGl0aWVzL3V1aWQtYmFzZS5lbnRpdHknO1xyXG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vLi4vcHJvamVjdC9lbnRpdGllcy9wcm9qZWN0LmVudGl0eSc7XHJcblxyXG5ARW50aXR5KCdjb250cmFjdHMnKVxyXG5leHBvcnQgY2xhc3MgQ29udHJhY3QgZXh0ZW5kcyBVdWlkQmFzZUVudGl0eSB7XHJcbiAgQFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4oKVxyXG4gIEBFeGNsdWRlKClcclxuICBpZCE6IG51bWJlcjtcclxuXHJcbiAgLy8gcHVibGljSWQgaW5oZXJpdGVkIGZyb20gVXVpZEJhc2VFbnRpdHkgKERCIGNvbHVtbjogdXVpZClcclxuXHJcbiAgQENvbHVtbih7IG5hbWU6ICdwcm9qZWN0X2lkJyB9KVxyXG4gIHByb2plY3RJZCE6IG51bWJlcjtcclxuXHJcbiAgQENvbHVtbih7IG5hbWU6ICdjb250cmFjdF9jb2RlJywgdW5pcXVlOiB0cnVlLCBsZW5ndGg6IDUwIH0pXHJcbiAgY29udHJhY3RDb2RlITogc3RyaW5nO1xyXG5cclxuICBAQ29sdW1uKHsgbmFtZTogJ2NvbnRyYWN0X25hbWUnLCBsZW5ndGg6IDI1NSB9KVxyXG4gIGNvbnRyYWN0TmFtZSE6IHN0cmluZztcclxuXHJcbiAgQENvbHVtbih7IHR5cGU6ICd0ZXh0JywgbnVsbGFibGU6IHRydWUgfSlcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuXHJcbiAgQENvbHVtbih7IG5hbWU6ICdzdGFydF9kYXRlJywgdHlwZTogJ2RhdGUnLCBudWxsYWJsZTogdHJ1ZSB9KVxyXG4gIHN0YXJ0RGF0ZT86IERhdGU7XHJcblxyXG4gIEBDb2x1bW4oeyBuYW1lOiAnZW5kX2RhdGUnLCB0eXBlOiAnZGF0ZScsIG51bGxhYmxlOiB0cnVlIH0pXHJcbiAgZW5kRGF0ZT86IERhdGU7XHJcblxyXG4gIEBDb2x1bW4oeyBuYW1lOiAnaXNfYWN0aXZlJywgZGVmYXVsdDogdHJ1ZSB9KVxyXG4gIGlzQWN0aXZlITogYm9vbGVhbjtcclxuXHJcbiAgLy8gUmVsYXRpb25cclxuICBATWFueVRvT25lKCgpID0+IFByb2plY3QpXHJcbiAgQEpvaW5Db2x1bW4oeyBuYW1lOiAncHJvamVjdF9pZCcgfSlcclxuICBwcm9qZWN0PzogUHJvamVjdDtcclxufVxyXG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\contract\\entities\\contract.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAMiB;AACjB,yDAA4C;AAC5C,gFAA2E;AAC3E,0EAAgE;AAGzD,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,iCAAc;CAgC3C,CAAA;AAhCY,4BAAQ;AAGnB;IAFC,IAAA,gCAAsB,GAAE;IACxB,IAAA,2BAAO,GAAE;;oCACE;AAKZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;2CACZ;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;8CACtC;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;8CACzB;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACpB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACjD,IAAI,oBAAJ,IAAI;2CAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACjD,IAAI,oBAAJ,IAAI;yCAAC;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;0CAC1B;AAKnB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;IACxB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDACzB,wBAAO,oBAAP,wBAAO;yCAAC;mBA/BP,QAAQ;IADpB,IAAA,gBAAM,EAAC,WAAW,CAAC;GACP,QAAQ,CAgCpB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\contract\\entities\\contract.entity.ts"],"sourcesContent":["import {\r\n Entity,\r\n Column,\r\n PrimaryGeneratedColumn,\r\n ManyToOne,\r\n JoinColumn,\r\n} from 'typeorm';\r\nimport { Exclude } from 'class-transformer';\r\nimport { UuidBaseEntity } from '../../../common/entities/uuid-base.entity';\r\nimport { Project } from '../../project/entities/project.entity';\r\n\r\n@Entity('contracts')\r\nexport class Contract extends UuidBaseEntity {\r\n @PrimaryGeneratedColumn()\r\n @Exclude()\r\n id!: number;\r\n\r\n // publicId inherited from UuidBaseEntity (DB column: uuid)\r\n\r\n @Column({ name: 'project_id' })\r\n projectId!: number;\r\n\r\n @Column({ name: 'contract_code', unique: true, length: 50 })\r\n contractCode!: string;\r\n\r\n @Column({ name: 'contract_name', length: 255 })\r\n contractName!: string;\r\n\r\n @Column({ type: 'text', nullable: true })\r\n description?: string;\r\n\r\n @Column({ name: 'start_date', type: 'date', nullable: true })\r\n startDate?: Date;\r\n\r\n @Column({ name: 'end_date', type: 'date', nullable: true })\r\n endDate?: Date;\r\n\r\n @Column({ name: 'is_active', default: true })\r\n isActive!: boolean;\r\n\r\n // Relation\r\n @ManyToOne(() => Project)\r\n @JoinColumn({ name: 'project_id' })\r\n project?: Project;\r\n}\r\n"],"version":3}
|
||||
+178
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+148
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+108
@@ -0,0 +1,108 @@
|
||||
a58e113d51c4a144640cb12a81ce0c6f
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ImportCorrespondenceDto = void 0;
|
||||
const class_validator_1 = require("class-validator");
|
||||
class ImportCorrespondenceDto {
|
||||
}
|
||||
exports.ImportCorrespondenceDto = ImportCorrespondenceDto;
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
__metadata("design:type", String)
|
||||
], ImportCorrespondenceDto.prototype, "documentNumber", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
__metadata("design:type", String)
|
||||
], ImportCorrespondenceDto.prototype, "subject", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
__metadata("design:type", String)
|
||||
], ImportCorrespondenceDto.prototype, "category", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], ImportCorrespondenceDto.prototype, "sourceFilePath", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsNumber)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Number)
|
||||
], ImportCorrespondenceDto.prototype, "tempAttachmentId", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsNumber)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Number)
|
||||
], ImportCorrespondenceDto.prototype, "aiConfidence", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Array)
|
||||
], ImportCorrespondenceDto.prototype, "aiIssues", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
__metadata("design:type", String)
|
||||
], ImportCorrespondenceDto.prototype, "migratedBy", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
__metadata("design:type", String)
|
||||
], ImportCorrespondenceDto.prototype, "batchId", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsObject)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", typeof (_a = typeof Record !== "undefined" && Record) === "function" ? _a : Object)
|
||||
], ImportCorrespondenceDto.prototype, "details", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsNumber)(),
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
__metadata("design:type", Number)
|
||||
], ImportCorrespondenceDto.prototype, "projectId", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], ImportCorrespondenceDto.prototype, "issuedDate", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], ImportCorrespondenceDto.prototype, "receivedDate", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], ImportCorrespondenceDto.prototype, "documentDate", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsNumber)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Number)
|
||||
], ImportCorrespondenceDto.prototype, "disciplineId", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsNumber)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Number)
|
||||
], ImportCorrespondenceDto.prototype, "senderId", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsNumber)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Number)
|
||||
], ImportCorrespondenceDto.prototype, "receiverId", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], ImportCorrespondenceDto.prototype, "body", void 0);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcbWlncmF0aW9uXFxkdG9cXGltcG9ydC1jb3JyZXNwb25kZW5jZS5kdG8udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLHFEQU15QjtBQUV6QixNQUFhLHVCQUF1QjtDQXVFbkM7QUF2RUQsMERBdUVDO0FBcEVDO0lBRkMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOzsrREFDVztBQUl4QjtJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7d0RBQ0k7QUFJakI7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7O3lEQUNLO0FBSWxCO0lBRkMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOzsrREFDVztBQUl4QjtJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7aUVBQ2E7QUFJMUI7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7OzZEQUNTO0FBR3RCO0lBREMsSUFBQSw0QkFBVSxHQUFFOzt5REFDd0I7QUFJckM7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7OzJEQUNPO0FBSXBCO0lBRkMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOzt3REFDSTtBQUlqQjtJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTtrREFDSCxNQUFNLG9CQUFOLE1BQU07d0RBQWtCO0FBSWxDO0lBRkMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOzswREFDTTtBQUluQjtJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7MkRBQ087QUFJcEI7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7OzZEQUNTO0FBSXRCO0lBRkMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOzs2REFDUztBQUl0QjtJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7NkRBQ1M7QUFJdEI7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7O3lEQUNLO0FBSWxCO0lBRkMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOzsyREFDTztBQUlwQjtJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7cURBQ0MiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcbWlncmF0aW9uXFxkdG9cXGltcG9ydC1jb3JyZXNwb25kZW5jZS5kdG8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBJc1N0cmluZyxcclxuICBJc05vdEVtcHR5LFxyXG4gIElzT3B0aW9uYWwsXHJcbiAgSXNOdW1iZXIsXHJcbiAgSXNPYmplY3QsXHJcbn0gZnJvbSAnY2xhc3MtdmFsaWRhdG9yJztcclxuXHJcbmV4cG9ydCBjbGFzcyBJbXBvcnRDb3JyZXNwb25kZW5jZUR0byB7XHJcbiAgQElzU3RyaW5nKClcclxuICBASXNOb3RFbXB0eSgpXHJcbiAgZG9jdW1lbnROdW1iZXIhOiBzdHJpbmc7XHJcblxyXG4gIEBJc1N0cmluZygpXHJcbiAgQElzTm90RW1wdHkoKVxyXG4gIHN1YmplY3QhOiBzdHJpbmc7XHJcblxyXG4gIEBJc1N0cmluZygpXHJcbiAgQElzTm90RW1wdHkoKVxyXG4gIGNhdGVnb3J5ITogc3RyaW5nO1xyXG5cclxuICBASXNTdHJpbmcoKVxyXG4gIEBJc09wdGlvbmFsKClcclxuICBzb3VyY2VGaWxlUGF0aD86IHN0cmluZztcclxuXHJcbiAgQElzTnVtYmVyKClcclxuICBASXNPcHRpb25hbCgpXHJcbiAgdGVtcEF0dGFjaG1lbnRJZD86IG51bWJlcjtcclxuXHJcbiAgQElzTnVtYmVyKClcclxuICBASXNPcHRpb25hbCgpXHJcbiAgYWlDb25maWRlbmNlPzogbnVtYmVyO1xyXG5cclxuICBASXNPcHRpb25hbCgpXHJcbiAgYWlJc3N1ZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdO1xyXG5cclxuICBASXNTdHJpbmcoKVxyXG4gIEBJc05vdEVtcHR5KClcclxuICBtaWdyYXRlZEJ5ITogc3RyaW5nOyAvLyBcIlNZU1RFTV9JTVBPUlRcIlxyXG5cclxuICBASXNTdHJpbmcoKVxyXG4gIEBJc05vdEVtcHR5KClcclxuICBiYXRjaElkITogc3RyaW5nO1xyXG5cclxuICBASXNPYmplY3QoKVxyXG4gIEBJc09wdGlvbmFsKClcclxuICBkZXRhaWxzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XHJcblxyXG4gIEBJc051bWJlcigpXHJcbiAgQElzTm90RW1wdHkoKVxyXG4gIHByb2plY3RJZCE6IG51bWJlcjtcclxuXHJcbiAgQElzU3RyaW5nKClcclxuICBASXNPcHRpb25hbCgpXHJcbiAgaXNzdWVkRGF0ZT86IHN0cmluZztcclxuXHJcbiAgQElzU3RyaW5nKClcclxuICBASXNPcHRpb25hbCgpXHJcbiAgcmVjZWl2ZWREYXRlPzogc3RyaW5nO1xyXG5cclxuICBASXNTdHJpbmcoKVxyXG4gIEBJc09wdGlvbmFsKClcclxuICBkb2N1bWVudERhdGU/OiBzdHJpbmc7XHJcblxyXG4gIEBJc051bWJlcigpXHJcbiAgQElzT3B0aW9uYWwoKVxyXG4gIGRpc2NpcGxpbmVJZD86IG51bWJlcjtcclxuXHJcbiAgQElzTnVtYmVyKClcclxuICBASXNPcHRpb25hbCgpXHJcbiAgc2VuZGVySWQ/OiBudW1iZXI7XHJcblxyXG4gIEBJc051bWJlcigpXHJcbiAgQElzT3B0aW9uYWwoKVxyXG4gIHJlY2VpdmVySWQ/OiBudW1iZXI7XHJcblxyXG4gIEBJc1N0cmluZygpXHJcbiAgQElzT3B0aW9uYWwoKVxyXG4gIGJvZHk/OiBzdHJpbmc7XHJcbn1cclxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\dto\\import-correspondence.dto.ts","mappings":";;;;;;;;;;;;;AAAA,qDAMyB;AAEzB,MAAa,uBAAuB;CAuEnC;AAvED,0DAuEC;AApEC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+DACW;AAIxB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wDACI;AAIjB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yDACK;AAIlB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+DACW;AAIxB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;iEACa;AAI1B;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;6DACS;AAGtB;IADC,IAAA,4BAAU,GAAE;;yDACwB;AAIrC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2DACO;AAIpB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wDACI;AAIjB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;kDACH,MAAM,oBAAN,MAAM;wDAAkB;AAIlC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0DACM;AAInB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2DACO;AAIpB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;6DACS;AAItB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;6DACS;AAItB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;6DACS;AAItB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yDACK;AAIlB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2DACO;AAIpB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;qDACC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\dto\\import-correspondence.dto.ts"],"sourcesContent":["import {\r\n IsString,\r\n IsNotEmpty,\r\n IsOptional,\r\n IsNumber,\r\n IsObject,\r\n} from 'class-validator';\r\n\r\nexport class ImportCorrespondenceDto {\r\n @IsString()\r\n @IsNotEmpty()\r\n documentNumber!: string;\r\n\r\n @IsString()\r\n @IsNotEmpty()\r\n subject!: string;\r\n\r\n @IsString()\r\n @IsNotEmpty()\r\n category!: string;\r\n\r\n @IsString()\r\n @IsOptional()\r\n sourceFilePath?: string;\r\n\r\n @IsNumber()\r\n @IsOptional()\r\n tempAttachmentId?: number;\r\n\r\n @IsNumber()\r\n @IsOptional()\r\n aiConfidence?: number;\r\n\r\n @IsOptional()\r\n aiIssues?: Record<string, unknown>[];\r\n\r\n @IsString()\r\n @IsNotEmpty()\r\n migratedBy!: string; // \"SYSTEM_IMPORT\"\r\n\r\n @IsString()\r\n @IsNotEmpty()\r\n batchId!: string;\r\n\r\n @IsObject()\r\n @IsOptional()\r\n details?: Record<string, unknown>;\r\n\r\n @IsNumber()\r\n @IsNotEmpty()\r\n projectId!: number;\r\n\r\n @IsString()\r\n @IsOptional()\r\n issuedDate?: string;\r\n\r\n @IsString()\r\n @IsOptional()\r\n receivedDate?: string;\r\n\r\n @IsString()\r\n @IsOptional()\r\n documentDate?: string;\r\n\r\n @IsNumber()\r\n @IsOptional()\r\n disciplineId?: number;\r\n\r\n @IsNumber()\r\n @IsOptional()\r\n senderId?: number;\r\n\r\n @IsNumber()\r\n @IsOptional()\r\n receiverId?: number;\r\n\r\n @IsString()\r\n @IsOptional()\r\n body?: string;\r\n}\r\n"],"version":3}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
a7dbd19c0168496ba551c2f58fe007d4
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.RfaStatusCode = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
let RfaStatusCode = class RfaStatusCode {
|
||||
};
|
||||
exports.RfaStatusCode = RfaStatusCode;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], RfaStatusCode.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'status_code', length: 20, unique: true }),
|
||||
__metadata("design:type", String)
|
||||
], RfaStatusCode.prototype, "statusCode", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'status_name', length: 100 }),
|
||||
__metadata("design:type", String)
|
||||
], RfaStatusCode.prototype, "statusName", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], RfaStatusCode.prototype, "description", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'sort_order', default: 0 }),
|
||||
__metadata("design:type", Number)
|
||||
], RfaStatusCode.prototype, "sortOrder", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'is_active', default: true }),
|
||||
__metadata("design:type", Boolean)
|
||||
], RfaStatusCode.prototype, "isActive", void 0);
|
||||
exports.RfaStatusCode = RfaStatusCode = __decorate([
|
||||
(0, typeorm_1.Entity)('rfa_status_codes')
|
||||
], RfaStatusCode);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xccmZhXFxlbnRpdGllc1xccmZhLXN0YXR1cy1jb2RlLmVudGl0eS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxxQ0FBaUU7QUFHMUQsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtDQWtCekIsQ0FBQTtBQWxCWSxzQ0FBYTtBQUV4QjtJQURDLElBQUEsZ0NBQXNCLEdBQUU7O3lDQUNiO0FBR1o7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDOztpREFDdEM7QUFHcEI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQzs7aURBQ3pCO0FBR3BCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7O2tEQUNwQjtBQUdyQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDOztnREFDeEI7QUFHbkI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzs7K0NBQzFCO3dCQWpCUixhQUFhO0lBRHpCLElBQUEsZ0JBQU0sRUFBQyxrQkFBa0IsQ0FBQztHQUNkLGFBQWEsQ0FrQnpCIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXG1vZHVsZXNcXHJmYVxcZW50aXRpZXNcXHJmYS1zdGF0dXMtY29kZS5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5LCBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uLCBDb2x1bW4gfSBmcm9tICd0eXBlb3JtJztcblxuQEVudGl0eSgncmZhX3N0YXR1c19jb2RlcycpXG5leHBvcnQgY2xhc3MgUmZhU3RhdHVzQ29kZSB7XG4gIEBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uKClcbiAgaWQhOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IG5hbWU6ICdzdGF0dXNfY29kZScsIGxlbmd0aDogMjAsIHVuaXF1ZTogdHJ1ZSB9KVxuICBzdGF0dXNDb2RlITogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnc3RhdHVzX25hbWUnLCBsZW5ndGg6IDEwMCB9KVxuICBzdGF0dXNOYW1lITogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiAndGV4dCcsIG51bGxhYmxlOiB0cnVlIH0pXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnc29ydF9vcmRlcicsIGRlZmF1bHQ6IDAgfSlcbiAgc29ydE9yZGVyITogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnaXNfYWN0aXZlJywgZGVmYXVsdDogdHJ1ZSB9KVxuICBpc0FjdGl2ZSE6IGJvb2xlYW47XG59XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-status-code.entity.ts","mappings":";;;;;;;;;;;;AAAA,qCAAiE;AAG1D,IAAM,aAAa,GAAnB,MAAM,aAAa;CAkBzB,CAAA;AAlBY,sCAAa;AAExB;IADC,IAAA,gCAAsB,GAAE;;yCACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;iDACtC;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;iDACzB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACpB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;gDACxB;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;+CAC1B;wBAjBR,aAAa;IADzB,IAAA,gBAAM,EAAC,kBAAkB,CAAC;GACd,aAAa,CAkBzB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-status-code.entity.ts"],"sourcesContent":["import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';\n\n@Entity('rfa_status_codes')\nexport class RfaStatusCode {\n @PrimaryGeneratedColumn()\n id!: number;\n\n @Column({ name: 'status_code', length: 20, unique: true })\n statusCode!: string;\n\n @Column({ name: 'status_name', length: 100 })\n statusName!: string;\n\n @Column({ type: 'text', nullable: true })\n description?: string;\n\n @Column({ name: 'sort_order', default: 0 })\n sortOrder!: number;\n\n @Column({ name: 'is_active', default: true })\n isActive!: boolean;\n}\n"],"version":3}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
c1ad1847c806f3f056d0137b3a0ec189
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ParseUuidPipe = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const uuid_1 = require("uuid");
|
||||
/**
|
||||
* Validates that a route parameter is a valid UUID string.
|
||||
* Accepts any UUID version (v1 from DB DEFAULT, v7 from app generation).
|
||||
*
|
||||
* Usage: @Param('uuid', ParseUuidPipe) uuid: string
|
||||
*
|
||||
* @see ADR-019 Hybrid Identifier Strategy
|
||||
*/
|
||||
let ParseUuidPipe = class ParseUuidPipe {
|
||||
transform(value) {
|
||||
if (!(0, uuid_1.validate)(value)) {
|
||||
throw new common_1.BadRequestException(`Invalid UUID format: ${value}`);
|
||||
}
|
||||
return value.toLowerCase();
|
||||
}
|
||||
};
|
||||
exports.ParseUuidPipe = ParseUuidPipe;
|
||||
exports.ParseUuidPipe = ParseUuidPipe = __decorate([
|
||||
(0, common_1.Injectable)()
|
||||
], ParseUuidPipe);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcY29tbW9uXFxwaXBlc1xccGFyc2UtdXVpZC5waXBlLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDJDQUFnRjtBQUNoRiwrQkFBZ0Q7QUFFaEQ7Ozs7Ozs7R0FPRztBQUVJLElBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWE7SUFDeEIsU0FBUyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLElBQUEsZUFBWSxFQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLDRCQUFtQixDQUFDLHdCQUF3QixLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQ0YsQ0FBQTtBQVBZLHNDQUFhO3dCQUFiLGFBQWE7SUFEekIsSUFBQSxtQkFBVSxHQUFFO0dBQ0EsYUFBYSxDQU96QiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxjb21tb25cXHBpcGVzXFxwYXJzZS11dWlkLnBpcGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgSW5qZWN0YWJsZSwgQmFkUmVxdWVzdEV4Y2VwdGlvbiB9IGZyb20gJ0BuZXN0anMvY29tbW9uJztcbmltcG9ydCB7IHZhbGlkYXRlIGFzIHV1aWRWYWxpZGF0ZSB9IGZyb20gJ3V1aWQnO1xuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGF0IGEgcm91dGUgcGFyYW1ldGVyIGlzIGEgdmFsaWQgVVVJRCBzdHJpbmcuXG4gKiBBY2NlcHRzIGFueSBVVUlEIHZlcnNpb24gKHYxIGZyb20gREIgREVGQVVMVCwgdjcgZnJvbSBhcHAgZ2VuZXJhdGlvbikuXG4gKlxuICogVXNhZ2U6IEBQYXJhbSgndXVpZCcsIFBhcnNlVXVpZFBpcGUpIHV1aWQ6IHN0cmluZ1xuICpcbiAqIEBzZWUgQURSLTAxOSBIeWJyaWQgSWRlbnRpZmllciBTdHJhdGVneVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGFyc2VVdWlkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm08c3RyaW5nPiB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXV1aWRWYWxpZGF0ZSh2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXhjZXB0aW9uKGBJbnZhbGlkIFVVSUQgZm9ybWF0OiAke3ZhbHVlfWApO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgfVxufVxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\common\\pipes\\parse-uuid.pipe.ts","mappings":";;;;;;;;;AAAA,2CAAgF;AAChF,+BAAgD;AAEhD;;;;;;;GAOG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,IAAA,eAAY,EAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,4BAAmB,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;CACF,CAAA;AAPY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CAOzB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\common\\pipes\\parse-uuid.pipe.ts"],"sourcesContent":["import { PipeTransform, Injectable, BadRequestException } from '@nestjs/common';\nimport { validate as uuidValidate } from 'uuid';\n\n/**\n * Validates that a route parameter is a valid UUID string.\n * Accepts any UUID version (v1 from DB DEFAULT, v7 from app generation).\n *\n * Usage: @Param('uuid', ParseUuidPipe) uuid: string\n *\n * @see ADR-019 Hybrid Identifier Strategy\n */\n@Injectable()\nexport class ParseUuidPipe implements PipeTransform<string> {\n transform(value: string): string {\n if (!uuidValidate(value)) {\n throw new BadRequestException(`Invalid UUID format: ${value}`);\n }\n return value.toLowerCase();\n }\n}\n"],"version":3}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
871d624c7966c65172d651a56a6d6b59
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.RequirePermission = exports.PERMISSIONS_KEY = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
exports.PERMISSIONS_KEY = 'permissions'; // Changed from PERMISSION_KEY
|
||||
/**
|
||||
* Decorator สำหรับกำหนด permissions ที่จำเป็นสำหรับ route
|
||||
* รองรับ multiple permissions (user ต้องมี ALL permissions)
|
||||
*/
|
||||
const RequirePermission = (...permissions) => (0, common_1.SetMetadata)(exports.PERMISSIONS_KEY, permissions);
|
||||
exports.RequirePermission = RequirePermission;
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcY29tbW9uXFxkZWNvcmF0b3JzXFxyZXF1aXJlLXBlcm1pc3Npb24uZGVjb3JhdG9yLnRzIiwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUE2QztBQUVoQyxRQUFBLGVBQWUsR0FBRyxhQUFhLENBQUMsQ0FBQyw4QkFBOEI7QUFFNUU7OztHQUdHO0FBQ0ksTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQUcsV0FBcUIsRUFBRSxFQUFFLENBQzVELElBQUEsb0JBQVcsRUFBQyx1QkFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRC9CLFFBQUEsaUJBQWlCLHFCQUNjIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXGNvbW1vblxcZGVjb3JhdG9yc1xccmVxdWlyZS1wZXJtaXNzaW9uLmRlY29yYXRvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXRNZXRhZGF0YSB9IGZyb20gJ0BuZXN0anMvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IFBFUk1JU1NJT05TX0tFWSA9ICdwZXJtaXNzaW9ucyc7IC8vIENoYW5nZWQgZnJvbSBQRVJNSVNTSU9OX0tFWVxuXG4vKipcbiAqIERlY29yYXRvciDguKrguLPguKvguKPguLHguJrguIHguLPguKvguJnguJQgcGVybWlzc2lvbnMg4LiX4Li14LmI4LiI4Liz4LmA4Lib4LmH4LiZ4Liq4Liz4Lir4Lij4Lix4LiaIHJvdXRlXG4gKiDguKPguK3guIfguKPguLHguJogbXVsdGlwbGUgcGVybWlzc2lvbnMgKHVzZXIg4LiV4LmJ4Lit4LiH4Lih4Li1IEFMTCBwZXJtaXNzaW9ucylcbiAqL1xuZXhwb3J0IGNvbnN0IFJlcXVpcmVQZXJtaXNzaW9uID0gKC4uLnBlcm1pc3Npb25zOiBzdHJpbmdbXSkgPT5cbiAgU2V0TWV0YWRhdGEoUEVSTUlTU0lPTlNfS0VZLCBwZXJtaXNzaW9ucyk7XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\common\\decorators\\require-permission.decorator.ts","mappings":";;;AAAA,2CAA6C;AAEhC,QAAA,eAAe,GAAG,aAAa,CAAC,CAAC,8BAA8B;AAE5E;;;GAGG;AACI,MAAM,iBAAiB,GAAG,CAAC,GAAG,WAAqB,EAAE,EAAE,CAC5D,IAAA,oBAAW,EAAC,uBAAe,EAAE,WAAW,CAAC,CAAC;AAD/B,QAAA,iBAAiB,qBACc","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\common\\decorators\\require-permission.decorator.ts"],"sourcesContent":["import { SetMetadata } from '@nestjs/common';\n\nexport const PERMISSIONS_KEY = 'permissions'; // Changed from PERMISSION_KEY\n\n/**\n * Decorator สำหรับกำหนด permissions ที่จำเป็นสำหรับ route\n * รองรับ multiple permissions (user ต้องมี ALL permissions)\n */\nexport const RequirePermission = (...permissions: string[]) =>\n SetMetadata(PERMISSIONS_KEY, permissions);\n"],"version":3}
|
||||
+89
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+5
@@ -0,0 +1,5 @@
|
||||
c2a712c6b525f286e4effb0ce8a2dc78
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = '00000000-0000-0000-0000-000000000000';
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXG5vZGVfbW9kdWxlc1xcLnBucG1cXHV1aWRAMTEuMS4wXFxub2RlX21vZHVsZXNcXHV1aWRcXGRpc3RcXGNqc1xcbmlsLmpzIiwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQztBQUNiLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzlELE9BQU8sQ0FBQyxPQUFPLEdBQUcsc0NBQXNDLENBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXG5vZGVfbW9kdWxlc1xcLnBucG1cXHV1aWRAMTEuMS4wXFxub2RlX21vZHVsZXNcXHV1aWRcXGRpc3RcXGNqc1xcbmlsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCc7XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\nil.js","mappings":"AAAA,YAAY,CAAC;AACb,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,OAAO,GAAG,sCAAsC,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\nil.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = '00000000-0000-0000-0000-000000000000';\n"],"version":3}
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
6d2f265ba29d8a3e05b94094ae7dd371
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a, _b;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.CorrespondenceRevisionAttachment = void 0;
|
||||
// File: src/modules/correspondence/entities/correspondence-revision-attachment.entity.ts
|
||||
const typeorm_1 = require("typeorm");
|
||||
const correspondence_revision_entity_1 = require("./correspondence-revision.entity");
|
||||
const attachment_entity_1 = require("../../../common/file-storage/entities/attachment.entity");
|
||||
/**
|
||||
* CorrespondenceRevisionAttachment
|
||||
*
|
||||
* ตารางเชื่อม correspondence_revisions กับ attachments (M:N)
|
||||
* [FIX v1.8.1] FK ชี้ไป correspondence_revisions.id ไม่ใช่ correspondences.id
|
||||
* เหตุผล: ไฟล์แนบผูกกับ revision เพื่อรองรับไฟล์ที่ต่างกันในแต่ละ revision
|
||||
*/
|
||||
let CorrespondenceRevisionAttachment = class CorrespondenceRevisionAttachment {
|
||||
};
|
||||
exports.CorrespondenceRevisionAttachment = CorrespondenceRevisionAttachment;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryColumn)({ name: 'correspondence_revision_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], CorrespondenceRevisionAttachment.prototype, "correspondenceRevisionId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryColumn)({ name: 'attachment_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], CorrespondenceRevisionAttachment.prototype, "attachmentId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'is_main_document', default: false }),
|
||||
__metadata("design:type", Boolean)
|
||||
], CorrespondenceRevisionAttachment.prototype, "isMainDocument", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => correspondence_revision_entity_1.CorrespondenceRevision, (revision) => revision.attachmentLinks, { onDelete: 'CASCADE' }),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'correspondence_revision_id' }),
|
||||
__metadata("design:type", typeof (_a = typeof correspondence_revision_entity_1.CorrespondenceRevision !== "undefined" && correspondence_revision_entity_1.CorrespondenceRevision) === "function" ? _a : Object)
|
||||
], CorrespondenceRevisionAttachment.prototype, "revision", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => attachment_entity_1.Attachment, { onDelete: 'CASCADE', eager: false }),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'attachment_id' }),
|
||||
__metadata("design:type", typeof (_b = typeof attachment_entity_1.Attachment !== "undefined" && attachment_entity_1.Attachment) === "function" ? _b : Object)
|
||||
], CorrespondenceRevisionAttachment.prototype, "attachment", void 0);
|
||||
exports.CorrespondenceRevisionAttachment = CorrespondenceRevisionAttachment = __decorate([
|
||||
(0, typeorm_1.Entity)('correspondence_revision_attachments')
|
||||
], CorrespondenceRevisionAttachment);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcY29ycmVzcG9uZGVuY2VcXGVudGl0aWVzXFxjb3JyZXNwb25kZW5jZS1yZXZpc2lvbi1hdHRhY2htZW50LmVudGl0eS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEseUZBQXlGO0FBQ3pGLHFDQU1pQjtBQUNqQixxRkFBMEU7QUFDMUUsK0ZBQXFGO0FBRXJGOzs7Ozs7R0FNRztBQUVJLElBQU0sZ0NBQWdDLEdBQXRDLE1BQU0sZ0NBQWdDO0NBMEI1QyxDQUFBO0FBMUJZLDRFQUFnQztBQUczQztJQURDLElBQUEsdUJBQWEsRUFBQyxFQUFFLElBQUksRUFBRSw0QkFBNEIsRUFBRSxDQUFDOztrRkFDcEI7QUFJbEM7SUFEQyxJQUFBLHVCQUFhLEVBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUM7O3NFQUNuQjtBQUl0QjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7O3dFQUM1QjtBQVN6QjtJQU5DLElBQUEsbUJBQVMsRUFDUixHQUFHLEVBQUUsQ0FBQyx1REFBc0IsRUFDNUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQ3RDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUN4QjtJQUNBLElBQUEsb0JBQVUsRUFBQyxFQUFFLElBQUksRUFBRSw0QkFBNEIsRUFBRSxDQUFDO2tEQUN4Qyx1REFBc0Isb0JBQXRCLHVEQUFzQjtrRUFBQztBQUtsQztJQUZDLElBQUEsbUJBQVMsRUFBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDbEUsSUFBQSxvQkFBVSxFQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDO2tEQUN6Qiw4QkFBVSxvQkFBViw4QkFBVTtvRUFBQzsyQ0F6QmIsZ0NBQWdDO0lBRDVDLElBQUEsZ0JBQU0sRUFBQyxxQ0FBcUMsQ0FBQztHQUNqQyxnQ0FBZ0MsQ0EwQjVDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXG1vZHVsZXNcXGNvcnJlc3BvbmRlbmNlXFxlbnRpdGllc1xcY29ycmVzcG9uZGVuY2UtcmV2aXNpb24tYXR0YWNobWVudC5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRmlsZTogc3JjL21vZHVsZXMvY29ycmVzcG9uZGVuY2UvZW50aXRpZXMvY29ycmVzcG9uZGVuY2UtcmV2aXNpb24tYXR0YWNobWVudC5lbnRpdHkudHNcbmltcG9ydCB7XG4gIEVudGl0eSxcbiAgQ29sdW1uLFxuICBNYW55VG9PbmUsXG4gIEpvaW5Db2x1bW4sXG4gIFByaW1hcnlDb2x1bW4sXG59IGZyb20gJ3R5cGVvcm0nO1xuaW1wb3J0IHsgQ29ycmVzcG9uZGVuY2VSZXZpc2lvbiB9IGZyb20gJy4vY29ycmVzcG9uZGVuY2UtcmV2aXNpb24uZW50aXR5JztcbmltcG9ydCB7IEF0dGFjaG1lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZmlsZS1zdG9yYWdlL2VudGl0aWVzL2F0dGFjaG1lbnQuZW50aXR5JztcblxuLyoqXG4gKiBDb3JyZXNwb25kZW5jZVJldmlzaW9uQXR0YWNobWVudFxuICpcbiAqIOC4leC4suC4o+C4suC4h+C5gOC4iuC4t+C5iOC4reC4oSBjb3JyZXNwb25kZW5jZV9yZXZpc2lvbnMg4LiB4Lix4LiaIGF0dGFjaG1lbnRzIChNOk4pXG4gKiBbRklYIHYxLjguMV0gRksg4LiK4Li14LmJ4LmE4LibIGNvcnJlc3BvbmRlbmNlX3JldmlzaW9ucy5pZCDguYTguKHguYjguYPguIrguYggY29ycmVzcG9uZGVuY2VzLmlkXG4gKiDguYDguKvguJXguLjguJzguKU6IOC5hOC4n+C4peC5jOC5geC4meC4muC4nOC4ueC4geC4geC4seC4miByZXZpc2lvbiDguYDguJ7guLfguYjguK3guKPguK3guIfguKPguLHguJrguYTguJ/guKXguYzguJfguLXguYjguJXguYjguLLguIfguIHguLHguJnguYPguJnguYHguJXguYjguKXguLAgcmV2aXNpb25cbiAqL1xuQEVudGl0eSgnY29ycmVzcG9uZGVuY2VfcmV2aXNpb25fYXR0YWNobWVudHMnKVxuZXhwb3J0IGNsYXNzIENvcnJlc3BvbmRlbmNlUmV2aXNpb25BdHRhY2htZW50IHtcbiAgLy8g4LiE4Li14Lii4LmM4Lir4Lil4Lix4LiB4LiC4Lit4LiHIHJldmlzaW9uIOC4l+C4teC5iOC4nOC4ueC4geC5hOC4n+C4peC5jOC4meC4teC5iVxuICBAUHJpbWFyeUNvbHVtbih7IG5hbWU6ICdjb3JyZXNwb25kZW5jZV9yZXZpc2lvbl9pZCcgfSlcbiAgY29ycmVzcG9uZGVuY2VSZXZpc2lvbklkITogbnVtYmVyO1xuXG4gIC8vIOC4hOC4teC4ouC5jOC4q+C4peC4seC4geC4guC4reC4hyBhdHRhY2htZW50XG4gIEBQcmltYXJ5Q29sdW1uKHsgbmFtZTogJ2F0dGFjaG1lbnRfaWQnIH0pXG4gIGF0dGFjaG1lbnRJZCE6IG51bWJlcjtcblxuICAvLyDguYTguJ/guKXguYzguKvguKXguLHguIHguILguK3guIcgcmV2aXNpb24g4LiZ4Li14LmJICjguYDguIrguYjguJkgUERGIOC4q+C4peC4seC4gSlcbiAgQENvbHVtbih7IG5hbWU6ICdpc19tYWluX2RvY3VtZW50JywgZGVmYXVsdDogZmFsc2UgfSlcbiAgaXNNYWluRG9jdW1lbnQhOiBib29sZWFuO1xuXG4gIC8vIFJlbGF0aW9uOiDguKvguKXguLLguKIgQ29ycmVzcG9uZGVuY2VSZXZpc2lvbkF0dGFjaG1lbnQg4oaSIOC4q+C4meC4tuC5iOC4hyBDb3JyZXNwb25kZW5jZVJldmlzaW9uXG4gIEBNYW55VG9PbmUoXG4gICAgKCkgPT4gQ29ycmVzcG9uZGVuY2VSZXZpc2lvbixcbiAgICAocmV2aXNpb24pID0+IHJldmlzaW9uLmF0dGFjaG1lbnRMaW5rcyxcbiAgICB7IG9uRGVsZXRlOiAnQ0FTQ0FERScgfVxuICApXG4gIEBKb2luQ29sdW1uKHsgbmFtZTogJ2NvcnJlc3BvbmRlbmNlX3JldmlzaW9uX2lkJyB9KVxuICByZXZpc2lvbj86IENvcnJlc3BvbmRlbmNlUmV2aXNpb247XG5cbiAgLy8gUmVsYXRpb246IOC4q+C4peC4suC4oiBDb3JyZXNwb25kZW5jZVJldmlzaW9uQXR0YWNobWVudCDihpIg4Lir4LiZ4Li24LmI4LiHIEF0dGFjaG1lbnRcbiAgQE1hbnlUb09uZSgoKSA9PiBBdHRhY2htZW50LCB7IG9uRGVsZXRlOiAnQ0FTQ0FERScsIGVhZ2VyOiBmYWxzZSB9KVxuICBASm9pbkNvbHVtbih7IG5hbWU6ICdhdHRhY2htZW50X2lkJyB9KVxuICBhdHRhY2htZW50PzogQXR0YWNobWVudDtcbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\entities\\correspondence-revision-attachment.entity.ts","mappings":";;;;;;;;;;;;;AAAA,yFAAyF;AACzF,qCAMiB;AACjB,qFAA0E;AAC1E,+FAAqF;AAErF;;;;;;GAMG;AAEI,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;CA0B5C,CAAA;AA1BY,4EAAgC;AAG3C;IADC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;;kFACpB;AAIlC;IADC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;sEACnB;AAItB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;wEAC5B;AASzB;IANC,IAAA,mBAAS,EACR,GAAG,EAAE,CAAC,uDAAsB,EAC5B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,EACtC,EAAE,QAAQ,EAAE,SAAS,EAAE,CACxB;IACA,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;kDACxC,uDAAsB,oBAAtB,uDAAsB;kEAAC;AAKlC;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,8BAAU,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAClE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;kDACzB,8BAAU,oBAAV,8BAAU;oEAAC;2CAzBb,gCAAgC;IAD5C,IAAA,gBAAM,EAAC,qCAAqC,CAAC;GACjC,gCAAgC,CA0B5C","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\entities\\correspondence-revision-attachment.entity.ts"],"sourcesContent":["// File: src/modules/correspondence/entities/correspondence-revision-attachment.entity.ts\nimport {\n Entity,\n Column,\n ManyToOne,\n JoinColumn,\n PrimaryColumn,\n} from 'typeorm';\nimport { CorrespondenceRevision } from './correspondence-revision.entity';\nimport { Attachment } from '../../../common/file-storage/entities/attachment.entity';\n\n/**\n * CorrespondenceRevisionAttachment\n *\n * ตารางเชื่อม correspondence_revisions กับ attachments (M:N)\n * [FIX v1.8.1] FK ชี้ไป correspondence_revisions.id ไม่ใช่ correspondences.id\n * เหตุผล: ไฟล์แนบผูกกับ revision เพื่อรองรับไฟล์ที่ต่างกันในแต่ละ revision\n */\n@Entity('correspondence_revision_attachments')\nexport class CorrespondenceRevisionAttachment {\n // คีย์หลักของ revision ที่ผูกไฟล์นี้\n @PrimaryColumn({ name: 'correspondence_revision_id' })\n correspondenceRevisionId!: number;\n\n // คีย์หลักของ attachment\n @PrimaryColumn({ name: 'attachment_id' })\n attachmentId!: number;\n\n // ไฟล์หลักของ revision นี้ (เช่น PDF หลัก)\n @Column({ name: 'is_main_document', default: false })\n isMainDocument!: boolean;\n\n // Relation: หลาย CorrespondenceRevisionAttachment → หนึ่ง CorrespondenceRevision\n @ManyToOne(\n () => CorrespondenceRevision,\n (revision) => revision.attachmentLinks,\n { onDelete: 'CASCADE' }\n )\n @JoinColumn({ name: 'correspondence_revision_id' })\n revision?: CorrespondenceRevision;\n\n // Relation: หลาย CorrespondenceRevisionAttachment → หนึ่ง Attachment\n @ManyToOne(() => Attachment, { onDelete: 'CASCADE', eager: false })\n @JoinColumn({ name: 'attachment_id' })\n attachment?: Attachment;\n}\n"],"version":3}
|
||||
+126
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\entities\\document-number-reservation.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAMiB;AAEjB,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,0CAAqB,CAAA;IACrB,4CAAuB,CAAA;IACvB,4CAAuB,CAAA;IACvB,kCAAa,CAAA;AACf,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B;AAKM,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CA8ErC,CAAA;AA9EY,8DAAyB;AAEpC;IADC,IAAA,gCAAsB,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;qDAC5B;AAIZ;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;wDACvC;AASf;IAPC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,IAAI;KACb,CAAC;;iEACsB;AASxB;IAPC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,iBAAiB,CAAC,QAAQ;KACpC,CAAC;;yDACyB;AAI3B;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DAClC;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;4DACzB;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;uEAC1B;AAG9B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;2EAC1B;AAGlC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0EACtC;AAIjC;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;yDACzB;AAIhB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;kDAC7D,IAAI,oBAAJ,IAAI;6DAAC;AAIlB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;kDACnD,IAAI,oBAAJ,IAAI;4DAAC;AAQjB;IANC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,IAAI;KACf,CAAC;;8DACwB;AAQ1B;IANC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,IAAI;KACf,CAAC;;8DACwB;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DAClD;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACnC;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACC;oCA7E/B,yBAAyB;IAHrC,IAAA,gBAAM,EAAC,8BAA8B,CAAC;IACtC,IAAA,eAAK,EAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAA,eAAK,EAAC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;GACxC,yBAAyB,CA8ErC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\entities\\document-number-reservation.entity.ts"],"sourcesContent":["import {\n Entity,\n Column,\n PrimaryGeneratedColumn,\n CreateDateColumn,\n Index,\n} from 'typeorm';\n\nexport enum ReservationStatus {\n RESERVED = 'RESERVED',\n CONFIRMED = 'CONFIRMED',\n CANCELLED = 'CANCELLED',\n VOID = 'VOID',\n}\n\n@Entity('document_number_reservations')\n@Index('idx_token', ['token'])\n@Index('idx_status_expires', ['status', 'expiresAt'])\nexport class DocumentNumberReservation {\n @PrimaryGeneratedColumn({ type: 'int' })\n id!: number;\n\n @Index()\n @Column({ type: 'varchar', length: 36, unique: true })\n token!: string;\n\n @Index()\n @Column({\n name: 'document_number',\n type: 'varchar',\n length: 100,\n unique: true,\n })\n documentNumber!: string;\n\n @Index()\n @Column({\n name: 'document_number_status',\n type: 'enum',\n enum: ReservationStatus,\n default: ReservationStatus.RESERVED,\n })\n status!: ReservationStatus;\n\n @Index()\n @Column({ name: 'document_id', type: 'int', nullable: true })\n documentId!: number | null;\n\n @Column({ name: 'project_id', type: 'int' })\n projectId!: number;\n\n @Column({ name: 'correspondence_type_id', type: 'int' })\n correspondenceTypeId!: number;\n\n @Column({ name: 'originator_organization_id', type: 'int' })\n originatorOrganizationId!: number;\n\n @Column({ name: 'recipient_organization_id', type: 'int', default: 0 })\n recipientOrganizationId!: number;\n\n @Index()\n @Column({ name: 'user_id', type: 'int' })\n userId!: number;\n\n @Index()\n @CreateDateColumn({ name: 'reserved_at', type: 'datetime', precision: 6 })\n reservedAt!: Date;\n\n @Index()\n @Column({ name: 'expires_at', type: 'datetime', precision: 6 })\n expiresAt!: Date;\n\n @Column({\n name: 'confirmed_at',\n type: 'datetime',\n precision: 6,\n nullable: true,\n })\n confirmedAt!: Date | null;\n\n @Column({\n name: 'cancelled_at',\n type: 'datetime',\n precision: 6,\n nullable: true,\n })\n cancelledAt!: Date | null;\n\n @Column({ name: 'ip_address', type: 'varchar', length: 45, nullable: true })\n ipAddress!: string | null;\n\n @Column({ name: 'user_agent', type: 'text', nullable: true })\n userAgent!: string | null;\n\n @Column({ type: 'json', nullable: true })\n metadata!: Record<string, unknown> | null;\n}\n"],"version":3}
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
397e9fb75dd17b7b0f05a57990aa58d9
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a, _b;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.WorkflowActionDto = void 0;
|
||||
const class_validator_1 = require("class-validator");
|
||||
const workflow_interface_1 = require("../../workflow-engine/interfaces/workflow.interface");
|
||||
const swagger_1 = require("@nestjs/swagger");
|
||||
/**
|
||||
* DTO for processing workflow actions
|
||||
*
|
||||
* Supports both:
|
||||
* - New Unified Workflow Engine (uses instanceId)
|
||||
* - Legacy RFA workflow (uses returnToSequence)
|
||||
*/
|
||||
class WorkflowActionDto {
|
||||
}
|
||||
exports.WorkflowActionDto = WorkflowActionDto;
|
||||
__decorate([
|
||||
(0, swagger_1.ApiPropertyOptional)({
|
||||
description: 'Workflow Instance ID (UUID) - for Unified Workflow Engine',
|
||||
example: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
|
||||
}),
|
||||
(0, class_validator_1.IsUUID)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], WorkflowActionDto.prototype, "instanceId", void 0);
|
||||
__decorate([
|
||||
(0, swagger_1.ApiProperty)({
|
||||
description: 'Workflow Action',
|
||||
enum: ['APPROVE', 'REJECT', 'RETURN', 'CANCEL', 'ACKNOWLEDGE'],
|
||||
}),
|
||||
(0, class_validator_1.IsEnum)(workflow_interface_1.WorkflowAction),
|
||||
__metadata("design:type", typeof (_a = typeof workflow_interface_1.WorkflowAction !== "undefined" && workflow_interface_1.WorkflowAction) === "function" ? _a : Object)
|
||||
], WorkflowActionDto.prototype, "action", void 0);
|
||||
__decorate([
|
||||
(0, swagger_1.ApiPropertyOptional)({
|
||||
description: 'Review comments',
|
||||
example: 'Approved with note...',
|
||||
}),
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], WorkflowActionDto.prototype, "comment", void 0);
|
||||
__decorate([
|
||||
(0, swagger_1.ApiPropertyOptional)({
|
||||
description: 'Review comments (deprecated, use comment)',
|
||||
example: 'Approved with note...',
|
||||
}),
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], WorkflowActionDto.prototype, "comments", void 0);
|
||||
__decorate([
|
||||
(0, swagger_1.ApiPropertyOptional)({
|
||||
description: 'Sequence to return to (only for RETURN action in legacy RFA)',
|
||||
example: 1,
|
||||
}),
|
||||
(0, class_validator_1.IsInt)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Number)
|
||||
], WorkflowActionDto.prototype, "returnToSequence", void 0);
|
||||
__decorate([
|
||||
(0, swagger_1.ApiPropertyOptional)({
|
||||
description: 'Additional payload data',
|
||||
example: { priority: 'HIGH' },
|
||||
}),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", typeof (_b = typeof Record !== "undefined" && Record) === "function" ? _b : Object)
|
||||
], WorkflowActionDto.prototype, "payload", void 0);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcY29ycmVzcG9uZGVuY2VcXGR0b1xcd29ya2Zsb3ctYWN0aW9uLmR0by50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEscURBQThFO0FBQzlFLDRGQUFxRjtBQUNyRiw2Q0FBbUU7QUFFbkU7Ozs7OztHQU1HO0FBQ0gsTUFBYSxpQkFBaUI7Q0FpRDdCO0FBakRELDhDQWlEQztBQTFDQztJQU5DLElBQUEsNkJBQW1CLEVBQUM7UUFDbkIsV0FBVyxFQUFFLDJEQUEyRDtRQUN4RSxPQUFPLEVBQUUsc0NBQXNDO0tBQ2hELENBQUM7SUFDRCxJQUFBLHdCQUFNLEdBQUU7SUFDUixJQUFBLDRCQUFVLEdBQUU7O3FEQUNPO0FBT3BCO0lBTEMsSUFBQSxxQkFBVyxFQUFDO1FBQ1gsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDO0tBQy9ELENBQUM7SUFDRCxJQUFBLHdCQUFNLEVBQUMsbUNBQWMsQ0FBQztrREFDZCxtQ0FBYyxvQkFBZCxtQ0FBYztpREFBQztBQVF4QjtJQU5DLElBQUEsNkJBQW1CLEVBQUM7UUFDbkIsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixPQUFPLEVBQUUsdUJBQXVCO0tBQ2pDLENBQUM7SUFDRCxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7O2tEQUNJO0FBV2pCO0lBTkMsSUFBQSw2QkFBbUIsRUFBQztRQUNuQixXQUFXLEVBQUUsMkNBQTJDO1FBQ3hELE9BQU8sRUFBRSx1QkFBdUI7S0FDakMsQ0FBQztJQUNELElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7bURBQ0s7QUFRbEI7SUFOQyxJQUFBLDZCQUFtQixFQUFDO1FBQ25CLFdBQVcsRUFBRSw4REFBOEQ7UUFDM0UsT0FBTyxFQUFFLENBQUM7S0FDWCxDQUFDO0lBQ0QsSUFBQSx1QkFBSyxHQUFFO0lBQ1AsSUFBQSw0QkFBVSxHQUFFOzsyREFDYTtBQU8xQjtJQUxDLElBQUEsNkJBQW1CLEVBQUM7UUFDbkIsV0FBVyxFQUFFLHlCQUF5QjtRQUN0QyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO0tBQzlCLENBQUM7SUFDRCxJQUFBLDRCQUFVLEdBQUU7a0RBQ0gsTUFBTSxvQkFBTixNQUFNO2tEQUFrQiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxtb2R1bGVzXFxjb3JyZXNwb25kZW5jZVxcZHRvXFx3b3JrZmxvdy1hY3Rpb24uZHRvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElzRW51bSwgSXNTdHJpbmcsIElzT3B0aW9uYWwsIElzVVVJRCwgSXNJbnQgfSBmcm9tICdjbGFzcy12YWxpZGF0b3InO1xuaW1wb3J0IHsgV29ya2Zsb3dBY3Rpb24gfSBmcm9tICcuLi8uLi93b3JrZmxvdy1lbmdpbmUvaW50ZXJmYWNlcy93b3JrZmxvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBpUHJvcGVydHksIEFwaVByb3BlcnR5T3B0aW9uYWwgfSBmcm9tICdAbmVzdGpzL3N3YWdnZXInO1xuXG4vKipcbiAqIERUTyBmb3IgcHJvY2Vzc2luZyB3b3JrZmxvdyBhY3Rpb25zXG4gKlxuICogU3VwcG9ydHMgYm90aDpcbiAqIC0gTmV3IFVuaWZpZWQgV29ya2Zsb3cgRW5naW5lICh1c2VzIGluc3RhbmNlSWQpXG4gKiAtIExlZ2FjeSBSRkEgd29ya2Zsb3cgKHVzZXMgcmV0dXJuVG9TZXF1ZW5jZSlcbiAqL1xuZXhwb3J0IGNsYXNzIFdvcmtmbG93QWN0aW9uRHRvIHtcbiAgQEFwaVByb3BlcnR5T3B0aW9uYWwoe1xuICAgIGRlc2NyaXB0aW9uOiAnV29ya2Zsb3cgSW5zdGFuY2UgSUQgKFVVSUQpIC0gZm9yIFVuaWZpZWQgV29ya2Zsb3cgRW5naW5lJyxcbiAgICBleGFtcGxlOiAnYTFiMmMzZDQtZTVmNi03ODkwLWFiY2QtZWYxMjM0NTY3ODkwJyxcbiAgfSlcbiAgQElzVVVJRCgpXG4gIEBJc09wdGlvbmFsKClcbiAgaW5zdGFuY2VJZD86IHN0cmluZztcblxuICBAQXBpUHJvcGVydHkoe1xuICAgIGRlc2NyaXB0aW9uOiAnV29ya2Zsb3cgQWN0aW9uJyxcbiAgICBlbnVtOiBbJ0FQUFJPVkUnLCAnUkVKRUNUJywgJ1JFVFVSTicsICdDQU5DRUwnLCAnQUNLTk9XTEVER0UnXSxcbiAgfSlcbiAgQElzRW51bShXb3JrZmxvd0FjdGlvbilcbiAgYWN0aW9uITogV29ya2Zsb3dBY3Rpb247XG5cbiAgQEFwaVByb3BlcnR5T3B0aW9uYWwoe1xuICAgIGRlc2NyaXB0aW9uOiAnUmV2aWV3IGNvbW1lbnRzJyxcbiAgICBleGFtcGxlOiAnQXBwcm92ZWQgd2l0aCBub3RlLi4uJyxcbiAgfSlcbiAgQElzU3RyaW5nKClcbiAgQElzT3B0aW9uYWwoKVxuICBjb21tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgJ2NvbW1lbnQnIGluc3RlYWRcbiAgICovXG4gIEBBcGlQcm9wZXJ0eU9wdGlvbmFsKHtcbiAgICBkZXNjcmlwdGlvbjogJ1JldmlldyBjb21tZW50cyAoZGVwcmVjYXRlZCwgdXNlIGNvbW1lbnQpJyxcbiAgICBleGFtcGxlOiAnQXBwcm92ZWQgd2l0aCBub3RlLi4uJyxcbiAgfSlcbiAgQElzU3RyaW5nKClcbiAgQElzT3B0aW9uYWwoKVxuICBjb21tZW50cz86IHN0cmluZztcblxuICBAQXBpUHJvcGVydHlPcHRpb25hbCh7XG4gICAgZGVzY3JpcHRpb246ICdTZXF1ZW5jZSB0byByZXR1cm4gdG8gKG9ubHkgZm9yIFJFVFVSTiBhY3Rpb24gaW4gbGVnYWN5IFJGQSknLFxuICAgIGV4YW1wbGU6IDEsXG4gIH0pXG4gIEBJc0ludCgpXG4gIEBJc09wdGlvbmFsKClcbiAgcmV0dXJuVG9TZXF1ZW5jZT86IG51bWJlcjtcblxuICBAQXBpUHJvcGVydHlPcHRpb25hbCh7XG4gICAgZGVzY3JpcHRpb246ICdBZGRpdGlvbmFsIHBheWxvYWQgZGF0YScsXG4gICAgZXhhbXBsZTogeyBwcmlvcml0eTogJ0hJR0gnIH0sXG4gIH0pXG4gIEBJc09wdGlvbmFsKClcbiAgcGF5bG9hZD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\dto\\workflow-action.dto.ts","mappings":";;;;;;;;;;;;;AAAA,qDAA8E;AAC9E,4FAAqF;AACrF,6CAAmE;AAEnE;;;;;;GAMG;AACH,MAAa,iBAAiB;CAiD7B;AAjDD,8CAiDC;AA1CC;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,2DAA2D;QACxE,OAAO,EAAE,sCAAsC;KAChD,CAAC;IACD,IAAA,wBAAM,GAAE;IACR,IAAA,4BAAU,GAAE;;qDACO;AAOpB;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC;KAC/D,CAAC;IACD,IAAA,wBAAM,EAAC,mCAAc,CAAC;kDACd,mCAAc,oBAAd,mCAAc;iDAAC;AAQxB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,uBAAuB;KACjC,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;kDACI;AAWjB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,2CAA2C;QACxD,OAAO,EAAE,uBAAuB;KACjC,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mDACK;AAQlB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,8DAA8D;QAC3E,OAAO,EAAE,CAAC;KACX,CAAC;IACD,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;;2DACa;AAO1B;IALC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;KAC9B,CAAC;IACD,IAAA,4BAAU,GAAE;kDACH,MAAM,oBAAN,MAAM;kDAAkB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\dto\\workflow-action.dto.ts"],"sourcesContent":["import { IsEnum, IsString, IsOptional, IsUUID, IsInt } from 'class-validator';\nimport { WorkflowAction } from '../../workflow-engine/interfaces/workflow.interface';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\n/**\n * DTO for processing workflow actions\n *\n * Supports both:\n * - New Unified Workflow Engine (uses instanceId)\n * - Legacy RFA workflow (uses returnToSequence)\n */\nexport class WorkflowActionDto {\n @ApiPropertyOptional({\n description: 'Workflow Instance ID (UUID) - for Unified Workflow Engine',\n example: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',\n })\n @IsUUID()\n @IsOptional()\n instanceId?: string;\n\n @ApiProperty({\n description: 'Workflow Action',\n enum: ['APPROVE', 'REJECT', 'RETURN', 'CANCEL', 'ACKNOWLEDGE'],\n })\n @IsEnum(WorkflowAction)\n action!: WorkflowAction;\n\n @ApiPropertyOptional({\n description: 'Review comments',\n example: 'Approved with note...',\n })\n @IsString()\n @IsOptional()\n comment?: string;\n\n /**\n * @deprecated Use 'comment' instead\n */\n @ApiPropertyOptional({\n description: 'Review comments (deprecated, use comment)',\n example: 'Approved with note...',\n })\n @IsString()\n @IsOptional()\n comments?: string;\n\n @ApiPropertyOptional({\n description: 'Sequence to return to (only for RETURN action in legacy RFA)',\n example: 1,\n })\n @IsInt()\n @IsOptional()\n returnToSequence?: number;\n\n @ApiPropertyOptional({\n description: 'Additional payload data',\n example: { priority: 'HIGH' },\n })\n @IsOptional()\n payload?: Record<string, unknown>;\n}\n"],"version":3}
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
e32c989e925f8f3b2b2617b90c1e377c
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a, _b, _c;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ContractDrawingSubCategory = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const project_entity_1 = require("../../project/entities/project.entity");
|
||||
let ContractDrawingSubCategory = class ContractDrawingSubCategory {
|
||||
};
|
||||
exports.ContractDrawingSubCategory = ContractDrawingSubCategory;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], ContractDrawingSubCategory.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'project_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], ContractDrawingSubCategory.prototype, "projectId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'sub_cat_code', length: 50 }),
|
||||
__metadata("design:type", String)
|
||||
], ContractDrawingSubCategory.prototype, "subCatCode", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'sub_cat_name', length: 255 }),
|
||||
__metadata("design:type", String)
|
||||
], ContractDrawingSubCategory.prototype, "subCatName", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], ContractDrawingSubCategory.prototype, "description", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'sort_order', default: 0 }),
|
||||
__metadata("design:type", Number)
|
||||
], ContractDrawingSubCategory.prototype, "sortOrder", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
|
||||
__metadata("design:type", typeof (_a = typeof Date !== "undefined" && Date) === "function" ? _a : Object)
|
||||
], ContractDrawingSubCategory.prototype, "createdAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
|
||||
__metadata("design:type", typeof (_b = typeof Date !== "undefined" && Date) === "function" ? _b : Object)
|
||||
], ContractDrawingSubCategory.prototype, "updatedAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => project_entity_1.Project),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'project_id' }),
|
||||
__metadata("design:type", typeof (_c = typeof project_entity_1.Project !== "undefined" && project_entity_1.Project) === "function" ? _c : Object)
|
||||
], ContractDrawingSubCategory.prototype, "project", void 0);
|
||||
exports.ContractDrawingSubCategory = ContractDrawingSubCategory = __decorate([
|
||||
(0, typeorm_1.Entity)('contract_drawing_sub_cats')
|
||||
], ContractDrawingSubCategory);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZHJhd2luZ1xcZW50aXRpZXNcXGNvbnRyYWN0LWRyYXdpbmctc3ViLWNhdGVnb3J5LmVudGl0eS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEscUNBUWlCO0FBQ2pCLDBFQUFnRTtBQUd6RCxJQUFNLDBCQUEwQixHQUFoQyxNQUFNLDBCQUEwQjtDQTRCdEMsQ0FBQTtBQTVCWSxnRUFBMEI7QUFFckM7SUFEQyxJQUFBLGdDQUFzQixHQUFFOztzREFDYjtBQUdaO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDOzs2REFDWjtBQUduQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDOzs4REFDekI7QUFHcEI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQzs7OERBQzFCO0FBR3BCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7OytEQUNwQjtBQUdyQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDOzs2REFDeEI7QUFHbkI7SUFEQyxJQUFBLDBCQUFnQixFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2tEQUM3QixJQUFJLG9CQUFKLElBQUk7NkRBQUM7QUFHakI7SUFEQyxJQUFBLDBCQUFnQixFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2tEQUM3QixJQUFJLG9CQUFKLElBQUk7NkRBQUM7QUFJakI7SUFGQyxJQUFBLG1CQUFTLEVBQUMsR0FBRyxFQUFFLENBQUMsd0JBQU8sQ0FBQztJQUN4QixJQUFBLG9CQUFVLEVBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7a0RBQ3pCLHdCQUFPLG9CQUFQLHdCQUFPOzJEQUFDO3FDQTNCUCwwQkFBMEI7SUFEdEMsSUFBQSxnQkFBTSxFQUFDLDJCQUEyQixDQUFDO0dBQ3ZCLDBCQUEwQixDQTRCdEMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZHJhd2luZ1xcZW50aXRpZXNcXGNvbnRyYWN0LWRyYXdpbmctc3ViLWNhdGVnb3J5LmVudGl0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHksXG4gIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4sXG4gIENvbHVtbixcbiAgQ3JlYXRlRGF0ZUNvbHVtbixcbiAgVXBkYXRlRGF0ZUNvbHVtbixcbiAgTWFueVRvT25lLFxuICBKb2luQ29sdW1uLFxufSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuLi8uLi9wcm9qZWN0L2VudGl0aWVzL3Byb2plY3QuZW50aXR5JztcblxuQEVudGl0eSgnY29udHJhY3RfZHJhd2luZ19zdWJfY2F0cycpXG5leHBvcnQgY2xhc3MgQ29udHJhY3REcmF3aW5nU3ViQ2F0ZWdvcnkge1xuICBAUHJpbWFyeUdlbmVyYXRlZENvbHVtbigpXG4gIGlkITogbnVtYmVyOyAvLyDguYDguJXguLTguKEgIVxuXG4gIEBDb2x1bW4oeyBuYW1lOiAncHJvamVjdF9pZCcgfSlcbiAgcHJvamVjdElkITogbnVtYmVyOyAvLyDguYDguJXguLTguKEgIVxuXG4gIEBDb2x1bW4oeyBuYW1lOiAnc3ViX2NhdF9jb2RlJywgbGVuZ3RoOiA1MCB9KVxuICBzdWJDYXRDb2RlITogc3RyaW5nOyAvLyDguYDguJXguLTguKEgIVxuXG4gIEBDb2x1bW4oeyBuYW1lOiAnc3ViX2NhdF9uYW1lJywgbGVuZ3RoOiAyNTUgfSlcbiAgc3ViQ2F0TmFtZSE6IHN0cmluZzsgLy8g4LmA4LiV4Li04LihICFcblxuICBAQ29sdW1uKHsgdHlwZTogJ3RleHQnLCBudWxsYWJsZTogdHJ1ZSB9KVxuICBkZXNjcmlwdGlvbj86IHN0cmluZzsgLy8gTnVsbGFibGUg4LmD4LiK4LmJID9cblxuICBAQ29sdW1uKHsgbmFtZTogJ3NvcnRfb3JkZXInLCBkZWZhdWx0OiAwIH0pXG4gIHNvcnRPcmRlciE6IG51bWJlcjsgLy8g4LmA4LiV4Li04LihICFcblxuICBAQ3JlYXRlRGF0ZUNvbHVtbih7IG5hbWU6ICdjcmVhdGVkX2F0JyB9KVxuICBjcmVhdGVkQXQhOiBEYXRlOyAvLyDguYDguJXguLTguKEgIVxuXG4gIEBVcGRhdGVEYXRlQ29sdW1uKHsgbmFtZTogJ3VwZGF0ZWRfYXQnIH0pXG4gIHVwZGF0ZWRBdCE6IERhdGU7IC8vIOC5gOC4leC4tOC4oSAhXG5cbiAgQE1hbnlUb09uZSgoKSA9PiBQcm9qZWN0KVxuICBASm9pbkNvbHVtbih7IG5hbWU6ICdwcm9qZWN0X2lkJyB9KVxuICBwcm9qZWN0ITogUHJvamVjdDsgLy8g4LmA4LiV4Li04LihICFcbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\drawing\\entities\\contract-drawing-sub-category.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAQiB;AACjB,0EAAgE;AAGzD,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;CA4BtC,CAAA;AA5BY,gEAA0B;AAErC;IADC,IAAA,gCAAsB,GAAE;;sDACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;6DACZ;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;8DACzB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;8DAC1B;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+DACpB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;6DACxB;AAGnB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;6DAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;6DAAC;AAIjB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;IACxB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDACzB,wBAAO,oBAAP,wBAAO;2DAAC;qCA3BP,0BAA0B;IADtC,IAAA,gBAAM,EAAC,2BAA2B,CAAC;GACvB,0BAA0B,CA4BtC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\drawing\\entities\\contract-drawing-sub-category.entity.ts"],"sourcesContent":["import {\n Entity,\n PrimaryGeneratedColumn,\n Column,\n CreateDateColumn,\n UpdateDateColumn,\n ManyToOne,\n JoinColumn,\n} from 'typeorm';\nimport { Project } from '../../project/entities/project.entity';\n\n@Entity('contract_drawing_sub_cats')\nexport class ContractDrawingSubCategory {\n @PrimaryGeneratedColumn()\n id!: number; // เติม !\n\n @Column({ name: 'project_id' })\n projectId!: number; // เติม !\n\n @Column({ name: 'sub_cat_code', length: 50 })\n subCatCode!: string; // เติม !\n\n @Column({ name: 'sub_cat_name', length: 255 })\n subCatName!: string; // เติม !\n\n @Column({ type: 'text', nullable: true })\n description?: string; // Nullable ใช้ ?\n\n @Column({ name: 'sort_order', default: 0 })\n sortOrder!: number; // เติม !\n\n @CreateDateColumn({ name: 'created_at' })\n createdAt!: Date; // เติม !\n\n @UpdateDateColumn({ name: 'updated_at' })\n updatedAt!: Date; // เติม !\n\n @ManyToOne(() => Project)\n @JoinColumn({ name: 'project_id' })\n project!: Project; // เติม !\n}\n"],"version":3}
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
a29d09149ab910d378ee6fe2675e46fc
|
||||
"use strict";
|
||||
// File: src/modules/workflow-engine/entities/workflow-definition.entity.ts
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a, _b, _c, _d;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.WorkflowDefinition = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
/**
|
||||
* เก็บแม่แบบ (Blueprint) ของ Workflow
|
||||
* 1 Workflow Code (เช่น RFA) สามารถมีได้หลาย Version
|
||||
*/
|
||||
let WorkflowDefinition = class WorkflowDefinition {
|
||||
};
|
||||
exports.WorkflowDefinition = WorkflowDefinition;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
||||
__metadata("design:type", String)
|
||||
], WorkflowDefinition.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ length: 50, comment: 'รหัส Workflow เช่น RFA, CORR, LEAVE_REQ' }),
|
||||
__metadata("design:type", String)
|
||||
], WorkflowDefinition.prototype, "workflow_code", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({
|
||||
type: 'int',
|
||||
default: 1,
|
||||
comment: 'หมายเลข Version (Running sequence)',
|
||||
}),
|
||||
__metadata("design:type", Number)
|
||||
], WorkflowDefinition.prototype, "version", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ type: 'text', nullable: true, comment: 'คำอธิบายเพิ่มเติม' }),
|
||||
__metadata("design:type", String)
|
||||
], WorkflowDefinition.prototype, "description", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({
|
||||
type: 'json',
|
||||
comment: 'Raw DSL ที่ User/Admin เขียน (เก็บไว้เพื่อดูหรือแก้ไข)',
|
||||
}),
|
||||
__metadata("design:type", typeof (_a = typeof Record !== "undefined" && Record) === "function" ? _a : Object)
|
||||
], WorkflowDefinition.prototype, "dsl", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({
|
||||
type: 'json',
|
||||
comment: 'Compiled JSON Structure ที่ผ่านการ Validate และ Optimize สำหรับ Runtime Engine แล้ว',
|
||||
}),
|
||||
__metadata("design:type", typeof (_b = typeof Record !== "undefined" && Record) === "function" ? _b : Object)
|
||||
], WorkflowDefinition.prototype, "compiled", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ default: true, comment: 'สถานะการใช้งาน (Soft Disable)' }),
|
||||
__metadata("design:type", Boolean)
|
||||
], WorkflowDefinition.prototype, "is_active", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
|
||||
__metadata("design:type", typeof (_c = typeof Date !== "undefined" && Date) === "function" ? _c : Object)
|
||||
], WorkflowDefinition.prototype, "created_at", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
|
||||
__metadata("design:type", typeof (_d = typeof Date !== "undefined" && Date) === "function" ? _d : Object)
|
||||
], WorkflowDefinition.prototype, "updated_at", void 0);
|
||||
exports.WorkflowDefinition = WorkflowDefinition = __decorate([
|
||||
(0, typeorm_1.Entity)('workflow_definitions'),
|
||||
(0, typeorm_1.Unique)(['workflow_code', 'version']) // ป้องกัน Version ซ้ำใน Workflow เดียวกัน
|
||||
,
|
||||
(0, typeorm_1.Index)(['workflow_code', 'is_active', 'version']) // เพื่อการ Query หา Active Version ล่าสุดได้เร็ว
|
||||
], WorkflowDefinition);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcd29ya2Zsb3ctZW5naW5lXFxlbnRpdGllc1xcd29ya2Zsb3ctZGVmaW5pdGlvbi5lbnRpdHkudHMiLCJtYXBwaW5ncyI6IjtBQUFBLDJFQUEyRTs7Ozs7Ozs7Ozs7OztBQUUzRSxxQ0FRaUI7QUFFakI7OztHQUdHO0FBSUksSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7Q0FzQzlCLENBQUE7QUF0Q1ksZ0RBQWtCO0FBRTdCO0lBREMsSUFBQSxnQ0FBc0IsRUFBQyxNQUFNLENBQUM7OzhDQUNuQjtBQUdaO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsQ0FBQzs7eURBQ3BEO0FBT3ZCO0lBTEMsSUFBQSxnQkFBTSxFQUFDO1FBQ04sSUFBSSxFQUFFLEtBQUs7UUFDWCxPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxvQ0FBb0M7S0FDOUMsQ0FBQzs7bURBQ2U7QUFHakI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLENBQUM7O3VEQUNsRDtBQU1yQjtJQUpDLElBQUEsZ0JBQU0sRUFBQztRQUNOLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLHdEQUF3RDtLQUNsRSxDQUFDO2tEQUNJLE1BQU0sb0JBQU4sTUFBTTsrQ0FBa0I7QUFPOUI7SUFMQyxJQUFBLGdCQUFNLEVBQUM7UUFDTixJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFDTCxxRkFBcUY7S0FDeEYsQ0FBQztrREFDUyxNQUFNLG9CQUFOLE1BQU07b0RBQWtCO0FBR25DO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsQ0FBQzs7cURBQ2hEO0FBR3BCO0lBREMsSUFBQSwwQkFBZ0IsRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztrREFDNUIsSUFBSSxvQkFBSixJQUFJO3NEQUFDO0FBR2xCO0lBREMsSUFBQSwwQkFBZ0IsRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztrREFDNUIsSUFBSSxvQkFBSixJQUFJO3NEQUFDOzZCQXJDUCxrQkFBa0I7SUFIOUIsSUFBQSxnQkFBTSxFQUFDLHNCQUFzQixDQUFDO0lBQzlCLElBQUEsZ0JBQU0sRUFBQyxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLDBDQUEwQzs7SUFDL0UsSUFBQSxlQUFLLEVBQUMsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsaURBQWlEO0dBQ3RGLGtCQUFrQixDQXNDOUIiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcd29ya2Zsb3ctZW5naW5lXFxlbnRpdGllc1xcd29ya2Zsb3ctZGVmaW5pdGlvbi5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRmlsZTogc3JjL21vZHVsZXMvd29ya2Zsb3ctZW5naW5lL2VudGl0aWVzL3dvcmtmbG93LWRlZmluaXRpb24uZW50aXR5LnRzXG5cbmltcG9ydCB7XG4gIENvbHVtbixcbiAgQ3JlYXRlRGF0ZUNvbHVtbixcbiAgRW50aXR5LFxuICBJbmRleCxcbiAgUHJpbWFyeUdlbmVyYXRlZENvbHVtbixcbiAgVW5pcXVlLFxuICBVcGRhdGVEYXRlQ29sdW1uLFxufSBmcm9tICd0eXBlb3JtJztcblxuLyoqXG4gKiDguYDguIHguYfguJrguYHguKHguYjguYHguJrguJogKEJsdWVwcmludCkg4LiC4Lit4LiHIFdvcmtmbG93XG4gKiAxIFdvcmtmbG93IENvZGUgKOC5gOC4iuC5iOC4mSBSRkEpIOC4quC4suC4oeC4suC4o+C4luC4oeC4teC5hOC4lOC5ieC4q+C4peC4suC4oiBWZXJzaW9uXG4gKi9cbkBFbnRpdHkoJ3dvcmtmbG93X2RlZmluaXRpb25zJylcbkBVbmlxdWUoWyd3b3JrZmxvd19jb2RlJywgJ3ZlcnNpb24nXSkgLy8g4Lib4LmJ4Lit4LiH4LiB4Lix4LiZIFZlcnNpb24g4LiL4LmJ4Liz4LmD4LiZIFdvcmtmbG93IOC5gOC4lOC4teC4ouC4p+C4geC4seC4mVxuQEluZGV4KFsnd29ya2Zsb3dfY29kZScsICdpc19hY3RpdmUnLCAndmVyc2lvbiddKSAvLyDguYDguJ7guLfguYjguK3guIHguLLguKMgUXVlcnkg4Lir4LiyIEFjdGl2ZSBWZXJzaW9uIOC4peC5iOC4suC4quC4uOC4lOC5hOC4lOC5ieC5gOC4o+C5h+C4p1xuZXhwb3J0IGNsYXNzIFdvcmtmbG93RGVmaW5pdGlvbiB7XG4gIEBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uKCd1dWlkJylcbiAgaWQhOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGxlbmd0aDogNTAsIGNvbW1lbnQ6ICfguKPguKvguLHguKogV29ya2Zsb3cg4LmA4LiK4LmI4LiZIFJGQSwgQ09SUiwgTEVBVkVfUkVRJyB9KVxuICB3b3JrZmxvd19jb2RlITogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6ICdpbnQnLFxuICAgIGRlZmF1bHQ6IDEsXG4gICAgY29tbWVudDogJ+C4q+C4oeC4suC4ouC5gOC4peC4giBWZXJzaW9uIChSdW5uaW5nIHNlcXVlbmNlKScsXG4gIH0pXG4gIHZlcnNpb24hOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd0ZXh0JywgbnVsbGFibGU6IHRydWUsIGNvbW1lbnQ6ICfguITguLPguK3guJjguLTguJrguLLguKLguYDguJ7guLTguYjguKHguYDguJXguLTguKEnIH0pXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6ICdqc29uJyxcbiAgICBjb21tZW50OiAnUmF3IERTTCDguJfguLXguYggVXNlci9BZG1pbiDguYDguILguLXguKLguJkgKOC5gOC4geC5h+C4muC5hOC4p+C5ieC5gOC4nuC4t+C5iOC4reC4lOC4ueC4q+C4o+C4t+C4reC5geC4geC5ieC5hOC4giknLFxuICB9KVxuICBkc2whOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjsgLy8gUmF3V29ya2Zsb3dEU0wgfCBXb3JrZmxvd0RzbFxuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6ICdqc29uJyxcbiAgICBjb21tZW50OlxuICAgICAgJ0NvbXBpbGVkIEpTT04gU3RydWN0dXJlIOC4l+C4teC5iOC4nOC5iOC4suC4meC4geC4suC4oyBWYWxpZGF0ZSDguYHguKXguLAgT3B0aW1pemUg4Liq4Liz4Lir4Lij4Lix4LiaIFJ1bnRpbWUgRW5naW5lIOC5geC4peC5ieC4pycsXG4gIH0pXG4gIGNvbXBpbGVkITogUmVjb3JkPHN0cmluZywgdW5rbm93bj47IC8vIENvbXBpbGVkV29ya2Zsb3cgfCBXb3JrZmxvd0RzbFxuXG4gIEBDb2x1bW4oeyBkZWZhdWx0OiB0cnVlLCBjb21tZW50OiAn4Liq4LiW4Liy4LiZ4Liw4LiB4Liy4Lij4LmD4LiK4LmJ4LiH4Liy4LiZIChTb2Z0IERpc2FibGUpJyB9KVxuICBpc19hY3RpdmUhOiBib29sZWFuO1xuXG4gIEBDcmVhdGVEYXRlQ29sdW1uKHsgbmFtZTogJ2NyZWF0ZWRfYXQnIH0pXG4gIGNyZWF0ZWRfYXQhOiBEYXRlO1xuXG4gIEBVcGRhdGVEYXRlQ29sdW1uKHsgbmFtZTogJ3VwZGF0ZWRfYXQnIH0pXG4gIHVwZGF0ZWRfYXQhOiBEYXRlO1xufVxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\workflow-engine\\entities\\workflow-definition.entity.ts","mappings":";AAAA,2EAA2E;;;;;;;;;;;;;AAE3E,qCAQiB;AAEjB;;;GAGG;AAII,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAsC9B,CAAA;AAtCY,gDAAkB;AAE7B;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;8CACnB;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;;yDACpD;AAOvB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,oCAAoC;KAC9C,CAAC;;mDACe;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;;uDAClD;AAMrB;IAJC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,wDAAwD;KAClE,CAAC;kDACI,MAAM,oBAAN,MAAM;+CAAkB;AAO9B;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EACL,qFAAqF;KACxF,CAAC;kDACS,MAAM,oBAAN,MAAM;oDAAkB;AAGnC;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;;qDAChD;AAGpB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC5B,IAAI,oBAAJ,IAAI;sDAAC;AAGlB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC5B,IAAI,oBAAJ,IAAI;sDAAC;6BArCP,kBAAkB;IAH9B,IAAA,gBAAM,EAAC,sBAAsB,CAAC;IAC9B,IAAA,gBAAM,EAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,0CAA0C;;IAC/E,IAAA,eAAK,EAAC,CAAC,eAAe,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,iDAAiD;GACtF,kBAAkB,CAsC9B","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\workflow-engine\\entities\\workflow-definition.entity.ts"],"sourcesContent":["// File: src/modules/workflow-engine/entities/workflow-definition.entity.ts\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n PrimaryGeneratedColumn,\n Unique,\n UpdateDateColumn,\n} from 'typeorm';\n\n/**\n * เก็บแม่แบบ (Blueprint) ของ Workflow\n * 1 Workflow Code (เช่น RFA) สามารถมีได้หลาย Version\n */\n@Entity('workflow_definitions')\n@Unique(['workflow_code', 'version']) // ป้องกัน Version ซ้ำใน Workflow เดียวกัน\n@Index(['workflow_code', 'is_active', 'version']) // เพื่อการ Query หา Active Version ล่าสุดได้เร็ว\nexport class WorkflowDefinition {\n @PrimaryGeneratedColumn('uuid')\n id!: string;\n\n @Column({ length: 50, comment: 'รหัส Workflow เช่น RFA, CORR, LEAVE_REQ' })\n workflow_code!: string;\n\n @Column({\n type: 'int',\n default: 1,\n comment: 'หมายเลข Version (Running sequence)',\n })\n version!: number;\n\n @Column({ type: 'text', nullable: true, comment: 'คำอธิบายเพิ่มเติม' })\n description?: string;\n\n @Column({\n type: 'json',\n comment: 'Raw DSL ที่ User/Admin เขียน (เก็บไว้เพื่อดูหรือแก้ไข)',\n })\n dsl!: Record<string, unknown>; // RawWorkflowDSL | WorkflowDsl\n\n @Column({\n type: 'json',\n comment:\n 'Compiled JSON Structure ที่ผ่านการ Validate และ Optimize สำหรับ Runtime Engine แล้ว',\n })\n compiled!: Record<string, unknown>; // CompiledWorkflow | WorkflowDsl\n\n @Column({ default: true, comment: 'สถานะการใช้งาน (Soft Disable)' })\n is_active!: boolean;\n\n @CreateDateColumn({ name: 'created_at' })\n created_at!: Date;\n\n @UpdateDateColumn({ name: 'updated_at' })\n updated_at!: Date;\n}\n"],"version":3}
|
||||
+92
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\drawing\\entities\\asbuilt-drawing.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAUiB;AACjB,0EAAgE;AAChE,uFAA2E;AAC3E,iEAAuD;AACvD,2FAA8E;AAC9E,yFAA4E;AAC5E,gFAA2E;AAC3E,yDAA4C;AAGrC,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,iCAAc;CAsDjD,CAAA;AAtDY,wCAAc;AAGzB;IAFC,IAAA,gCAAsB,GAAE;IACxB,IAAA,2BAAO,GAAE;;0CACE;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;iDACZ;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;qDACvC;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;;sDACb;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;qDACb;AAGvB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;iDAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;iDAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;iDAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAC5B;AAKnB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;IACxB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDACzB,wBAAO,oBAAP,wBAAO;+CAAC;AAIlB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2DAAuB,CAAC;IACxC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;kDAC1B,2DAAuB,oBAAvB,2DAAuB;oDAAC;AAIvC;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,yDAAsB,CAAC;IACvC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;kDAC1B,yDAAsB,oBAAtB,yDAAsB;mDAAC;AAIrC;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,CAAC;IACrB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDACzB,kBAAI,oBAAJ,kBAAI;+CAAC;AASf;IAPC,IAAA,mBAAS,EACR,GAAG,EAAE,CAAC,wDAAsB,EAC5B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,EACrC;QACE,OAAO,EAAE,IAAI;KACd,CACF;;iDACoC;yBArD1B,cAAc;IAD1B,IAAA,gBAAM,EAAC,kBAAkB,CAAC;GACd,cAAc,CAsD1B","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\drawing\\entities\\asbuilt-drawing.entity.ts"],"sourcesContent":["import {\n Entity,\n PrimaryGeneratedColumn,\n Column,\n CreateDateColumn,\n UpdateDateColumn,\n DeleteDateColumn,\n ManyToOne,\n OneToMany,\n JoinColumn,\n} from 'typeorm';\nimport { Project } from '../../project/entities/project.entity';\nimport { AsBuiltDrawingRevision } from './asbuilt-drawing-revision.entity';\nimport { User } from '../../user/entities/user.entity';\nimport { ShopDrawingMainCategory } from './shop-drawing-main-category.entity';\nimport { ShopDrawingSubCategory } from './shop-drawing-sub-category.entity';\nimport { UuidBaseEntity } from '../../../common/entities/uuid-base.entity';\nimport { Exclude } from 'class-transformer';\n\n@Entity('asbuilt_drawings')\nexport class AsBuiltDrawing extends UuidBaseEntity {\n @PrimaryGeneratedColumn()\n @Exclude()\n id!: number;\n\n @Column({ name: 'project_id' })\n projectId!: number;\n\n @Column({ name: 'drawing_number', length: 100, unique: true })\n drawingNumber!: string;\n\n @Column({ name: 'main_category_id' })\n mainCategoryId!: number;\n\n @Column({ name: 'sub_category_id' })\n subCategoryId!: number;\n\n @CreateDateColumn({ name: 'created_at' })\n createdAt!: Date;\n\n @UpdateDateColumn({ name: 'updated_at' })\n updatedAt!: Date;\n\n @DeleteDateColumn({ name: 'deleted_at' })\n deletedAt?: Date;\n\n @Column({ name: 'updated_by', nullable: true })\n updatedBy?: number;\n\n // Relations\n @ManyToOne(() => Project)\n @JoinColumn({ name: 'project_id' })\n project!: Project;\n\n @ManyToOne(() => ShopDrawingMainCategory)\n @JoinColumn({ name: 'main_category_id' })\n mainCategory!: ShopDrawingMainCategory;\n\n @ManyToOne(() => ShopDrawingSubCategory)\n @JoinColumn({ name: 'sub_category_id' })\n subCategory!: ShopDrawingSubCategory;\n\n @ManyToOne(() => User)\n @JoinColumn({ name: 'updated_by' })\n updater?: User;\n\n @OneToMany(\n () => AsBuiltDrawingRevision,\n (revision) => revision.asBuiltDrawing,\n {\n cascade: true,\n }\n )\n revisions!: AsBuiltDrawingRevision[];\n}\n"],"version":3}
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
32ac68079d2b38007d04eccf43854c98
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.MigrationError = exports.MigrationErrorType = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
var MigrationErrorType;
|
||||
(function (MigrationErrorType) {
|
||||
MigrationErrorType["FILE_NOT_FOUND"] = "FILE_NOT_FOUND";
|
||||
MigrationErrorType["MISSING_FILENAME"] = "MISSING_FILENAME";
|
||||
MigrationErrorType["FILE_ERROR"] = "FILE_ERROR";
|
||||
MigrationErrorType["AI_PARSE_ERROR"] = "AI_PARSE_ERROR";
|
||||
MigrationErrorType["API_ERROR"] = "API_ERROR";
|
||||
MigrationErrorType["DB_ERROR"] = "DB_ERROR";
|
||||
MigrationErrorType["SECURITY"] = "SECURITY";
|
||||
MigrationErrorType["UNKNOWN"] = "UNKNOWN";
|
||||
})(MigrationErrorType || (exports.MigrationErrorType = MigrationErrorType = {}));
|
||||
let MigrationError = class MigrationError {
|
||||
};
|
||||
exports.MigrationError = MigrationError;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], MigrationError.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'batch_id', length: 50, nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], MigrationError.prototype, "batchId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'document_number', length: 100, nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], MigrationError.prototype, "documentNumber", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({
|
||||
name: 'error_type',
|
||||
type: 'enum',
|
||||
enum: MigrationErrorType,
|
||||
nullable: true,
|
||||
}),
|
||||
__metadata("design:type", String)
|
||||
], MigrationError.prototype, "errorType", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'error_message', type: 'text', nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], MigrationError.prototype, "errorMessage", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'raw_ai_response', type: 'text', nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], MigrationError.prototype, "rawAiResponse", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
|
||||
__metadata("design:type", typeof (_a = typeof Date !== "undefined" && Date) === "function" ? _a : Object)
|
||||
], MigrationError.prototype, "createdAt", void 0);
|
||||
exports.MigrationError = MigrationError = __decorate([
|
||||
(0, typeorm_1.Entity)('migration_errors')
|
||||
], MigrationError);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcbWlncmF0aW9uXFxlbnRpdGllc1xcbWlncmF0aW9uLWVycm9yLmVudGl0eS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEscUNBS2lCO0FBRWpCLElBQVksa0JBU1g7QUFURCxXQUFZLGtCQUFrQjtJQUM1Qix1REFBaUMsQ0FBQTtJQUNqQywyREFBcUMsQ0FBQTtJQUNyQywrQ0FBeUIsQ0FBQTtJQUN6Qix1REFBaUMsQ0FBQTtJQUNqQyw2Q0FBdUIsQ0FBQTtJQUN2QiwyQ0FBcUIsQ0FBQTtJQUNyQiwyQ0FBcUIsQ0FBQTtJQUNyQix5Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBVFcsa0JBQWtCLGtDQUFsQixrQkFBa0IsUUFTN0I7QUFHTSxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjO0NBMEIxQixDQUFBO0FBMUJZLHdDQUFjO0FBRXpCO0lBREMsSUFBQSxnQ0FBc0IsR0FBRTs7MENBQ2I7QUFHWjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7OytDQUN4QztBQUdqQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7c0RBQ3pDO0FBUXhCO0lBTkMsSUFBQSxnQkFBTSxFQUFDO1FBQ04sSUFBSSxFQUFFLFlBQVk7UUFDbEIsSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQzs7aURBQzZCO0FBRy9CO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7b0RBQzFDO0FBR3RCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOztxREFDM0M7QUFHdkI7SUFEQyxJQUFBLDBCQUFnQixFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2tEQUM3QixJQUFJLG9CQUFKLElBQUk7aURBQUM7eUJBekJOLGNBQWM7SUFEMUIsSUFBQSxnQkFBTSxFQUFDLGtCQUFrQixDQUFDO0dBQ2QsY0FBYyxDQTBCMUIiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcbWlncmF0aW9uXFxlbnRpdGllc1xcbWlncmF0aW9uLWVycm9yLmVudGl0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHksXG4gIENvbHVtbixcbiAgUHJpbWFyeUdlbmVyYXRlZENvbHVtbixcbiAgQ3JlYXRlRGF0ZUNvbHVtbixcbn0gZnJvbSAndHlwZW9ybSc7XG5cbmV4cG9ydCBlbnVtIE1pZ3JhdGlvbkVycm9yVHlwZSB7XG4gIEZJTEVfTk9UX0ZPVU5EID0gJ0ZJTEVfTk9UX0ZPVU5EJyxcbiAgTUlTU0lOR19GSUxFTkFNRSA9ICdNSVNTSU5HX0ZJTEVOQU1FJyxcbiAgRklMRV9FUlJPUiA9ICdGSUxFX0VSUk9SJyxcbiAgQUlfUEFSU0VfRVJST1IgPSAnQUlfUEFSU0VfRVJST1InLFxuICBBUElfRVJST1IgPSAnQVBJX0VSUk9SJyxcbiAgREJfRVJST1IgPSAnREJfRVJST1InLFxuICBTRUNVUklUWSA9ICdTRUNVUklUWScsXG4gIFVOS05PV04gPSAnVU5LTk9XTicsXG59XG5cbkBFbnRpdHkoJ21pZ3JhdGlvbl9lcnJvcnMnKVxuZXhwb3J0IGNsYXNzIE1pZ3JhdGlvbkVycm9yIHtcbiAgQFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4oKVxuICBpZCE6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgbmFtZTogJ2JhdGNoX2lkJywgbGVuZ3RoOiA1MCwgbnVsbGFibGU6IHRydWUgfSlcbiAgYmF0Y2hJZD86IHN0cmluZztcblxuICBAQ29sdW1uKHsgbmFtZTogJ2RvY3VtZW50X251bWJlcicsIGxlbmd0aDogMTAwLCBudWxsYWJsZTogdHJ1ZSB9KVxuICBkb2N1bWVudE51bWJlcj86IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICBuYW1lOiAnZXJyb3JfdHlwZScsXG4gICAgdHlwZTogJ2VudW0nLFxuICAgIGVudW06IE1pZ3JhdGlvbkVycm9yVHlwZSxcbiAgICBudWxsYWJsZTogdHJ1ZSxcbiAgfSlcbiAgZXJyb3JUeXBlPzogTWlncmF0aW9uRXJyb3JUeXBlO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnZXJyb3JfbWVzc2FnZScsIHR5cGU6ICd0ZXh0JywgbnVsbGFibGU6IHRydWUgfSlcbiAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAncmF3X2FpX3Jlc3BvbnNlJywgdHlwZTogJ3RleHQnLCBudWxsYWJsZTogdHJ1ZSB9KVxuICByYXdBaVJlc3BvbnNlPzogc3RyaW5nO1xuXG4gIEBDcmVhdGVEYXRlQ29sdW1uKHsgbmFtZTogJ2NyZWF0ZWRfYXQnIH0pXG4gIGNyZWF0ZWRBdCE6IERhdGU7XG59XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\entities\\migration-error.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAKiB;AAEjB,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,uDAAiC,CAAA;IACjC,2DAAqC,CAAA;IACrC,+CAAyB,CAAA;IACzB,uDAAiC,CAAA;IACjC,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;AACrB,CAAC,EATW,kBAAkB,kCAAlB,kBAAkB,QAS7B;AAGM,IAAM,cAAc,GAApB,MAAM,cAAc;CA0B1B,CAAA;AA1BY,wCAAc;AAEzB;IADC,IAAA,gCAAsB,GAAE;;0CACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACxC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACzC;AAQxB;IANC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,IAAI;KACf,CAAC;;iDAC6B;AAG/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDAC1C;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDAC3C;AAGvB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;iDAAC;yBAzBN,cAAc;IAD1B,IAAA,gBAAM,EAAC,kBAAkB,CAAC;GACd,cAAc,CA0B1B","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\entities\\migration-error.entity.ts"],"sourcesContent":["import {\n Entity,\n Column,\n PrimaryGeneratedColumn,\n CreateDateColumn,\n} from 'typeorm';\n\nexport enum MigrationErrorType {\n FILE_NOT_FOUND = 'FILE_NOT_FOUND',\n MISSING_FILENAME = 'MISSING_FILENAME',\n FILE_ERROR = 'FILE_ERROR',\n AI_PARSE_ERROR = 'AI_PARSE_ERROR',\n API_ERROR = 'API_ERROR',\n DB_ERROR = 'DB_ERROR',\n SECURITY = 'SECURITY',\n UNKNOWN = 'UNKNOWN',\n}\n\n@Entity('migration_errors')\nexport class MigrationError {\n @PrimaryGeneratedColumn()\n id!: number;\n\n @Column({ name: 'batch_id', length: 50, nullable: true })\n batchId?: string;\n\n @Column({ name: 'document_number', length: 100, nullable: true })\n documentNumber?: string;\n\n @Column({\n name: 'error_type',\n type: 'enum',\n enum: MigrationErrorType,\n nullable: true,\n })\n errorType?: MigrationErrorType;\n\n @Column({ name: 'error_message', type: 'text', nullable: true })\n errorMessage?: string;\n\n @Column({ name: 'raw_ai_response', type: 'text', nullable: true })\n rawAiResponse?: string;\n\n @CreateDateColumn({ name: 'created_at' })\n createdAt!: Date;\n}\n"],"version":3}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
4dc6995f8803356fdeda634f4e7937a5
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Permission = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
let Permission = class Permission {
|
||||
};
|
||||
exports.Permission = Permission;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)({ name: 'permission_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], Permission.prototype, "permissionId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'permission_name', length: 100, unique: true }),
|
||||
__metadata("design:type", String)
|
||||
], Permission.prototype, "permissionName", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], Permission.prototype, "description", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ length: 50, nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], Permission.prototype, "module", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({
|
||||
name: 'scope_level',
|
||||
type: 'enum',
|
||||
enum: ['GLOBAL', 'ORG', 'PROJECT'],
|
||||
nullable: true,
|
||||
}),
|
||||
__metadata("design:type", String)
|
||||
], Permission.prototype, "scopeLevel", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'is_active', default: true }),
|
||||
__metadata("design:type", Boolean)
|
||||
], Permission.prototype, "isActive", void 0);
|
||||
exports.Permission = Permission = __decorate([
|
||||
(0, typeorm_1.Entity)('permissions')
|
||||
], Permission);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcdXNlclxcZW50aXRpZXNcXHBlcm1pc3Npb24uZW50aXR5LnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHFDQUFpRTtBQUcxRCxJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFVO0NBdUJ0QixDQUFBO0FBdkJZLGdDQUFVO0FBRXJCO0lBREMsSUFBQSxnQ0FBc0IsRUFBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQzs7Z0RBQzVCO0FBR3RCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDOztrREFDdkM7QUFHeEI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7K0NBQ3BCO0FBR3JCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7OzBDQUN2QjtBQVFoQjtJQU5DLElBQUEsZ0JBQU0sRUFBQztRQUNOLElBQUksRUFBRSxhQUFhO1FBQ25CLElBQUksRUFBRSxNQUFNO1FBQ1osSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUM7UUFDbEMsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDOzs4Q0FDa0I7QUFHcEI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzs7NENBQzFCO3FCQXRCUixVQUFVO0lBRHRCLElBQUEsZ0JBQU0sRUFBQyxhQUFhLENBQUM7R0FDVCxVQUFVLENBdUJ0QiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxtb2R1bGVzXFx1c2VyXFxlbnRpdGllc1xccGVybWlzc2lvbi5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5LCBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uLCBDb2x1bW4gfSBmcm9tICd0eXBlb3JtJztcblxuQEVudGl0eSgncGVybWlzc2lvbnMnKVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb24ge1xuICBAUHJpbWFyeUdlbmVyYXRlZENvbHVtbih7IG5hbWU6ICdwZXJtaXNzaW9uX2lkJyB9KVxuICBwZXJtaXNzaW9uSWQhOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IG5hbWU6ICdwZXJtaXNzaW9uX25hbWUnLCBsZW5ndGg6IDEwMCwgdW5pcXVlOiB0cnVlIH0pXG4gIHBlcm1pc3Npb25OYW1lITogc3RyaW5nOyAvLyBlLmcuLCAncmZhLmNyZWF0ZSdcblxuICBAQ29sdW1uKHsgdHlwZTogJ3RleHQnLCBudWxsYWJsZTogdHJ1ZSB9KVxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgbGVuZ3RoOiA1MCwgbnVsbGFibGU6IHRydWUgfSlcbiAgbW9kdWxlPzogc3RyaW5nOyAvLyBlLmcuLCAncmZhJywgJ3VzZXInXG5cbiAgQENvbHVtbih7XG4gICAgbmFtZTogJ3Njb3BlX2xldmVsJyxcbiAgICB0eXBlOiAnZW51bScsXG4gICAgZW51bTogWydHTE9CQUwnLCAnT1JHJywgJ1BST0pFQ1QnXSxcbiAgICBudWxsYWJsZTogdHJ1ZSxcbiAgfSlcbiAgc2NvcGVMZXZlbD86IHN0cmluZztcblxuICBAQ29sdW1uKHsgbmFtZTogJ2lzX2FjdGl2ZScsIGRlZmF1bHQ6IHRydWUgfSlcbiAgaXNBY3RpdmUhOiBib29sZWFuO1xufVxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\user\\entities\\permission.entity.ts","mappings":";;;;;;;;;;;;AAAA,qCAAiE;AAG1D,IAAM,UAAU,GAAhB,MAAM,UAAU;CAuBtB,CAAA;AAvBY,gCAAU;AAErB;IADC,IAAA,gCAAsB,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;gDAC5B;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;kDACvC;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACpB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACvB;AAQhB;IANC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC;QAClC,QAAQ,EAAE,IAAI;KACf,CAAC;;8CACkB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4CAC1B;qBAtBR,UAAU;IADtB,IAAA,gBAAM,EAAC,aAAa,CAAC;GACT,UAAU,CAuBtB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\user\\entities\\permission.entity.ts"],"sourcesContent":["import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';\n\n@Entity('permissions')\nexport class Permission {\n @PrimaryGeneratedColumn({ name: 'permission_id' })\n permissionId!: number;\n\n @Column({ name: 'permission_name', length: 100, unique: true })\n permissionName!: string; // e.g., 'rfa.create'\n\n @Column({ type: 'text', nullable: true })\n description?: string;\n\n @Column({ length: 50, nullable: true })\n module?: string; // e.g., 'rfa', 'user'\n\n @Column({\n name: 'scope_level',\n type: 'enum',\n enum: ['GLOBAL', 'ORG', 'PROJECT'],\n nullable: true,\n })\n scopeLevel?: string;\n\n @Column({ name: 'is_active', default: true })\n isActive!: boolean;\n}\n"],"version":3}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
a0270716512918f9ee7c4efee47d37ba
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.RfaApproveCode = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
let RfaApproveCode = class RfaApproveCode {
|
||||
};
|
||||
exports.RfaApproveCode = RfaApproveCode;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], RfaApproveCode.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'approve_code', length: 20, unique: true }),
|
||||
__metadata("design:type", String)
|
||||
], RfaApproveCode.prototype, "approveCode", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'approve_name', length: 100 }),
|
||||
__metadata("design:type", String)
|
||||
], RfaApproveCode.prototype, "approveName", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], RfaApproveCode.prototype, "description", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'sort_order', default: 0 }),
|
||||
__metadata("design:type", Number)
|
||||
], RfaApproveCode.prototype, "sortOrder", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'is_active', default: true }),
|
||||
__metadata("design:type", Boolean)
|
||||
], RfaApproveCode.prototype, "isActive", void 0);
|
||||
exports.RfaApproveCode = RfaApproveCode = __decorate([
|
||||
(0, typeorm_1.Entity)('rfa_approve_codes')
|
||||
], RfaApproveCode);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xccmZhXFxlbnRpdGllc1xccmZhLWFwcHJvdmUtY29kZS5lbnRpdHkudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEscUNBQWlFO0FBRzFELElBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWM7Q0FrQjFCLENBQUE7QUFsQlksd0NBQWM7QUFFekI7SUFEQyxJQUFBLGdDQUFzQixHQUFFOzswQ0FDYjtBQUdaO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzs7bURBQ3RDO0FBR3JCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7O21EQUN6QjtBQUdyQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOzttREFDcEI7QUFHckI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQzs7aURBQ3hCO0FBR25CO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7O2dEQUMxQjt5QkFqQlIsY0FBYztJQUQxQixJQUFBLGdCQUFNLEVBQUMsbUJBQW1CLENBQUM7R0FDZixjQUFjLENBa0IxQiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxtb2R1bGVzXFxyZmFcXGVudGl0aWVzXFxyZmEtYXBwcm92ZS1jb2RlLmVudGl0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHksIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4sIENvbHVtbiB9IGZyb20gJ3R5cGVvcm0nO1xuXG5ARW50aXR5KCdyZmFfYXBwcm92ZV9jb2RlcycpXG5leHBvcnQgY2xhc3MgUmZhQXBwcm92ZUNvZGUge1xuICBAUHJpbWFyeUdlbmVyYXRlZENvbHVtbigpXG4gIGlkITogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnYXBwcm92ZV9jb2RlJywgbGVuZ3RoOiAyMCwgdW5pcXVlOiB0cnVlIH0pXG4gIGFwcHJvdmVDb2RlITogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnYXBwcm92ZV9uYW1lJywgbGVuZ3RoOiAxMDAgfSlcbiAgYXBwcm92ZU5hbWUhOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd0ZXh0JywgbnVsbGFibGU6IHRydWUgfSlcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IG5hbWU6ICdzb3J0X29yZGVyJywgZGVmYXVsdDogMCB9KVxuICBzb3J0T3JkZXIhOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IG5hbWU6ICdpc19hY3RpdmUnLCBkZWZhdWx0OiB0cnVlIH0pXG4gIGlzQWN0aXZlITogYm9vbGVhbjtcbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-approve-code.entity.ts","mappings":";;;;;;;;;;;;AAAA,qCAAiE;AAG1D,IAAM,cAAc,GAApB,MAAM,cAAc;CAkB1B,CAAA;AAlBY,wCAAc;AAEzB;IADC,IAAA,gCAAsB,GAAE;;0CACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;mDACtC;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;mDACzB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACpB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACxB;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;gDAC1B;yBAjBR,cAAc;IAD1B,IAAA,gBAAM,EAAC,mBAAmB,CAAC;GACf,cAAc,CAkB1B","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-approve-code.entity.ts"],"sourcesContent":["import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';\n\n@Entity('rfa_approve_codes')\nexport class RfaApproveCode {\n @PrimaryGeneratedColumn()\n id!: number;\n\n @Column({ name: 'approve_code', length: 20, unique: true })\n approveCode!: string;\n\n @Column({ name: 'approve_name', length: 100 })\n approveName!: string;\n\n @Column({ type: 'text', nullable: true })\n description?: string;\n\n @Column({ name: 'sort_order', default: 0 })\n sortOrder!: number;\n\n @Column({ name: 'is_active', default: true })\n isActive!: boolean;\n}\n"],"version":3}
|
||||
+54
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\common\\guards\\rbac.guard.ts","mappings":";;;;;;;;;;;;;AAAA,2CAKwB;AACxB,uCAAyC;AACzC,6FAA6E;AAC7E,kEAA8D;AAQvD,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB,YACU,SAAoB,EACpB,WAAwB;QADxB,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAa;IAC/B,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,4CAA4C;QAC5C,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAC1D,8CAAe,EACf,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC3C,CAAC;QAEF,yCAAyC;QACzC,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,uDAAuD;QACvD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAmB,CAAC;QACrE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,2BAAkB,CAAC,2BAA2B,CAAC,CAAC;QAC5D,CAAC;QAED,wDAAwD;QACxD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAC/D,IAAI,CAAC,OAAO,CAAC,2CAA2C;SACzD,CAAC;QAEF,gEAAgE;QAChE,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACtD,eAAe,CAAC,IAAI,CAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,mBAAmB,CAAC,2BAA2B;SAC1E,CACF,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,2BAAkB,CAC1B,+BAA+B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA7CY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,GAAE;yDAGU,gBAAS,oBAAT,gBAAS,oDACP,0BAAW,oBAAX,0BAAW;GAHvB,SAAS,CA6CrB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\common\\guards\\rbac.guard.ts"],"sourcesContent":["import {\n CanActivate,\n ExecutionContext,\n Injectable,\n ForbiddenException,\n} from '@nestjs/common';\nimport { Reflector } from '@nestjs/core';\nimport { PERMISSIONS_KEY } from '../decorators/require-permission.decorator';\nimport { UserService } from '../../modules/user/user.service';\nimport { User } from '../../modules/user/entities/user.entity';\n\ninterface RequestWithUser {\n user?: User;\n}\n\n@Injectable()\nexport class RbacGuard implements CanActivate {\n constructor(\n private reflector: Reflector,\n private userService: UserService\n ) {}\n\n async canActivate(context: ExecutionContext): Promise<boolean> {\n // 1. ดูว่า Controller นี้ต้องการสิทธิ์อะไร?\n const requiredPermissions = this.reflector.getAllAndOverride<string[]>(\n PERMISSIONS_KEY,\n [context.getHandler(), context.getClass()]\n );\n\n // ถ้าไม่ต้องการสิทธิ์อะไรเลย ก็ปล่อยผ่าน\n if (!requiredPermissions || requiredPermissions.length === 0) {\n return true;\n }\n\n // 2. ดึง User จาก Request (ที่ JwtAuthGuard แปะไว้ให้)\n const request = context.switchToHttp().getRequest<RequestWithUser>();\n const user = request.user;\n if (!user) {\n throw new ForbiddenException('User not found in request');\n }\n\n // 3. (สำคัญ) ดึงสิทธิ์ทั้งหมดของ User คนนี้จาก Database\n const userPermissions = await this.userService.getUserPermissions(\n user.user_id // ✅ FIX: ใช้ user_id ตาม Entity field name\n );\n\n // 4. ตรวจสอบว่ามีสิทธิ์ที่ต้องการไหม? (User ต้องมีครบทุกสิทธิ์)\n const hasPermission = requiredPermissions.every((req) =>\n userPermissions.some(\n (p) => p === req || p === 'system.manage_all' // Superadmin ทะลุทุกสิทธิ์\n )\n );\n\n if (!hasPermission) {\n throw new ForbiddenException(\n `You do not have permission: ${requiredPermissions.join(', ')}`\n );\n }\n\n return true;\n }\n}\n"],"version":3}
|
||||
+115
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+16
@@ -0,0 +1,16 @@
|
||||
4f0b13d6135bf2c077974b3e858be63c
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.URL = exports.DNS = void 0;
|
||||
const sha1_js_1 = require("./sha1.js");
|
||||
const v35_js_1 = require("./v35.js");
|
||||
var v35_js_2 = require("./v35.js");
|
||||
Object.defineProperty(exports, "DNS", { enumerable: true, get: function () { return v35_js_2.DNS; } });
|
||||
Object.defineProperty(exports, "URL", { enumerable: true, get: function () { return v35_js_2.URL; } });
|
||||
function v5(value, namespace, buf, offset) {
|
||||
return (0, v35_js_1.default)(0x50, sha1_js_1.default, value, namespace, buf, offset);
|
||||
}
|
||||
v5.DNS = v35_js_1.DNS;
|
||||
v5.URL = v35_js_1.URL;
|
||||
exports.default = v5;
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXG5vZGVfbW9kdWxlc1xcLnBucG1cXHV1aWRAMTEuMS4wXFxub2RlX21vZHVsZXNcXHV1aWRcXGRpc3RcXGNqc1xcdjUuanMiLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBQ2IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDOUQsT0FBTyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQ25DLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN2QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDckMsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ25DLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLGNBQWMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN2RyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxjQUFjLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkcsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTTtJQUNyQyxPQUFPLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN6RixDQUFDO0FBQ0QsRUFBRSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO0FBQ3RCLEVBQUUsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztBQUN0QixPQUFPLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcbm9kZV9tb2R1bGVzXFwucG5wbVxcdXVpZEAxMS4xLjBcXG5vZGVfbW9kdWxlc1xcdXVpZFxcZGlzdFxcY2pzXFx2NS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuVVJMID0gZXhwb3J0cy5ETlMgPSB2b2lkIDA7XG5jb25zdCBzaGExX2pzXzEgPSByZXF1aXJlKFwiLi9zaGExLmpzXCIpO1xuY29uc3QgdjM1X2pzXzEgPSByZXF1aXJlKFwiLi92MzUuanNcIik7XG52YXIgdjM1X2pzXzIgPSByZXF1aXJlKFwiLi92MzUuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJETlNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHYzNV9qc18yLkROUzsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlVSTFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdjM1X2pzXzIuVVJMOyB9IH0pO1xuZnVuY3Rpb24gdjUodmFsdWUsIG5hbWVzcGFjZSwgYnVmLCBvZmZzZXQpIHtcbiAgICByZXR1cm4gKDAsIHYzNV9qc18xLmRlZmF1bHQpKDB4NTAsIHNoYTFfanNfMS5kZWZhdWx0LCB2YWx1ZSwgbmFtZXNwYWNlLCBidWYsIG9mZnNldCk7XG59XG52NS5ETlMgPSB2MzVfanNfMS5ETlM7XG52NS5VUkwgPSB2MzVfanNfMS5VUkw7XG5leHBvcnRzLmRlZmF1bHQgPSB2NTtcbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\v5.js","mappings":"AAAA,YAAY,CAAC;AACb,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;AACnC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACrC,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvG,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM;IACrC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AACzF,CAAC;AACD,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;AACtB,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;AACtB,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\v5.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URL = exports.DNS = void 0;\nconst sha1_js_1 = require(\"./sha1.js\");\nconst v35_js_1 = require(\"./v35.js\");\nvar v35_js_2 = require(\"./v35.js\");\nObject.defineProperty(exports, \"DNS\", { enumerable: true, get: function () { return v35_js_2.DNS; } });\nObject.defineProperty(exports, \"URL\", { enumerable: true, get: function () { return v35_js_2.URL; } });\nfunction v5(value, namespace, buf, offset) {\n return (0, v35_js_1.default)(0x50, sha1_js_1.default, value, namespace, buf, offset);\n}\nv5.DNS = v35_js_1.DNS;\nv5.URL = v35_js_1.URL;\nexports.default = v5;\n"],"version":3}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
a1c2d0819481fdf8c2ca438feda317f8
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a, _b, _c;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.RfaWorkflowTemplate = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const rfa_workflow_template_step_entity_1 = require("./rfa-workflow-template-step.entity");
|
||||
let RfaWorkflowTemplate = class RfaWorkflowTemplate {
|
||||
};
|
||||
exports.RfaWorkflowTemplate = RfaWorkflowTemplate;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], RfaWorkflowTemplate.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'template_name', length: 100 }),
|
||||
__metadata("design:type", String)
|
||||
], RfaWorkflowTemplate.prototype, "templateName", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], RfaWorkflowTemplate.prototype, "description", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'is_active', default: true }),
|
||||
__metadata("design:type", Boolean)
|
||||
], RfaWorkflowTemplate.prototype, "isActive", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ type: 'json', nullable: true }),
|
||||
__metadata("design:type", typeof (_a = typeof Record !== "undefined" && Record) === "function" ? _a : Object)
|
||||
], RfaWorkflowTemplate.prototype, "workflowConfig", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
|
||||
__metadata("design:type", typeof (_b = typeof Date !== "undefined" && Date) === "function" ? _b : Object)
|
||||
], RfaWorkflowTemplate.prototype, "createdAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
|
||||
__metadata("design:type", typeof (_c = typeof Date !== "undefined" && Date) === "function" ? _c : Object)
|
||||
], RfaWorkflowTemplate.prototype, "updatedAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.OneToMany)(() => rfa_workflow_template_step_entity_1.RfaWorkflowTemplateStep, (step) => step.template, {
|
||||
cascade: true,
|
||||
}),
|
||||
__metadata("design:type", Array)
|
||||
], RfaWorkflowTemplate.prototype, "steps", void 0);
|
||||
exports.RfaWorkflowTemplate = RfaWorkflowTemplate = __decorate([
|
||||
(0, typeorm_1.Entity)('rfa_workflow_templates')
|
||||
], RfaWorkflowTemplate);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xccmZhXFxlbnRpdGllc1xccmZhLXdvcmtmbG93LXRlbXBsYXRlLmVudGl0eS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEscUNBT2lCO0FBQ2pCLDJGQUE4RTtBQUd2RSxJQUFNLG1CQUFtQixHQUF6QixNQUFNLG1CQUFtQjtDQTJCL0IsQ0FBQTtBQTNCWSxrREFBbUI7QUFFOUI7SUFEQyxJQUFBLGdDQUFzQixHQUFFOzsrQ0FDYjtBQUdaO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7O3lEQUN6QjtBQUd0QjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOzt3REFDcEI7QUFHckI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzs7cURBQzFCO0FBR25CO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7a0RBQ3hCLE1BQU0sb0JBQU4sTUFBTTsyREFBa0I7QUFHekM7SUFEQyxJQUFBLDBCQUFnQixFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2tEQUM3QixJQUFJLG9CQUFKLElBQUk7c0RBQUM7QUFHakI7SUFEQyxJQUFBLDBCQUFnQixFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2tEQUM3QixJQUFJLG9CQUFKLElBQUk7c0RBQUM7QUFNakI7SUFIQyxJQUFBLG1CQUFTLEVBQUMsR0FBRyxFQUFFLENBQUMsMkRBQXVCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDakUsT0FBTyxFQUFFLElBQUk7S0FDZCxDQUFDOztrREFDZ0M7OEJBMUJ2QixtQkFBbUI7SUFEL0IsSUFBQSxnQkFBTSxFQUFDLHdCQUF3QixDQUFDO0dBQ3BCLG1CQUFtQixDQTJCL0IiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xccmZhXFxlbnRpdGllc1xccmZhLXdvcmtmbG93LXRlbXBsYXRlLmVudGl0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHksXG4gIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4sXG4gIENvbHVtbixcbiAgQ3JlYXRlRGF0ZUNvbHVtbixcbiAgVXBkYXRlRGF0ZUNvbHVtbixcbiAgT25lVG9NYW55LFxufSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IFJmYVdvcmtmbG93VGVtcGxhdGVTdGVwIH0gZnJvbSAnLi9yZmEtd29ya2Zsb3ctdGVtcGxhdGUtc3RlcC5lbnRpdHknO1xuXG5ARW50aXR5KCdyZmFfd29ya2Zsb3dfdGVtcGxhdGVzJylcbmV4cG9ydCBjbGFzcyBSZmFXb3JrZmxvd1RlbXBsYXRlIHtcbiAgQFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4oKVxuICBpZCE6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgbmFtZTogJ3RlbXBsYXRlX25hbWUnLCBsZW5ndGg6IDEwMCB9KVxuICB0ZW1wbGF0ZU5hbWUhOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd0ZXh0JywgbnVsbGFibGU6IHRydWUgfSlcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IG5hbWU6ICdpc19hY3RpdmUnLCBkZWZhdWx0OiB0cnVlIH0pXG4gIGlzQWN0aXZlITogYm9vbGVhbjtcblxuICBAQ29sdW1uKHsgdHlwZTogJ2pzb24nLCBudWxsYWJsZTogdHJ1ZSB9KVxuICB3b3JrZmxvd0NvbmZpZz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+OyAvLyBDb25maWd1cmF0aW9uIOC5gOC4nuC4tOC5iOC4oeC5gOC4leC4tOC4oVxuXG4gIEBDcmVhdGVEYXRlQ29sdW1uKHsgbmFtZTogJ2NyZWF0ZWRfYXQnIH0pXG4gIGNyZWF0ZWRBdCE6IERhdGU7XG5cbiAgQFVwZGF0ZURhdGVDb2x1bW4oeyBuYW1lOiAndXBkYXRlZF9hdCcgfSlcbiAgdXBkYXRlZEF0ITogRGF0ZTtcblxuICAvLyBSZWxhdGlvbnNcbiAgQE9uZVRvTWFueSgoKSA9PiBSZmFXb3JrZmxvd1RlbXBsYXRlU3RlcCwgKHN0ZXApID0+IHN0ZXAudGVtcGxhdGUsIHtcbiAgICBjYXNjYWRlOiB0cnVlLFxuICB9KVxuICBzdGVwcyE6IFJmYVdvcmtmbG93VGVtcGxhdGVTdGVwW107XG59XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-workflow-template.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAOiB;AACjB,2FAA8E;AAGvE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CA2B/B,CAAA;AA3BY,kDAAmB;AAE9B;IADC,IAAA,gCAAsB,GAAE;;+CACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;yDACzB;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACpB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;qDAC1B;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACxB,MAAM,oBAAN,MAAM;2DAAkB;AAGzC;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;sDAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;sDAAC;AAMjB;IAHC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2DAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;QACjE,OAAO,EAAE,IAAI;KACd,CAAC;;kDACgC;8BA1BvB,mBAAmB;IAD/B,IAAA,gBAAM,EAAC,wBAAwB,CAAC;GACpB,mBAAmB,CA2B/B","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-workflow-template.entity.ts"],"sourcesContent":["import {\n Entity,\n PrimaryGeneratedColumn,\n Column,\n CreateDateColumn,\n UpdateDateColumn,\n OneToMany,\n} from 'typeorm';\nimport { RfaWorkflowTemplateStep } from './rfa-workflow-template-step.entity';\n\n@Entity('rfa_workflow_templates')\nexport class RfaWorkflowTemplate {\n @PrimaryGeneratedColumn()\n id!: number;\n\n @Column({ name: 'template_name', length: 100 })\n templateName!: string;\n\n @Column({ type: 'text', nullable: true })\n description?: string;\n\n @Column({ name: 'is_active', default: true })\n isActive!: boolean;\n\n @Column({ type: 'json', nullable: true })\n workflowConfig?: Record<string, unknown>; // Configuration เพิ่มเติม\n\n @CreateDateColumn({ name: 'created_at' })\n createdAt!: Date;\n\n @UpdateDateColumn({ name: 'updated_at' })\n updatedAt!: Date;\n\n // Relations\n @OneToMany(() => RfaWorkflowTemplateStep, (step) => step.template, {\n cascade: true,\n })\n steps!: RfaWorkflowTemplateStep[];\n}\n"],"version":3}
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
b59cb411d4f0e298d3ac75c2d063cc28
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.EnqueueMigrationDto = void 0;
|
||||
const class_validator_1 = require("class-validator");
|
||||
class EnqueueMigrationDto {
|
||||
}
|
||||
exports.EnqueueMigrationDto = EnqueueMigrationDto;
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
__metadata("design:type", String)
|
||||
], EnqueueMigrationDto.prototype, "documentNumber", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], EnqueueMigrationDto.prototype, "subject", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], EnqueueMigrationDto.prototype, "originalSubject", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], EnqueueMigrationDto.prototype, "body", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], EnqueueMigrationDto.prototype, "category", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], EnqueueMigrationDto.prototype, "aiSummary", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsNumber)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Number)
|
||||
], EnqueueMigrationDto.prototype, "projectId", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsNumber)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Number)
|
||||
], EnqueueMigrationDto.prototype, "senderOrgId", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsNumber)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Number)
|
||||
], EnqueueMigrationDto.prototype, "receiverOrgId", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], EnqueueMigrationDto.prototype, "issuedDate", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], EnqueueMigrationDto.prototype, "receivedDate", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], EnqueueMigrationDto.prototype, "remarks", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsArray)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Array)
|
||||
], EnqueueMigrationDto.prototype, "extractedTags", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", typeof (_a = typeof Record !== "undefined" && Record) === "function" ? _a : Object)
|
||||
], EnqueueMigrationDto.prototype, "details", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsNumber)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Number)
|
||||
], EnqueueMigrationDto.prototype, "tempAttachmentId", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsBoolean)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Boolean)
|
||||
], EnqueueMigrationDto.prototype, "isValid", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsNumber)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Number)
|
||||
], EnqueueMigrationDto.prototype, "confidence", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsArray)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", Array)
|
||||
], EnqueueMigrationDto.prototype, "aiIssues", void 0);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcbWlncmF0aW9uXFxkdG9cXGVucXVldWUtbWlncmF0aW9uLmR0by50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEscURBT3lCO0FBRXpCLE1BQWEsbUJBQW1CO0NBdUUvQjtBQXZFRCxrREF1RUM7QUFwRUM7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7OzJEQUNXO0FBSXhCO0lBRkMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOztvREFDSTtBQUlqQjtJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7NERBQ1k7QUFJekI7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7O2lEQUNDO0FBSWQ7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7O3FEQUNLO0FBSWxCO0lBRkMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOztzREFDTTtBQUluQjtJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7c0RBQ007QUFJbkI7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7O3dEQUNRO0FBSXJCO0lBRkMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOzswREFDVTtBQUl2QjtJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7dURBQ087QUFJcEI7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7O3lEQUNTO0FBSXRCO0lBRkMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOztvREFDSTtBQUlqQjtJQUZDLElBQUEseUJBQU8sR0FBRTtJQUNULElBQUEsNEJBQVUsR0FBRTs7MERBQzRCO0FBR3pDO0lBREMsSUFBQSw0QkFBVSxHQUFFO2tEQUNILE1BQU0sb0JBQU4sTUFBTTtvREFBa0I7QUFJbEM7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7OzZEQUNhO0FBSTFCO0lBRkMsSUFBQSwyQkFBUyxHQUFFO0lBQ1gsSUFBQSw0QkFBVSxHQUFFOztvREFDSztBQUlsQjtJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7dURBQ087QUFJcEI7SUFGQyxJQUFBLHlCQUFPLEdBQUU7SUFDVCxJQUFBLDRCQUFVLEdBQUU7O3FEQUN3QiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxtb2R1bGVzXFxtaWdyYXRpb25cXGR0b1xcZW5xdWV1ZS1taWdyYXRpb24uZHRvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgSXNTdHJpbmcsXHJcbiAgSXNOb3RFbXB0eSxcclxuICBJc09wdGlvbmFsLFxyXG4gIElzTnVtYmVyLFxyXG4gIElzQm9vbGVhbixcclxuICBJc0FycmF5LFxyXG59IGZyb20gJ2NsYXNzLXZhbGlkYXRvcic7XHJcblxyXG5leHBvcnQgY2xhc3MgRW5xdWV1ZU1pZ3JhdGlvbkR0byB7XHJcbiAgQElzU3RyaW5nKClcclxuICBASXNOb3RFbXB0eSgpXHJcbiAgZG9jdW1lbnROdW1iZXIhOiBzdHJpbmc7XHJcblxyXG4gIEBJc1N0cmluZygpXHJcbiAgQElzT3B0aW9uYWwoKVxyXG4gIHN1YmplY3Q/OiBzdHJpbmc7XHJcblxyXG4gIEBJc1N0cmluZygpXHJcbiAgQElzT3B0aW9uYWwoKVxyXG4gIG9yaWdpbmFsU3ViamVjdD86IHN0cmluZztcclxuXHJcbiAgQElzU3RyaW5nKClcclxuICBASXNPcHRpb25hbCgpXHJcbiAgYm9keT86IHN0cmluZztcclxuXHJcbiAgQElzU3RyaW5nKClcclxuICBASXNPcHRpb25hbCgpXHJcbiAgY2F0ZWdvcnk/OiBzdHJpbmc7XHJcblxyXG4gIEBJc1N0cmluZygpXHJcbiAgQElzT3B0aW9uYWwoKVxyXG4gIGFpU3VtbWFyeT86IHN0cmluZztcclxuXHJcbiAgQElzTnVtYmVyKClcclxuICBASXNPcHRpb25hbCgpXHJcbiAgcHJvamVjdElkPzogbnVtYmVyO1xyXG5cclxuICBASXNOdW1iZXIoKVxyXG4gIEBJc09wdGlvbmFsKClcclxuICBzZW5kZXJPcmdJZD86IG51bWJlcjtcclxuXHJcbiAgQElzTnVtYmVyKClcclxuICBASXNPcHRpb25hbCgpXHJcbiAgcmVjZWl2ZXJPcmdJZD86IG51bWJlcjtcclxuXHJcbiAgQElzU3RyaW5nKClcclxuICBASXNPcHRpb25hbCgpXHJcbiAgaXNzdWVkRGF0ZT86IHN0cmluZztcclxuXHJcbiAgQElzU3RyaW5nKClcclxuICBASXNPcHRpb25hbCgpXHJcbiAgcmVjZWl2ZWREYXRlPzogc3RyaW5nO1xyXG5cclxuICBASXNTdHJpbmcoKVxyXG4gIEBJc09wdGlvbmFsKClcclxuICByZW1hcmtzPzogc3RyaW5nO1xyXG5cclxuICBASXNBcnJheSgpXHJcbiAgQElzT3B0aW9uYWwoKVxyXG4gIGV4dHJhY3RlZFRhZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+W107XHJcblxyXG4gIEBJc09wdGlvbmFsKClcclxuICBkZXRhaWxzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XHJcblxyXG4gIEBJc051bWJlcigpXHJcbiAgQElzT3B0aW9uYWwoKVxyXG4gIHRlbXBBdHRhY2htZW50SWQ/OiBudW1iZXI7XHJcblxyXG4gIEBJc0Jvb2xlYW4oKVxyXG4gIEBJc09wdGlvbmFsKClcclxuICBpc1ZhbGlkPzogYm9vbGVhbjtcclxuXHJcbiAgQElzTnVtYmVyKClcclxuICBASXNPcHRpb25hbCgpXHJcbiAgY29uZmlkZW5jZT86IG51bWJlcjtcclxuXHJcbiAgQElzQXJyYXkoKVxyXG4gIEBJc09wdGlvbmFsKClcclxuICBhaUlzc3Vlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+W107XHJcbn1cclxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\dto\\enqueue-migration.dto.ts","mappings":";;;;;;;;;;;;;AAAA,qDAOyB;AAEzB,MAAa,mBAAmB;CAuE/B;AAvED,kDAuEC;AApEC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2DACW;AAIxB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;oDACI;AAIjB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;4DACY;AAIzB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;iDACC;AAId;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;qDACK;AAIlB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;sDACM;AAInB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;sDACM;AAInB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wDACQ;AAIrB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0DACU;AAIvB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;uDACO;AAIpB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yDACS;AAItB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;oDACI;AAIjB;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;;0DAC4B;AAGzC;IADC,IAAA,4BAAU,GAAE;kDACH,MAAM,oBAAN,MAAM;oDAAkB;AAIlC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;6DACa;AAI1B;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;oDACK;AAIlB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;uDACO;AAIpB;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;;qDACwB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\dto\\enqueue-migration.dto.ts"],"sourcesContent":["import {\r\n IsString,\r\n IsNotEmpty,\r\n IsOptional,\r\n IsNumber,\r\n IsBoolean,\r\n IsArray,\r\n} from 'class-validator';\r\n\r\nexport class EnqueueMigrationDto {\r\n @IsString()\r\n @IsNotEmpty()\r\n documentNumber!: string;\r\n\r\n @IsString()\r\n @IsOptional()\r\n subject?: string;\r\n\r\n @IsString()\r\n @IsOptional()\r\n originalSubject?: string;\r\n\r\n @IsString()\r\n @IsOptional()\r\n body?: string;\r\n\r\n @IsString()\r\n @IsOptional()\r\n category?: string;\r\n\r\n @IsString()\r\n @IsOptional()\r\n aiSummary?: string;\r\n\r\n @IsNumber()\r\n @IsOptional()\r\n projectId?: number;\r\n\r\n @IsNumber()\r\n @IsOptional()\r\n senderOrgId?: number;\r\n\r\n @IsNumber()\r\n @IsOptional()\r\n receiverOrgId?: number;\r\n\r\n @IsString()\r\n @IsOptional()\r\n issuedDate?: string;\r\n\r\n @IsString()\r\n @IsOptional()\r\n receivedDate?: string;\r\n\r\n @IsString()\r\n @IsOptional()\r\n remarks?: string;\r\n\r\n @IsArray()\r\n @IsOptional()\r\n extractedTags?: Record<string, string>[];\r\n\r\n @IsOptional()\r\n details?: Record<string, unknown>;\r\n\r\n @IsNumber()\r\n @IsOptional()\r\n tempAttachmentId?: number;\r\n\r\n @IsBoolean()\r\n @IsOptional()\r\n isValid?: boolean;\r\n\r\n @IsNumber()\r\n @IsOptional()\r\n confidence?: number;\r\n\r\n @IsArray()\r\n @IsOptional()\r\n aiIssues?: Record<string, unknown>[];\r\n}\r\n"],"version":3}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
9baf01580d92f088080b77b7a4de5a38
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a, _b, _c;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.BaseEntity = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
class BaseEntity {
|
||||
}
|
||||
exports.BaseEntity = BaseEntity;
|
||||
__decorate([
|
||||
(0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
|
||||
__metadata("design:type", typeof (_a = typeof Date !== "undefined" && Date) === "function" ? _a : Object)
|
||||
], BaseEntity.prototype, "createdAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
|
||||
__metadata("design:type", typeof (_b = typeof Date !== "undefined" && Date) === "function" ? _b : Object)
|
||||
], BaseEntity.prototype, "updatedAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.DeleteDateColumn)({ name: 'deleted_at', select: false }),
|
||||
__metadata("design:type", typeof (_c = typeof Date !== "undefined" && Date) === "function" ? _c : Object)
|
||||
], BaseEntity.prototype, "deletedAt", void 0);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcY29tbW9uXFxlbnRpdGllc1xcYmFzZS5lbnRpdHkudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLHFDQUErRTtBQUUvRSxNQUFzQixVQUFVO0NBWS9CO0FBWkQsZ0NBWUM7QUFQQztJQURDLElBQUEsMEJBQWdCLEVBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7a0RBQzdCLElBQUksb0JBQUosSUFBSTs2Q0FBQztBQUdqQjtJQURDLElBQUEsMEJBQWdCLEVBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7a0RBQzdCLElBQUksb0JBQUosSUFBSTs2Q0FBQztBQUdqQjtJQURDLElBQUEsMEJBQWdCLEVBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztrREFDNUMsSUFBSSxvQkFBSixJQUFJOzZDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXGNvbW1vblxcZW50aXRpZXNcXGJhc2UuZW50aXR5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWF0ZURhdGVDb2x1bW4sIFVwZGF0ZURhdGVDb2x1bW4sIERlbGV0ZURhdGVDb2x1bW4gfSBmcm9tICd0eXBlb3JtJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VFbnRpdHkge1xuICAvLyBAUHJpbWFyeUdlbmVyYXRlZENvbHVtbigpXG4gIC8vIGlkITogbnVtYmVyO1xuXG4gIEBDcmVhdGVEYXRlQ29sdW1uKHsgbmFtZTogJ2NyZWF0ZWRfYXQnIH0pXG4gIGNyZWF0ZWRBdCE6IERhdGU7XG5cbiAgQFVwZGF0ZURhdGVDb2x1bW4oeyBuYW1lOiAndXBkYXRlZF9hdCcgfSlcbiAgdXBkYXRlZEF0ITogRGF0ZTtcblxuICBARGVsZXRlRGF0ZUNvbHVtbih7IG5hbWU6ICdkZWxldGVkX2F0Jywgc2VsZWN0OiBmYWxzZSB9KVxuICBkZWxldGVkQXQ/OiBEYXRlO1xufVxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\common\\entities\\base.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAA+E;AAE/E,MAAsB,UAAU;CAY/B;AAZD,gCAYC;AAPC;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;6CAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;6CAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;kDAC5C,IAAI,oBAAJ,IAAI;6CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\common\\entities\\base.entity.ts"],"sourcesContent":["import { CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from 'typeorm';\n\nexport abstract class BaseEntity {\n // @PrimaryGeneratedColumn()\n // id!: number;\n\n @CreateDateColumn({ name: 'created_at' })\n createdAt!: Date;\n\n @UpdateDateColumn({ name: 'updated_at' })\n updatedAt!: Date;\n\n @DeleteDateColumn({ name: 'deleted_at', select: false })\n deletedAt?: Date;\n}\n"],"version":3}
|
||||
+152
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+69
@@ -0,0 +1,69 @@
|
||||
e39388ae6bb9b4276d70001bc08b9a22
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a, _b, _c, _d, _e;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.JsonSchema = void 0;
|
||||
// File: src/modules/json-schema/entities/json-schema.entity.ts
|
||||
const typeorm_1 = require("typeorm");
|
||||
let JsonSchema = class JsonSchema {
|
||||
};
|
||||
exports.JsonSchema = JsonSchema;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], JsonSchema.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'schema_code', length: 100 }),
|
||||
__metadata("design:type", String)
|
||||
], JsonSchema.prototype, "schemaCode", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ default: 1 }),
|
||||
__metadata("design:type", Number)
|
||||
], JsonSchema.prototype, "version", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'table_name', length: 100, nullable: false }) // ✅ เพิ่ม: ระบุตารางเป้าหมาย
|
||||
,
|
||||
__metadata("design:type", String)
|
||||
], JsonSchema.prototype, "tableName", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'schema_definition', type: 'json' }),
|
||||
__metadata("design:type", typeof (_a = typeof Record !== "undefined" && Record) === "function" ? _a : Object)
|
||||
], JsonSchema.prototype, "schemaDefinition", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'ui_schema', type: 'json', nullable: true }),
|
||||
__metadata("design:type", typeof (_b = typeof Record !== "undefined" && Record) === "function" ? _b : Object)
|
||||
], JsonSchema.prototype, "uiSchema", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'virtual_columns', type: 'json', nullable: true }),
|
||||
__metadata("design:type", Array)
|
||||
], JsonSchema.prototype, "virtualColumns", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'migration_script', type: 'json', nullable: true }),
|
||||
__metadata("design:type", typeof (_c = typeof Record !== "undefined" && Record) === "function" ? _c : Object)
|
||||
], JsonSchema.prototype, "migrationScript", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'is_active', default: true }),
|
||||
__metadata("design:type", Boolean)
|
||||
], JsonSchema.prototype, "isActive", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
|
||||
__metadata("design:type", typeof (_d = typeof Date !== "undefined" && Date) === "function" ? _d : Object)
|
||||
], JsonSchema.prototype, "createdAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
|
||||
__metadata("design:type", typeof (_e = typeof Date !== "undefined" && Date) === "function" ? _e : Object)
|
||||
], JsonSchema.prototype, "updatedAt", void 0);
|
||||
exports.JsonSchema = JsonSchema = __decorate([
|
||||
(0, typeorm_1.Entity)('json_schemas'),
|
||||
(0, typeorm_1.Index)(['schemaCode', 'version'], { unique: true })
|
||||
], JsonSchema);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcanNvbi1zY2hlbWFcXGVudGl0aWVzXFxqc29uLXNjaGVtYS5lbnRpdHkudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLCtEQUErRDtBQUMvRCxxQ0FPaUI7QUFZVixJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFVO0NBaUN0QixDQUFBO0FBakNZLGdDQUFVO0FBRXJCO0lBREMsSUFBQSxnQ0FBc0IsR0FBRTs7c0NBQ2I7QUFHWjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDOzs4Q0FDekI7QUFHcEI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7OzJDQUNOO0FBR2pCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLDZCQUE2Qjs7OzZDQUN4RTtBQUduQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7a0RBQ2pDLE1BQU0sb0JBQU4sTUFBTTtvREFBa0I7QUFHM0M7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO2tEQUNqRCxNQUFNLG9CQUFOLE1BQU07NENBQWtCO0FBR25DO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOztrREFDM0I7QUFHdkM7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7a0RBQ2pELE1BQU0sb0JBQU4sTUFBTTttREFBa0I7QUFHMUM7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzs7NENBQzFCO0FBR25CO0lBREMsSUFBQSwwQkFBZ0IsRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztrREFDN0IsSUFBSSxvQkFBSixJQUFJOzZDQUFDO0FBR2pCO0lBREMsSUFBQSwwQkFBZ0IsRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztrREFDN0IsSUFBSSxvQkFBSixJQUFJOzZDQUFDO3FCQWhDTixVQUFVO0lBRnRCLElBQUEsZ0JBQU0sRUFBQyxjQUFjLENBQUM7SUFDdEIsSUFBQSxlQUFLLEVBQUMsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7R0FDdEMsVUFBVSxDQWlDdEIiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcanNvbi1zY2hlbWFcXGVudGl0aWVzXFxqc29uLXNjaGVtYS5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRmlsZTogc3JjL21vZHVsZXMvanNvbi1zY2hlbWEvZW50aXRpZXMvanNvbi1zY2hlbWEuZW50aXR5LnRzXHJcbmltcG9ydCB7XHJcbiAgRW50aXR5LFxyXG4gIENvbHVtbixcclxuICBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uLFxyXG4gIENyZWF0ZURhdGVDb2x1bW4sXHJcbiAgVXBkYXRlRGF0ZUNvbHVtbixcclxuICBJbmRleCxcclxufSBmcm9tICd0eXBlb3JtJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVmlydHVhbENvbHVtbkNvbmZpZyB7XHJcbiAganNvblBhdGg6IHN0cmluZztcclxuICBjb2x1bW5OYW1lOiBzdHJpbmc7XHJcbiAgZGF0YVR5cGU6ICdJTlQnIHwgJ1ZBUkNIQVInIHwgJ0JPT0xFQU4nIHwgJ0RBVEUnIHwgJ0RFQ0lNQUwnIHwgJ0RBVEVUSU1FJztcclxuICBpbmRleFR5cGU/OiAnSU5ERVgnIHwgJ1VOSVFVRScgfCAnRlVMTFRFWFQnO1xyXG4gIGlzUmVxdWlyZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbkBFbnRpdHkoJ2pzb25fc2NoZW1hcycpXHJcbkBJbmRleChbJ3NjaGVtYUNvZGUnLCAndmVyc2lvbiddLCB7IHVuaXF1ZTogdHJ1ZSB9KVxyXG5leHBvcnQgY2xhc3MgSnNvblNjaGVtYSB7XHJcbiAgQFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4oKVxyXG4gIGlkITogbnVtYmVyO1xyXG5cclxuICBAQ29sdW1uKHsgbmFtZTogJ3NjaGVtYV9jb2RlJywgbGVuZ3RoOiAxMDAgfSlcclxuICBzY2hlbWFDb2RlITogc3RyaW5nO1xyXG5cclxuICBAQ29sdW1uKHsgZGVmYXVsdDogMSB9KVxyXG4gIHZlcnNpb24hOiBudW1iZXI7XHJcblxyXG4gIEBDb2x1bW4oeyBuYW1lOiAndGFibGVfbmFtZScsIGxlbmd0aDogMTAwLCBudWxsYWJsZTogZmFsc2UgfSkgLy8g4pyFIOC5gOC4nuC4tOC5iOC4oTog4Lij4Liw4Lia4Li44LiV4Liy4Lij4Liy4LiH4LmA4Lib4LmJ4Liy4Lir4Lih4Liy4LiiXHJcbiAgdGFibGVOYW1lITogc3RyaW5nO1xyXG5cclxuICBAQ29sdW1uKHsgbmFtZTogJ3NjaGVtYV9kZWZpbml0aW9uJywgdHlwZTogJ2pzb24nIH0pXHJcbiAgc2NoZW1hRGVmaW5pdGlvbiE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xyXG5cclxuICBAQ29sdW1uKHsgbmFtZTogJ3VpX3NjaGVtYScsIHR5cGU6ICdqc29uJywgbnVsbGFibGU6IHRydWUgfSlcclxuICB1aVNjaGVtYT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xyXG5cclxuICBAQ29sdW1uKHsgbmFtZTogJ3ZpcnR1YWxfY29sdW1ucycsIHR5cGU6ICdqc29uJywgbnVsbGFibGU6IHRydWUgfSlcclxuICB2aXJ0dWFsQ29sdW1ucz86IFZpcnR1YWxDb2x1bW5Db25maWdbXTtcclxuXHJcbiAgQENvbHVtbih7IG5hbWU6ICdtaWdyYXRpb25fc2NyaXB0JywgdHlwZTogJ2pzb24nLCBudWxsYWJsZTogdHJ1ZSB9KVxyXG4gIG1pZ3JhdGlvblNjcmlwdD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xyXG5cclxuICBAQ29sdW1uKHsgbmFtZTogJ2lzX2FjdGl2ZScsIGRlZmF1bHQ6IHRydWUgfSlcclxuICBpc0FjdGl2ZSE6IGJvb2xlYW47XHJcblxyXG4gIEBDcmVhdGVEYXRlQ29sdW1uKHsgbmFtZTogJ2NyZWF0ZWRfYXQnIH0pXHJcbiAgY3JlYXRlZEF0ITogRGF0ZTtcclxuXHJcbiAgQFVwZGF0ZURhdGVDb2x1bW4oeyBuYW1lOiAndXBkYXRlZF9hdCcgfSlcclxuICB1cGRhdGVkQXQhOiBEYXRlO1xyXG59XHJcbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\json-schema\\entities\\json-schema.entity.ts","mappings":";;;;;;;;;;;;;AAAA,+DAA+D;AAC/D,qCAOiB;AAYV,IAAM,UAAU,GAAhB,MAAM,UAAU;CAiCtB,CAAA;AAjCY,gCAAU;AAErB;IADC,IAAA,gCAAsB,GAAE;;sCACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;8CACzB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;2CACN;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,6BAA6B;;;6CACxE;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACjC,MAAM,oBAAN,MAAM;oDAAkB;AAG3C;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACjD,MAAM,oBAAN,MAAM;4CAAkB;AAGnC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDAC3B;AAGvC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACjD,MAAM,oBAAN,MAAM;mDAAkB;AAG1C;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4CAC1B;AAGnB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;6CAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;6CAAC;qBAhCN,UAAU;IAFtB,IAAA,gBAAM,EAAC,cAAc,CAAC;IACtB,IAAA,eAAK,EAAC,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;GACtC,UAAU,CAiCtB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\json-schema\\entities\\json-schema.entity.ts"],"sourcesContent":["// File: src/modules/json-schema/entities/json-schema.entity.ts\r\nimport {\r\n Entity,\r\n Column,\r\n PrimaryGeneratedColumn,\r\n CreateDateColumn,\r\n UpdateDateColumn,\r\n Index,\r\n} from 'typeorm';\r\n\r\nexport interface VirtualColumnConfig {\r\n jsonPath: string;\r\n columnName: string;\r\n dataType: 'INT' | 'VARCHAR' | 'BOOLEAN' | 'DATE' | 'DECIMAL' | 'DATETIME';\r\n indexType?: 'INDEX' | 'UNIQUE' | 'FULLTEXT';\r\n isRequired: boolean;\r\n}\r\n\r\n@Entity('json_schemas')\r\n@Index(['schemaCode', 'version'], { unique: true })\r\nexport class JsonSchema {\r\n @PrimaryGeneratedColumn()\r\n id!: number;\r\n\r\n @Column({ name: 'schema_code', length: 100 })\r\n schemaCode!: string;\r\n\r\n @Column({ default: 1 })\r\n version!: number;\r\n\r\n @Column({ name: 'table_name', length: 100, nullable: false }) // ✅ เพิ่ม: ระบุตารางเป้าหมาย\r\n tableName!: string;\r\n\r\n @Column({ name: 'schema_definition', type: 'json' })\r\n schemaDefinition!: Record<string, unknown>;\r\n\r\n @Column({ name: 'ui_schema', type: 'json', nullable: true })\r\n uiSchema?: Record<string, unknown>;\r\n\r\n @Column({ name: 'virtual_columns', type: 'json', nullable: true })\r\n virtualColumns?: VirtualColumnConfig[];\r\n\r\n @Column({ name: 'migration_script', type: 'json', nullable: true })\r\n migrationScript?: Record<string, unknown>;\r\n\r\n @Column({ name: 'is_active', default: true })\r\n isActive!: boolean;\r\n\r\n @CreateDateColumn({ name: 'created_at' })\r\n createdAt!: Date;\r\n\r\n @UpdateDateColumn({ name: 'updated_at' })\r\n updatedAt!: Date;\r\n}\r\n"],"version":3}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
35b8e07bce844098e15d4509e8b81f88
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.CurrentUser = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
/**
|
||||
* Decorator สำหรับดึงข้อมูล User ปัจจุบันจาก Request Object
|
||||
* ใช้คู่กับ JwtAuthGuard
|
||||
*
|
||||
* ตัวอย่างการใช้:
|
||||
* @Get()
|
||||
* findAll(@CurrentUser() user: User) { ... }
|
||||
*/
|
||||
exports.CurrentUser = (0, common_1.createParamDecorator)((data, ctx) => {
|
||||
const request = ctx.switchToHttp().getRequest();
|
||||
// request.user ถูก set โดย Passport/JwtStrategy
|
||||
return request.user;
|
||||
});
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcY29tbW9uXFxkZWNvcmF0b3JzXFxjdXJyZW50LXVzZXIuZGVjb3JhdG9yLnRzIiwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF3RTtBQUd4RTs7Ozs7OztHQU9HO0FBQ1UsUUFBQSxXQUFXLEdBQUcsSUFBQSw2QkFBb0IsRUFDN0MsQ0FBQyxJQUFhLEVBQUUsR0FBcUIsRUFBRSxFQUFFO0lBQ3ZDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxVQUFVLEVBQW1CLENBQUM7SUFDakUsZ0RBQWdEO0lBQ2hELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQztBQUN0QixDQUFDLENBQ0YsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxjb21tb25cXGRlY29yYXRvcnNcXGN1cnJlbnQtdXNlci5kZWNvcmF0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUGFyYW1EZWNvcmF0b3IsIEV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tICdAbmVzdGpzL2NvbW1vbic7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vbW9kdWxlcy91c2VyL2VudGl0aWVzL3VzZXIuZW50aXR5JztcblxuLyoqXG4gKiBEZWNvcmF0b3Ig4Liq4Liz4Lir4Lij4Lix4Lia4LiU4Li24LiH4LiC4LmJ4Lit4Lih4Li54LilIFVzZXIg4Lib4Lix4LiI4LiI4Li44Lia4Lix4LiZ4LiI4Liy4LiBIFJlcXVlc3QgT2JqZWN0XG4gKiDguYPguIrguYnguITguLnguYjguIHguLHguJogSnd0QXV0aEd1YXJkXG4gKlxuICog4LiV4Lix4Lin4Lit4Lii4LmI4Liy4LiH4LiB4Liy4Lij4LmD4LiK4LmJOlxuICogQEdldCgpXG4gKiBmaW5kQWxsKEBDdXJyZW50VXNlcigpIHVzZXI6IFVzZXIpIHsgLi4uIH1cbiAqL1xuZXhwb3J0IGNvbnN0IEN1cnJlbnRVc2VyID0gY3JlYXRlUGFyYW1EZWNvcmF0b3IoXG4gIChkYXRhOiB1bmtub3duLCBjdHg6IEV4ZWN1dGlvbkNvbnRleHQpID0+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0gY3R4LnN3aXRjaFRvSHR0cCgpLmdldFJlcXVlc3Q8eyB1c2VyPzogVXNlciB9PigpO1xuICAgIC8vIHJlcXVlc3QudXNlciDguJbguLnguIEgc2V0IOC5guC4lOC4oiBQYXNzcG9ydC9Kd3RTdHJhdGVneVxuICAgIHJldHVybiByZXF1ZXN0LnVzZXI7XG4gIH1cbik7XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\common\\decorators\\current-user.decorator.ts","mappings":";;;AAAA,2CAAwE;AAGxE;;;;;;;GAOG;AACU,QAAA,WAAW,GAAG,IAAA,6BAAoB,EAC7C,CAAC,IAAa,EAAE,GAAqB,EAAE,EAAE;IACvC,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAmB,CAAC;IACjE,gDAAgD;IAChD,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC,CACF,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\common\\decorators\\current-user.decorator.ts"],"sourcesContent":["import { createParamDecorator, ExecutionContext } from '@nestjs/common';\nimport { User } from '../../modules/user/entities/user.entity';\n\n/**\n * Decorator สำหรับดึงข้อมูล User ปัจจุบันจาก Request Object\n * ใช้คู่กับ JwtAuthGuard\n *\n * ตัวอย่างการใช้:\n * @Get()\n * findAll(@CurrentUser() user: User) { ... }\n */\nexport const CurrentUser = createParamDecorator(\n (data: unknown, ctx: ExecutionContext) => {\n const request = ctx.switchToHttp().getRequest<{ user?: User }>();\n // request.user ถูก set โดย Passport/JwtStrategy\n return request.user;\n }\n);\n"],"version":3}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
d591a39eb268253e7b6d6e7cfd633e9b
|
||||
"use strict";
|
||||
/**
|
||||
* Jest Global Setup
|
||||
*
|
||||
* ตั้งค่า global สำหรับทุก test file
|
||||
* @see specs/05-Engineering-Guidelines/05-04-testing-strategy.md
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
require("reflect-metadata");
|
||||
// Global test timeout (30 วินาที)
|
||||
jest.setTimeout(30000);
|
||||
// Mock console methods ใน test environment
|
||||
// ลด noise ใน test output แต่ยังเก็บ error ไว้
|
||||
const originalConsole = {
|
||||
log: console.log,
|
||||
info: console.info,
|
||||
warn: console.warn,
|
||||
};
|
||||
global.beforeAll(() => {
|
||||
// Suppress console.log ใน test (ยกเว้น error)
|
||||
console.log = jest.fn();
|
||||
console.info = jest.fn();
|
||||
console.warn = jest.fn();
|
||||
});
|
||||
global.afterAll(() => {
|
||||
// Restore original console methods
|
||||
console.log = originalConsole.log;
|
||||
console.info = originalConsole.info;
|
||||
console.warn = originalConsole.warn;
|
||||
});
|
||||
// Clean up mocks หลังจากแต่ละ test
|
||||
afterEach(() => {
|
||||
jest.clearAllMocks();
|
||||
});
|
||||
// Global error handler สำหรับ unhandled promises
|
||||
process.on('unhandledRejection', (reason) => {
|
||||
console.error('Unhandled Promise Rejection:', reason);
|
||||
});
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHRlc3RcXGplc3Quc2V0dXAudHMiLCJtYXBwaW5ncyI6IjtBQUFBOzs7OztHQUtHOztBQUVILDRCQUEwQjtBQUUxQixrQ0FBa0M7QUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUV2QiwyQ0FBMkM7QUFDM0MsK0NBQStDO0FBQy9DLE1BQU0sZUFBZSxHQUFHO0lBQ3RCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztJQUNoQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7SUFDbEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtJQUNwQiw4Q0FBOEM7SUFDOUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDeEIsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDekIsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtJQUNuQixtQ0FBbUM7SUFDbkMsT0FBTyxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDO0lBQ2xDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztJQUNwQyxPQUFPLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUM7QUFFSCxtQ0FBbUM7QUFDbkMsU0FBUyxDQUFDLEdBQUcsRUFBRTtJQUNiLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQztBQUVILGlEQUFpRDtBQUNqRCxPQUFPLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7SUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN4RCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcdGVzdFxcamVzdC5zZXR1cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogSmVzdCBHbG9iYWwgU2V0dXBcclxuICpcclxuICog4LiV4Lix4LmJ4LiH4LiE4LmI4LiyIGdsb2JhbCDguKrguLPguKvguKPguLHguJrguJfguLjguIEgdGVzdCBmaWxlXHJcbiAqIEBzZWUgc3BlY3MvMDUtRW5naW5lZXJpbmctR3VpZGVsaW5lcy8wNS0wNC10ZXN0aW5nLXN0cmF0ZWd5Lm1kXHJcbiAqL1xyXG5cclxuaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcclxuXHJcbi8vIEdsb2JhbCB0ZXN0IHRpbWVvdXQgKDMwIOC4p+C4tOC4meC4suC4l+C4tSlcclxuamVzdC5zZXRUaW1lb3V0KDMwMDAwKTtcclxuXHJcbi8vIE1vY2sgY29uc29sZSBtZXRob2RzIOC5g+C4mSB0ZXN0IGVudmlyb25tZW50XHJcbi8vIOC4peC4lCBub2lzZSDguYPguJkgdGVzdCBvdXRwdXQg4LmB4LiV4LmI4Lii4Lix4LiH4LmA4LiB4LmH4LiaIGVycm9yIOC5hOC4p+C5iVxyXG5jb25zdCBvcmlnaW5hbENvbnNvbGUgPSB7XHJcbiAgbG9nOiBjb25zb2xlLmxvZyxcclxuICBpbmZvOiBjb25zb2xlLmluZm8sXHJcbiAgd2FybjogY29uc29sZS53YXJuLFxyXG59O1xyXG5cclxuZ2xvYmFsLmJlZm9yZUFsbCgoKSA9PiB7XHJcbiAgLy8gU3VwcHJlc3MgY29uc29sZS5sb2cg4LmD4LiZIHRlc3QgKOC4ouC4geC5gOC4p+C5ieC4mSBlcnJvcilcclxuICBjb25zb2xlLmxvZyA9IGplc3QuZm4oKTtcclxuICBjb25zb2xlLmluZm8gPSBqZXN0LmZuKCk7XHJcbiAgY29uc29sZS53YXJuID0gamVzdC5mbigpO1xyXG59KTtcclxuXHJcbmdsb2JhbC5hZnRlckFsbCgoKSA9PiB7XHJcbiAgLy8gUmVzdG9yZSBvcmlnaW5hbCBjb25zb2xlIG1ldGhvZHNcclxuICBjb25zb2xlLmxvZyA9IG9yaWdpbmFsQ29uc29sZS5sb2c7XHJcbiAgY29uc29sZS5pbmZvID0gb3JpZ2luYWxDb25zb2xlLmluZm87XHJcbiAgY29uc29sZS53YXJuID0gb3JpZ2luYWxDb25zb2xlLndhcm47XHJcbn0pO1xyXG5cclxuLy8gQ2xlYW4gdXAgbW9ja3Mg4Lir4Lil4Lix4LiH4LiI4Liy4LiB4LmB4LiV4LmI4Lil4LiwIHRlc3RcclxuYWZ0ZXJFYWNoKCgpID0+IHtcclxuICBqZXN0LmNsZWFyQWxsTW9ja3MoKTtcclxufSk7XHJcblxyXG4vLyBHbG9iYWwgZXJyb3IgaGFuZGxlciDguKrguLPguKvguKPguLHguJogdW5oYW5kbGVkIHByb21pc2VzXHJcbnByb2Nlc3Mub24oJ3VuaGFuZGxlZFJlamVjdGlvbicsIChyZWFzb24pID0+IHtcclxuICBjb25zb2xlLmVycm9yKCdVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246JywgcmVhc29uKTtcclxufSk7XHJcbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\test\\jest.setup.ts","mappings":";AAAA;;;;;GAKG;;AAEH,4BAA0B;AAE1B,kCAAkC;AAClC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAEvB,2CAA2C;AAC3C,+CAA+C;AAC/C,MAAM,eAAe,GAAG;IACtB,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,IAAI,EAAE,OAAO,CAAC,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;IACpB,8CAA8C;IAC9C,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACxB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACzB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE;IACnB,mCAAmC;IACnC,OAAO,CAAC,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC;IAClC,OAAO,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IACpC,OAAO,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,mCAAmC;AACnC,SAAS,CAAC,GAAG,EAAE;IACb,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,iDAAiD;AACjD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;IAC1C,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\test\\jest.setup.ts"],"sourcesContent":["/**\r\n * Jest Global Setup\r\n *\r\n * ตั้งค่า global สำหรับทุก test file\r\n * @see specs/05-Engineering-Guidelines/05-04-testing-strategy.md\r\n */\r\n\r\nimport 'reflect-metadata';\r\n\r\n// Global test timeout (30 วินาที)\r\njest.setTimeout(30000);\r\n\r\n// Mock console methods ใน test environment\r\n// ลด noise ใน test output แต่ยังเก็บ error ไว้\r\nconst originalConsole = {\r\n log: console.log,\r\n info: console.info,\r\n warn: console.warn,\r\n};\r\n\r\nglobal.beforeAll(() => {\r\n // Suppress console.log ใน test (ยกเว้น error)\r\n console.log = jest.fn();\r\n console.info = jest.fn();\r\n console.warn = jest.fn();\r\n});\r\n\r\nglobal.afterAll(() => {\r\n // Restore original console methods\r\n console.log = originalConsole.log;\r\n console.info = originalConsole.info;\r\n console.warn = originalConsole.warn;\r\n});\r\n\r\n// Clean up mocks หลังจากแต่ละ test\r\nafterEach(() => {\r\n jest.clearAllMocks();\r\n});\r\n\r\n// Global error handler สำหรับ unhandled promises\r\nprocess.on('unhandledRejection', (reason) => {\r\n console.error('Unhandled Promise Rejection:', reason);\r\n});\r\n"],"version":3}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
3c2e75d9a9e2db245e432d0bf8d0c111
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const validate_js_1 = require("./validate.js");
|
||||
function version(uuid) {
|
||||
if (!(0, validate_js_1.default)(uuid)) {
|
||||
throw TypeError('Invalid UUID');
|
||||
}
|
||||
return parseInt(uuid.slice(14, 15), 16);
|
||||
}
|
||||
exports.default = version;
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXG5vZGVfbW9kdWxlc1xcLnBucG1cXHV1aWRAMTEuMS4wXFxub2RlX21vZHVsZXNcXHV1aWRcXGRpc3RcXGNqc1xcdmVyc2lvbi5qcyIsIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7QUFDYixNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUM5RCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDL0MsU0FBUyxPQUFPLENBQUMsSUFBSTtJQUNqQixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDcEMsTUFBTSxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFDRCxPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcbm9kZV9tb2R1bGVzXFwucG5wbVxcdXVpZEAxMS4xLjBcXG5vZGVfbW9kdWxlc1xcdXVpZFxcZGlzdFxcY2pzXFx2ZXJzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3QgdmFsaWRhdGVfanNfMSA9IHJlcXVpcmUoXCIuL3ZhbGlkYXRlLmpzXCIpO1xuZnVuY3Rpb24gdmVyc2lvbih1dWlkKSB7XG4gICAgaWYgKCEoMCwgdmFsaWRhdGVfanNfMS5kZWZhdWx0KSh1dWlkKSkge1xuICAgICAgICB0aHJvdyBUeXBlRXJyb3IoJ0ludmFsaWQgVVVJRCcpO1xuICAgIH1cbiAgICByZXR1cm4gcGFyc2VJbnQodXVpZC5zbGljZSgxNCwgMTUpLCAxNik7XG59XG5leHBvcnRzLmRlZmF1bHQgPSB2ZXJzaW9uO1xuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\version.js","mappings":"AAAA,YAAY,CAAC;AACb,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAC/C,SAAS,OAAO,CAAC,IAAI;IACjB,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\version.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst validate_js_1 = require(\"./validate.js\");\nfunction version(uuid) {\n if (!(0, validate_js_1.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n return parseInt(uuid.slice(14, 15), 16);\n}\nexports.default = version;\n"],"version":3}
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
ea64f2030d4f43110ef5aff050dfe2ca
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a, _b, _c, _d, _e;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Rfa = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const user_entity_1 = require("../../user/entities/user.entity");
|
||||
const correspondence_entity_1 = require("../../correspondence/entities/correspondence.entity"); // Import
|
||||
const rfa_type_entity_1 = require("./rfa-type.entity");
|
||||
let Rfa = class Rfa {
|
||||
};
|
||||
exports.Rfa = Rfa;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], Rfa.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.OneToOne)(() => correspondence_entity_1.Correspondence, { onDelete: 'CASCADE' }),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'id' }),
|
||||
__metadata("design:type", typeof (_a = typeof correspondence_entity_1.Correspondence !== "undefined" && correspondence_entity_1.Correspondence) === "function" ? _a : Object)
|
||||
], Rfa.prototype, "correspondence", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'rfa_type_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], Rfa.prototype, "rfaTypeId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
|
||||
__metadata("design:type", typeof (_b = typeof Date !== "undefined" && Date) === "function" ? _b : Object)
|
||||
], Rfa.prototype, "createdAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'created_by', nullable: true }),
|
||||
__metadata("design:type", Number)
|
||||
], Rfa.prototype, "createdBy", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.DeleteDateColumn)({ name: 'deleted_at' }),
|
||||
__metadata("design:type", typeof (_c = typeof Date !== "undefined" && Date) === "function" ? _c : Object)
|
||||
], Rfa.prototype, "deletedAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => rfa_type_entity_1.RfaType),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'rfa_type_id' }),
|
||||
__metadata("design:type", typeof (_d = typeof rfa_type_entity_1.RfaType !== "undefined" && rfa_type_entity_1.RfaType) === "function" ? _d : Object)
|
||||
], Rfa.prototype, "rfaType", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => user_entity_1.User),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'created_by' }),
|
||||
__metadata("design:type", typeof (_e = typeof user_entity_1.User !== "undefined" && user_entity_1.User) === "function" ? _e : Object)
|
||||
], Rfa.prototype, "creator", void 0);
|
||||
exports.Rfa = Rfa = __decorate([
|
||||
(0, typeorm_1.Entity)('rfas')
|
||||
], Rfa);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xccmZhXFxlbnRpdGllc1xccmZhLmVudGl0eS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEscUNBU2lCO0FBRWpCLGlFQUF1RDtBQUN2RCwrRkFBcUYsQ0FBQyxTQUFTO0FBQy9GLHVEQUE0QztBQUdyQyxJQUFNLEdBQUcsR0FBVCxNQUFNLEdBQUc7Q0E4QmYsQ0FBQTtBQTlCWSxrQkFBRztBQUVkO0lBREMsSUFBQSx1QkFBYSxHQUFFOzsrQkFDSjtBQUlaO0lBRkMsSUFBQSxrQkFBUSxFQUFDLEdBQUcsRUFBRSxDQUFDLHNDQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDdkQsSUFBQSxvQkFBVSxFQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO2tEQUNWLHNDQUFjLG9CQUFkLHNDQUFjOzJDQUFDO0FBR2hDO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDOztzQ0FDYjtBQUduQjtJQURDLElBQUEsMEJBQWdCLEVBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7a0RBQzdCLElBQUksb0JBQUosSUFBSTtzQ0FBQztBQUdqQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOztzQ0FDNUI7QUFHbkI7SUFEQyxJQUFBLDBCQUFnQixFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2tEQUM3QixJQUFJLG9CQUFKLElBQUk7c0NBQUM7QUFLakI7SUFGQyxJQUFBLG1CQUFTLEVBQUMsR0FBRyxFQUFFLENBQUMseUJBQU8sQ0FBQztJQUN4QixJQUFBLG9CQUFVLEVBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUM7a0RBQzFCLHlCQUFPLG9CQUFQLHlCQUFPO29DQUFDO0FBSWxCO0lBRkMsSUFBQSxtQkFBUyxFQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFJLENBQUM7SUFDckIsSUFBQSxvQkFBVSxFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2tEQUN6QixrQkFBSSxvQkFBSixrQkFBSTtvQ0FBQztjQTNCSixHQUFHO0lBRGYsSUFBQSxnQkFBTSxFQUFDLE1BQU0sQ0FBQztHQUNGLEdBQUcsQ0E4QmYiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xccmZhXFxlbnRpdGllc1xccmZhLmVudGl0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb2x1bW4sXG4gIENyZWF0ZURhdGVDb2x1bW4sXG4gIERlbGV0ZURhdGVDb2x1bW4sXG4gIEVudGl0eSxcbiAgSm9pbkNvbHVtbixcbiAgTWFueVRvT25lLFxuICBQcmltYXJ5Q29sdW1uLFxuICBPbmVUb09uZSxcbn0gZnJvbSAndHlwZW9ybSc7XG5cbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi91c2VyL2VudGl0aWVzL3VzZXIuZW50aXR5JztcbmltcG9ydCB7IENvcnJlc3BvbmRlbmNlIH0gZnJvbSAnLi4vLi4vY29ycmVzcG9uZGVuY2UvZW50aXRpZXMvY29ycmVzcG9uZGVuY2UuZW50aXR5JzsgLy8gSW1wb3J0XG5pbXBvcnQgeyBSZmFUeXBlIH0gZnJvbSAnLi9yZmEtdHlwZS5lbnRpdHknO1xuXG5ARW50aXR5KCdyZmFzJylcbmV4cG9ydCBjbGFzcyBSZmEge1xuICBAUHJpbWFyeUNvbHVtbigpXG4gIGlkITogbnVtYmVyO1xuXG4gIEBPbmVUb09uZSgoKSA9PiBDb3JyZXNwb25kZW5jZSwgeyBvbkRlbGV0ZTogJ0NBU0NBREUnIH0pXG4gIEBKb2luQ29sdW1uKHsgbmFtZTogJ2lkJyB9KVxuICBjb3JyZXNwb25kZW5jZSE6IENvcnJlc3BvbmRlbmNlO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAncmZhX3R5cGVfaWQnIH0pXG4gIHJmYVR5cGVJZCE6IG51bWJlcjtcblxuICBAQ3JlYXRlRGF0ZUNvbHVtbih7IG5hbWU6ICdjcmVhdGVkX2F0JyB9KVxuICBjcmVhdGVkQXQhOiBEYXRlO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnY3JlYXRlZF9ieScsIG51bGxhYmxlOiB0cnVlIH0pXG4gIGNyZWF0ZWRCeT86IG51bWJlcjtcblxuICBARGVsZXRlRGF0ZUNvbHVtbih7IG5hbWU6ICdkZWxldGVkX2F0JyB9KVxuICBkZWxldGVkQXQ/OiBEYXRlO1xuXG4gIC8vIFJlbGF0aW9uc1xuICBATWFueVRvT25lKCgpID0+IFJmYVR5cGUpXG4gIEBKb2luQ29sdW1uKHsgbmFtZTogJ3JmYV90eXBlX2lkJyB9KVxuICByZmFUeXBlITogUmZhVHlwZTtcblxuICBATWFueVRvT25lKCgpID0+IFVzZXIpXG4gIEBKb2luQ29sdW1uKHsgbmFtZTogJ2NyZWF0ZWRfYnknIH0pXG4gIGNyZWF0b3I/OiBVc2VyO1xuXG4gIC8vIFJldmlzaW9ucyBhcmUgYWNjZXNzZWQgdmlhIGNvcnJlc3BvbmRlbmNlLnJldmlzaW9ucyAtPiByZmFSZXZpc2lvblxufVxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCASiB;AAEjB,iEAAuD;AACvD,+FAAqF,CAAC,SAAS;AAC/F,uDAA4C;AAGrC,IAAM,GAAG,GAAT,MAAM,GAAG;CA8Bf,CAAA;AA9BY,kBAAG;AAEd;IADC,IAAA,uBAAa,GAAE;;+BACJ;AAIZ;IAFC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,sCAAc,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACvD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;kDACV,sCAAc,oBAAd,sCAAc;2CAAC;AAGhC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;sCACb;AAGnB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;sCAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC5B;AAGnB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;sCAAC;AAKjB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,yBAAO,CAAC;IACxB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;kDAC1B,yBAAO,oBAAP,yBAAO;oCAAC;AAIlB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,CAAC;IACrB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDACzB,kBAAI,oBAAJ,kBAAI;oCAAC;cA3BJ,GAAG;IADf,IAAA,gBAAM,EAAC,MAAM,CAAC;GACF,GAAG,CA8Bf","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa.entity.ts"],"sourcesContent":["import {\n Column,\n CreateDateColumn,\n DeleteDateColumn,\n Entity,\n JoinColumn,\n ManyToOne,\n PrimaryColumn,\n OneToOne,\n} from 'typeorm';\n\nimport { User } from '../../user/entities/user.entity';\nimport { Correspondence } from '../../correspondence/entities/correspondence.entity'; // Import\nimport { RfaType } from './rfa-type.entity';\n\n@Entity('rfas')\nexport class Rfa {\n @PrimaryColumn()\n id!: number;\n\n @OneToOne(() => Correspondence, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'id' })\n correspondence!: Correspondence;\n\n @Column({ name: 'rfa_type_id' })\n rfaTypeId!: number;\n\n @CreateDateColumn({ name: 'created_at' })\n createdAt!: Date;\n\n @Column({ name: 'created_by', nullable: true })\n createdBy?: number;\n\n @DeleteDateColumn({ name: 'deleted_at' })\n deletedAt?: Date;\n\n // Relations\n @ManyToOne(() => RfaType)\n @JoinColumn({ name: 'rfa_type_id' })\n rfaType!: RfaType;\n\n @ManyToOne(() => User)\n @JoinColumn({ name: 'created_by' })\n creator?: User;\n\n // Revisions are accessed via correspondence.revisions -> rfaRevision\n}\n"],"version":3}
|
||||
+103
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+28
@@ -0,0 +1,28 @@
|
||||
1392f4037731be5b7557fad753ade41e
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.CancelCorrespondenceDto = void 0;
|
||||
const swagger_1 = require("@nestjs/swagger");
|
||||
const class_validator_1 = require("class-validator");
|
||||
class CancelCorrespondenceDto {
|
||||
}
|
||||
exports.CancelCorrespondenceDto = CancelCorrespondenceDto;
|
||||
__decorate([
|
||||
(0, swagger_1.ApiProperty)({
|
||||
description: 'Reason for cancelling the correspondence',
|
||||
example: 'Document was created in error',
|
||||
}),
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
__metadata("design:type", String)
|
||||
], CancelCorrespondenceDto.prototype, "reason", void 0);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcY29ycmVzcG9uZGVuY2VcXGR0b1xcY2FuY2VsLWNvcnJlc3BvbmRlbmNlLmR0by50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBOEM7QUFDOUMscURBQXVEO0FBRXZELE1BQWEsdUJBQXVCO0NBUW5DO0FBUkQsMERBUUM7QUFEQztJQU5DLElBQUEscUJBQVcsRUFBQztRQUNYLFdBQVcsRUFBRSwwQ0FBMEM7UUFDdkQsT0FBTyxFQUFFLCtCQUErQjtLQUN6QyxDQUFDO0lBQ0QsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOzt1REFDRyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxtb2R1bGVzXFxjb3JyZXNwb25kZW5jZVxcZHRvXFxjYW5jZWwtY29ycmVzcG9uZGVuY2UuZHRvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaVByb3BlcnR5IH0gZnJvbSAnQG5lc3Rqcy9zd2FnZ2VyJztcclxuaW1wb3J0IHsgSXNTdHJpbmcsIElzTm90RW1wdHkgfSBmcm9tICdjbGFzcy12YWxpZGF0b3InO1xyXG5cclxuZXhwb3J0IGNsYXNzIENhbmNlbENvcnJlc3BvbmRlbmNlRHRvIHtcclxuICBAQXBpUHJvcGVydHkoe1xyXG4gICAgZGVzY3JpcHRpb246ICdSZWFzb24gZm9yIGNhbmNlbGxpbmcgdGhlIGNvcnJlc3BvbmRlbmNlJyxcclxuICAgIGV4YW1wbGU6ICdEb2N1bWVudCB3YXMgY3JlYXRlZCBpbiBlcnJvcicsXHJcbiAgfSlcclxuICBASXNTdHJpbmcoKVxyXG4gIEBJc05vdEVtcHR5KClcclxuICByZWFzb24hOiBzdHJpbmc7XHJcbn1cclxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\dto\\cancel-correspondence.dto.ts","mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAAuD;AAEvD,MAAa,uBAAuB;CAQnC;AARD,0DAQC;AADC;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,+BAA+B;KACzC,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;uDACG","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\dto\\cancel-correspondence.dto.ts"],"sourcesContent":["import { ApiProperty } from '@nestjs/swagger';\r\nimport { IsString, IsNotEmpty } from 'class-validator';\r\n\r\nexport class CancelCorrespondenceDto {\r\n @ApiProperty({\r\n description: 'Reason for cancelling the correspondence',\r\n example: 'Document was created in error',\r\n })\r\n @IsString()\r\n @IsNotEmpty()\r\n reason!: string;\r\n}\r\n"],"version":3}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
8f382bf25c0e1695c1c19d67b54839f2
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.WorkflowAction = exports.StepStatus = void 0;
|
||||
// สถานะของการดำเนินการในแต่ละขั้นตอน
|
||||
var StepStatus;
|
||||
(function (StepStatus) {
|
||||
StepStatus["PENDING"] = "PENDING";
|
||||
StepStatus["IN_PROGRESS"] = "IN_PROGRESS";
|
||||
StepStatus["COMPLETED"] = "COMPLETED";
|
||||
StepStatus["REJECTED"] = "REJECTED";
|
||||
StepStatus["SKIPPED"] = "SKIPPED";
|
||||
})(StepStatus || (exports.StepStatus = StepStatus = {}));
|
||||
// การกระทำที่ผู้ใช้ทำได้
|
||||
var WorkflowAction;
|
||||
(function (WorkflowAction) {
|
||||
WorkflowAction["APPROVE"] = "APPROVE";
|
||||
WorkflowAction["REJECT"] = "REJECT";
|
||||
WorkflowAction["RETURN"] = "RETURN";
|
||||
WorkflowAction["ACKNOWLEDGE"] = "ACKNOWLEDGE";
|
||||
})(WorkflowAction || (exports.WorkflowAction = WorkflowAction = {}));
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcd29ya2Zsb3ctZW5naW5lXFxpbnRlcmZhY2VzXFx3b3JrZmxvdy5pbnRlcmZhY2UudHMiLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQXFDO0FBQ3JDLElBQVksVUFNWDtBQU5ELFdBQVksVUFBVTtJQUNwQixpQ0FBbUIsQ0FBQTtJQUNuQix5Q0FBMkIsQ0FBQTtJQUMzQixxQ0FBdUIsQ0FBQTtJQUN2QixtQ0FBcUIsQ0FBQTtJQUNyQixpQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTlcsVUFBVSwwQkFBVixVQUFVLFFBTXJCO0FBRUQseUJBQXlCO0FBQ3pCLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4QixxQ0FBbUIsQ0FBQTtJQUNuQixtQ0FBaUIsQ0FBQTtJQUNqQixtQ0FBaUIsQ0FBQTtJQUNqQiw2Q0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBTFcsY0FBYyw4QkFBZCxjQUFjLFFBS3pCIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXG1vZHVsZXNcXHdvcmtmbG93LWVuZ2luZVxcaW50ZXJmYWNlc1xcd29ya2Zsb3cuaW50ZXJmYWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIOC4quC4luC4suC4meC4sOC4guC4reC4h+C4geC4suC4o+C4lOC4s+C5gOC4meC4tOC4meC4geC4suC4o+C5g+C4meC5geC4leC5iOC4peC4sOC4guC4seC5ieC4meC4leC4reC4mVxuZXhwb3J0IGVudW0gU3RlcFN0YXR1cyB7XG4gIFBFTkRJTkcgPSAnUEVORElORycsIC8vIOC4o+C4reC4luC4tuC4h+C4hOC4tOC4p1xuICBJTl9QUk9HUkVTUyA9ICdJTl9QUk9HUkVTUycsIC8vIOC4luC4tuC4h+C4hOC4tOC4p+C5geC4peC5ieC4pyDguKPguK0gYWN0aW9uXG4gIENPTVBMRVRFRCA9ICdDT01QTEVURUQnLCAvLyDguK3guJnguLjguKHguLHguJXguLQv4LiU4Liz4LmA4LiZ4Li04LiZ4LiB4Liy4Lij4LmA4Lij4Li14Lii4Lia4Lij4LmJ4Lit4LiiXG4gIFJFSkVDVEVEID0gJ1JFSkVDVEVEJywgLy8g4LiW4Li54LiB4Lib4Lix4LiU4LiV4LiBXG4gIFNLSVBQRUQgPSAnU0tJUFBFRCcsIC8vIOC4luC4ueC4geC4guC5ieC4suC4oVxufVxuXG4vLyDguIHguLLguKPguIHguKPguLDguJfguLPguJfguLXguYjguJzguLnguYnguYPguIrguYnguJfguLPguYTguJTguYlcbmV4cG9ydCBlbnVtIFdvcmtmbG93QWN0aW9uIHtcbiAgQVBQUk9WRSA9ICdBUFBST1ZFJywgLy8g4Lit4LiZ4Li44Lih4Lix4LiV4Li0IC8g4Lii4Li34LiZ4Lii4Lix4LiZIC8g4Liq4LmI4LiH4LiV4LmI4LitXG4gIFJFSkVDVCA9ICdSRUpFQ1QnLCAvLyDguJvguI/guLTguYDguKrguJggKOC4iOC4miB3b3JrZmxvdyDguJfguLHguJnguJfguLUpXG4gIFJFVFVSTiA9ICdSRVRVUk4nLCAvLyDguKrguYjguIfguIHguKXguLHguJogKOC5hOC4m+C5geC4geC5ieC4oeC4suC5g+C4q+C4oeC5iClcbiAgQUNLTk9XTEVER0UgPSAnQUNLTk9XTEVER0UnLCAvLyDguKPguLHguJrguJfguKPguLLguJogKOC4quC4s+C4q+C4o+C4seC4miBGb3IgSW5mbylcbn1cblxuLy8g4LiC4LmJ4Lit4Lih4Li54Lil4Lie4Li34LmJ4LiZ4LiQ4Liy4LiZ4LiC4Lit4LiH4LiC4Lix4LmJ4LiZ4LiV4Lit4LiZIChTdGVwKSDguJfguLXguYggRW5naW5lIOC4leC5ieC4reC4h+C4o+C4ueC5iVxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd1N0ZXAge1xuICBzZXF1ZW5jZTogbnVtYmVyOyAvLyDguKXguLPguJTguLHguJrguJfguLXguYggKDEsIDIsIDMuLi4pXG4gIGFzc2lnbmVlSWQ/OiBudW1iZXI7IC8vIFVzZXIgSUQg4LiX4Li14LmI4Lij4Lix4Lia4Lic4Li04LiU4LiK4Lit4LiaICjguJbguYnguLLguYDguIjguLLguLDguIjguIfguITguJkpXG4gIG9yZ2FuaXphdGlvbklkPzogbnVtYmVyOyAvLyBPcmcgSUQg4LiX4Li14LmI4Lij4Lix4Lia4Lic4Li04LiU4LiK4Lit4LiaICjguJbguYnguLLguYDguIjguLLguLDguIjguIfguKvguJnguYjguKfguKLguIfguLLguJkpXG4gIHJvbGVJZD86IG51bWJlcjsgLy8gUm9sZSBJRCDguJfguLXguYjguKPguLHguJrguJzguLTguJTguIrguK3guJogKOC4luC5ieC4suC5gOC4iOC4suC4sOC4iOC4h+C4leC4s+C5geC4q+C4meC5iOC4hylcbiAgc3RhdHVzOiBTdGVwU3RhdHVzOyAvLyDguKrguJbguLLguJnguLDguJvguLHguIjguIjguLjguJrguLHguJlcbn1cblxuLy8g4Lic4Lil4Lil4Lix4Lie4LiY4LmM4LiX4Li14LmIIEVuZ2luZSDguIjguLDguJrguK3guIHguYDguKPguLLguKvguKXguLHguIfguIjguLLguIHguJvguKPguLDguKHguKfguKXguJzguKXguYDguKrguKPguYfguIhcbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNpdGlvblJlc3VsdCB7XG4gIG5leHRTdGVwU2VxdWVuY2U6IG51bWJlciB8IG51bGw7IC8vIOC4guC4seC5ieC4meC4leC4reC4meC4leC5iOC4reC5hOC4m+C4hOC4t+C4reC5gOC4peC4guC4l+C4teC5iOC5gOC4l+C5iOC4suC5hOC4q+C4o+C5iCAobnVsbCA9IOC4iOC4miB3b3JrZmxvdylcbiAgc2hvdWxkVXBkYXRlU3RhdHVzOiBib29sZWFuOyAvLyDguJXguYnguK3guIfguK3guLHguJvguYDguJTguJXguKrguJbguLLguJnguLDguYDguK3guIHguKrguLLguKPguKvguKXguLHguIHguYTguKvguKE/ICjguYDguIrguYjguJkg4LmA4Lib4Lil4Li14LmI4Lii4LiZ4LiI4Liy4LiBIElOX1JFVklFVyDguYDguJvguYfguJkgQVBQUk9WRUQpXG4gIGRvY3VtZW50U3RhdHVzPzogc3RyaW5nOyAvLyDguKrguJbguLLguJnguLDguYDguK3guIHguKrguLLguKPguKvguKXguLHguIHguJfguLXguYjguITguKfguKPguIjguLDguYDguJvguYfguJlcbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\workflow-engine\\interfaces\\workflow.interface.ts","mappings":";;;AAAA,qCAAqC;AACrC,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,yCAA2B,CAAA;IAC3B,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;IACrB,iCAAmB,CAAA;AACrB,CAAC,EANW,UAAU,0BAAV,UAAU,QAMrB;AAED,yBAAyB;AACzB,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,6CAA2B,CAAA;AAC7B,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\workflow-engine\\interfaces\\workflow.interface.ts"],"sourcesContent":["// สถานะของการดำเนินการในแต่ละขั้นตอน\nexport enum StepStatus {\n PENDING = 'PENDING', // รอถึงคิว\n IN_PROGRESS = 'IN_PROGRESS', // ถึงคิวแล้ว รอ action\n COMPLETED = 'COMPLETED', // อนุมัติ/ดำเนินการเรียบร้อย\n REJECTED = 'REJECTED', // ถูกปัดตก\n SKIPPED = 'SKIPPED', // ถูกข้าม\n}\n\n// การกระทำที่ผู้ใช้ทำได้\nexport enum WorkflowAction {\n APPROVE = 'APPROVE', // อนุมัติ / ยืนยัน / ส่งต่อ\n REJECT = 'REJECT', // ปฏิเสธ (จบ workflow ทันที)\n RETURN = 'RETURN', // ส่งกลับ (ไปแก้มาใหม่)\n ACKNOWLEDGE = 'ACKNOWLEDGE', // รับทราบ (สำหรับ For Info)\n}\n\n// ข้อมูลพื้นฐานของขั้นตอน (Step) ที่ Engine ต้องรู้\nexport interface WorkflowStep {\n sequence: number; // ลำดับที่ (1, 2, 3...)\n assigneeId?: number; // User ID ที่รับผิดชอบ (ถ้าเจาะจงคน)\n organizationId?: number; // Org ID ที่รับผิดชอบ (ถ้าเจาะจงหน่วยงาน)\n roleId?: number; // Role ID ที่รับผิดชอบ (ถ้าเจาะจงตำแหน่ง)\n status: StepStatus; // สถานะปัจจุบัน\n}\n\n// ผลลัพธ์ที่ Engine จะบอกเราหลังจากประมวลผลเสร็จ\nexport interface TransitionResult {\n nextStepSequence: number | null; // ขั้นตอนต่อไปคือเลขที่เท่าไหร่ (null = จบ workflow)\n shouldUpdateStatus: boolean; // ต้องอัปเดตสถานะเอกสารหลักไหม? (เช่น เปลี่ยนจาก IN_REVIEW เป็น APPROVED)\n documentStatus?: string; // สถานะเอกสารหลักที่ควรจะเป็น\n}\n"],"version":3}
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
c3a0b818c9d362e4835a71c11bcd99b3
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.MigrationQueueQueryDto = exports.PaginationDto = void 0;
|
||||
const class_validator_1 = require("class-validator");
|
||||
const class_transformer_1 = require("class-transformer");
|
||||
const migration_review_queue_entity_1 = require("../entities/migration-review-queue.entity");
|
||||
const swagger_1 = require("@nestjs/swagger");
|
||||
class PaginationDto {
|
||||
constructor() {
|
||||
this.page = 1;
|
||||
this.limit = 10;
|
||||
}
|
||||
}
|
||||
exports.PaginationDto = PaginationDto;
|
||||
__decorate([
|
||||
(0, swagger_1.ApiPropertyOptional)({ default: 1 }),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
(0, class_transformer_1.Type)(() => Number),
|
||||
(0, class_validator_1.IsInt)(),
|
||||
(0, class_validator_1.Min)(1),
|
||||
__metadata("design:type", Number)
|
||||
], PaginationDto.prototype, "page", void 0);
|
||||
__decorate([
|
||||
(0, swagger_1.ApiPropertyOptional)({ default: 10 }),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
(0, class_transformer_1.Type)(() => Number),
|
||||
(0, class_validator_1.IsInt)(),
|
||||
(0, class_validator_1.Min)(1),
|
||||
__metadata("design:type", Number)
|
||||
], PaginationDto.prototype, "limit", void 0);
|
||||
class MigrationQueueQueryDto extends PaginationDto {
|
||||
}
|
||||
exports.MigrationQueueQueryDto = MigrationQueueQueryDto;
|
||||
__decorate([
|
||||
(0, swagger_1.ApiPropertyOptional)({ enum: migration_review_queue_entity_1.MigrationReviewStatus }),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
(0, class_validator_1.IsEnum)(migration_review_queue_entity_1.MigrationReviewStatus),
|
||||
__metadata("design:type", typeof (_a = typeof migration_review_queue_entity_1.MigrationReviewStatus !== "undefined" && migration_review_queue_entity_1.MigrationReviewStatus) === "function" ? _a : Object)
|
||||
], MigrationQueueQueryDto.prototype, "status", void 0);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcbWlncmF0aW9uXFxkdG9cXG1pZ3JhdGlvbi1xdWV1ZS1xdWVyeS5kdG8udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFpRTtBQUNqRSx5REFBeUM7QUFDekMsNkZBQWtGO0FBQ2xGLDZDQUFzRDtBQUV0RCxNQUFhLGFBQWE7SUFBMUI7UUFNRSxTQUFJLEdBQVksQ0FBQyxDQUFDO1FBT2xCLFVBQUssR0FBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUFBO0FBZEQsc0NBY0M7QUFSQztJQUxDLElBQUEsNkJBQW1CLEVBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDbkMsSUFBQSw0QkFBVSxHQUFFO0lBQ1osSUFBQSx3QkFBSSxFQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNsQixJQUFBLHVCQUFLLEdBQUU7SUFDUCxJQUFBLHFCQUFHLEVBQUMsQ0FBQyxDQUFDOzsyQ0FDVztBQU9sQjtJQUxDLElBQUEsNkJBQW1CLEVBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDcEMsSUFBQSw0QkFBVSxHQUFFO0lBQ1osSUFBQSx3QkFBSSxFQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNsQixJQUFBLHVCQUFLLEdBQUU7SUFDUCxJQUFBLHFCQUFHLEVBQUMsQ0FBQyxDQUFDOzs0Q0FDYTtBQUd0QixNQUFhLHNCQUF1QixTQUFRLGFBQWE7Q0FLeEQ7QUFMRCx3REFLQztBQURDO0lBSEMsSUFBQSw2QkFBbUIsRUFBQyxFQUFFLElBQUksRUFBRSxxREFBcUIsRUFBRSxDQUFDO0lBQ3BELElBQUEsNEJBQVUsR0FBRTtJQUNaLElBQUEsd0JBQU0sRUFBQyxxREFBcUIsQ0FBQztrREFDckIscURBQXFCLG9CQUFyQixxREFBcUI7c0RBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcbWlncmF0aW9uXFxkdG9cXG1pZ3JhdGlvbi1xdWV1ZS1xdWVyeS5kdG8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSXNPcHRpb25hbCwgSXNFbnVtLCBJc0ludCwgTWluIH0gZnJvbSAnY2xhc3MtdmFsaWRhdG9yJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBNaWdyYXRpb25SZXZpZXdTdGF0dXMgfSBmcm9tICcuLi9lbnRpdGllcy9taWdyYXRpb24tcmV2aWV3LXF1ZXVlLmVudGl0eSc7XG5pbXBvcnQgeyBBcGlQcm9wZXJ0eU9wdGlvbmFsIH0gZnJvbSAnQG5lc3Rqcy9zd2FnZ2VyJztcblxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25EdG8ge1xuICBAQXBpUHJvcGVydHlPcHRpb25hbCh7IGRlZmF1bHQ6IDEgfSlcbiAgQElzT3B0aW9uYWwoKVxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIEBJc0ludCgpXG4gIEBNaW4oMSlcbiAgcGFnZT86IG51bWJlciA9IDE7XG5cbiAgQEFwaVByb3BlcnR5T3B0aW9uYWwoeyBkZWZhdWx0OiAxMCB9KVxuICBASXNPcHRpb25hbCgpXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgQElzSW50KClcbiAgQE1pbigxKVxuICBsaW1pdD86IG51bWJlciA9IDEwO1xufVxuXG5leHBvcnQgY2xhc3MgTWlncmF0aW9uUXVldWVRdWVyeUR0byBleHRlbmRzIFBhZ2luYXRpb25EdG8ge1xuICBAQXBpUHJvcGVydHlPcHRpb25hbCh7IGVudW06IE1pZ3JhdGlvblJldmlld1N0YXR1cyB9KVxuICBASXNPcHRpb25hbCgpXG4gIEBJc0VudW0oTWlncmF0aW9uUmV2aWV3U3RhdHVzKVxuICBzdGF0dXM/OiBNaWdyYXRpb25SZXZpZXdTdGF0dXM7XG59XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\dto\\migration-queue-query.dto.ts","mappings":";;;;;;;;;;;;;AAAA,qDAAiE;AACjE,yDAAyC;AACzC,6FAAkF;AAClF,6CAAsD;AAEtD,MAAa,aAAa;IAA1B;QAME,SAAI,GAAY,CAAC,CAAC;QAOlB,UAAK,GAAY,EAAE,CAAC;IACtB,CAAC;CAAA;AAdD,sCAcC;AARC;IALC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACnC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;2CACW;AAOlB;IALC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACpC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;4CACa;AAGtB,MAAa,sBAAuB,SAAQ,aAAa;CAKxD;AALD,wDAKC;AADC;IAHC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,qDAAqB,EAAE,CAAC;IACpD,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,qDAAqB,CAAC;kDACrB,qDAAqB,oBAArB,qDAAqB;sDAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\dto\\migration-queue-query.dto.ts"],"sourcesContent":["import { IsOptional, IsEnum, IsInt, Min } from 'class-validator';\nimport { Type } from 'class-transformer';\nimport { MigrationReviewStatus } from '../entities/migration-review-queue.entity';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class PaginationDto {\n @ApiPropertyOptional({ default: 1 })\n @IsOptional()\n @Type(() => Number)\n @IsInt()\n @Min(1)\n page?: number = 1;\n\n @ApiPropertyOptional({ default: 10 })\n @IsOptional()\n @Type(() => Number)\n @IsInt()\n @Min(1)\n limit?: number = 10;\n}\n\nexport class MigrationQueueQueryDto extends PaginationDto {\n @ApiPropertyOptional({ enum: MigrationReviewStatus })\n @IsOptional()\n @IsEnum(MigrationReviewStatus)\n status?: MigrationReviewStatus;\n}\n"],"version":3}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
dc5f6c85e35616e30dbbeb1175464884
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.UuidBaseEntity = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const uuid_1 = require("uuid");
|
||||
/**
|
||||
* Abstract base entity providing a UUID public identifier.
|
||||
*
|
||||
* Naming Convention (ADR-019 v1.8.1):
|
||||
* - TypeScript Property: `publicId` — semantic name indicating this is the public-facing identifier
|
||||
* - Database Column: `uuid` — MariaDB native UUID type (stored as BINARY(16))
|
||||
*
|
||||
* This avoids confusion between the property name and the DB data type,
|
||||
* while clearly indicating this is the ID exposed via API (not internal INT PK).
|
||||
*/
|
||||
class UuidBaseEntity {
|
||||
generatePublicId() {
|
||||
if (!this.publicId) {
|
||||
this.publicId = (0, uuid_1.v7)();
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.UuidBaseEntity = UuidBaseEntity;
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({
|
||||
type: 'uuid',
|
||||
name: 'uuid', // DB column name (MariaDB native UUID type)
|
||||
unique: true,
|
||||
nullable: false,
|
||||
comment: 'UUID Public Identifier (ADR-019)',
|
||||
}),
|
||||
__metadata("design:type", String)
|
||||
], UuidBaseEntity.prototype, "publicId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.BeforeInsert)(),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", []),
|
||||
__metadata("design:returntype", void 0)
|
||||
], UuidBaseEntity.prototype, "generatePublicId", null);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcY29tbW9uXFxlbnRpdGllc1xcdXVpZC1iYXNlLmVudGl0eS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxxQ0FBK0M7QUFDL0MsK0JBQW9DO0FBRXBDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQXNCLGNBQWM7SUFXbEMsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUEsU0FBTSxHQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWhCRCx3Q0FnQkM7QUFSQztJQVBDLElBQUEsZ0JBQU0sRUFBQztRQUNOLElBQUksRUFBRSxNQUFNO1FBQ1osSUFBSSxFQUFFLE1BQU0sRUFBRSw0Q0FBNEM7UUFDMUQsTUFBTSxFQUFFLElBQUk7UUFDWixRQUFRLEVBQUUsS0FBSztRQUNmLE9BQU8sRUFBRSxrQ0FBa0M7S0FDNUMsQ0FBQzs7Z0RBQ2dCO0FBR2xCO0lBREMsSUFBQSxzQkFBWSxHQUFFOzs7O3NEQUtkIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXGNvbW1vblxcZW50aXRpZXNcXHV1aWQtYmFzZS5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uLCBCZWZvcmVJbnNlcnQgfSBmcm9tICd0eXBlb3JtJztcclxuaW1wb3J0IHsgdjcgYXMgdXVpZHY3IH0gZnJvbSAndXVpZCc7XHJcblxyXG4vKipcclxuICogQWJzdHJhY3QgYmFzZSBlbnRpdHkgcHJvdmlkaW5nIGEgVVVJRCBwdWJsaWMgaWRlbnRpZmllci5cclxuICpcclxuICogTmFtaW5nIENvbnZlbnRpb24gKEFEUi0wMTkgdjEuOC4xKTpcclxuICogLSBUeXBlU2NyaXB0IFByb3BlcnR5OiBgcHVibGljSWRgIOKAlCBzZW1hbnRpYyBuYW1lIGluZGljYXRpbmcgdGhpcyBpcyB0aGUgcHVibGljLWZhY2luZyBpZGVudGlmaWVyXHJcbiAqIC0gRGF0YWJhc2UgQ29sdW1uOiBgdXVpZGAg4oCUIE1hcmlhREIgbmF0aXZlIFVVSUQgdHlwZSAoc3RvcmVkIGFzIEJJTkFSWSgxNikpXHJcbiAqXHJcbiAqIFRoaXMgYXZvaWRzIGNvbmZ1c2lvbiBiZXR3ZWVuIHRoZSBwcm9wZXJ0eSBuYW1lIGFuZCB0aGUgREIgZGF0YSB0eXBlLFxyXG4gKiB3aGlsZSBjbGVhcmx5IGluZGljYXRpbmcgdGhpcyBpcyB0aGUgSUQgZXhwb3NlZCB2aWEgQVBJIChub3QgaW50ZXJuYWwgSU5UIFBLKS5cclxuICovXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBVdWlkQmFzZUVudGl0eSB7XHJcbiAgQENvbHVtbih7XHJcbiAgICB0eXBlOiAndXVpZCcsXHJcbiAgICBuYW1lOiAndXVpZCcsIC8vIERCIGNvbHVtbiBuYW1lIChNYXJpYURCIG5hdGl2ZSBVVUlEIHR5cGUpXHJcbiAgICB1bmlxdWU6IHRydWUsXHJcbiAgICBudWxsYWJsZTogZmFsc2UsXHJcbiAgICBjb21tZW50OiAnVVVJRCBQdWJsaWMgSWRlbnRpZmllciAoQURSLTAxOSknLFxyXG4gIH0pXHJcbiAgcHVibGljSWQhOiBzdHJpbmc7IC8vIFR5cGVTY3JpcHQgcHJvcGVydHkgbmFtZSDigJQgc2VtYW50aWMsIGF2b2lkcyB0eXBlIGNvbmZ1c2lvblxyXG5cclxuICBAQmVmb3JlSW5zZXJ0KClcclxuICBnZW5lcmF0ZVB1YmxpY0lkKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnB1YmxpY0lkKSB7XHJcbiAgICAgIHRoaXMucHVibGljSWQgPSB1dWlkdjcoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\common\\entities\\uuid-base.entity.ts","mappings":";;;;;;;;;;;;AAAA,qCAA+C;AAC/C,+BAAoC;AAEpC;;;;;;;;;GASG;AACH,MAAsB,cAAc;IAWlC,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAA,SAAM,GAAE,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AAhBD,wCAgBC;AARC;IAPC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM,EAAE,4CAA4C;QAC1D,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,kCAAkC;KAC5C,CAAC;;gDACgB;AAGlB;IADC,IAAA,sBAAY,GAAE;;;;sDAKd","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\common\\entities\\uuid-base.entity.ts"],"sourcesContent":["import { Column, BeforeInsert } from 'typeorm';\r\nimport { v7 as uuidv7 } from 'uuid';\r\n\r\n/**\r\n * Abstract base entity providing a UUID public identifier.\r\n *\r\n * Naming Convention (ADR-019 v1.8.1):\r\n * - TypeScript Property: `publicId` — semantic name indicating this is the public-facing identifier\r\n * - Database Column: `uuid` — MariaDB native UUID type (stored as BINARY(16))\r\n *\r\n * This avoids confusion between the property name and the DB data type,\r\n * while clearly indicating this is the ID exposed via API (not internal INT PK).\r\n */\r\nexport abstract class UuidBaseEntity {\r\n @Column({\r\n type: 'uuid',\r\n name: 'uuid', // DB column name (MariaDB native UUID type)\r\n unique: true,\r\n nullable: false,\r\n comment: 'UUID Public Identifier (ADR-019)',\r\n })\r\n publicId!: string; // TypeScript property name — semantic, avoids type confusion\r\n\r\n @BeforeInsert()\r\n generatePublicId(): void {\r\n if (!this.publicId) {\r\n this.publicId = uuidv7();\r\n }\r\n }\r\n}\r\n"],"version":3}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
5e0212b1ae7e2046c1727fbc3b758e08
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXG5vZGVfbW9kdWxlc1xcLnBucG1cXHV1aWRAMTEuMS4wXFxub2RlX21vZHVsZXNcXHV1aWRcXGRpc3RcXGNqc1xccmVnZXguanMiLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBQ2IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDOUQsT0FBTyxDQUFDLE9BQU8sR0FBRywwSkFBMEosQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcbm9kZV9tb2R1bGVzXFwucG5wbVxcdXVpZEAxMS4xLjBcXG5vZGVfbW9kdWxlc1xcdXVpZFxcZGlzdFxcY2pzXFxyZWdleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZGVmYXVsdCA9IC9eKD86WzAtOWEtZl17OH0tWzAtOWEtZl17NH0tWzEtOF1bMC05YS1mXXszfS1bODlhYl1bMC05YS1mXXszfS1bMC05YS1mXXsxMn18MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwfGZmZmZmZmZmLWZmZmYtZmZmZi1mZmZmLWZmZmZmZmZmZmZmZikkL2k7XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\regex.js","mappings":"AAAA,YAAY,CAAC;AACb,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,OAAO,GAAG,0JAA0J,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\regex.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;\n"],"version":3}
|
||||
+106
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\common\\services\\crypto.service.ts","mappings":";AAAA,8CAA8C;AAC9C,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,2CAAoD;AACpD,2CAA+C;AAC/C,+CAAiC;AAG1B,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAMxB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAL/B,WAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;QACxC,cAAS,GAAG,aAAa,CAAC;QAE1B,aAAQ,GAAG,EAAE,CAAC;QAG7B,qCAAqC;QACrC,MAAM,MAAM,GACV,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,gBAAgB,CAAC;YAChD,mCAAmC,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CACL,IAAkD;QAElD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnE,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1D,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/E,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1E,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY;gBAAE,OAAO,IAAI,CAAC;YAEzC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACvE,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7D,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gEAAgE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACzH,CAAC;YACF,0DAA0D;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AAtDY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;yDAOwB,sBAAa,oBAAb,sBAAa;GANrC,aAAa,CAsDzB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\common\\services\\crypto.service.ts"],"sourcesContent":["// File: src/common/services/crypto.service.ts\n// บันทึกการแก้ไข: Encryption/Decryption Utility (T1.1)\n\nimport { Injectable, Logger } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport * as crypto from 'crypto';\n\n@Injectable()\nexport class CryptoService {\n private readonly logger = new Logger(CryptoService.name);\n private readonly algorithm = 'aes-256-cbc';\n private readonly key: Buffer;\n private readonly ivLength = 16;\n\n constructor(private configService: ConfigService) {\n // Key ต้องมีขนาด 32 bytes (256 bits)\n const secret =\n this.configService.get<string>('APP_SECRET_KEY') ||\n 'default-secret-key-32-chars-long!';\n this.key = crypto.scryptSync(secret, 'salt', 32);\n }\n\n encrypt(\n text: string | number | boolean | null | undefined\n ): string | null | undefined {\n if (text === null || text === undefined) return text;\n\n try {\n const stringValue = String(text);\n const iv = crypto.randomBytes(this.ivLength);\n const cipher = crypto.createCipheriv(this.algorithm, this.key, iv);\n let encrypted = cipher.update(stringValue, 'utf8', 'hex');\n encrypted += cipher.final('hex');\n return `${iv.toString('hex')}:${encrypted}`;\n } catch (error: unknown) {\n this.logger.error(\n `Encryption failed: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n }\n\n decrypt(text: string): string {\n if (!text || typeof text !== 'string' || !text.includes(':')) return text;\n\n try {\n const [ivHex, encryptedHex] = text.split(':');\n if (!ivHex || !encryptedHex) return text;\n\n const iv = Buffer.from(ivHex, 'hex');\n const decipher = crypto.createDecipheriv(this.algorithm, this.key, iv);\n let decrypted = decipher.update(encryptedHex, 'hex', 'utf8');\n decrypted += decipher.final('utf8');\n return decrypted;\n } catch (error: unknown) {\n this.logger.warn(\n `Decryption failed for value. Returning original text. Error: ${error instanceof Error ? error.message : String(error)}`\n );\n // กรณี Decrypt ไม่ได้ ให้คืนค่าเดิมเพื่อป้องกัน App Crash\n return text;\n }\n }\n}\n"],"version":3}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
1e43b13634c8db19e29ee03167c1f1a1
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
||||
return function (target, key) { decorator(target, key, paramIndex); }
|
||||
};
|
||||
var _a, _b, _c, _d;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.MetricsService = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const prom_client_1 = require("prom-client");
|
||||
const nestjs_prometheus_1 = require("@willsoto/nestjs-prometheus");
|
||||
let MetricsService = class MetricsService {
|
||||
constructor(numbersGenerated, sequenceUtilization, lockWaitTime, lockFailures) {
|
||||
this.numbersGenerated = numbersGenerated;
|
||||
this.sequenceUtilization = sequenceUtilization;
|
||||
this.lockWaitTime = lockWaitTime;
|
||||
this.lockFailures = lockFailures;
|
||||
}
|
||||
};
|
||||
exports.MetricsService = MetricsService;
|
||||
exports.MetricsService = MetricsService = __decorate([
|
||||
(0, common_1.Injectable)(),
|
||||
__param(0, (0, nestjs_prometheus_1.InjectMetric)('numbering_sequences_total')),
|
||||
__param(1, (0, nestjs_prometheus_1.InjectMetric)('numbering_sequence_utilization')),
|
||||
__param(2, (0, nestjs_prometheus_1.InjectMetric)('numbering_lock_wait_seconds')),
|
||||
__param(3, (0, nestjs_prometheus_1.InjectMetric)('numbering_lock_failures_total')),
|
||||
__metadata("design:paramtypes", [typeof (_a = typeof prom_client_1.Counter !== "undefined" && prom_client_1.Counter) === "function" ? _a : Object, typeof (_b = typeof prom_client_1.Gauge !== "undefined" && prom_client_1.Gauge) === "function" ? _b : Object, typeof (_c = typeof prom_client_1.Histogram !== "undefined" && prom_client_1.Histogram) === "function" ? _c : Object, typeof (_d = typeof prom_client_1.Counter !== "undefined" && prom_client_1.Counter) === "function" ? _d : Object])
|
||||
], MetricsService);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZG9jdW1lbnQtbnVtYmVyaW5nXFxzZXJ2aWNlc1xcbWV0cmljcy5zZXJ2aWNlLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNEM7QUFDNUMsNkNBQXdEO0FBQ3hELG1FQUEyRDtBQUdwRCxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjO0lBQ3pCLFlBRVMsZ0JBQWlDLEVBRWpDLG1CQUFrQyxFQUVsQyxZQUErQixFQUUvQixZQUE2QjtRQU43QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBZTtRQUVsQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFFL0IsaUJBQVksR0FBWixZQUFZLENBQWlCO0lBQ25DLENBQUM7Q0FDTCxDQUFBO0FBWFksd0NBQWM7eUJBQWQsY0FBYztJQUQxQixJQUFBLG1CQUFVLEdBQUU7SUFHUixXQUFBLElBQUEsZ0NBQVksRUFBQywyQkFBMkIsQ0FBQyxDQUFBO0lBRXpDLFdBQUEsSUFBQSxnQ0FBWSxFQUFDLGdDQUFnQyxDQUFDLENBQUE7SUFFOUMsV0FBQSxJQUFBLGdDQUFZLEVBQUMsNkJBQTZCLENBQUMsQ0FBQTtJQUUzQyxXQUFBLElBQUEsZ0NBQVksRUFBQywrQkFBK0IsQ0FBQyxDQUFBO3lEQUxyQixxQkFBTyxvQkFBUCxxQkFBTyxvREFFSixtQkFBSyxvQkFBTCxtQkFBSyxvREFFWix1QkFBUyxvQkFBVCx1QkFBUyxvREFFVCxxQkFBTyxvQkFBUCxxQkFBTztHQVRuQixjQUFjLENBVzFCIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXG1vZHVsZXNcXGRvY3VtZW50LW51bWJlcmluZ1xcc2VydmljZXNcXG1ldHJpY3Muc2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQG5lc3Rqcy9jb21tb24nO1xyXG5pbXBvcnQgeyBDb3VudGVyLCBHYXVnZSwgSGlzdG9ncmFtIH0gZnJvbSAncHJvbS1jbGllbnQnO1xyXG5pbXBvcnQgeyBJbmplY3RNZXRyaWMgfSBmcm9tICdAd2lsbHNvdG8vbmVzdGpzLXByb21ldGhldXMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTWV0cmljc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdE1ldHJpYygnbnVtYmVyaW5nX3NlcXVlbmNlc190b3RhbCcpXHJcbiAgICBwdWJsaWMgbnVtYmVyc0dlbmVyYXRlZDogQ291bnRlcjxzdHJpbmc+LFxyXG4gICAgQEluamVjdE1ldHJpYygnbnVtYmVyaW5nX3NlcXVlbmNlX3V0aWxpemF0aW9uJylcclxuICAgIHB1YmxpYyBzZXF1ZW5jZVV0aWxpemF0aW9uOiBHYXVnZTxzdHJpbmc+LFxyXG4gICAgQEluamVjdE1ldHJpYygnbnVtYmVyaW5nX2xvY2tfd2FpdF9zZWNvbmRzJylcclxuICAgIHB1YmxpYyBsb2NrV2FpdFRpbWU6IEhpc3RvZ3JhbTxzdHJpbmc+LFxyXG4gICAgQEluamVjdE1ldHJpYygnbnVtYmVyaW5nX2xvY2tfZmFpbHVyZXNfdG90YWwnKVxyXG4gICAgcHVibGljIGxvY2tGYWlsdXJlczogQ291bnRlcjxzdHJpbmc+XHJcbiAgKSB7fVxyXG59XHJcbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\services\\metrics.service.ts","mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAwD;AACxD,mEAA2D;AAGpD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAES,gBAAiC,EAEjC,mBAAkC,EAElC,YAA+B,EAE/B,YAA6B;QAN7B,qBAAgB,GAAhB,gBAAgB,CAAiB;QAEjC,wBAAmB,GAAnB,mBAAmB,CAAe;QAElC,iBAAY,GAAZ,YAAY,CAAmB;QAE/B,iBAAY,GAAZ,YAAY,CAAiB;IACnC,CAAC;CACL,CAAA;AAXY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,gCAAY,EAAC,2BAA2B,CAAC,CAAA;IAEzC,WAAA,IAAA,gCAAY,EAAC,gCAAgC,CAAC,CAAA;IAE9C,WAAA,IAAA,gCAAY,EAAC,6BAA6B,CAAC,CAAA;IAE3C,WAAA,IAAA,gCAAY,EAAC,+BAA+B,CAAC,CAAA;yDALrB,qBAAO,oBAAP,qBAAO,oDAEJ,mBAAK,oBAAL,mBAAK,oDAEZ,uBAAS,oBAAT,uBAAS,oDAET,qBAAO,oBAAP,qBAAO;GATnB,cAAc,CAW1B","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\services\\metrics.service.ts"],"sourcesContent":["import { Injectable } from '@nestjs/common';\r\nimport { Counter, Gauge, Histogram } from 'prom-client';\r\nimport { InjectMetric } from '@willsoto/nestjs-prometheus';\r\n\r\n@Injectable()\r\nexport class MetricsService {\r\n constructor(\r\n @InjectMetric('numbering_sequences_total')\r\n public numbersGenerated: Counter<string>,\r\n @InjectMetric('numbering_sequence_utilization')\r\n public sequenceUtilization: Gauge<string>,\r\n @InjectMetric('numbering_lock_wait_seconds')\r\n public lockWaitTime: Histogram<string>,\r\n @InjectMetric('numbering_lock_failures_total')\r\n public lockFailures: Counter<string>\r\n ) {}\r\n}\r\n"],"version":3}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
e92e16bf9beb6ceb0f0b149e96e3c81f
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const parse_js_1 = require("./parse.js");
|
||||
const stringify_js_1 = require("./stringify.js");
|
||||
function v1ToV6(uuid) {
|
||||
const v1Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid;
|
||||
const v6Bytes = _v1ToV6(v1Bytes);
|
||||
return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v6Bytes) : v6Bytes;
|
||||
}
|
||||
exports.default = v1ToV6;
|
||||
function _v1ToV6(v1Bytes) {
|
||||
return Uint8Array.of(((v1Bytes[6] & 0x0f) << 4) | ((v1Bytes[7] >> 4) & 0x0f), ((v1Bytes[7] & 0x0f) << 4) | ((v1Bytes[4] & 0xf0) >> 4), ((v1Bytes[4] & 0x0f) << 4) | ((v1Bytes[5] & 0xf0) >> 4), ((v1Bytes[5] & 0x0f) << 4) | ((v1Bytes[0] & 0xf0) >> 4), ((v1Bytes[0] & 0x0f) << 4) | ((v1Bytes[1] & 0xf0) >> 4), ((v1Bytes[1] & 0x0f) << 4) | ((v1Bytes[2] & 0xf0) >> 4), 0x60 | (v1Bytes[2] & 0x0f), v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]);
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXG5vZGVfbW9kdWxlc1xcLnBucG1cXHV1aWRAMTEuMS4wXFxub2RlX21vZHVsZXNcXHV1aWRcXGRpc3RcXGNqc1xcdjFUb1Y2LmpzIiwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQztBQUNiLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzlELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUN6QyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUNqRCxTQUFTLE1BQU0sQ0FBQyxJQUFJO0lBQ2hCLE1BQU0sT0FBTyxHQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEYsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUM3RixDQUFDO0FBQ0QsT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7QUFDekIsU0FBUyxPQUFPLENBQUMsT0FBTztJQUNwQixPQUFPLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN2YsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcbm9kZV9tb2R1bGVzXFwucG5wbVxcdXVpZEAxMS4xLjBcXG5vZGVfbW9kdWxlc1xcdXVpZFxcZGlzdFxcY2pzXFx2MVRvVjYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5jb25zdCBwYXJzZV9qc18xID0gcmVxdWlyZShcIi4vcGFyc2UuanNcIik7XG5jb25zdCBzdHJpbmdpZnlfanNfMSA9IHJlcXVpcmUoXCIuL3N0cmluZ2lmeS5qc1wiKTtcbmZ1bmN0aW9uIHYxVG9WNih1dWlkKSB7XG4gICAgY29uc3QgdjFCeXRlcyA9IHR5cGVvZiB1dWlkID09PSAnc3RyaW5nJyA/ICgwLCBwYXJzZV9qc18xLmRlZmF1bHQpKHV1aWQpIDogdXVpZDtcbiAgICBjb25zdCB2NkJ5dGVzID0gX3YxVG9WNih2MUJ5dGVzKTtcbiAgICByZXR1cm4gdHlwZW9mIHV1aWQgPT09ICdzdHJpbmcnID8gKDAsIHN0cmluZ2lmeV9qc18xLnVuc2FmZVN0cmluZ2lmeSkodjZCeXRlcykgOiB2NkJ5dGVzO1xufVxuZXhwb3J0cy5kZWZhdWx0ID0gdjFUb1Y2O1xuZnVuY3Rpb24gX3YxVG9WNih2MUJ5dGVzKSB7XG4gICAgcmV0dXJuIFVpbnQ4QXJyYXkub2YoKCh2MUJ5dGVzWzZdICYgMHgwZikgPDwgNCkgfCAoKHYxQnl0ZXNbN10gPj4gNCkgJiAweDBmKSwgKCh2MUJ5dGVzWzddICYgMHgwZikgPDwgNCkgfCAoKHYxQnl0ZXNbNF0gJiAweGYwKSA+PiA0KSwgKCh2MUJ5dGVzWzRdICYgMHgwZikgPDwgNCkgfCAoKHYxQnl0ZXNbNV0gJiAweGYwKSA+PiA0KSwgKCh2MUJ5dGVzWzVdICYgMHgwZikgPDwgNCkgfCAoKHYxQnl0ZXNbMF0gJiAweGYwKSA+PiA0KSwgKCh2MUJ5dGVzWzBdICYgMHgwZikgPDwgNCkgfCAoKHYxQnl0ZXNbMV0gJiAweGYwKSA+PiA0KSwgKCh2MUJ5dGVzWzFdICYgMHgwZikgPDwgNCkgfCAoKHYxQnl0ZXNbMl0gJiAweGYwKSA+PiA0KSwgMHg2MCB8ICh2MUJ5dGVzWzJdICYgMHgwZiksIHYxQnl0ZXNbM10sIHYxQnl0ZXNbOF0sIHYxQnl0ZXNbOV0sIHYxQnl0ZXNbMTBdLCB2MUJ5dGVzWzExXSwgdjFCeXRlc1sxMl0sIHYxQnl0ZXNbMTNdLCB2MUJ5dGVzWzE0XSwgdjFCeXRlc1sxNV0pO1xufVxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\v1ToV6.js","mappings":"AAAA,YAAY,CAAC;AACb,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACzC,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACjD,SAAS,MAAM,CAAC,IAAI;IAChB,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7F,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;AACzB,SAAS,OAAO,CAAC,OAAO;IACpB,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7f,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\v1ToV6.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst parse_js_1 = require(\"./parse.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction v1ToV6(uuid) {\n const v1Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid;\n const v6Bytes = _v1ToV6(v1Bytes);\n return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v6Bytes) : v6Bytes;\n}\nexports.default = v1ToV6;\nfunction _v1ToV6(v1Bytes) {\n return Uint8Array.of(((v1Bytes[6] & 0x0f) << 4) | ((v1Bytes[7] >> 4) & 0x0f), ((v1Bytes[7] & 0x0f) << 4) | ((v1Bytes[4] & 0xf0) >> 4), ((v1Bytes[4] & 0x0f) << 4) | ((v1Bytes[5] & 0xf0) >> 4), ((v1Bytes[5] & 0x0f) << 4) | ((v1Bytes[0] & 0xf0) >> 4), ((v1Bytes[0] & 0x0f) << 4) | ((v1Bytes[1] & 0xf0) >> 4), ((v1Bytes[1] & 0x0f) << 4) | ((v1Bytes[2] & 0xf0) >> 4), 0x60 | (v1Bytes[2] & 0x0f), v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]);\n}\n"],"version":3}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
b94c9f56f6c087f382d7a351eebbbf92
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.CommitBatchDto = exports.CommitBatchItemDto = void 0;
|
||||
const class_validator_1 = require("class-validator");
|
||||
const class_transformer_1 = require("class-transformer");
|
||||
const import_correspondence_dto_1 = require("./import-correspondence.dto");
|
||||
class CommitBatchItemDto {
|
||||
}
|
||||
exports.CommitBatchItemDto = CommitBatchItemDto;
|
||||
__decorate([
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
__metadata("design:type", Number)
|
||||
], CommitBatchItemDto.prototype, "queueId", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.ValidateNested)(),
|
||||
(0, class_transformer_1.Type)(() => import_correspondence_dto_1.ImportCorrespondenceDto),
|
||||
__metadata("design:type", typeof (_a = typeof import_correspondence_dto_1.ImportCorrespondenceDto !== "undefined" && import_correspondence_dto_1.ImportCorrespondenceDto) === "function" ? _a : Object)
|
||||
], CommitBatchItemDto.prototype, "dto", void 0);
|
||||
class CommitBatchDto {
|
||||
}
|
||||
exports.CommitBatchDto = CommitBatchDto;
|
||||
__decorate([
|
||||
(0, class_validator_1.IsArray)(),
|
||||
(0, class_validator_1.ValidateNested)({ each: true }),
|
||||
(0, class_transformer_1.Type)(() => CommitBatchItemDto),
|
||||
__metadata("design:type", Array)
|
||||
], CommitBatchDto.prototype, "items", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
__metadata("design:type", String)
|
||||
], CommitBatchDto.prototype, "batchId", void 0);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcbWlncmF0aW9uXFxkdG9cXGNvbW1pdC1iYXRjaC5kdG8udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFnRjtBQUNoRix5REFBeUM7QUFDekMsMkVBQXNFO0FBRXRFLE1BQWEsa0JBQWtCO0NBTzlCO0FBUEQsZ0RBT0M7QUFMQztJQURDLElBQUEsNEJBQVUsR0FBRTs7bURBQ0k7QUFJakI7SUFGQyxJQUFBLGdDQUFjLEdBQUU7SUFDaEIsSUFBQSx3QkFBSSxFQUFDLEdBQUcsRUFBRSxDQUFDLG1EQUF1QixDQUFDO2tEQUM5QixtREFBdUIsb0JBQXZCLG1EQUF1QjsrQ0FBQztBQUdoQyxNQUFhLGNBQWM7Q0FTMUI7QUFURCx3Q0FTQztBQUxDO0lBSEMsSUFBQSx5QkFBTyxHQUFFO0lBQ1QsSUFBQSxnQ0FBYyxFQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzlCLElBQUEsd0JBQUksRUFBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzs7NkNBQ0Y7QUFJN0I7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7OytDQUNJIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXG1vZHVsZXNcXG1pZ3JhdGlvblxcZHRvXFxjb21taXQtYmF0Y2guZHRvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElzQXJyYXksIFZhbGlkYXRlTmVzdGVkLCBJc1N0cmluZywgSXNOb3RFbXB0eSB9IGZyb20gJ2NsYXNzLXZhbGlkYXRvcic7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgSW1wb3J0Q29ycmVzcG9uZGVuY2VEdG8gfSBmcm9tICcuL2ltcG9ydC1jb3JyZXNwb25kZW5jZS5kdG8nO1xuXG5leHBvcnQgY2xhc3MgQ29tbWl0QmF0Y2hJdGVtRHRvIHtcbiAgQElzTm90RW1wdHkoKVxuICBxdWV1ZUlkITogbnVtYmVyO1xuXG4gIEBWYWxpZGF0ZU5lc3RlZCgpXG4gIEBUeXBlKCgpID0+IEltcG9ydENvcnJlc3BvbmRlbmNlRHRvKVxuICBkdG8hOiBJbXBvcnRDb3JyZXNwb25kZW5jZUR0bztcbn1cblxuZXhwb3J0IGNsYXNzIENvbW1pdEJhdGNoRHRvIHtcbiAgQElzQXJyYXkoKVxuICBAVmFsaWRhdGVOZXN0ZWQoeyBlYWNoOiB0cnVlIH0pXG4gIEBUeXBlKCgpID0+IENvbW1pdEJhdGNoSXRlbUR0bylcbiAgaXRlbXMhOiBDb21taXRCYXRjaEl0ZW1EdG9bXTtcblxuICBASXNTdHJpbmcoKVxuICBASXNOb3RFbXB0eSgpXG4gIGJhdGNoSWQhOiBzdHJpbmc7XG59XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\dto\\commit-batch.dto.ts","mappings":";;;;;;;;;;;;;AAAA,qDAAgF;AAChF,yDAAyC;AACzC,2EAAsE;AAEtE,MAAa,kBAAkB;CAO9B;AAPD,gDAOC;AALC;IADC,IAAA,4BAAU,GAAE;;mDACI;AAIjB;IAFC,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,mDAAuB,CAAC;kDAC9B,mDAAuB,oBAAvB,mDAAuB;+CAAC;AAGhC,MAAa,cAAc;CAS1B;AATD,wCASC;AALC;IAHC,IAAA,yBAAO,GAAE;IACT,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC;;6CACF;AAI7B;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+CACI","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\dto\\commit-batch.dto.ts"],"sourcesContent":["import { IsArray, ValidateNested, IsString, IsNotEmpty } from 'class-validator';\nimport { Type } from 'class-transformer';\nimport { ImportCorrespondenceDto } from './import-correspondence.dto';\n\nexport class CommitBatchItemDto {\n @IsNotEmpty()\n queueId!: number;\n\n @ValidateNested()\n @Type(() => ImportCorrespondenceDto)\n dto!: ImportCorrespondenceDto;\n}\n\nexport class CommitBatchDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => CommitBatchItemDto)\n items!: CommitBatchItemDto[];\n\n @IsString()\n @IsNotEmpty()\n batchId!: string;\n}\n"],"version":3}
|
||||
+317
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+41
@@ -0,0 +1,41 @@
|
||||
afa5059cd7fe10c0f288acc5605d84a7
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.unsafeStringify = void 0;
|
||||
const validate_js_1 = require("./validate.js");
|
||||
const byteToHex = [];
|
||||
for (let i = 0; i < 256; ++i) {
|
||||
byteToHex.push((i + 0x100).toString(16).slice(1));
|
||||
}
|
||||
function unsafeStringify(arr, offset = 0) {
|
||||
return (byteToHex[arr[offset + 0]] +
|
||||
byteToHex[arr[offset + 1]] +
|
||||
byteToHex[arr[offset + 2]] +
|
||||
byteToHex[arr[offset + 3]] +
|
||||
'-' +
|
||||
byteToHex[arr[offset + 4]] +
|
||||
byteToHex[arr[offset + 5]] +
|
||||
'-' +
|
||||
byteToHex[arr[offset + 6]] +
|
||||
byteToHex[arr[offset + 7]] +
|
||||
'-' +
|
||||
byteToHex[arr[offset + 8]] +
|
||||
byteToHex[arr[offset + 9]] +
|
||||
'-' +
|
||||
byteToHex[arr[offset + 10]] +
|
||||
byteToHex[arr[offset + 11]] +
|
||||
byteToHex[arr[offset + 12]] +
|
||||
byteToHex[arr[offset + 13]] +
|
||||
byteToHex[arr[offset + 14]] +
|
||||
byteToHex[arr[offset + 15]]).toLowerCase();
|
||||
}
|
||||
exports.unsafeStringify = unsafeStringify;
|
||||
function stringify(arr, offset = 0) {
|
||||
const uuid = unsafeStringify(arr, offset);
|
||||
if (!(0, validate_js_1.default)(uuid)) {
|
||||
throw TypeError('Stringified UUID is invalid');
|
||||
}
|
||||
return uuid;
|
||||
}
|
||||
exports.default = stringify;
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXG5vZGVfbW9kdWxlc1xcLnBucG1cXHV1aWRAMTEuMS4wXFxub2RlX21vZHVsZXNcXHV1aWRcXGRpc3RcXGNqc1xcc3RyaW5naWZ5LmpzIiwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQztBQUNiLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzlELE9BQU8sQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLENBQUM7QUFDakMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQy9DLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDM0IsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUNELFNBQVMsZUFBZSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsQ0FBQztJQUNwQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsR0FBRztRQUNILFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLEdBQUc7UUFDSCxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQixHQUFHO1FBQ0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsR0FBRztRQUNILFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNuRCxDQUFDO0FBQ0QsT0FBTyxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7QUFDMUMsU0FBUyxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxDQUFDO0lBQzlCLE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sU0FBUyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFDRCxPQUFPLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcbm9kZV9tb2R1bGVzXFwucG5wbVxcdXVpZEAxMS4xLjBcXG5vZGVfbW9kdWxlc1xcdXVpZFxcZGlzdFxcY2pzXFxzdHJpbmdpZnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnVuc2FmZVN0cmluZ2lmeSA9IHZvaWQgMDtcbmNvbnN0IHZhbGlkYXRlX2pzXzEgPSByZXF1aXJlKFwiLi92YWxpZGF0ZS5qc1wiKTtcbmNvbnN0IGJ5dGVUb0hleCA9IFtdO1xuZm9yIChsZXQgaSA9IDA7IGkgPCAyNTY7ICsraSkge1xuICAgIGJ5dGVUb0hleC5wdXNoKChpICsgMHgxMDApLnRvU3RyaW5nKDE2KS5zbGljZSgxKSk7XG59XG5mdW5jdGlvbiB1bnNhZmVTdHJpbmdpZnkoYXJyLCBvZmZzZXQgPSAwKSB7XG4gICAgcmV0dXJuIChieXRlVG9IZXhbYXJyW29mZnNldCArIDBdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMV1dICtcbiAgICAgICAgYnl0ZVRvSGV4W2FycltvZmZzZXQgKyAyXV0gK1xuICAgICAgICBieXRlVG9IZXhbYXJyW29mZnNldCArIDNdXSArXG4gICAgICAgICctJyArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgNF1dICtcbiAgICAgICAgYnl0ZVRvSGV4W2FycltvZmZzZXQgKyA1XV0gK1xuICAgICAgICAnLScgK1xuICAgICAgICBieXRlVG9IZXhbYXJyW29mZnNldCArIDZdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgN11dICtcbiAgICAgICAgJy0nICtcbiAgICAgICAgYnl0ZVRvSGV4W2FycltvZmZzZXQgKyA4XV0gK1xuICAgICAgICBieXRlVG9IZXhbYXJyW29mZnNldCArIDldXSArXG4gICAgICAgICctJyArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTBdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTFdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTJdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTNdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTRdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTVdXSkudG9Mb3dlckNhc2UoKTtcbn1cbmV4cG9ydHMudW5zYWZlU3RyaW5naWZ5ID0gdW5zYWZlU3RyaW5naWZ5O1xuZnVuY3Rpb24gc3RyaW5naWZ5KGFyciwgb2Zmc2V0ID0gMCkge1xuICAgIGNvbnN0IHV1aWQgPSB1bnNhZmVTdHJpbmdpZnkoYXJyLCBvZmZzZXQpO1xuICAgIGlmICghKDAsIHZhbGlkYXRlX2pzXzEuZGVmYXVsdCkodXVpZCkpIHtcbiAgICAgICAgdGhyb3cgVHlwZUVycm9yKCdTdHJpbmdpZmllZCBVVUlEIGlzIGludmFsaWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHV1aWQ7XG59XG5leHBvcnRzLmRlZmF1bHQgPSBzdHJpbmdpZnk7XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\stringify.js","mappings":"AAAA,YAAY,CAAC;AACb,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC;AACjC,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAC/C,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;IAC3B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AACD,SAAS,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC;IACpC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,GAAG;QACH,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,GAAG;QACH,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,GAAG;QACH,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,GAAG;QACH,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACnD,CAAC;AACD,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;AAC1C,SAAS,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC;IAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,SAAS,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\stringify.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unsafeStringify = void 0;\nconst validate_js_1 = require(\"./validate.js\");\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nfunction unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nexports.unsafeStringify = unsafeStringify;\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!(0, validate_js_1.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexports.default = stringify;\n"],"version":3}
|
||||
+167
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+91
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\user\\entities\\user-assignment.entity.ts","mappings":";AAAA,4DAA4D;AAC5D,0FAA0F;;;;;;;;;;;;;AAE1F,qCAOiB;AACjB,+CAAqC;AACrC,+CAAqC;AACrC,yFAA+E,CAAC,oCAAoC;AACpH,0EAAgE,CAAC,oCAAoC;AACrG,6EAAmE,CAAC,oCAAoC;AAGjG,IAAM,cAAc,GAApB,MAAM,cAAc;CAmD1B,CAAA;AAnDY,wCAAc;AAEzB;IADC,IAAA,gCAAsB,GAAE;;0CACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;8CACZ;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;8CACZ;AAIhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDAC5B;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAC5B;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDAC5B;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDAC9B;AAG1B;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;kDAAC;AAMlB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC1E,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;kDACzB,kBAAI,oBAAJ,kBAAI;4CAAC;AAIZ;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC9C,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;kDACzB,kBAAI,oBAAJ,kBAAI;4CAAC;AAIZ;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kCAAY,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACtE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;kDACzB,kCAAY,oBAAZ,kCAAY;oDAAC;AAI5B;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDACzB,wBAAO,oBAAP,wBAAO;+CAAC;AAIlB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,0BAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;kDACzB,0BAAQ,oBAAR,0BAAQ;gDAAC;AAIpB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;kDAC/B,kBAAI,oBAAJ,kBAAI;kDAAC;yBAlDP,cAAc;IAD1B,IAAA,gBAAM,EAAC,kBAAkB,CAAC;GACd,cAAc,CAmD1B","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\user\\entities\\user-assignment.entity.ts"],"sourcesContent":["// File: src/modules/user/entities/user-assignment.entity.ts\n// บันทึกการแก้ไข: Entity สำหรับการมอบหมาย Role ให้กับ User ตาม Scope (T1.3, RBAC 4-Level)\n\nimport {\n Entity,\n Column,\n PrimaryGeneratedColumn,\n ManyToOne,\n JoinColumn,\n CreateDateColumn,\n} from 'typeorm';\nimport { User } from './user.entity';\nimport { Role } from './role.entity';\nimport { Organization } from '../../organization/entities/organization.entity'; // ปรับ Path ให้ตรงกับ ProjectModule\nimport { Project } from '../../project/entities/project.entity'; // ปรับ Path ให้ตรงกับ ProjectModule\nimport { Contract } from '../../contract/entities/contract.entity'; // ปรับ Path ให้ตรงกับ ProjectModule\n\n@Entity('user_assignments')\nexport class UserAssignment {\n @PrimaryGeneratedColumn()\n id!: number;\n\n @Column({ name: 'user_id' })\n userId!: number;\n\n @Column({ name: 'role_id' })\n roleId!: number;\n\n // --- Scopes (เลือกได้เพียง 1 หรือเป็น NULL ทั้งหมดสำหรับ Global) ---\n @Column({ name: 'organization_id', nullable: true })\n organizationId?: number;\n\n @Column({ name: 'project_id', nullable: true })\n projectId?: number;\n\n @Column({ name: 'contract_id', nullable: true })\n contractId?: number;\n\n @Column({ name: 'assigned_by_user_id', nullable: true })\n assignedByUserId?: number;\n\n @CreateDateColumn({ name: 'assigned_at' })\n assignedAt!: Date;\n\n // --- Relations ---\n\n @ManyToOne(() => User, (user) => user.assignments, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'user_id' })\n user!: User;\n\n @ManyToOne(() => Role, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'role_id' })\n role!: Role;\n\n @ManyToOne(() => Organization, { onDelete: 'CASCADE', nullable: true })\n @JoinColumn({ name: 'organization_id' })\n organization?: Organization;\n\n @ManyToOne(() => Project, { onDelete: 'CASCADE', nullable: true })\n @JoinColumn({ name: 'project_id' })\n project?: Project;\n\n @ManyToOne(() => Contract, { onDelete: 'CASCADE', nullable: true })\n @JoinColumn({ name: 'contract_id' })\n contract?: Contract;\n\n @ManyToOne(() => User, { nullable: true })\n @JoinColumn({ name: 'assigned_by_user_id' })\n assignedBy?: User;\n}\n"],"version":3}
|
||||
+918
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+41
@@ -0,0 +1,41 @@
|
||||
0d8856588afe476fde634f80c05f61ee
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a, _b;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.CorrespondenceReference = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const correspondence_entity_1 = require("./correspondence.entity");
|
||||
let CorrespondenceReference = class CorrespondenceReference {
|
||||
};
|
||||
exports.CorrespondenceReference = CorrespondenceReference;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryColumn)({ name: 'src_correspondence_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], CorrespondenceReference.prototype, "sourceId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryColumn)({ name: 'tgt_correspondence_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], CorrespondenceReference.prototype, "targetId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => correspondence_entity_1.Correspondence, { onDelete: 'CASCADE' }),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'src_correspondence_id' }),
|
||||
__metadata("design:type", typeof (_a = typeof correspondence_entity_1.Correspondence !== "undefined" && correspondence_entity_1.Correspondence) === "function" ? _a : Object)
|
||||
], CorrespondenceReference.prototype, "source", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => correspondence_entity_1.Correspondence, { onDelete: 'CASCADE' }),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'tgt_correspondence_id' }),
|
||||
__metadata("design:type", typeof (_b = typeof correspondence_entity_1.Correspondence !== "undefined" && correspondence_entity_1.Correspondence) === "function" ? _b : Object)
|
||||
], CorrespondenceReference.prototype, "target", void 0);
|
||||
exports.CorrespondenceReference = CorrespondenceReference = __decorate([
|
||||
(0, typeorm_1.Entity)('correspondence_references')
|
||||
], CorrespondenceReference);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcY29ycmVzcG9uZGVuY2VcXGVudGl0aWVzXFxjb3JyZXNwb25kZW5jZS1yZWZlcmVuY2UuZW50aXR5LnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FBdUU7QUFDdkUsbUVBQXlEO0FBR2xELElBQU0sdUJBQXVCLEdBQTdCLE1BQU0sdUJBQXVCO0NBY25DLENBQUE7QUFkWSwwREFBdUI7QUFFbEM7SUFEQyxJQUFBLHVCQUFhLEVBQUMsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQzs7eURBQy9CO0FBR2xCO0lBREMsSUFBQSx1QkFBYSxFQUFDLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFLENBQUM7O3lEQUMvQjtBQUlsQjtJQUZDLElBQUEsbUJBQVMsRUFBQyxHQUFHLEVBQUUsQ0FBQyxzQ0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3hELElBQUEsb0JBQVUsRUFBQyxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxDQUFDO2tEQUNyQyxzQ0FBYyxvQkFBZCxzQ0FBYzt1REFBQztBQUl4QjtJQUZDLElBQUEsbUJBQVMsRUFBQyxHQUFHLEVBQUUsQ0FBQyxzQ0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3hELElBQUEsb0JBQVUsRUFBQyxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxDQUFDO2tEQUNyQyxzQ0FBYyxvQkFBZCxzQ0FBYzt1REFBQztrQ0FiYix1QkFBdUI7SUFEbkMsSUFBQSxnQkFBTSxFQUFDLDJCQUEyQixDQUFDO0dBQ3ZCLHVCQUF1QixDQWNuQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxtb2R1bGVzXFxjb3JyZXNwb25kZW5jZVxcZW50aXRpZXNcXGNvcnJlc3BvbmRlbmNlLXJlZmVyZW5jZS5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5LCBQcmltYXJ5Q29sdW1uLCBNYW55VG9PbmUsIEpvaW5Db2x1bW4gfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IENvcnJlc3BvbmRlbmNlIH0gZnJvbSAnLi9jb3JyZXNwb25kZW5jZS5lbnRpdHknO1xuXG5ARW50aXR5KCdjb3JyZXNwb25kZW5jZV9yZWZlcmVuY2VzJylcbmV4cG9ydCBjbGFzcyBDb3JyZXNwb25kZW5jZVJlZmVyZW5jZSB7XG4gIEBQcmltYXJ5Q29sdW1uKHsgbmFtZTogJ3NyY19jb3JyZXNwb25kZW5jZV9pZCcgfSlcbiAgc291cmNlSWQhOiBudW1iZXI7XG5cbiAgQFByaW1hcnlDb2x1bW4oeyBuYW1lOiAndGd0X2NvcnJlc3BvbmRlbmNlX2lkJyB9KVxuICB0YXJnZXRJZCE6IG51bWJlcjtcblxuICBATWFueVRvT25lKCgpID0+IENvcnJlc3BvbmRlbmNlLCB7IG9uRGVsZXRlOiAnQ0FTQ0FERScgfSlcbiAgQEpvaW5Db2x1bW4oeyBuYW1lOiAnc3JjX2NvcnJlc3BvbmRlbmNlX2lkJyB9KVxuICBzb3VyY2U/OiBDb3JyZXNwb25kZW5jZTtcblxuICBATWFueVRvT25lKCgpID0+IENvcnJlc3BvbmRlbmNlLCB7IG9uRGVsZXRlOiAnQ0FTQ0FERScgfSlcbiAgQEpvaW5Db2x1bW4oeyBuYW1lOiAndGd0X2NvcnJlc3BvbmRlbmNlX2lkJyB9KVxuICB0YXJnZXQ/OiBDb3JyZXNwb25kZW5jZTtcbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\entities\\correspondence-reference.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAAuE;AACvE,mEAAyD;AAGlD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAcnC,CAAA;AAdY,0DAAuB;AAElC;IADC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;;yDAC/B;AAGlB;IADC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;;yDAC/B;AAIlB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,sCAAc,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACxD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;kDACrC,sCAAc,oBAAd,sCAAc;uDAAC;AAIxB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,sCAAc,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACxD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;kDACrC,sCAAc,oBAAd,sCAAc;uDAAC;kCAbb,uBAAuB;IADnC,IAAA,gBAAM,EAAC,2BAA2B,CAAC;GACvB,uBAAuB,CAcnC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\entities\\correspondence-reference.entity.ts"],"sourcesContent":["import { Entity, PrimaryColumn, ManyToOne, JoinColumn } from 'typeorm';\nimport { Correspondence } from './correspondence.entity';\n\n@Entity('correspondence_references')\nexport class CorrespondenceReference {\n @PrimaryColumn({ name: 'src_correspondence_id' })\n sourceId!: number;\n\n @PrimaryColumn({ name: 'tgt_correspondence_id' })\n targetId!: number;\n\n @ManyToOne(() => Correspondence, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'src_correspondence_id' })\n source?: Correspondence;\n\n @ManyToOne(() => Correspondence, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'tgt_correspondence_id' })\n target?: Correspondence;\n}\n"],"version":3}
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
d1f644f9fc5b52e63c0cb88535d3596a
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var _a, _b;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ShopDrawingSubCategory = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
let ShopDrawingSubCategory = class ShopDrawingSubCategory {
|
||||
};
|
||||
exports.ShopDrawingSubCategory = ShopDrawingSubCategory;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], ShopDrawingSubCategory.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'project_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], ShopDrawingSubCategory.prototype, "projectId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'sub_category_code', length: 50, unique: true }),
|
||||
__metadata("design:type", String)
|
||||
], ShopDrawingSubCategory.prototype, "subCategoryCode", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'sub_category_name', length: 255 }),
|
||||
__metadata("design:type", String)
|
||||
], ShopDrawingSubCategory.prototype, "subCategoryName", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], ShopDrawingSubCategory.prototype, "description", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'sort_order', default: 0 }),
|
||||
__metadata("design:type", Number)
|
||||
], ShopDrawingSubCategory.prototype, "sortOrder", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'is_active', default: true }),
|
||||
__metadata("design:type", Boolean)
|
||||
], ShopDrawingSubCategory.prototype, "isActive", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
|
||||
__metadata("design:type", typeof (_a = typeof Date !== "undefined" && Date) === "function" ? _a : Object)
|
||||
], ShopDrawingSubCategory.prototype, "createdAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
|
||||
__metadata("design:type", typeof (_b = typeof Date !== "undefined" && Date) === "function" ? _b : Object)
|
||||
], ShopDrawingSubCategory.prototype, "updatedAt", void 0);
|
||||
exports.ShopDrawingSubCategory = ShopDrawingSubCategory = __decorate([
|
||||
(0, typeorm_1.Entity)('shop_drawing_sub_categories')
|
||||
], ShopDrawingSubCategory);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZHJhd2luZ1xcZW50aXRpZXNcXHNob3AtZHJhd2luZy1zdWItY2F0ZWdvcnkuZW50aXR5LnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FNaUI7QUFHVixJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUFzQjtDQTJCbEMsQ0FBQTtBQTNCWSx3REFBc0I7QUFFakM7SUFEQyxJQUFBLGdDQUFzQixHQUFFOztrREFDYjtBQUdaO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDOzt5REFDWjtBQUduQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzs7K0RBQ3ZDO0FBR3pCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQzs7K0RBQzFCO0FBR3pCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7OzJEQUNwQjtBQUdyQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDOzt5REFDeEI7QUFHbkI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzs7d0RBQzFCO0FBR25CO0lBREMsSUFBQSwwQkFBZ0IsRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztrREFDN0IsSUFBSSxvQkFBSixJQUFJO3lEQUFDO0FBR2pCO0lBREMsSUFBQSwwQkFBZ0IsRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztrREFDN0IsSUFBSSxvQkFBSixJQUFJO3lEQUFDO2lDQTFCTixzQkFBc0I7SUFEbEMsSUFBQSxnQkFBTSxFQUFDLDZCQUE2QixDQUFDO0dBQ3pCLHNCQUFzQixDQTJCbEMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZHJhd2luZ1xcZW50aXRpZXNcXHNob3AtZHJhd2luZy1zdWItY2F0ZWdvcnkuZW50aXR5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0eSxcbiAgUHJpbWFyeUdlbmVyYXRlZENvbHVtbixcbiAgQ29sdW1uLFxuICBDcmVhdGVEYXRlQ29sdW1uLFxuICBVcGRhdGVEYXRlQ29sdW1uLFxufSBmcm9tICd0eXBlb3JtJztcblxuQEVudGl0eSgnc2hvcF9kcmF3aW5nX3N1Yl9jYXRlZ29yaWVzJylcbmV4cG9ydCBjbGFzcyBTaG9wRHJhd2luZ1N1YkNhdGVnb3J5IHtcbiAgQFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4oKVxuICBpZCE6IG51bWJlcjsgLy8g4LmA4LiV4Li04LihICEgKOC4leC4seC4p+C4l+C4teC5iCBlcnJvcilcblxuICBAQ29sdW1uKHsgbmFtZTogJ3Byb2plY3RfaWQnIH0pXG4gIHByb2plY3RJZCE6IG51bWJlcjsgLy8g4LmA4LiV4Li04LihICFcblxuICBAQ29sdW1uKHsgbmFtZTogJ3N1Yl9jYXRlZ29yeV9jb2RlJywgbGVuZ3RoOiA1MCwgdW5pcXVlOiB0cnVlIH0pXG4gIHN1YkNhdGVnb3J5Q29kZSE6IHN0cmluZzsgLy8g4LmA4LiV4Li04LihICFcblxuICBAQ29sdW1uKHsgbmFtZTogJ3N1Yl9jYXRlZ29yeV9uYW1lJywgbGVuZ3RoOiAyNTUgfSlcbiAgc3ViQ2F0ZWdvcnlOYW1lITogc3RyaW5nOyAvLyDguYDguJXguLTguKEgIVxuXG4gIEBDb2x1bW4oeyB0eXBlOiAndGV4dCcsIG51bGxhYmxlOiB0cnVlIH0pXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nOyAvLyBudWxsYWJsZSDguYPguIrguYkgP1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnc29ydF9vcmRlcicsIGRlZmF1bHQ6IDAgfSlcbiAgc29ydE9yZGVyITogbnVtYmVyOyAvLyDguYDguJXguLTguKEgIVxuXG4gIEBDb2x1bW4oeyBuYW1lOiAnaXNfYWN0aXZlJywgZGVmYXVsdDogdHJ1ZSB9KVxuICBpc0FjdGl2ZSE6IGJvb2xlYW47IC8vIOC5gOC4leC4tOC4oSAhXG5cbiAgQENyZWF0ZURhdGVDb2x1bW4oeyBuYW1lOiAnY3JlYXRlZF9hdCcgfSlcbiAgY3JlYXRlZEF0ITogRGF0ZTsgLy8g4LmA4LiV4Li04LihICFcblxuICBAVXBkYXRlRGF0ZUNvbHVtbih7IG5hbWU6ICd1cGRhdGVkX2F0JyB9KVxuICB1cGRhdGVkQXQhOiBEYXRlOyAvLyDguYDguJXguLTguKEgIVxufVxuIl0sInZlcnNpb24iOjN9
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user