260330:1327 Addied correspondence_revieion_attcahments table table #02
This commit is contained in:
BIN
Binary file not shown.
+48
@@ -0,0 +1,48 @@
|
||||
2048ede756b8edb2cfa4b9cf7ec122be
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const testing_1 = require("@nestjs/testing");
|
||||
const file_storage_controller_1 = require("./file-storage.controller");
|
||||
const file_storage_service_1 = require("./file-storage.service");
|
||||
describe('FileStorageController', () => {
|
||||
let controller;
|
||||
let mockFileStorageService;
|
||||
beforeEach(async () => {
|
||||
mockFileStorageService = {
|
||||
upload: jest.fn(),
|
||||
download: jest.fn(),
|
||||
delete: jest.fn(),
|
||||
};
|
||||
const module = await testing_1.Test.createTestingModule({
|
||||
controllers: [file_storage_controller_1.FileStorageController],
|
||||
providers: [
|
||||
{
|
||||
provide: file_storage_service_1.FileStorageService,
|
||||
useValue: mockFileStorageService,
|
||||
},
|
||||
],
|
||||
}).compile();
|
||||
controller = module.get(file_storage_controller_1.FileStorageController);
|
||||
});
|
||||
it('should be defined', () => {
|
||||
expect(controller).toBeDefined();
|
||||
});
|
||||
describe('uploadFile', () => {
|
||||
it('should upload a file successfully', async () => {
|
||||
const mockFile = {
|
||||
originalname: 'test.pdf',
|
||||
buffer: Buffer.from('test'),
|
||||
mimetype: 'application/pdf',
|
||||
size: 100,
|
||||
};
|
||||
const mockResult = { attachment_id: 1, originalFilename: 'test.pdf' };
|
||||
mockFileStorageService.upload.mockResolvedValue(mockResult);
|
||||
const mockReq = {
|
||||
user: { user_id: 1, username: 'testuser' },
|
||||
};
|
||||
const _result = await controller.uploadFile(mockFile, mockReq);
|
||||
expect(mockFileStorageService.upload).toHaveBeenCalledWith(mockFile, 1);
|
||||
});
|
||||
});
|
||||
});
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcY29tbW9uXFxmaWxlLXN0b3JhZ2VcXGZpbGUtc3RvcmFnZS5jb250cm9sbGVyLnNwZWMudHMiLCJtYXBwaW5ncyI6Ijs7QUFBQSw2Q0FBc0Q7QUFDdEQsdUVBQWtFO0FBQ2xFLGlFQUE0RDtBQUc1RCxRQUFRLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO0lBQ3JDLElBQUksVUFBaUMsQ0FBQztJQUN0QyxJQUFJLHNCQUFtRCxDQUFDO0lBRXhELFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNwQixzQkFBc0IsR0FBRztZQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNuQixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtTQUNsQixDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQWtCLE1BQU0sY0FBSSxDQUFDLG1CQUFtQixDQUFDO1lBQzNELFdBQVcsRUFBRSxDQUFDLCtDQUFxQixDQUFDO1lBQ3BDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUseUNBQWtCO29CQUMzQixRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQzthQUNGO1NBQ0YsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQXdCLCtDQUFxQixDQUFDLENBQUM7SUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO1FBQzFCLEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNqRCxNQUFNLFFBQVEsR0FBRztnQkFDZixZQUFZLEVBQUUsVUFBVTtnQkFDeEIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUMzQixRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixJQUFJLEVBQUUsR0FBRzthQUNhLENBQUM7WUFFekIsTUFBTSxVQUFVLEdBQUcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ3JFLHNCQUFzQixDQUFDLE1BQW9CLENBQUMsaUJBQWlCLENBQzVELFVBQVUsQ0FDWCxDQUFDO1lBRUYsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFO2FBQ2IsQ0FBQztZQUNoQyxNQUFNLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRS9ELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXGNvbW1vblxcZmlsZS1zdG9yYWdlXFxmaWxlLXN0b3JhZ2UuY29udHJvbGxlci5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlc3QsIFRlc3RpbmdNb2R1bGUgfSBmcm9tICdAbmVzdGpzL3Rlc3RpbmcnO1xuaW1wb3J0IHsgRmlsZVN0b3JhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi9maWxlLXN0b3JhZ2UuY29udHJvbGxlcic7XG5pbXBvcnQgeyBGaWxlU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2ZpbGUtc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3RXaXRoVXNlciB9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVxdWVzdC13aXRoLXVzZXIuaW50ZXJmYWNlJztcblxuZGVzY3JpYmUoJ0ZpbGVTdG9yYWdlQ29udHJvbGxlcicsICgpID0+IHtcbiAgbGV0IGNvbnRyb2xsZXI6IEZpbGVTdG9yYWdlQ29udHJvbGxlcjtcbiAgbGV0IG1vY2tGaWxlU3RvcmFnZVNlcnZpY2U6IFBhcnRpYWw8RmlsZVN0b3JhZ2VTZXJ2aWNlPjtcblxuICBiZWZvcmVFYWNoKGFzeW5jICgpID0+IHtcbiAgICBtb2NrRmlsZVN0b3JhZ2VTZXJ2aWNlID0ge1xuICAgICAgdXBsb2FkOiBqZXN0LmZuKCksXG4gICAgICBkb3dubG9hZDogamVzdC5mbigpLFxuICAgICAgZGVsZXRlOiBqZXN0LmZuKCksXG4gICAgfTtcblxuICAgIGNvbnN0IG1vZHVsZTogVGVzdGluZ01vZHVsZSA9IGF3YWl0IFRlc3QuY3JlYXRlVGVzdGluZ01vZHVsZSh7XG4gICAgICBjb250cm9sbGVyczogW0ZpbGVTdG9yYWdlQ29udHJvbGxlcl0sXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEZpbGVTdG9yYWdlU2VydmljZSxcbiAgICAgICAgICB1c2VWYWx1ZTogbW9ja0ZpbGVTdG9yYWdlU2VydmljZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSkuY29tcGlsZSgpO1xuXG4gICAgY29udHJvbGxlciA9IG1vZHVsZS5nZXQ8RmlsZVN0b3JhZ2VDb250cm9sbGVyPihGaWxlU3RvcmFnZUNvbnRyb2xsZXIpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJlIGRlZmluZWQnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGNvbnRyb2xsZXIpLnRvQmVEZWZpbmVkKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd1cGxvYWRGaWxlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdXBsb2FkIGEgZmlsZSBzdWNjZXNzZnVsbHknLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtb2NrRmlsZSA9IHtcbiAgICAgICAgb3JpZ2luYWxuYW1lOiAndGVzdC5wZGYnLFxuICAgICAgICBidWZmZXI6IEJ1ZmZlci5mcm9tKCd0ZXN0JyksXG4gICAgICAgIG1pbWV0eXBlOiAnYXBwbGljYXRpb24vcGRmJyxcbiAgICAgICAgc2l6ZTogMTAwLFxuICAgICAgfSBhcyBFeHByZXNzLk11bHRlci5GaWxlO1xuXG4gICAgICBjb25zdCBtb2NrUmVzdWx0ID0geyBhdHRhY2htZW50X2lkOiAxLCBvcmlnaW5hbEZpbGVuYW1lOiAndGVzdC5wZGYnIH07XG4gICAgICAobW9ja0ZpbGVTdG9yYWdlU2VydmljZS51cGxvYWQgYXMgamVzdC5Nb2NrKS5tb2NrUmVzb2x2ZWRWYWx1ZShcbiAgICAgICAgbW9ja1Jlc3VsdFxuICAgICAgKTtcblxuICAgICAgY29uc3QgbW9ja1JlcSA9IHtcbiAgICAgICAgdXNlcjogeyB1c2VyX2lkOiAxLCB1c2VybmFtZTogJ3Rlc3R1c2VyJyB9LFxuICAgICAgfSBhcyB1bmtub3duIGFzIFJlcXVlc3RXaXRoVXNlcjtcbiAgICAgIGNvbnN0IF9yZXN1bHQgPSBhd2FpdCBjb250cm9sbGVyLnVwbG9hZEZpbGUobW9ja0ZpbGUsIG1vY2tSZXEpO1xuXG4gICAgICBleHBlY3QobW9ja0ZpbGVTdG9yYWdlU2VydmljZS51cGxvYWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKG1vY2tGaWxlLCAxKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\common\\file-storage\\file-storage.controller.spec.ts","mappings":";;AAAA,6CAAsD;AACtD,uEAAkE;AAClE,iEAA4D;AAG5D,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,UAAiC,CAAC;IACtC,IAAI,sBAAmD,CAAC;IAExD,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,sBAAsB,GAAG;YACvB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;YACjB,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;SAClB,CAAC;QAEF,MAAM,MAAM,GAAkB,MAAM,cAAI,CAAC,mBAAmB,CAAC;YAC3D,WAAW,EAAE,CAAC,+CAAqB,CAAC;YACpC,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,yCAAkB;oBAC3B,QAAQ,EAAE,sBAAsB;iBACjC;aACF;SACF,CAAC,CAAC,OAAO,EAAE,CAAC;QAEb,UAAU,GAAG,MAAM,CAAC,GAAG,CAAwB,+CAAqB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,QAAQ,GAAG;gBACf,YAAY,EAAE,UAAU;gBACxB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC3B,QAAQ,EAAE,iBAAiB;gBAC3B,IAAI,EAAE,GAAG;aACa,CAAC;YAEzB,MAAM,UAAU,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;YACrE,sBAAsB,CAAC,MAAoB,CAAC,iBAAiB,CAC5D,UAAU,CACX,CAAC;YAEF,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE;aACb,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE/D,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\common\\file-storage\\file-storage.controller.spec.ts"],"sourcesContent":["import { Test, TestingModule } from '@nestjs/testing';\nimport { FileStorageController } from './file-storage.controller';\nimport { FileStorageService } from './file-storage.service';\nimport { RequestWithUser } from '../interfaces/request-with-user.interface';\n\ndescribe('FileStorageController', () => {\n let controller: FileStorageController;\n let mockFileStorageService: Partial<FileStorageService>;\n\n beforeEach(async () => {\n mockFileStorageService = {\n upload: jest.fn(),\n download: jest.fn(),\n delete: jest.fn(),\n };\n\n const module: TestingModule = await Test.createTestingModule({\n controllers: [FileStorageController],\n providers: [\n {\n provide: FileStorageService,\n useValue: mockFileStorageService,\n },\n ],\n }).compile();\n\n controller = module.get<FileStorageController>(FileStorageController);\n });\n\n it('should be defined', () => {\n expect(controller).toBeDefined();\n });\n\n describe('uploadFile', () => {\n it('should upload a file successfully', async () => {\n const mockFile = {\n originalname: 'test.pdf',\n buffer: Buffer.from('test'),\n mimetype: 'application/pdf',\n size: 100,\n } as Express.Multer.File;\n\n const mockResult = { attachment_id: 1, originalFilename: 'test.pdf' };\n (mockFileStorageService.upload as jest.Mock).mockResolvedValue(\n mockResult\n );\n\n const mockReq = {\n user: { user_id: 1, username: 'testuser' },\n } as unknown as RequestWithUser;\n const _result = await controller.uploadFile(mockFile, mockReq);\n\n expect(mockFileStorageService.upload).toHaveBeenCalledWith(mockFile, 1);\n });\n });\n});\n"],"version":3}
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
c859336883fb06670865a3ea9c584369
|
||||
"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.RfaItem = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const rfa_revision_entity_1 = require("./rfa-revision.entity");
|
||||
const asbuilt_drawing_revision_entity_1 = require("../../drawing/entities/asbuilt-drawing-revision.entity");
|
||||
const shop_drawing_revision_entity_1 = require("../../drawing/entities/shop-drawing-revision.entity");
|
||||
let RfaItem = class RfaItem {
|
||||
};
|
||||
exports.RfaItem = RfaItem;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], RfaItem.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'rfa_revision_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], RfaItem.prototype, "rfaRevisionId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({
|
||||
name: 'item_type',
|
||||
type: 'enum',
|
||||
enum: ['SHOP', 'AS_BUILT'],
|
||||
}),
|
||||
__metadata("design:type", String)
|
||||
], RfaItem.prototype, "itemType", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'shop_drawing_revision_id', nullable: true }),
|
||||
__metadata("design:type", Number)
|
||||
], RfaItem.prototype, "shopDrawingRevisionId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'asbuilt_drawing_revision_id', nullable: true }),
|
||||
__metadata("design:type", Number)
|
||||
], RfaItem.prototype, "asBuiltDrawingRevisionId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => rfa_revision_entity_1.RfaRevision, (rfaRev) => rfaRev.items, {
|
||||
onDelete: 'CASCADE',
|
||||
}),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'rfa_revision_id' }),
|
||||
__metadata("design:type", typeof (_a = typeof rfa_revision_entity_1.RfaRevision !== "undefined" && rfa_revision_entity_1.RfaRevision) === "function" ? _a : Object)
|
||||
], RfaItem.prototype, "rfaRevision", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => shop_drawing_revision_entity_1.ShopDrawingRevision),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'shop_drawing_revision_id' }),
|
||||
__metadata("design:type", typeof (_b = typeof shop_drawing_revision_entity_1.ShopDrawingRevision !== "undefined" && shop_drawing_revision_entity_1.ShopDrawingRevision) === "function" ? _b : Object)
|
||||
], RfaItem.prototype, "shopDrawingRevision", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => asbuilt_drawing_revision_entity_1.AsBuiltDrawingRevision),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'asbuilt_drawing_revision_id' }),
|
||||
__metadata("design:type", typeof (_c = typeof asbuilt_drawing_revision_entity_1.AsBuiltDrawingRevision !== "undefined" && asbuilt_drawing_revision_entity_1.AsBuiltDrawingRevision) === "function" ? _c : Object)
|
||||
], RfaItem.prototype, "asBuiltDrawingRevision", void 0);
|
||||
exports.RfaItem = RfaItem = __decorate([
|
||||
(0, typeorm_1.Entity)('rfa_items')
|
||||
], RfaItem);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xccmZhXFxlbnRpdGllc1xccmZhLWl0ZW0uZW50aXR5LnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FNaUI7QUFDakIsK0RBQW9EO0FBQ3BELDRHQUFnRztBQUNoRyxzR0FBMEY7QUFHbkYsSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFPO0NBa0NuQixDQUFBO0FBbENZLDBCQUFPO0FBRWxCO0lBREMsSUFBQSxnQ0FBc0IsR0FBRTs7bUNBQ2I7QUFHWjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDOzs4Q0FDYjtBQU92QjtJQUxDLElBQUEsZ0JBQU0sRUFBQztRQUNOLElBQUksRUFBRSxXQUFXO1FBQ2pCLElBQUksRUFBRSxNQUFNO1FBQ1osSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQztLQUMzQixDQUFDOzt5Q0FDNkI7QUFHL0I7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOztzREFDOUI7QUFHL0I7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsNkJBQTZCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOzt5REFDOUI7QUFPbEM7SUFKQyxJQUFBLG1CQUFTLEVBQUMsR0FBRyxFQUFFLENBQUMsaUNBQVcsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUN0RCxRQUFRLEVBQUUsU0FBUztLQUNwQixDQUFDO0lBQ0QsSUFBQSxvQkFBVSxFQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUM7a0RBQzFCLGlDQUFXLG9CQUFYLGlDQUFXOzRDQUFDO0FBSTFCO0lBRkMsSUFBQSxtQkFBUyxFQUFDLEdBQUcsRUFBRSxDQUFDLGtEQUFtQixDQUFDO0lBQ3BDLElBQUEsb0JBQVUsRUFBQyxFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBRSxDQUFDO2tEQUMzQixrREFBbUIsb0JBQW5CLGtEQUFtQjtvREFBQztBQUkxQztJQUZDLElBQUEsbUJBQVMsRUFBQyxHQUFHLEVBQUUsQ0FBQyx3REFBc0IsQ0FBQztJQUN2QyxJQUFBLG9CQUFVLEVBQUMsRUFBRSxJQUFJLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQztrREFDM0Isd0RBQXNCLG9CQUF0Qix3REFBc0I7dURBQUM7a0JBakNyQyxPQUFPO0lBRG5CLElBQUEsZ0JBQU0sRUFBQyxXQUFXLENBQUM7R0FDUCxPQUFPLENBa0NuQiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxtb2R1bGVzXFxyZmFcXGVudGl0aWVzXFxyZmEtaXRlbS5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29sdW1uLFxuICBFbnRpdHksXG4gIEpvaW5Db2x1bW4sXG4gIE1hbnlUb09uZSxcbiAgUHJpbWFyeUdlbmVyYXRlZENvbHVtbixcbn0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgeyBSZmFSZXZpc2lvbiB9IGZyb20gJy4vcmZhLXJldmlzaW9uLmVudGl0eSc7XG5pbXBvcnQgeyBBc0J1aWx0RHJhd2luZ1JldmlzaW9uIH0gZnJvbSAnLi4vLi4vZHJhd2luZy9lbnRpdGllcy9hc2J1aWx0LWRyYXdpbmctcmV2aXNpb24uZW50aXR5JztcbmltcG9ydCB7IFNob3BEcmF3aW5nUmV2aXNpb24gfSBmcm9tICcuLi8uLi9kcmF3aW5nL2VudGl0aWVzL3Nob3AtZHJhd2luZy1yZXZpc2lvbi5lbnRpdHknO1xuXG5ARW50aXR5KCdyZmFfaXRlbXMnKVxuZXhwb3J0IGNsYXNzIFJmYUl0ZW0ge1xuICBAUHJpbWFyeUdlbmVyYXRlZENvbHVtbigpXG4gIGlkITogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAncmZhX3JldmlzaW9uX2lkJyB9KVxuICByZmFSZXZpc2lvbklkITogbnVtYmVyO1xuXG4gIEBDb2x1bW4oe1xuICAgIG5hbWU6ICdpdGVtX3R5cGUnLFxuICAgIHR5cGU6ICdlbnVtJyxcbiAgICBlbnVtOiBbJ1NIT1AnLCAnQVNfQlVJTFQnXSxcbiAgfSlcbiAgaXRlbVR5cGUhOiAnU0hPUCcgfCAnQVNfQlVJTFQnO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnc2hvcF9kcmF3aW5nX3JldmlzaW9uX2lkJywgbnVsbGFibGU6IHRydWUgfSlcbiAgc2hvcERyYXdpbmdSZXZpc2lvbklkPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnYXNidWlsdF9kcmF3aW5nX3JldmlzaW9uX2lkJywgbnVsbGFibGU6IHRydWUgfSlcbiAgYXNCdWlsdERyYXdpbmdSZXZpc2lvbklkPzogbnVtYmVyO1xuXG4gIC8vIFJlbGF0aW9uc1xuICBATWFueVRvT25lKCgpID0+IFJmYVJldmlzaW9uLCAocmZhUmV2KSA9PiByZmFSZXYuaXRlbXMsIHtcbiAgICBvbkRlbGV0ZTogJ0NBU0NBREUnLFxuICB9KVxuICBASm9pbkNvbHVtbih7IG5hbWU6ICdyZmFfcmV2aXNpb25faWQnIH0pXG4gIHJmYVJldmlzaW9uITogUmZhUmV2aXNpb247XG5cbiAgQE1hbnlUb09uZSgoKSA9PiBTaG9wRHJhd2luZ1JldmlzaW9uKVxuICBASm9pbkNvbHVtbih7IG5hbWU6ICdzaG9wX2RyYXdpbmdfcmV2aXNpb25faWQnIH0pXG4gIHNob3BEcmF3aW5nUmV2aXNpb24/OiBTaG9wRHJhd2luZ1JldmlzaW9uO1xuXG4gIEBNYW55VG9PbmUoKCkgPT4gQXNCdWlsdERyYXdpbmdSZXZpc2lvbilcbiAgQEpvaW5Db2x1bW4oeyBuYW1lOiAnYXNidWlsdF9kcmF3aW5nX3JldmlzaW9uX2lkJyB9KVxuICBhc0J1aWx0RHJhd2luZ1JldmlzaW9uPzogQXNCdWlsdERyYXdpbmdSZXZpc2lvbjtcbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-item.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAMiB;AACjB,+DAAoD;AACpD,4GAAgG;AAChG,sGAA0F;AAGnF,IAAM,OAAO,GAAb,MAAM,OAAO;CAkCnB,CAAA;AAlCY,0BAAO;AAElB;IADC,IAAA,gCAAsB,GAAE;;mCACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;8CACb;AAOvB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;KAC3B,CAAC;;yCAC6B;AAG/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDAC9B;AAG/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDAC9B;AAOlC;IAJC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iCAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;QACtD,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;kDAC1B,iCAAW,oBAAX,iCAAW;4CAAC;AAI1B;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kDAAmB,CAAC;IACpC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;kDAC3B,kDAAmB,oBAAnB,kDAAmB;oDAAC;AAI1C;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wDAAsB,CAAC;IACvC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;kDAC3B,wDAAsB,oBAAtB,wDAAsB;uDAAC;kBAjCrC,OAAO;IADnB,IAAA,gBAAM,EAAC,WAAW,CAAC;GACP,OAAO,CAkCnB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-item.entity.ts"],"sourcesContent":["import {\n Column,\n Entity,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n} from 'typeorm';\nimport { RfaRevision } from './rfa-revision.entity';\nimport { AsBuiltDrawingRevision } from '../../drawing/entities/asbuilt-drawing-revision.entity';\nimport { ShopDrawingRevision } from '../../drawing/entities/shop-drawing-revision.entity';\n\n@Entity('rfa_items')\nexport class RfaItem {\n @PrimaryGeneratedColumn()\n id!: number;\n\n @Column({ name: 'rfa_revision_id' })\n rfaRevisionId!: number;\n\n @Column({\n name: 'item_type',\n type: 'enum',\n enum: ['SHOP', 'AS_BUILT'],\n })\n itemType!: 'SHOP' | 'AS_BUILT';\n\n @Column({ name: 'shop_drawing_revision_id', nullable: true })\n shopDrawingRevisionId?: number;\n\n @Column({ name: 'asbuilt_drawing_revision_id', nullable: true })\n asBuiltDrawingRevisionId?: number;\n\n // Relations\n @ManyToOne(() => RfaRevision, (rfaRev) => rfaRev.items, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'rfa_revision_id' })\n rfaRevision!: RfaRevision;\n\n @ManyToOne(() => ShopDrawingRevision)\n @JoinColumn({ name: 'shop_drawing_revision_id' })\n shopDrawingRevision?: ShopDrawingRevision;\n\n @ManyToOne(() => AsBuiltDrawingRevision)\n @JoinColumn({ name: 'asbuilt_drawing_revision_id' })\n asBuiltDrawingRevision?: AsBuiltDrawingRevision;\n}\n"],"version":3}
|
||||
+102
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+65
@@ -0,0 +1,65 @@
|
||||
5fe6685aed65a08e3734f479cb92fc03
|
||||
"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;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Tag = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const project_entity_1 = require("../../project/entities/project.entity");
|
||||
let Tag = class Tag {
|
||||
};
|
||||
exports.Tag = Tag;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], Tag.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'project_id', type: 'int', nullable: true }),
|
||||
__metadata("design:type", Object)
|
||||
], Tag.prototype, "projectId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'tag_name', length: 100 }),
|
||||
__metadata("design:type", String)
|
||||
], Tag.prototype, "tagName", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'color_code', length: 30, default: 'default' }),
|
||||
__metadata("design:type", String)
|
||||
], Tag.prototype, "colorCode", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
||||
__metadata("design:type", Object)
|
||||
], Tag.prototype, "description", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => project_entity_1.Project),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'project_id' }),
|
||||
__metadata("design:type", typeof (_a = typeof project_entity_1.Project !== "undefined" && project_entity_1.Project) === "function" ? _a : Object)
|
||||
], Tag.prototype, "project", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
|
||||
__metadata("design:type", typeof (_b = typeof Date !== "undefined" && Date) === "function" ? _b : Object)
|
||||
], Tag.prototype, "createdAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
|
||||
__metadata("design:type", typeof (_c = typeof Date !== "undefined" && Date) === "function" ? _c : Object)
|
||||
], Tag.prototype, "updatedAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'created_by', type: 'int', nullable: true }),
|
||||
__metadata("design:type", Object)
|
||||
], Tag.prototype, "createdBy", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.DeleteDateColumn)({ name: 'deleted_at' }),
|
||||
__metadata("design:type", Object)
|
||||
], Tag.prototype, "deletedAt", void 0);
|
||||
exports.Tag = Tag = __decorate([
|
||||
(0, typeorm_1.Entity)('tags'),
|
||||
(0, typeorm_1.Unique)('ux_tag_project', ['projectId', 'tagName'])
|
||||
], Tag);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcbWFzdGVyXFxlbnRpdGllc1xcdGFnLmVudGl0eS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEscUNBVWlCO0FBQ2pCLDBFQUFnRTtBQUl6RCxJQUFNLEdBQUcsR0FBVCxNQUFNLEdBQUc7Q0FnQ2YsQ0FBQTtBQWhDWSxrQkFBRztBQUVkO0lBREMsSUFBQSxnQ0FBc0IsR0FBRTs7K0JBQ2I7QUFHWjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7O3NDQUNsQztBQUcxQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDOztvQ0FDekI7QUFHakI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDOztzQ0FDNUM7QUFHbkI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7d0NBQ2I7QUFLNUI7SUFGQyxJQUFBLG1CQUFTLEVBQUMsR0FBRyxFQUFFLENBQUMsd0JBQU8sQ0FBQztJQUN4QixJQUFBLG9CQUFVLEVBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7a0RBQ3pCLHdCQUFPLG9CQUFQLHdCQUFPO29DQUFDO0FBR2xCO0lBREMsSUFBQSwwQkFBZ0IsRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztrREFDN0IsSUFBSSxvQkFBSixJQUFJO3NDQUFDO0FBR2pCO0lBREMsSUFBQSwwQkFBZ0IsRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztrREFDN0IsSUFBSSxvQkFBSixJQUFJO3NDQUFDO0FBR2pCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7c0NBQ2xDO0FBRzFCO0lBREMsSUFBQSwwQkFBZ0IsRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQzs7c0NBQ2pCO2NBL0JiLEdBQUc7SUFGZixJQUFBLGdCQUFNLEVBQUMsTUFBTSxDQUFDO0lBQ2QsSUFBQSxnQkFBTSxFQUFDLGdCQUFnQixFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3RDLEdBQUcsQ0FnQ2YiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcbWFzdGVyXFxlbnRpdGllc1xcdGFnLmVudGl0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEVudGl0eSxcclxuICBDb2x1bW4sXHJcbiAgUHJpbWFyeUdlbmVyYXRlZENvbHVtbixcclxuICBDcmVhdGVEYXRlQ29sdW1uLFxyXG4gIFVwZGF0ZURhdGVDb2x1bW4sXHJcbiAgRGVsZXRlRGF0ZUNvbHVtbixcclxuICBVbmlxdWUsXHJcbiAgTWFueVRvT25lLFxyXG4gIEpvaW5Db2x1bW4sXHJcbn0gZnJvbSAndHlwZW9ybSc7XHJcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuLi8uLi9wcm9qZWN0L2VudGl0aWVzL3Byb2plY3QuZW50aXR5JztcclxuXHJcbkBFbnRpdHkoJ3RhZ3MnKVxyXG5AVW5pcXVlKCd1eF90YWdfcHJvamVjdCcsIFsncHJvamVjdElkJywgJ3RhZ05hbWUnXSlcclxuZXhwb3J0IGNsYXNzIFRhZyB7XHJcbiAgQFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4oKVxyXG4gIGlkITogbnVtYmVyOyAvLyDguYDguJ7guLTguYjguKEgIVxyXG5cclxuICBAQ29sdW1uKHsgbmFtZTogJ3Byb2plY3RfaWQnLCB0eXBlOiAnaW50JywgbnVsbGFibGU6IHRydWUgfSlcclxuICBwcm9qZWN0SWQhOiBudW1iZXIgfCBudWxsOyAvLyDguYDguJ7guLTguYjguKEgIVxyXG5cclxuICBAQ29sdW1uKHsgbmFtZTogJ3RhZ19uYW1lJywgbGVuZ3RoOiAxMDAgfSlcclxuICB0YWdOYW1lITogc3RyaW5nOyAvLyDguYDguJ7guLTguYjguKEgIVxyXG5cclxuICBAQ29sdW1uKHsgbmFtZTogJ2NvbG9yX2NvZGUnLCBsZW5ndGg6IDMwLCBkZWZhdWx0OiAnZGVmYXVsdCcgfSlcclxuICBjb2xvckNvZGUhOiBzdHJpbmc7IC8vIOC5gOC4nuC4tOC5iOC4oSAhXHJcblxyXG4gIEBDb2x1bW4oeyB0eXBlOiAndGV4dCcsIG51bGxhYmxlOiB0cnVlIH0pXHJcbiAgZGVzY3JpcHRpb24hOiBzdHJpbmcgfCBudWxsOyAvLyDguYDguJ7guLTguYjguKEgIVxyXG5cclxuICAvLyBSZWxhdGlvbnNcclxuICBATWFueVRvT25lKCgpID0+IFByb2plY3QpXHJcbiAgQEpvaW5Db2x1bW4oeyBuYW1lOiAncHJvamVjdF9pZCcgfSlcclxuICBwcm9qZWN0PzogUHJvamVjdDtcclxuXHJcbiAgQENyZWF0ZURhdGVDb2x1bW4oeyBuYW1lOiAnY3JlYXRlZF9hdCcgfSlcclxuICBjcmVhdGVkQXQhOiBEYXRlOyAvLyDguYDguJ7guLTguYjguKEgIVxyXG5cclxuICBAVXBkYXRlRGF0ZUNvbHVtbih7IG5hbWU6ICd1cGRhdGVkX2F0JyB9KVxyXG4gIHVwZGF0ZWRBdCE6IERhdGU7IC8vIOC5gOC4nuC4tOC5iOC4oSAhXHJcblxyXG4gIEBDb2x1bW4oeyBuYW1lOiAnY3JlYXRlZF9ieScsIHR5cGU6ICdpbnQnLCBudWxsYWJsZTogdHJ1ZSB9KVxyXG4gIGNyZWF0ZWRCeSE6IG51bWJlciB8IG51bGw7IC8vIOC5gOC4nuC4tOC5iOC4oSAhXHJcblxyXG4gIEBEZWxldGVEYXRlQ29sdW1uKHsgbmFtZTogJ2RlbGV0ZWRfYXQnIH0pXHJcbiAgZGVsZXRlZEF0ITogRGF0ZSB8IG51bGw7IC8vIOC5gOC4nuC4tOC5iOC4oSAhXHJcbn1cclxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\master\\entities\\tag.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAUiB;AACjB,0EAAgE;AAIzD,IAAM,GAAG,GAAT,MAAM,GAAG;CAgCf,CAAA;AAhCY,kBAAG;AAEd;IADC,IAAA,gCAAsB,GAAE;;+BACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAClC;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;oCACzB;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;;sCAC5C;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACb;AAK5B;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;IACxB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDACzB,wBAAO,oBAAP,wBAAO;oCAAC;AAGlB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;sCAAC;AAGjB;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,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAClC;AAG1B;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;sCACjB;cA/Bb,GAAG;IAFf,IAAA,gBAAM,EAAC,MAAM,CAAC;IACd,IAAA,gBAAM,EAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;GACtC,GAAG,CAgCf","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\master\\entities\\tag.entity.ts"],"sourcesContent":["import {\r\n Entity,\r\n Column,\r\n PrimaryGeneratedColumn,\r\n CreateDateColumn,\r\n UpdateDateColumn,\r\n DeleteDateColumn,\r\n Unique,\r\n ManyToOne,\r\n JoinColumn,\r\n} from 'typeorm';\r\nimport { Project } from '../../project/entities/project.entity';\r\n\r\n@Entity('tags')\r\n@Unique('ux_tag_project', ['projectId', 'tagName'])\r\nexport class Tag {\r\n @PrimaryGeneratedColumn()\r\n id!: number; // เพิ่ม !\r\n\r\n @Column({ name: 'project_id', type: 'int', nullable: true })\r\n projectId!: number | null; // เพิ่ม !\r\n\r\n @Column({ name: 'tag_name', length: 100 })\r\n tagName!: string; // เพิ่ม !\r\n\r\n @Column({ name: 'color_code', length: 30, default: 'default' })\r\n colorCode!: string; // เพิ่ม !\r\n\r\n @Column({ type: 'text', nullable: true })\r\n description!: string | null; // เพิ่ม !\r\n\r\n // Relations\r\n @ManyToOne(() => Project)\r\n @JoinColumn({ name: 'project_id' })\r\n project?: Project;\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 @Column({ name: 'created_by', type: 'int', nullable: true })\r\n createdBy!: number | null; // เพิ่ม !\r\n\r\n @DeleteDateColumn({ name: 'deleted_at' })\r\n deletedAt!: Date | null; // เพิ่ม !\r\n}\r\n"],"version":3}
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
ce82c3a571f9064abc6f276907e30932
|
||||
"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.DocumentNumberError = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
let DocumentNumberError = class DocumentNumberError {
|
||||
};
|
||||
exports.DocumentNumberError = DocumentNumberError;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], DocumentNumberError.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({
|
||||
name: 'error_type',
|
||||
type: 'enum',
|
||||
enum: [
|
||||
'LOCK_TIMEOUT',
|
||||
'VERSION_CONFLICT',
|
||||
'DB_ERROR',
|
||||
'REDIS_ERROR',
|
||||
'VALIDATION_ERROR',
|
||||
'SEQUENCE_EXHAUSTED',
|
||||
'RESERVATION_EXPIRED',
|
||||
'DUPLICATE_NUMBER',
|
||||
'GENERATE_ERROR',
|
||||
],
|
||||
}),
|
||||
__metadata("design:type", String)
|
||||
], DocumentNumberError.prototype, "errorType", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'error_message', type: 'text' }),
|
||||
__metadata("design:type", String)
|
||||
], DocumentNumberError.prototype, "errorMessage", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'stack_trace', type: 'text', nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], DocumentNumberError.prototype, "stackTrace", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'context_data', type: 'json', nullable: true }),
|
||||
__metadata("design:type", typeof (_a = typeof Record !== "undefined" && Record) === "function" ? _a : Object)
|
||||
], DocumentNumberError.prototype, "contextData", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'user_id', nullable: true }),
|
||||
__metadata("design:type", Number)
|
||||
], DocumentNumberError.prototype, "userId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'ip_address', length: 45, nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], DocumentNumberError.prototype, "ipAddress", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
|
||||
__metadata("design:type", typeof (_b = typeof Date !== "undefined" && Date) === "function" ? _b : Object)
|
||||
], DocumentNumberError.prototype, "createdAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'resolved_at', type: 'timestamp', nullable: true }),
|
||||
__metadata("design:type", typeof (_c = typeof Date !== "undefined" && Date) === "function" ? _c : Object)
|
||||
], DocumentNumberError.prototype, "resolvedAt", void 0);
|
||||
exports.DocumentNumberError = DocumentNumberError = __decorate([
|
||||
(0, typeorm_1.Entity)('document_number_errors'),
|
||||
(0, typeorm_1.Index)(['errorType']),
|
||||
(0, typeorm_1.Index)(['createdAt']),
|
||||
(0, typeorm_1.Index)(['userId'])
|
||||
], DocumentNumberError);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZG9jdW1lbnQtbnVtYmVyaW5nXFxlbnRpdGllc1xcZG9jdW1lbnQtbnVtYmVyLWVycm9yLmVudGl0eS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEscUNBTWlCO0FBTVYsSUFBTSxtQkFBbUIsR0FBekIsTUFBTSxtQkFBbUI7Q0F5Qy9CLENBQUE7QUF6Q1ksa0RBQW1CO0FBRTlCO0lBREMsSUFBQSxnQ0FBc0IsR0FBRTs7K0NBQ2I7QUFpQlo7SUFmQyxJQUFBLGdCQUFNLEVBQUM7UUFDTixJQUFJLEVBQUUsWUFBWTtRQUNsQixJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRTtZQUNKLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsVUFBVTtZQUNWLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQixrQkFBa0I7WUFDbEIsZ0JBQWdCO1NBQ2pCO0tBQ0YsQ0FBQzs7c0RBQ2lCO0FBR25CO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7O3lEQUMxQjtBQUd0QjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7O3VEQUMxQztBQUdwQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7a0RBQ2pELE1BQU0sb0JBQU4sTUFBTTt3REFBa0I7QUFHdEM7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7bURBQzVCO0FBR2hCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7c0RBQ3hDO0FBR25CO0lBREMsSUFBQSwwQkFBZ0IsRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztrREFDN0IsSUFBSSxvQkFBSixJQUFJO3NEQUFDO0FBR2pCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztrREFDdEQsSUFBSSxvQkFBSixJQUFJO3VEQUFDOzhCQXhDUCxtQkFBbUI7SUFKL0IsSUFBQSxnQkFBTSxFQUFDLHdCQUF3QixDQUFDO0lBQ2hDLElBQUEsZUFBSyxFQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEIsSUFBQSxlQUFLLEVBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwQixJQUFBLGVBQUssRUFBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0dBQ0wsbUJBQW1CLENBeUMvQiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxtb2R1bGVzXFxkb2N1bWVudC1udW1iZXJpbmdcXGVudGl0aWVzXFxkb2N1bWVudC1udW1iZXItZXJyb3IuZW50aXR5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0eSxcbiAgUHJpbWFyeUdlbmVyYXRlZENvbHVtbixcbiAgQ29sdW1uLFxuICBDcmVhdGVEYXRlQ29sdW1uLFxuICBJbmRleCxcbn0gZnJvbSAndHlwZW9ybSc7XG5cbkBFbnRpdHkoJ2RvY3VtZW50X251bWJlcl9lcnJvcnMnKVxuQEluZGV4KFsnZXJyb3JUeXBlJ10pXG5ASW5kZXgoWydjcmVhdGVkQXQnXSlcbkBJbmRleChbJ3VzZXJJZCddKVxuZXhwb3J0IGNsYXNzIERvY3VtZW50TnVtYmVyRXJyb3Ige1xuICBAUHJpbWFyeUdlbmVyYXRlZENvbHVtbigpXG4gIGlkITogbnVtYmVyO1xuXG4gIEBDb2x1bW4oe1xuICAgIG5hbWU6ICdlcnJvcl90eXBlJyxcbiAgICB0eXBlOiAnZW51bScsXG4gICAgZW51bTogW1xuICAgICAgJ0xPQ0tfVElNRU9VVCcsXG4gICAgICAnVkVSU0lPTl9DT05GTElDVCcsXG4gICAgICAnREJfRVJST1InLFxuICAgICAgJ1JFRElTX0VSUk9SJyxcbiAgICAgICdWQUxJREFUSU9OX0VSUk9SJyxcbiAgICAgICdTRVFVRU5DRV9FWEhBVVNURUQnLFxuICAgICAgJ1JFU0VSVkFUSU9OX0VYUElSRUQnLFxuICAgICAgJ0RVUExJQ0FURV9OVU1CRVInLFxuICAgICAgJ0dFTkVSQVRFX0VSUk9SJyxcbiAgICBdLFxuICB9KVxuICBlcnJvclR5cGUhOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IG5hbWU6ICdlcnJvcl9tZXNzYWdlJywgdHlwZTogJ3RleHQnIH0pXG4gIGVycm9yTWVzc2FnZSE6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbmFtZTogJ3N0YWNrX3RyYWNlJywgdHlwZTogJ3RleHQnLCBudWxsYWJsZTogdHJ1ZSB9KVxuICBzdGFja1RyYWNlPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnY29udGV4dF9kYXRhJywgdHlwZTogJ2pzb24nLCBudWxsYWJsZTogdHJ1ZSB9KVxuICBjb250ZXh0RGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAndXNlcl9pZCcsIG51bGxhYmxlOiB0cnVlIH0pXG4gIHVzZXJJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgbmFtZTogJ2lwX2FkZHJlc3MnLCBsZW5ndGg6IDQ1LCBudWxsYWJsZTogdHJ1ZSB9KVxuICBpcEFkZHJlc3M/OiBzdHJpbmc7XG5cbiAgQENyZWF0ZURhdGVDb2x1bW4oeyBuYW1lOiAnY3JlYXRlZF9hdCcgfSlcbiAgY3JlYXRlZEF0ITogRGF0ZTtcblxuICBAQ29sdW1uKHsgbmFtZTogJ3Jlc29sdmVkX2F0JywgdHlwZTogJ3RpbWVzdGFtcCcsIG51bGxhYmxlOiB0cnVlIH0pXG4gIHJlc29sdmVkQXQ/OiBEYXRlO1xufVxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\entities\\document-number-error.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAMiB;AAMV,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAyC/B,CAAA;AAzCY,kDAAmB;AAE9B;IADC,IAAA,gCAAsB,GAAE;;+CACb;AAiBZ;IAfC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE;YACJ,cAAc;YACd,kBAAkB;YAClB,UAAU;YACV,aAAa;YACb,kBAAkB;YAClB,oBAAoB;YACpB,qBAAqB;YACrB,kBAAkB;YAClB,gBAAgB;SACjB;KACF,CAAC;;sDACiB;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;yDAC1B;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDAC1C;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACjD,MAAM,oBAAN,MAAM;wDAAkB;AAGtC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDAC5B;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACxC;AAGnB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;sDAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACtD,IAAI,oBAAJ,IAAI;uDAAC;8BAxCP,mBAAmB;IAJ/B,IAAA,gBAAM,EAAC,wBAAwB,CAAC;IAChC,IAAA,eAAK,EAAC,CAAC,WAAW,CAAC,CAAC;IACpB,IAAA,eAAK,EAAC,CAAC,WAAW,CAAC,CAAC;IACpB,IAAA,eAAK,EAAC,CAAC,QAAQ,CAAC,CAAC;GACL,mBAAmB,CAyC/B","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\entities\\document-number-error.entity.ts"],"sourcesContent":["import {\n Entity,\n PrimaryGeneratedColumn,\n Column,\n CreateDateColumn,\n Index,\n} from 'typeorm';\n\n@Entity('document_number_errors')\n@Index(['errorType'])\n@Index(['createdAt'])\n@Index(['userId'])\nexport class DocumentNumberError {\n @PrimaryGeneratedColumn()\n id!: number;\n\n @Column({\n name: 'error_type',\n type: 'enum',\n enum: [\n 'LOCK_TIMEOUT',\n 'VERSION_CONFLICT',\n 'DB_ERROR',\n 'REDIS_ERROR',\n 'VALIDATION_ERROR',\n 'SEQUENCE_EXHAUSTED',\n 'RESERVATION_EXPIRED',\n 'DUPLICATE_NUMBER',\n 'GENERATE_ERROR',\n ],\n })\n errorType!: string;\n\n @Column({ name: 'error_message', type: 'text' })\n errorMessage!: string;\n\n @Column({ name: 'stack_trace', type: 'text', nullable: true })\n stackTrace?: string;\n\n @Column({ name: 'context_data', type: 'json', nullable: true })\n contextData?: Record<string, unknown>;\n\n @Column({ name: 'user_id', nullable: true })\n userId?: number;\n\n @Column({ name: 'ip_address', length: 45, nullable: true })\n ipAddress?: string;\n\n @CreateDateColumn({ name: 'created_at' })\n createdAt!: Date;\n\n @Column({ name: 'resolved_at', type: 'timestamp', nullable: true })\n resolvedAt?: Date;\n}\n"],"version":3}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
53fb2fc96633de3cc84ca869a70687f4
|
||||
"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.RegisterDto = void 0;
|
||||
const class_validator_1 = require("class-validator");
|
||||
class RegisterDto {
|
||||
}
|
||||
exports.RegisterDto = RegisterDto;
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
__metadata("design:type", String)
|
||||
], RegisterDto.prototype, "username", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
(0, class_validator_1.MinLength)(6, { message: 'Password must be at least 6 characters' }),
|
||||
__metadata("design:type", String)
|
||||
], RegisterDto.prototype, "password", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsEmail)(),
|
||||
(0, class_validator_1.IsNotEmpty)(),
|
||||
__metadata("design:type", String)
|
||||
], RegisterDto.prototype, "email", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], RegisterDto.prototype, "firstName", void 0);
|
||||
__decorate([
|
||||
(0, class_validator_1.IsString)(),
|
||||
(0, class_validator_1.IsOptional)(),
|
||||
__metadata("design:type", String)
|
||||
], RegisterDto.prototype, "lastName", void 0);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcY29tbW9uXFxhdXRoXFxkdG9cXHJlZ2lzdGVyLmR0by50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxxREFNeUI7QUFFekIsTUFBYSxXQUFXO0NBcUJ2QjtBQXJCRCxrQ0FxQkM7QUFsQkM7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7OzZDQUNLO0FBS2xCO0lBSEMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFO0lBQ1osSUFBQSwyQkFBUyxFQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxDQUFDOzs2Q0FDbEQ7QUFJbEI7SUFGQyxJQUFBLHlCQUFPLEdBQUU7SUFDVCxJQUFBLDRCQUFVLEdBQUU7OzBDQUNFO0FBSWY7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7OzhDQUNNO0FBSW5CO0lBRkMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOzs2Q0FDSyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxjb21tb25cXGF1dGhcXGR0b1xccmVnaXN0ZXIuZHRvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElzRW1haWwsXG4gIElzTm90RW1wdHksXG4gIElzU3RyaW5nLFxuICBNaW5MZW5ndGgsXG4gIElzT3B0aW9uYWwsXG59IGZyb20gJ2NsYXNzLXZhbGlkYXRvcic7XG5cbmV4cG9ydCBjbGFzcyBSZWdpc3RlckR0byB7XG4gIEBJc1N0cmluZygpXG4gIEBJc05vdEVtcHR5KClcbiAgdXNlcm5hbWUhOiBzdHJpbmc7XG5cbiAgQElzU3RyaW5nKClcbiAgQElzTm90RW1wdHkoKVxuICBATWluTGVuZ3RoKDYsIHsgbWVzc2FnZTogJ1Bhc3N3b3JkIG11c3QgYmUgYXQgbGVhc3QgNiBjaGFyYWN0ZXJzJyB9KVxuICBwYXNzd29yZCE6IHN0cmluZztcblxuICBASXNFbWFpbCgpXG4gIEBJc05vdEVtcHR5KClcbiAgZW1haWwhOiBzdHJpbmc7XG5cbiAgQElzU3RyaW5nKClcbiAgQElzT3B0aW9uYWwoKVxuICBmaXJzdE5hbWU/OiBzdHJpbmc7XG5cbiAgQElzU3RyaW5nKClcbiAgQElzT3B0aW9uYWwoKVxuICBsYXN0TmFtZT86IHN0cmluZztcbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\common\\auth\\dto\\register.dto.ts","mappings":";;;;;;;;;;;;AAAA,qDAMyB;AAEzB,MAAa,WAAW;CAqBvB;AArBD,kCAqBC;AAlBC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;6CACK;AAKlB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;;6CAClD;AAIlB;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;;0CACE;AAIf;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;8CACM;AAInB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;6CACK","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\common\\auth\\dto\\register.dto.ts"],"sourcesContent":["import {\n IsEmail,\n IsNotEmpty,\n IsString,\n MinLength,\n IsOptional,\n} from 'class-validator';\n\nexport class RegisterDto {\n @IsString()\n @IsNotEmpty()\n username!: string;\n\n @IsString()\n @IsNotEmpty()\n @MinLength(6, { message: 'Password must be at least 6 characters' })\n password!: string;\n\n @IsEmail()\n @IsNotEmpty()\n email!: string;\n\n @IsString()\n @IsOptional()\n firstName?: string;\n\n @IsString()\n @IsOptional()\n lastName?: string;\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
+54
@@ -0,0 +1,54 @@
|
||||
4b5cbb5bf5451f06bb72b25c9c1d277c
|
||||
"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,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcY29ycmVzcG9uZGVuY2VcXGVudGl0aWVzXFxjb3JyZXNwb25kZW5jZS1yZXZpc2lvbi1hdHRhY2htZW50LmVudGl0eS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEseUZBQXlGO0FBQ3pGLHFDQUErRTtBQUMvRSxxRkFBMEU7QUFDMUUsK0ZBQXFGO0FBRXJGOzs7Ozs7R0FNRztBQUVJLElBQU0sZ0NBQWdDLEdBQXRDLE1BQU0sZ0NBQWdDO0NBMEI1QyxDQUFBO0FBMUJZLDRFQUFnQztBQUczQztJQURDLElBQUEsdUJBQWEsRUFBQyxFQUFFLElBQUksRUFBRSw0QkFBNEIsRUFBRSxDQUFDOztrRkFDcEI7QUFJbEM7SUFEQyxJQUFBLHVCQUFhLEVBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUM7O3NFQUNuQjtBQUl0QjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7O3dFQUM1QjtBQVN6QjtJQU5DLElBQUEsbUJBQVMsRUFDUixHQUFHLEVBQUUsQ0FBQyx1REFBc0IsRUFDNUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQ3RDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUN4QjtJQUNBLElBQUEsb0JBQVUsRUFBQyxFQUFFLElBQUksRUFBRSw0QkFBNEIsRUFBRSxDQUFDO2tEQUN4Qyx1REFBc0Isb0JBQXRCLHVEQUFzQjtrRUFBQztBQUtsQztJQUZDLElBQUEsbUJBQVMsRUFBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDbEUsSUFBQSxvQkFBVSxFQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDO2tEQUN6Qiw4QkFBVSxvQkFBViw4QkFBVTtvRUFBQzsyQ0F6QmIsZ0NBQWdDO0lBRDVDLElBQUEsZ0JBQU0sRUFBQyxxQ0FBcUMsQ0FBQztHQUNqQyxnQ0FBZ0MsQ0EwQjVDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXG1vZHVsZXNcXGNvcnJlc3BvbmRlbmNlXFxlbnRpdGllc1xcY29ycmVzcG9uZGVuY2UtcmV2aXNpb24tYXR0YWNobWVudC5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRmlsZTogc3JjL21vZHVsZXMvY29ycmVzcG9uZGVuY2UvZW50aXRpZXMvY29ycmVzcG9uZGVuY2UtcmV2aXNpb24tYXR0YWNobWVudC5lbnRpdHkudHNcbmltcG9ydCB7IEVudGl0eSwgQ29sdW1uLCBNYW55VG9PbmUsIEpvaW5Db2x1bW4sIFByaW1hcnlDb2x1bW4gfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IENvcnJlc3BvbmRlbmNlUmV2aXNpb24gfSBmcm9tICcuL2NvcnJlc3BvbmRlbmNlLXJldmlzaW9uLmVudGl0eSc7XG5pbXBvcnQgeyBBdHRhY2htZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2ZpbGUtc3RvcmFnZS9lbnRpdGllcy9hdHRhY2htZW50LmVudGl0eSc7XG5cbi8qKlxuICogQ29ycmVzcG9uZGVuY2VSZXZpc2lvbkF0dGFjaG1lbnRcbiAqXG4gKiDguJXguLLguKPguLLguIfguYDguIrguLfguYjguK3guKEgY29ycmVzcG9uZGVuY2VfcmV2aXNpb25zIOC4geC4seC4miBhdHRhY2htZW50cyAoTTpOKVxuICogW0ZJWCB2MS44LjFdIEZLIOC4iuC4teC5ieC5hOC4myBjb3JyZXNwb25kZW5jZV9yZXZpc2lvbnMuaWQg4LmE4Lih4LmI4LmD4LiK4LmIIGNvcnJlc3BvbmRlbmNlcy5pZFxuICog4LmA4Lir4LiV4Li44Lic4LilOiDguYTguJ/guKXguYzguYHguJnguJrguJzguLnguIHguIHguLHguJogcmV2aXNpb24g4LmA4Lie4Li34LmI4Lit4Lij4Lit4LiH4Lij4Lix4Lia4LmE4Lif4Lil4LmM4LiX4Li14LmI4LiV4LmI4Liy4LiH4LiB4Lix4LiZ4LmD4LiZ4LmB4LiV4LmI4Lil4LiwIHJldmlzaW9uXG4gKi9cbkBFbnRpdHkoJ2NvcnJlc3BvbmRlbmNlX3JldmlzaW9uX2F0dGFjaG1lbnRzJylcbmV4cG9ydCBjbGFzcyBDb3JyZXNwb25kZW5jZVJldmlzaW9uQXR0YWNobWVudCB7XG4gIC8vIOC4hOC4teC4ouC5jOC4q+C4peC4seC4geC4guC4reC4hyByZXZpc2lvbiDguJfguLXguYjguJzguLnguIHguYTguJ/guKXguYzguJnguLXguYlcbiAgQFByaW1hcnlDb2x1bW4oeyBuYW1lOiAnY29ycmVzcG9uZGVuY2VfcmV2aXNpb25faWQnIH0pXG4gIGNvcnJlc3BvbmRlbmNlUmV2aXNpb25JZCE6IG51bWJlcjtcblxuICAvLyDguITguLXguKLguYzguKvguKXguLHguIHguILguK3guIcgYXR0YWNobWVudFxuICBAUHJpbWFyeUNvbHVtbih7IG5hbWU6ICdhdHRhY2htZW50X2lkJyB9KVxuICBhdHRhY2htZW50SWQhOiBudW1iZXI7XG5cbiAgLy8g4LmE4Lif4Lil4LmM4Lir4Lil4Lix4LiB4LiC4Lit4LiHIHJldmlzaW9uIOC4meC4teC5iSAo4LmA4LiK4LmI4LiZIFBERiDguKvguKXguLHguIEpXG4gIEBDb2x1bW4oeyBuYW1lOiAnaXNfbWFpbl9kb2N1bWVudCcsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gIGlzTWFpbkRvY3VtZW50ITogYm9vbGVhbjtcblxuICAvLyBSZWxhdGlvbjog4Lir4Lil4Liy4LiiIENvcnJlc3BvbmRlbmNlUmV2aXNpb25BdHRhY2htZW50IOKGkiDguKvguJnguLbguYjguIcgQ29ycmVzcG9uZGVuY2VSZXZpc2lvblxuICBATWFueVRvT25lKFxuICAgICgpID0+IENvcnJlc3BvbmRlbmNlUmV2aXNpb24sXG4gICAgKHJldmlzaW9uKSA9PiByZXZpc2lvbi5hdHRhY2htZW50TGlua3MsXG4gICAgeyBvbkRlbGV0ZTogJ0NBU0NBREUnIH1cbiAgKVxuICBASm9pbkNvbHVtbih7IG5hbWU6ICdjb3JyZXNwb25kZW5jZV9yZXZpc2lvbl9pZCcgfSlcbiAgcmV2aXNpb24/OiBDb3JyZXNwb25kZW5jZVJldmlzaW9uO1xuXG4gIC8vIFJlbGF0aW9uOiDguKvguKXguLLguKIgQ29ycmVzcG9uZGVuY2VSZXZpc2lvbkF0dGFjaG1lbnQg4oaSIOC4q+C4meC4tuC5iOC4hyBBdHRhY2htZW50XG4gIEBNYW55VG9PbmUoKCkgPT4gQXR0YWNobWVudCwgeyBvbkRlbGV0ZTogJ0NBU0NBREUnLCBlYWdlcjogZmFsc2UgfSlcbiAgQEpvaW5Db2x1bW4oeyBuYW1lOiAnYXR0YWNobWVudF9pZCcgfSlcbiAgYXR0YWNobWVudD86IEF0dGFjaG1lbnQ7XG59XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\entities\\correspondence-revision-attachment.entity.ts","mappings":";;;;;;;;;;;;;AAAA,yFAAyF;AACzF,qCAA+E;AAC/E,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 { Entity, Column, ManyToOne, JoinColumn, PrimaryColumn } 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}
|
||||
+128
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+80
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\workflow-engine\\entities\\workflow-history.entity.ts","mappings":";AAAA,wEAAwE;;;;;;;;;;;;;AAExE,qCAQiB;AACjB,yEAA8D;AAE9D;;;GAGG;AAII,IAAM,eAAe,GAArB,MAAM,eAAe;CAwC3B,CAAA;AAxCY,0CAAe;AAE1B;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;2CACnB;AAIZ;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2CAAgB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC1D,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;kDACzB,2CAAgB,oBAAhB,2CAAgB;iDAAC;AAG5B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;mDACZ;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;;kDAChD;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;;gDACjD;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;;+CAC7D;AAOhB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,kDAAkD;KAC5D,CAAC;;uDACsB;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;;gDAC7D;AAQjB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,iCAAiC;KAC3C,CAAC;kDACS,MAAM,oBAAN,MAAM;iDAAkB;AAGnC;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;kDAAC;0BAvCN,eAAe;IAH3B,IAAA,gBAAM,EAAC,oBAAoB,CAAC;IAC5B,IAAA,eAAK,EAAC,CAAC,YAAY,CAAC,CAAC,CAAC,+BAA+B;;IACrD,IAAA,eAAK,EAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kCAAkC;GAChD,eAAe,CAwC3B","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\workflow-engine\\entities\\workflow-history.entity.ts"],"sourcesContent":["// File: src/modules/workflow-engine/entities/workflow-history.entity.ts\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n} from 'typeorm';\nimport { WorkflowInstance } from './workflow-instance.entity';\n\n/**\n * เก็บประวัติการเปลี่ยนสถานะ (Audit Trail)\n * สำคัญมากสำหรับการตรวจสอบย้อนหลัง (Who did What, When)\n */\n@Entity('workflow_histories')\n@Index(['instanceId']) // ค้นหาประวัติของ Instance นี้\n@Index(['actionByUserId']) // ค้นหาว่า User คนนี้ทำอะไรไปบ้าง\nexport class WorkflowHistory {\n @PrimaryGeneratedColumn('uuid')\n id!: string;\n\n @ManyToOne(() => WorkflowInstance, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'instance_id' })\n instance!: WorkflowInstance;\n\n @Column({ name: 'instance_id' })\n instanceId!: string;\n\n @Column({ name: 'from_state', length: 50, comment: 'สถานะต้นทาง' })\n fromState!: string;\n\n @Column({ name: 'to_state', length: 50, comment: 'สถานะปลายทาง' })\n toState!: string;\n\n @Column({ length: 50, comment: 'Action ที่ User กด (เช่น APPROVE, REJECT)' })\n action!: string;\n\n @Column({\n name: 'action_by_user_id',\n nullable: true,\n comment: 'User ID ผู้ดำเนินการ (Nullable กรณี System Auto)',\n })\n actionByUserId?: number;\n\n @Column({ type: 'text', nullable: true, comment: 'ความเห็นประกอบการอนุมัติ' })\n comment?: string;\n\n // Snapshot ข้อมูล ณ เวลาที่เปลี่ยนสถานะ เพื่อเป็นหลักฐานหาก Context เปลี่ยนในอนาคต\n @Column({\n type: 'json',\n nullable: true,\n comment: 'Snapshot of Context or Metadata',\n })\n metadata?: Record<string, unknown>;\n\n @CreateDateColumn({ name: 'created_at' })\n createdAt!: Date;\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}
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
de808bf15a7404907c767ae951b8cee1
|
||||
"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.Role = exports.RoleScope = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const permission_entity_1 = require("./permission.entity");
|
||||
var RoleScope;
|
||||
(function (RoleScope) {
|
||||
RoleScope["GLOBAL"] = "Global";
|
||||
RoleScope["ORGANIZATION"] = "Organization";
|
||||
RoleScope["PROJECT"] = "Project";
|
||||
RoleScope["CONTRACT"] = "Contract";
|
||||
})(RoleScope || (exports.RoleScope = RoleScope = {}));
|
||||
let Role = class Role {
|
||||
};
|
||||
exports.Role = Role;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)({ name: 'role_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], Role.prototype, "roleId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'role_name', length: 100 }),
|
||||
__metadata("design:type", String)
|
||||
], Role.prototype, "roleName", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({
|
||||
type: 'enum',
|
||||
enum: RoleScope,
|
||||
}),
|
||||
__metadata("design:type", String)
|
||||
], Role.prototype, "scope", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], Role.prototype, "description", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'is_system', default: false }),
|
||||
__metadata("design:type", Boolean)
|
||||
], Role.prototype, "isSystem", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToMany)(() => permission_entity_1.Permission),
|
||||
(0, typeorm_1.JoinTable)({
|
||||
name: 'role_permissions',
|
||||
joinColumn: { name: 'role_id', referencedColumnName: 'roleId' },
|
||||
inverseJoinColumn: {
|
||||
name: 'permission_id',
|
||||
referencedColumnName: 'permissionId',
|
||||
},
|
||||
}),
|
||||
__metadata("design:type", Array)
|
||||
], Role.prototype, "permissions", void 0);
|
||||
exports.Role = Role = __decorate([
|
||||
(0, typeorm_1.Entity)('roles')
|
||||
], Role);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcdXNlclxcZW50aXRpZXNcXHJvbGUuZW50aXR5LnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHFDQU1pQjtBQUNqQiwyREFBaUQ7QUFFakQsSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLDBDQUE2QixDQUFBO0lBQzdCLGdDQUFtQixDQUFBO0lBQ25CLGtDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFMVyxTQUFTLHlCQUFULFNBQVMsUUFLcEI7QUFHTSxJQUFNLElBQUksR0FBVixNQUFNLElBQUk7Q0E2QmhCLENBQUE7QUE3Qlksb0JBQUk7QUFFZjtJQURDLElBQUEsZ0NBQXNCLEVBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7O29DQUM1QjtBQUdoQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDOztzQ0FDekI7QUFNbEI7SUFKQyxJQUFBLGdCQUFNLEVBQUM7UUFDTixJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUM7O21DQUNnQjtBQUdsQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOzt5Q0FDcEI7QUFHckI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQzs7c0NBQzNCO0FBV25CO0lBVEMsSUFBQSxvQkFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUFVLENBQUM7SUFDNUIsSUFBQSxtQkFBUyxFQUFDO1FBQ1QsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRTtRQUMvRCxpQkFBaUIsRUFBRTtZQUNqQixJQUFJLEVBQUUsZUFBZTtZQUNyQixvQkFBb0IsRUFBRSxjQUFjO1NBQ3JDO0tBQ0YsQ0FBQzs7eUNBQ3lCO2VBNUJoQixJQUFJO0lBRGhCLElBQUEsZ0JBQU0sRUFBQyxPQUFPLENBQUM7R0FDSCxJQUFJLENBNkJoQiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxtb2R1bGVzXFx1c2VyXFxlbnRpdGllc1xccm9sZS5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW50aXR5LFxuICBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uLFxuICBDb2x1bW4sXG4gIE1hbnlUb01hbnksXG4gIEpvaW5UYWJsZSxcbn0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi9wZXJtaXNzaW9uLmVudGl0eSc7XG5cbmV4cG9ydCBlbnVtIFJvbGVTY29wZSB7XG4gIEdMT0JBTCA9ICdHbG9iYWwnLFxuICBPUkdBTklaQVRJT04gPSAnT3JnYW5pemF0aW9uJyxcbiAgUFJPSkVDVCA9ICdQcm9qZWN0JyxcbiAgQ09OVFJBQ1QgPSAnQ29udHJhY3QnLFxufVxuXG5ARW50aXR5KCdyb2xlcycpXG5leHBvcnQgY2xhc3MgUm9sZSB7XG4gIEBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uKHsgbmFtZTogJ3JvbGVfaWQnIH0pXG4gIHJvbGVJZCE6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgbmFtZTogJ3JvbGVfbmFtZScsIGxlbmd0aDogMTAwIH0pXG4gIHJvbGVOYW1lITogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6ICdlbnVtJyxcbiAgICBlbnVtOiBSb2xlU2NvcGUsXG4gIH0pXG4gIHNjb3BlITogUm9sZVNjb3BlO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiAndGV4dCcsIG51bGxhYmxlOiB0cnVlIH0pXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnaXNfc3lzdGVtJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgaXNTeXN0ZW0hOiBib29sZWFuO1xuXG4gIEBNYW55VG9NYW55KCgpID0+IFBlcm1pc3Npb24pXG4gIEBKb2luVGFibGUoe1xuICAgIG5hbWU6ICdyb2xlX3Blcm1pc3Npb25zJyxcbiAgICBqb2luQ29sdW1uOiB7IG5hbWU6ICdyb2xlX2lkJywgcmVmZXJlbmNlZENvbHVtbk5hbWU6ICdyb2xlSWQnIH0sXG4gICAgaW52ZXJzZUpvaW5Db2x1bW46IHtcbiAgICAgIG5hbWU6ICdwZXJtaXNzaW9uX2lkJyxcbiAgICAgIHJlZmVyZW5jZWRDb2x1bW5OYW1lOiAncGVybWlzc2lvbklkJyxcbiAgICB9LFxuICB9KVxuICBwZXJtaXNzaW9ucz86IFBlcm1pc3Npb25bXTtcbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\user\\entities\\role.entity.ts","mappings":";;;;;;;;;;;;AAAA,qCAMiB;AACjB,2DAAiD;AAEjD,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,0CAA6B,CAAA;IAC7B,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;AACvB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAGM,IAAM,IAAI,GAAV,MAAM,IAAI;CA6BhB,CAAA;AA7BY,oBAAI;AAEf;IADC,IAAA,gCAAsB,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;oCAC5B;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;sCACzB;AAMlB;IAJC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;KAChB,CAAC;;mCACgB;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACpB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;sCAC3B;AAWnB;IATC,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,8BAAU,CAAC;IAC5B,IAAA,mBAAS,EAAC;QACT,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAE;QAC/D,iBAAiB,EAAE;YACjB,IAAI,EAAE,eAAe;YACrB,oBAAoB,EAAE,cAAc;SACrC;KACF,CAAC;;yCACyB;eA5BhB,IAAI;IADhB,IAAA,gBAAM,EAAC,OAAO,CAAC;GACH,IAAI,CA6BhB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\user\\entities\\role.entity.ts"],"sourcesContent":["import {\n Entity,\n PrimaryGeneratedColumn,\n Column,\n ManyToMany,\n JoinTable,\n} from 'typeorm';\nimport { Permission } from './permission.entity';\n\nexport enum RoleScope {\n GLOBAL = 'Global',\n ORGANIZATION = 'Organization',\n PROJECT = 'Project',\n CONTRACT = 'Contract',\n}\n\n@Entity('roles')\nexport class Role {\n @PrimaryGeneratedColumn({ name: 'role_id' })\n roleId!: number;\n\n @Column({ name: 'role_name', length: 100 })\n roleName!: string;\n\n @Column({\n type: 'enum',\n enum: RoleScope,\n })\n scope!: RoleScope;\n\n @Column({ type: 'text', nullable: true })\n description?: string;\n\n @Column({ name: 'is_system', default: false })\n isSystem!: boolean;\n\n @ManyToMany(() => Permission)\n @JoinTable({\n name: 'role_permissions',\n joinColumn: { name: 'role_id', referencedColumnName: 'roleId' },\n inverseJoinColumn: {\n name: 'permission_id',\n referencedColumnName: 'permissionId',\n },\n })\n permissions?: Permission[];\n}\n"],"version":3}
|
||||
+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}
|
||||
+178
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+36
@@ -0,0 +1,36 @@
|
||||
d5feed34649f89b92f8094603a889707
|
||||
"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.AppController = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const app_service_1 = require("./app.service");
|
||||
let AppController = class AppController {
|
||||
constructor(appService) {
|
||||
this.appService = appService;
|
||||
}
|
||||
getHello() {
|
||||
return this.appService.getHello();
|
||||
}
|
||||
};
|
||||
exports.AppController = AppController;
|
||||
__decorate([
|
||||
(0, common_1.Get)(),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", []),
|
||||
__metadata("design:returntype", String)
|
||||
], AppController.prototype, "getHello", null);
|
||||
exports.AppController = AppController = __decorate([
|
||||
(0, common_1.Controller)(),
|
||||
__metadata("design:paramtypes", [typeof (_a = typeof app_service_1.AppService !== "undefined" && app_service_1.AppService) === "function" ? _a : Object])
|
||||
], AppController);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcYXBwLmNvbnRyb2xsZXIudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUFpRDtBQUNqRCwrQ0FBMkM7QUFHcEMsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQUN4QixZQUE2QixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUd2RCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7Q0FDRixDQUFBO0FBUFksc0NBQWE7QUFJeEI7SUFEQyxJQUFBLFlBQUcsR0FBRTs7Ozs2Q0FHTDt3QkFOVSxhQUFhO0lBRHpCLElBQUEsbUJBQVUsR0FBRTt5REFFOEIsd0JBQVUsb0JBQVYsd0JBQVU7R0FEeEMsYUFBYSxDQU96QiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxhcHAuY29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250cm9sbGVyLCBHZXQgfSBmcm9tICdAbmVzdGpzL2NvbW1vbic7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnLi9hcHAuc2VydmljZSc7XG5cbkBDb250cm9sbGVyKClcbmV4cG9ydCBjbGFzcyBBcHBDb250cm9sbGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhcHBTZXJ2aWNlOiBBcHBTZXJ2aWNlKSB7fVxuXG4gIEBHZXQoKVxuICBnZXRIZWxsbygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFwcFNlcnZpY2UuZ2V0SGVsbG8oKTtcbiAgfVxufVxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\app.controller.ts","mappings":";;;;;;;;;;;;;AAAA,2CAAiD;AACjD,+CAA2C;AAGpC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAGvD,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;CACF,CAAA;AAPY,sCAAa;AAIxB;IADC,IAAA,YAAG,GAAE;;;;6CAGL;wBANU,aAAa;IADzB,IAAA,mBAAU,GAAE;yDAE8B,wBAAU,oBAAV,wBAAU;GADxC,aAAa,CAOzB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\app.controller.ts"],"sourcesContent":["import { Controller, Get } from '@nestjs/common';\nimport { AppService } from './app.service';\n\n@Controller()\nexport class AppController {\n constructor(private readonly appService: AppService) {}\n\n @Get()\n getHello(): string {\n return this.appService.getHello();\n }\n}\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
+149
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+43
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\v35.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,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;AAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACzC,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACjD,SAAS,aAAa,CAAC,GAAG;IACtB,GAAG,GAAG,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AACD,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;AACtC,OAAO,CAAC,GAAG,GAAG,sCAAsC,CAAC;AACrD,OAAO,CAAC,GAAG,GAAG,sCAAsC,CAAC;AACrD,SAAS,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM;IACrD,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5E,MAAM,cAAc,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChC,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,SAAS,EAAE,MAAM,KAAK,EAAE,EAAE,CAAC;QAC3B,MAAM,SAAS,CAAC,kEAAkE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1B,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IACvC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACpC,IAAI,GAAG,EAAE,CAAC;QACN,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\v35.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URL = exports.DNS = exports.stringToBytes = void 0;\nconst parse_js_1 = require(\"./parse.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str));\n const bytes = new Uint8Array(str.length);\n for (let i = 0; i < str.length; ++i) {\n bytes[i] = str.charCodeAt(i);\n }\n return bytes;\n}\nexports.stringToBytes = stringToBytes;\nexports.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nfunction v35(version, hash, value, namespace, buf, offset) {\n const valueBytes = typeof value === 'string' ? stringToBytes(value) : value;\n const namespaceBytes = typeof namespace === 'string' ? (0, parse_js_1.default)(namespace) : namespace;\n if (typeof namespace === 'string') {\n namespace = (0, parse_js_1.default)(namespace);\n }\n if (namespace?.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n }\n let bytes = new Uint8Array(16 + valueBytes.length);\n bytes.set(namespaceBytes);\n bytes.set(valueBytes, namespaceBytes.length);\n bytes = hash(bytes);\n bytes[6] = (bytes[6] & 0x0f) | version;\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n return buf;\n }\n return (0, stringify_js_1.unsafeStringify)(bytes);\n}\nexports.default = v35;\n"],"version":3}
|
||||
+86
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\\shop-drawing.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAUiB;AACjB,iFAAqE;AACrE,0EAAgE;AAChE,2FAA8E;AAC9E,yFAA4E;AAC5E,gFAA2E;AAC3E,yDAA4C;AAGrC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,iCAAc;CA+C9C,CAAA;AA/CY,kCAAW;AAGtB;IAFC,IAAA,gCAAsB,GAAE;IACxB,IAAA,2BAAO,GAAE;;uCACE;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;8CACZ;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;kDACvC;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;;mDACb;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;kDACb;AAGvB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;8CAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;8CAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;8CAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CAC5B;AAMnB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;IACxB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDACzB,wBAAO,oBAAP,wBAAO;4CAAC;AAIlB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2DAAuB,CAAC;IACxC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;kDAC1B,2DAAuB,oBAAvB,2DAAuB;iDAAC;AAIvC;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,yDAAsB,CAAC;IACvC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;kDAC1B,yDAAsB,oBAAtB,yDAAsB;gDAAC;AAKrC;IAHC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kDAAmB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE;QACxE,OAAO,EAAE,IAAI;KACd,CAAC;;8CACgC;sBA9CvB,WAAW;IADvB,IAAA,gBAAM,EAAC,eAAe,CAAC;GACX,WAAW,CA+CvB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\drawing\\entities\\shop-drawing.entity.ts"],"sourcesContent":["import {\n Entity,\n PrimaryGeneratedColumn,\n Column,\n CreateDateColumn,\n UpdateDateColumn,\n DeleteDateColumn,\n OneToMany,\n ManyToOne,\n JoinColumn,\n} from 'typeorm';\nimport { ShopDrawingRevision } from './shop-drawing-revision.entity';\nimport { Project } from '../../project/entities/project.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('shop_drawings')\nexport class ShopDrawing 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; // nullable\n\n @Column({ name: 'updated_by', nullable: true })\n updatedBy?: number; // nullable\n\n // --- Relations ---\n\n @ManyToOne(() => Project)\n @JoinColumn({ name: 'project_id' })\n project!: Project; // เติม ! (ตัวที่ error)\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 @OneToMany(() => ShopDrawingRevision, (revision) => revision.shopDrawing, {\n cascade: true,\n })\n revisions!: ShopDrawingRevision[]; // เติม !\n}\n"],"version":3}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
68e941c87426f2b14d7c08ba0f11173c
|
||||
"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.AppService = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
let AppService = class AppService {
|
||||
getHello() {
|
||||
return 'Hello World!';
|
||||
}
|
||||
};
|
||||
exports.AppService = AppService;
|
||||
exports.AppService = AppService = __decorate([
|
||||
(0, common_1.Injectable)()
|
||||
], AppService);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcYXBwLnNlcnZpY2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsMkNBQTRDO0FBR3JDLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVU7SUFDckIsUUFBUTtRQUNOLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7Q0FDRixDQUFBO0FBSlksZ0NBQVU7cUJBQVYsVUFBVTtJQUR0QixJQUFBLG1CQUFVLEdBQUU7R0FDQSxVQUFVLENBSXRCIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXGFwcC5zZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAbmVzdGpzL2NvbW1vbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcHBTZXJ2aWNlIHtcbiAgZ2V0SGVsbG8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0hlbGxvIFdvcmxkISc7XG4gIH1cbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\app.service.ts","mappings":";;;;;;;;;AAAA,2CAA4C;AAGrC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,QAAQ;QACN,OAAO,cAAc,CAAC;IACxB,CAAC;CACF,CAAA;AAJY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;GACA,UAAU,CAItB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\app.service.ts"],"sourcesContent":["import { Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class AppService {\n getHello(): string {\n return 'Hello World!';\n }\n}\n"],"version":3}
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
c07b913ced6df32d8826286c9d4d7c9e
|
||||
"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.RfaWorkflowTemplateStep = exports.RfaActionType = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const rfa_workflow_template_entity_1 = require("./rfa-workflow-template.entity");
|
||||
const organization_entity_1 = require("../../organization/entities/organization.entity");
|
||||
const role_entity_1 = require("../../user/entities/role.entity");
|
||||
// ✅ 1. สร้าง Enum เพื่อให้ Type Safe
|
||||
var RfaActionType;
|
||||
(function (RfaActionType) {
|
||||
RfaActionType["REVIEW"] = "REVIEW";
|
||||
RfaActionType["APPROVE"] = "APPROVE";
|
||||
RfaActionType["ACKNOWLEDGE"] = "ACKNOWLEDGE";
|
||||
})(RfaActionType || (exports.RfaActionType = RfaActionType = {}));
|
||||
let RfaWorkflowTemplateStep = class RfaWorkflowTemplateStep {
|
||||
};
|
||||
exports.RfaWorkflowTemplateStep = RfaWorkflowTemplateStep;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], RfaWorkflowTemplateStep.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'template_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], RfaWorkflowTemplateStep.prototype, "templateId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'step_number' }),
|
||||
__metadata("design:type", Number)
|
||||
], RfaWorkflowTemplateStep.prototype, "stepNumber", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'organization_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], RfaWorkflowTemplateStep.prototype, "organizationId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'role_id', nullable: true }),
|
||||
__metadata("design:type", Number)
|
||||
], RfaWorkflowTemplateStep.prototype, "roleId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({
|
||||
name: 'action_type',
|
||||
type: 'enum',
|
||||
enum: RfaActionType, // ✅ 2. ใช้ Enum ตรงนี้
|
||||
nullable: true,
|
||||
}),
|
||||
__metadata("design:type", String)
|
||||
], RfaWorkflowTemplateStep.prototype, "actionType", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'duration_days', nullable: true }),
|
||||
__metadata("design:type", Number)
|
||||
], RfaWorkflowTemplateStep.prototype, "durationDays", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'is_optional', default: false }),
|
||||
__metadata("design:type", Boolean)
|
||||
], RfaWorkflowTemplateStep.prototype, "isOptional", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => rfa_workflow_template_entity_1.RfaWorkflowTemplate, (template) => template.steps, {
|
||||
onDelete: 'CASCADE',
|
||||
}),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'template_id' }),
|
||||
__metadata("design:type", typeof (_a = typeof rfa_workflow_template_entity_1.RfaWorkflowTemplate !== "undefined" && rfa_workflow_template_entity_1.RfaWorkflowTemplate) === "function" ? _a : Object)
|
||||
], RfaWorkflowTemplateStep.prototype, "template", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => organization_entity_1.Organization),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'organization_id' }),
|
||||
__metadata("design:type", typeof (_b = typeof organization_entity_1.Organization !== "undefined" && organization_entity_1.Organization) === "function" ? _b : Object)
|
||||
], RfaWorkflowTemplateStep.prototype, "organization", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => role_entity_1.Role),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'role_id' }),
|
||||
__metadata("design:type", typeof (_c = typeof role_entity_1.Role !== "undefined" && role_entity_1.Role) === "function" ? _c : Object)
|
||||
], RfaWorkflowTemplateStep.prototype, "role", void 0);
|
||||
exports.RfaWorkflowTemplateStep = RfaWorkflowTemplateStep = __decorate([
|
||||
(0, typeorm_1.Entity)('rfa_workflow_template_steps')
|
||||
], RfaWorkflowTemplateStep);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xccmZhXFxlbnRpdGllc1xccmZhLXdvcmtmbG93LXRlbXBsYXRlLXN0ZXAuZW50aXR5LnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FNaUI7QUFDakIsaUZBQXFFO0FBQ3JFLHlGQUErRTtBQUMvRSxpRUFBdUQ7QUFFdkQscUNBQXFDO0FBQ3JDLElBQVksYUFJWDtBQUpELFdBQVksYUFBYTtJQUN2QixrQ0FBaUIsQ0FBQTtJQUNqQixvQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBSlcsYUFBYSw2QkFBYixhQUFhLFFBSXhCO0FBR00sSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBdUI7Q0E0Q25DLENBQUE7QUE1Q1ksMERBQXVCO0FBRWxDO0lBREMsSUFBQSxnQ0FBc0IsR0FBRTs7bURBQ2I7QUFHWjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQzs7MkRBQ1o7QUFHcEI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUM7OzJEQUNaO0FBR3BCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUM7OytEQUNaO0FBR3hCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7O3VEQUM1QjtBQVFoQjtJQU5DLElBQUEsZ0JBQU0sRUFBQztRQUNOLElBQUksRUFBRSxhQUFhO1FBQ25CLElBQUksRUFBRSxNQUFNO1FBQ1osSUFBSSxFQUFFLGFBQWEsRUFBRSx1QkFBdUI7UUFDNUMsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDOzsyREFDeUI7QUFHM0I7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7NkRBQzVCO0FBR3RCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7OzJEQUMzQjtBQU9yQjtJQUpDLElBQUEsbUJBQVMsRUFBQyxHQUFHLEVBQUUsQ0FBQyxrREFBbUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUNsRSxRQUFRLEVBQUUsU0FBUztLQUNwQixDQUFDO0lBQ0QsSUFBQSxvQkFBVSxFQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDO2tEQUN6QixrREFBbUIsb0JBQW5CLGtEQUFtQjt5REFBQztBQUkvQjtJQUZDLElBQUEsbUJBQVMsRUFBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBWSxDQUFDO0lBQzdCLElBQUEsb0JBQVUsRUFBQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDO2tEQUN6QixrQ0FBWSxvQkFBWixrQ0FBWTs2REFBQztBQUk1QjtJQUZDLElBQUEsbUJBQVMsRUFBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBSSxDQUFDO0lBQ3JCLElBQUEsb0JBQVUsRUFBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztrREFDekIsa0JBQUksb0JBQUosa0JBQUk7cURBQUM7a0NBM0NELHVCQUF1QjtJQURuQyxJQUFBLGdCQUFNLEVBQUMsNkJBQTZCLENBQUM7R0FDekIsdUJBQXVCLENBNENuQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxtb2R1bGVzXFxyZmFcXGVudGl0aWVzXFxyZmEtd29ya2Zsb3ctdGVtcGxhdGUtc3RlcC5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW50aXR5LFxuICBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uLFxuICBDb2x1bW4sXG4gIE1hbnlUb09uZSxcbiAgSm9pbkNvbHVtbixcbn0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgeyBSZmFXb3JrZmxvd1RlbXBsYXRlIH0gZnJvbSAnLi9yZmEtd29ya2Zsb3ctdGVtcGxhdGUuZW50aXR5JztcbmltcG9ydCB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4uLy4uL29yZ2FuaXphdGlvbi9lbnRpdGllcy9vcmdhbml6YXRpb24uZW50aXR5JztcbmltcG9ydCB7IFJvbGUgfSBmcm9tICcuLi8uLi91c2VyL2VudGl0aWVzL3JvbGUuZW50aXR5JztcblxuLy8g4pyFIDEuIOC4quC4o+C5ieC4suC4hyBFbnVtIOC5gOC4nuC4t+C5iOC4reC5g+C4q+C5iSBUeXBlIFNhZmVcbmV4cG9ydCBlbnVtIFJmYUFjdGlvblR5cGUge1xuICBSRVZJRVcgPSAnUkVWSUVXJyxcbiAgQVBQUk9WRSA9ICdBUFBST1ZFJyxcbiAgQUNLTk9XTEVER0UgPSAnQUNLTk9XTEVER0UnLFxufVxuXG5ARW50aXR5KCdyZmFfd29ya2Zsb3dfdGVtcGxhdGVfc3RlcHMnKVxuZXhwb3J0IGNsYXNzIFJmYVdvcmtmbG93VGVtcGxhdGVTdGVwIHtcbiAgQFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4oKVxuICBpZCE6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgbmFtZTogJ3RlbXBsYXRlX2lkJyB9KVxuICB0ZW1wbGF0ZUlkITogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnc3RlcF9udW1iZXInIH0pXG4gIHN0ZXBOdW1iZXIhOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IG5hbWU6ICdvcmdhbml6YXRpb25faWQnIH0pXG4gIG9yZ2FuaXphdGlvbklkITogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAncm9sZV9pZCcsIG51bGxhYmxlOiB0cnVlIH0pXG4gIHJvbGVJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICBuYW1lOiAnYWN0aW9uX3R5cGUnLFxuICAgIHR5cGU6ICdlbnVtJyxcbiAgICBlbnVtOiBSZmFBY3Rpb25UeXBlLCAvLyDinIUgMi4g4LmD4LiK4LmJIEVudW0g4LiV4Lij4LiH4LiZ4Li14LmJXG4gICAgbnVsbGFibGU6IHRydWUsXG4gIH0pXG4gIGFjdGlvblR5cGU/OiBSZmFBY3Rpb25UeXBlOyAvLyDinIUgMy4g4LmA4Lib4Lil4Li14LmI4Lii4LiZIHR5cGUg4LiI4Liy4LiBIHN0cmluZyDguYDguJvguYfguJkgRW51bVxuXG4gIEBDb2x1bW4oeyBuYW1lOiAnZHVyYXRpb25fZGF5cycsIG51bGxhYmxlOiB0cnVlIH0pXG4gIGR1cmF0aW9uRGF5cz86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgbmFtZTogJ2lzX29wdGlvbmFsJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgaXNPcHRpb25hbCE6IGJvb2xlYW47XG5cbiAgLy8gUmVsYXRpb25zXG4gIEBNYW55VG9PbmUoKCkgPT4gUmZhV29ya2Zsb3dUZW1wbGF0ZSwgKHRlbXBsYXRlKSA9PiB0ZW1wbGF0ZS5zdGVwcywge1xuICAgIG9uRGVsZXRlOiAnQ0FTQ0FERScsXG4gIH0pXG4gIEBKb2luQ29sdW1uKHsgbmFtZTogJ3RlbXBsYXRlX2lkJyB9KVxuICB0ZW1wbGF0ZSE6IFJmYVdvcmtmbG93VGVtcGxhdGU7XG5cbiAgQE1hbnlUb09uZSgoKSA9PiBPcmdhbml6YXRpb24pXG4gIEBKb2luQ29sdW1uKHsgbmFtZTogJ29yZ2FuaXphdGlvbl9pZCcgfSlcbiAgb3JnYW5pemF0aW9uITogT3JnYW5pemF0aW9uO1xuXG4gIEBNYW55VG9PbmUoKCkgPT4gUm9sZSlcbiAgQEpvaW5Db2x1bW4oeyBuYW1lOiAncm9sZV9pZCcgfSlcbiAgcm9sZT86IFJvbGU7XG59XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-workflow-template-step.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAMiB;AACjB,iFAAqE;AACrE,yFAA+E;AAC/E,iEAAuD;AAEvD,qCAAqC;AACrC,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;AAC7B,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CA4CnC,CAAA;AA5CY,0DAAuB;AAElC;IADC,IAAA,gCAAsB,GAAE;;mDACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;2DACZ;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;2DACZ;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;+DACZ;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDAC5B;AAQhB;IANC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,aAAa,EAAE,uBAAuB;QAC5C,QAAQ,EAAE,IAAI;KACf,CAAC;;2DACyB;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DAC5B;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;2DAC3B;AAOrB;IAJC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kDAAmB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE;QAClE,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;kDACzB,kDAAmB,oBAAnB,kDAAmB;yDAAC;AAI/B;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kCAAY,CAAC;IAC7B,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;kDACzB,kCAAY,oBAAZ,kCAAY;6DAAC;AAI5B;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,CAAC;IACrB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;kDACzB,kBAAI,oBAAJ,kBAAI;qDAAC;kCA3CD,uBAAuB;IADnC,IAAA,gBAAM,EAAC,6BAA6B,CAAC;GACzB,uBAAuB,CA4CnC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-workflow-template-step.entity.ts"],"sourcesContent":["import {\n Entity,\n PrimaryGeneratedColumn,\n Column,\n ManyToOne,\n JoinColumn,\n} from 'typeorm';\nimport { RfaWorkflowTemplate } from './rfa-workflow-template.entity';\nimport { Organization } from '../../organization/entities/organization.entity';\nimport { Role } from '../../user/entities/role.entity';\n\n// ✅ 1. สร้าง Enum เพื่อให้ Type Safe\nexport enum RfaActionType {\n REVIEW = 'REVIEW',\n APPROVE = 'APPROVE',\n ACKNOWLEDGE = 'ACKNOWLEDGE',\n}\n\n@Entity('rfa_workflow_template_steps')\nexport class RfaWorkflowTemplateStep {\n @PrimaryGeneratedColumn()\n id!: number;\n\n @Column({ name: 'template_id' })\n templateId!: number;\n\n @Column({ name: 'step_number' })\n stepNumber!: number;\n\n @Column({ name: 'organization_id' })\n organizationId!: number;\n\n @Column({ name: 'role_id', nullable: true })\n roleId?: number;\n\n @Column({\n name: 'action_type',\n type: 'enum',\n enum: RfaActionType, // ✅ 2. ใช้ Enum ตรงนี้\n nullable: true,\n })\n actionType?: RfaActionType; // ✅ 3. เปลี่ยน type จาก string เป็น Enum\n\n @Column({ name: 'duration_days', nullable: true })\n durationDays?: number;\n\n @Column({ name: 'is_optional', default: false })\n isOptional!: boolean;\n\n // Relations\n @ManyToOne(() => RfaWorkflowTemplate, (template) => template.steps, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'template_id' })\n template!: RfaWorkflowTemplate;\n\n @ManyToOne(() => Organization)\n @JoinColumn({ name: 'organization_id' })\n organization!: Organization;\n\n @ManyToOne(() => Role)\n @JoinColumn({ name: 'role_id' })\n role?: Role;\n}\n"],"version":3}
|
||||
+88
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+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}
|
||||
+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}
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
074e5ba9ce3fabac4b472060929f5b51
|
||||
"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.ContractDrawingSubcatCatMap = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const project_entity_1 = require("../../project/entities/project.entity");
|
||||
const contract_drawing_category_entity_1 = require("./contract-drawing-category.entity");
|
||||
const contract_drawing_sub_category_entity_1 = require("./contract-drawing-sub-category.entity");
|
||||
let ContractDrawingSubcatCatMap = class ContractDrawingSubcatCatMap {
|
||||
};
|
||||
exports.ContractDrawingSubcatCatMap = ContractDrawingSubcatCatMap;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], ContractDrawingSubcatCatMap.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'project_id', nullable: true }),
|
||||
__metadata("design:type", Number)
|
||||
], ContractDrawingSubcatCatMap.prototype, "projectId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'sub_cat_id', nullable: true }),
|
||||
__metadata("design:type", Number)
|
||||
], ContractDrawingSubcatCatMap.prototype, "subCategoryId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'cat_id', nullable: true }),
|
||||
__metadata("design:type", Number)
|
||||
], ContractDrawingSubcatCatMap.prototype, "categoryId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => project_entity_1.Project),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'project_id' }),
|
||||
__metadata("design:type", typeof (_a = typeof project_entity_1.Project !== "undefined" && project_entity_1.Project) === "function" ? _a : Object)
|
||||
], ContractDrawingSubcatCatMap.prototype, "project", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => contract_drawing_sub_category_entity_1.ContractDrawingSubCategory),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'sub_cat_id' }),
|
||||
__metadata("design:type", typeof (_b = typeof contract_drawing_sub_category_entity_1.ContractDrawingSubCategory !== "undefined" && contract_drawing_sub_category_entity_1.ContractDrawingSubCategory) === "function" ? _b : Object)
|
||||
], ContractDrawingSubcatCatMap.prototype, "subCategory", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.ManyToOne)(() => contract_drawing_category_entity_1.ContractDrawingCategory),
|
||||
(0, typeorm_1.JoinColumn)({ name: 'cat_id' }),
|
||||
__metadata("design:type", typeof (_c = typeof contract_drawing_category_entity_1.ContractDrawingCategory !== "undefined" && contract_drawing_category_entity_1.ContractDrawingCategory) === "function" ? _c : Object)
|
||||
], ContractDrawingSubcatCatMap.prototype, "category", void 0);
|
||||
exports.ContractDrawingSubcatCatMap = ContractDrawingSubcatCatMap = __decorate([
|
||||
(0, typeorm_1.Entity)('contract_drawing_subcat_cat_maps')
|
||||
], ContractDrawingSubcatCatMap);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZHJhd2luZ1xcZW50aXRpZXNcXGNvbnRyYWN0LWRyYXdpbmctc3ViY2F0LWNhdC1tYXAuZW50aXR5LnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FNaUI7QUFDakIsMEVBQWdFO0FBQ2hFLHlGQUE2RTtBQUM3RSxpR0FBb0Y7QUFHN0UsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBMkI7Q0F3QnZDLENBQUE7QUF4Qlksa0VBQTJCO0FBRXRDO0lBREMsSUFBQSxnQ0FBc0IsR0FBRTs7dURBQ2I7QUFHWjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOzs4REFDNUI7QUFHbkI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7a0VBQ3hCO0FBR3ZCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7OytEQUN2QjtBQUlwQjtJQUZDLElBQUEsbUJBQVMsRUFBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBTyxDQUFDO0lBQ3hCLElBQUEsb0JBQVUsRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztrREFDekIsd0JBQU8sb0JBQVAsd0JBQU87NERBQUM7QUFJbEI7SUFGQyxJQUFBLG1CQUFTLEVBQUMsR0FBRyxFQUFFLENBQUMsaUVBQTBCLENBQUM7SUFDM0MsSUFBQSxvQkFBVSxFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2tEQUNyQixpRUFBMEIsb0JBQTFCLGlFQUEwQjtnRUFBQztBQUl6QztJQUZDLElBQUEsbUJBQVMsRUFBQyxHQUFHLEVBQUUsQ0FBQywwREFBdUIsQ0FBQztJQUN4QyxJQUFBLG9CQUFVLEVBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7a0RBQ3BCLDBEQUF1QixvQkFBdkIsMERBQXVCOzZEQUFDO3NDQXZCeEIsMkJBQTJCO0lBRHZDLElBQUEsZ0JBQU0sRUFBQyxrQ0FBa0MsQ0FBQztHQUM5QiwyQkFBMkIsQ0F3QnZDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXG1vZHVsZXNcXGRyYXdpbmdcXGVudGl0aWVzXFxjb250cmFjdC1kcmF3aW5nLXN1YmNhdC1jYXQtbWFwLmVudGl0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHksXG4gIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4sXG4gIENvbHVtbixcbiAgTWFueVRvT25lLFxuICBKb2luQ29sdW1uLFxufSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuLi8uLi9wcm9qZWN0L2VudGl0aWVzL3Byb2plY3QuZW50aXR5JztcbmltcG9ydCB7IENvbnRyYWN0RHJhd2luZ0NhdGVnb3J5IH0gZnJvbSAnLi9jb250cmFjdC1kcmF3aW5nLWNhdGVnb3J5LmVudGl0eSc7XG5pbXBvcnQgeyBDb250cmFjdERyYXdpbmdTdWJDYXRlZ29yeSB9IGZyb20gJy4vY29udHJhY3QtZHJhd2luZy1zdWItY2F0ZWdvcnkuZW50aXR5JztcblxuQEVudGl0eSgnY29udHJhY3RfZHJhd2luZ19zdWJjYXRfY2F0X21hcHMnKVxuZXhwb3J0IGNsYXNzIENvbnRyYWN0RHJhd2luZ1N1YmNhdENhdE1hcCB7XG4gIEBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uKClcbiAgaWQhOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IG5hbWU6ICdwcm9qZWN0X2lkJywgbnVsbGFibGU6IHRydWUgfSlcbiAgcHJvamVjdElkPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBuYW1lOiAnc3ViX2NhdF9pZCcsIG51bGxhYmxlOiB0cnVlIH0pXG4gIHN1YkNhdGVnb3J5SWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IG5hbWU6ICdjYXRfaWQnLCBudWxsYWJsZTogdHJ1ZSB9KVxuICBjYXRlZ29yeUlkPzogbnVtYmVyO1xuXG4gIEBNYW55VG9PbmUoKCkgPT4gUHJvamVjdClcbiAgQEpvaW5Db2x1bW4oeyBuYW1lOiAncHJvamVjdF9pZCcgfSlcbiAgcHJvamVjdD86IFByb2plY3Q7XG5cbiAgQE1hbnlUb09uZSgoKSA9PiBDb250cmFjdERyYXdpbmdTdWJDYXRlZ29yeSlcbiAgQEpvaW5Db2x1bW4oeyBuYW1lOiAnc3ViX2NhdF9pZCcgfSlcbiAgc3ViQ2F0ZWdvcnk/OiBDb250cmFjdERyYXdpbmdTdWJDYXRlZ29yeTtcblxuICBATWFueVRvT25lKCgpID0+IENvbnRyYWN0RHJhd2luZ0NhdGVnb3J5KVxuICBASm9pbkNvbHVtbih7IG5hbWU6ICdjYXRfaWQnIH0pXG4gIGNhdGVnb3J5PzogQ29udHJhY3REcmF3aW5nQ2F0ZWdvcnk7XG59XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\drawing\\entities\\contract-drawing-subcat-cat-map.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAMiB;AACjB,0EAAgE;AAChE,yFAA6E;AAC7E,iGAAoF;AAG7E,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;CAwBvC,CAAA;AAxBY,kEAA2B;AAEtC;IADC,IAAA,gCAAsB,GAAE;;uDACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DAC5B;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kEACxB;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+DACvB;AAIpB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;IACxB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDACzB,wBAAO,oBAAP,wBAAO;4DAAC;AAIlB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iEAA0B,CAAC;IAC3C,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDACrB,iEAA0B,oBAA1B,iEAA0B;gEAAC;AAIzC;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,0DAAuB,CAAC;IACxC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;kDACpB,0DAAuB,oBAAvB,0DAAuB;6DAAC;sCAvBxB,2BAA2B;IADvC,IAAA,gBAAM,EAAC,kCAAkC,CAAC;GAC9B,2BAA2B,CAwBvC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\drawing\\entities\\contract-drawing-subcat-cat-map.entity.ts"],"sourcesContent":["import {\n Entity,\n PrimaryGeneratedColumn,\n Column,\n ManyToOne,\n JoinColumn,\n} from 'typeorm';\nimport { Project } from '../../project/entities/project.entity';\nimport { ContractDrawingCategory } from './contract-drawing-category.entity';\nimport { ContractDrawingSubCategory } from './contract-drawing-sub-category.entity';\n\n@Entity('contract_drawing_subcat_cat_maps')\nexport class ContractDrawingSubcatCatMap {\n @PrimaryGeneratedColumn()\n id!: number;\n\n @Column({ name: 'project_id', nullable: true })\n projectId?: number;\n\n @Column({ name: 'sub_cat_id', nullable: true })\n subCategoryId?: number;\n\n @Column({ name: 'cat_id', nullable: true })\n categoryId?: number;\n\n @ManyToOne(() => Project)\n @JoinColumn({ name: 'project_id' })\n project?: Project;\n\n @ManyToOne(() => ContractDrawingSubCategory)\n @JoinColumn({ name: 'sub_cat_id' })\n subCategory?: ContractDrawingSubCategory;\n\n @ManyToOne(() => ContractDrawingCategory)\n @JoinColumn({ name: 'cat_id' })\n category?: ContractDrawingCategory;\n}\n"],"version":3}
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
9b5fd4168cdbfbc97853f7ddca5b5c25
|
||||
"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 __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
var DocumentNumberingLockService_1;
|
||||
var _a;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.DocumentNumberingLockService = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const ioredis_1 = require("@nestjs-modules/ioredis");
|
||||
const ioredis_2 = __importDefault(require("ioredis"));
|
||||
const redlock_1 = __importDefault(require("redlock"));
|
||||
let DocumentNumberingLockService = DocumentNumberingLockService_1 = class DocumentNumberingLockService {
|
||||
constructor(redis) {
|
||||
this.redis = redis;
|
||||
this.logger = new common_1.Logger(DocumentNumberingLockService_1.name);
|
||||
this.redlock = new redlock_1.default([redis], {
|
||||
driftFactor: 0.01,
|
||||
retryCount: 5,
|
||||
retryDelay: 100,
|
||||
retryJitter: 50,
|
||||
});
|
||||
}
|
||||
async acquireLock(key) {
|
||||
const lockKey = this.buildLockKey(key);
|
||||
const ttl = 5000; // 5 seconds
|
||||
try {
|
||||
const lock = await this.redlock.acquire([lockKey], ttl);
|
||||
this.logger.debug(`Acquired lock: ${lockKey}`);
|
||||
return lock;
|
||||
}
|
||||
catch (error) {
|
||||
this.logger.error(`Failed to acquire lock: ${lockKey}`, error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
async releaseLock(lock) {
|
||||
try {
|
||||
await lock.release();
|
||||
this.logger.debug(`Released lock`);
|
||||
}
|
||||
catch (error) {
|
||||
this.logger.warn('Failed to release lock (may have expired)', error);
|
||||
}
|
||||
}
|
||||
buildLockKey(key) {
|
||||
return (`lock:docnum:${key.projectId}:${key.originatorOrgId}:` +
|
||||
`${key.recipientOrgId ?? 0}:${key.correspondenceTypeId}:` +
|
||||
`${key.subTypeId}:${key.rfaTypeId}:${key.disciplineId}:${key.resetScope}`);
|
||||
}
|
||||
};
|
||||
exports.DocumentNumberingLockService = DocumentNumberingLockService;
|
||||
exports.DocumentNumberingLockService = DocumentNumberingLockService = DocumentNumberingLockService_1 = __decorate([
|
||||
(0, common_1.Injectable)(),
|
||||
__param(0, (0, ioredis_1.InjectRedis)()),
|
||||
__metadata("design:paramtypes", [typeof (_a = typeof ioredis_2.default !== "undefined" && ioredis_2.default) === "function" ? _a : Object])
|
||||
], DocumentNumberingLockService);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZG9jdW1lbnQtbnVtYmVyaW5nXFxzZXJ2aWNlc1xcZG9jdW1lbnQtbnVtYmVyaW5nLWxvY2suc2VydmljZS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUFvRDtBQUNwRCxxREFBc0Q7QUFDdEQsc0RBQTRCO0FBQzVCLHNEQUF3QztBQWNqQyxJQUFNLDRCQUE0QixvQ0FBbEMsTUFBTSw0QkFBNEI7SUFJdkMsWUFBMkIsS0FBNkI7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBSHZDLFdBQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyw4QkFBNEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUl0RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFVBQVUsRUFBRSxDQUFDO1lBQ2IsVUFBVSxFQUFFLEdBQUc7WUFDZixXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFtQjtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLFlBQVk7UUFFOUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0QsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBVTtRQUMxQixJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDJDQUEyQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLEdBQW1CO1FBQ3RDLE9BQU8sQ0FDTCxlQUFlLEdBQUcsQ0FBQyxTQUFTLElBQUksR0FBRyxDQUFDLGVBQWUsR0FBRztZQUN0RCxHQUFHLEdBQUcsQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxvQkFBb0IsR0FBRztZQUN6RCxHQUFHLEdBQUcsQ0FBQyxTQUFTLElBQUksR0FBRyxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FDMUUsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFBO0FBM0NZLG9FQUE0Qjt1Q0FBNUIsNEJBQTRCO0lBRHhDLElBQUEsbUJBQVUsR0FBRTtJQUtFLFdBQUEsSUFBQSxxQkFBVyxHQUFFLENBQUE7eURBQXlCLGlCQUFLLG9CQUFMLGlCQUFLO0dBSjdDLDRCQUE0QixDQTJDeEMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZG9jdW1lbnQtbnVtYmVyaW5nXFxzZXJ2aWNlc1xcZG9jdW1lbnQtbnVtYmVyaW5nLWxvY2suc2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBMb2dnZXIgfSBmcm9tICdAbmVzdGpzL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RSZWRpcyB9IGZyb20gJ0BuZXN0anMtbW9kdWxlcy9pb3JlZGlzJztcbmltcG9ydCBSZWRpcyBmcm9tICdpb3JlZGlzJztcbmltcG9ydCBSZWRsb2NrLCB7IExvY2sgfSBmcm9tICdyZWRsb2NrJztcblxuaW50ZXJmYWNlIExvY2tDb3VudGVyS2V5IHtcbiAgcHJvamVjdElkOiBudW1iZXI7XG4gIG9yaWdpbmF0b3JPcmdJZDogbnVtYmVyO1xuICByZWNpcGllbnRPcmdJZDogbnVtYmVyO1xuICBjb3JyZXNwb25kZW5jZVR5cGVJZDogbnVtYmVyO1xuICBzdWJUeXBlSWQ6IG51bWJlcjtcbiAgcmZhVHlwZUlkOiBudW1iZXI7XG4gIGRpc2NpcGxpbmVJZDogbnVtYmVyO1xuICByZXNldFNjb3BlOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEb2N1bWVudE51bWJlcmluZ0xvY2tTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBuZXcgTG9nZ2VyKERvY3VtZW50TnVtYmVyaW5nTG9ja1NlcnZpY2UubmFtZSk7XG4gIHByaXZhdGUgcmVkbG9jazogUmVkbG9jaztcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0UmVkaXMoKSBwcml2YXRlIHJlYWRvbmx5IHJlZGlzOiBSZWRpcykge1xuICAgIHRoaXMucmVkbG9jayA9IG5ldyBSZWRsb2NrKFtyZWRpc10sIHtcbiAgICAgIGRyaWZ0RmFjdG9yOiAwLjAxLFxuICAgICAgcmV0cnlDb3VudDogNSxcbiAgICAgIHJldHJ5RGVsYXk6IDEwMCxcbiAgICAgIHJldHJ5Sml0dGVyOiA1MCxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGFjcXVpcmVMb2NrKGtleTogTG9ja0NvdW50ZXJLZXkpOiBQcm9taXNlPExvY2s+IHtcbiAgICBjb25zdCBsb2NrS2V5ID0gdGhpcy5idWlsZExvY2tLZXkoa2V5KTtcbiAgICBjb25zdCB0dGwgPSA1MDAwOyAvLyA1IHNlY29uZHNcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBsb2NrID0gYXdhaXQgdGhpcy5yZWRsb2NrLmFjcXVpcmUoW2xvY2tLZXldLCB0dGwpO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYEFjcXVpcmVkIGxvY2s6ICR7bG9ja0tleX1gKTtcbiAgICAgIHJldHVybiBsb2NrO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihgRmFpbGVkIHRvIGFjcXVpcmUgbG9jazogJHtsb2NrS2V5fWAsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHJlbGVhc2VMb2NrKGxvY2s6IExvY2spOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbG9jay5yZWxlYXNlKCk7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgUmVsZWFzZWQgbG9ja2ApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdGYWlsZWQgdG8gcmVsZWFzZSBsb2NrIChtYXkgaGF2ZSBleHBpcmVkKScsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTG9ja0tleShrZXk6IExvY2tDb3VudGVyS2V5KTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgYGxvY2s6ZG9jbnVtOiR7a2V5LnByb2plY3RJZH06JHtrZXkub3JpZ2luYXRvck9yZ0lkfTpgICtcbiAgICAgIGAke2tleS5yZWNpcGllbnRPcmdJZCA/PyAwfToke2tleS5jb3JyZXNwb25kZW5jZVR5cGVJZH06YCArXG4gICAgICBgJHtrZXkuc3ViVHlwZUlkfToke2tleS5yZmFUeXBlSWR9OiR7a2V5LmRpc2NpcGxpbmVJZH06JHtrZXkucmVzZXRTY29wZX1gXG4gICAgKTtcbiAgfVxufVxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\services\\document-numbering-lock.service.ts","mappings":";;;;;;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,qDAAsD;AACtD,sDAA4B;AAC5B,sDAAwC;AAcjC,IAAM,4BAA4B,oCAAlC,MAAM,4BAA4B;IAIvC,YAA2B,KAA6B;QAAZ,UAAK,GAAL,KAAK,CAAO;QAHvC,WAAM,GAAG,IAAI,eAAM,CAAC,8BAA4B,CAAC,IAAI,CAAC,CAAC;QAItE,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,CAAC,KAAK,CAAC,EAAE;YAClC,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,EAAE;SAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAmB;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,YAAY;QAE9B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAU;QAC1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,GAAmB;QACtC,OAAO,CACL,eAAe,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,eAAe,GAAG;YACtD,GAAG,GAAG,CAAC,cAAc,IAAI,CAAC,IAAI,GAAG,CAAC,oBAAoB,GAAG;YACzD,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,UAAU,EAAE,CAC1E,CAAC;IACJ,CAAC;CACF,CAAA;AA3CY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,mBAAU,GAAE;IAKE,WAAA,IAAA,qBAAW,GAAE,CAAA;yDAAyB,iBAAK,oBAAL,iBAAK;GAJ7C,4BAA4B,CA2CxC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\services\\document-numbering-lock.service.ts"],"sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { InjectRedis } from '@nestjs-modules/ioredis';\nimport Redis from 'ioredis';\nimport Redlock, { Lock } from 'redlock';\n\ninterface LockCounterKey {\n projectId: number;\n originatorOrgId: number;\n recipientOrgId: number;\n correspondenceTypeId: number;\n subTypeId: number;\n rfaTypeId: number;\n disciplineId: number;\n resetScope: string;\n}\n\n@Injectable()\nexport class DocumentNumberingLockService {\n private readonly logger = new Logger(DocumentNumberingLockService.name);\n private redlock: Redlock;\n\n constructor(@InjectRedis() private readonly redis: Redis) {\n this.redlock = new Redlock([redis], {\n driftFactor: 0.01,\n retryCount: 5,\n retryDelay: 100,\n retryJitter: 50,\n });\n }\n\n async acquireLock(key: LockCounterKey): Promise<Lock> {\n const lockKey = this.buildLockKey(key);\n const ttl = 5000; // 5 seconds\n\n try {\n const lock = await this.redlock.acquire([lockKey], ttl);\n this.logger.debug(`Acquired lock: ${lockKey}`);\n return lock;\n } catch (error) {\n this.logger.error(`Failed to acquire lock: ${lockKey}`, error);\n throw error;\n }\n }\n\n async releaseLock(lock: Lock): Promise<void> {\n try {\n await lock.release();\n this.logger.debug(`Released lock`);\n } catch (error) {\n this.logger.warn('Failed to release lock (may have expired)', error);\n }\n }\n\n private buildLockKey(key: LockCounterKey): string {\n return (\n `lock:docnum:${key.projectId}:${key.originatorOrgId}:` +\n `${key.recipientOrgId ?? 0}:${key.correspondenceTypeId}:` +\n `${key.subTypeId}:${key.rfaTypeId}:${key.disciplineId}:${key.resetScope}`\n );\n }\n}\n"],"version":3}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
76462e3f16c9fb6f334e9c92b0ede8e0
|
||||
"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.JwtAuthGuard = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const passport_1 = require("@nestjs/passport");
|
||||
let JwtAuthGuard = class JwtAuthGuard extends (0, passport_1.AuthGuard)('jwt') {
|
||||
};
|
||||
exports.JwtAuthGuard = JwtAuthGuard;
|
||||
exports.JwtAuthGuard = JwtAuthGuard = __decorate([
|
||||
(0, common_1.Injectable)()
|
||||
], JwtAuthGuard);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcY29tbW9uXFxndWFyZHNcXGp3dC1hdXRoLmd1YXJkLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDJDQUE0QztBQUM1QywrQ0FBNkM7QUFHdEMsSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBYSxTQUFRLElBQUEsb0JBQVMsRUFBQyxLQUFLLENBQUM7Q0FBRyxDQUFBO0FBQXhDLG9DQUFZO3VCQUFaLFlBQVk7SUFEeEIsSUFBQSxtQkFBVSxHQUFFO0dBQ0EsWUFBWSxDQUE0QiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxjb21tb25cXGd1YXJkc1xcand0LWF1dGguZ3VhcmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0BuZXN0anMvY29tbW9uJztcbmltcG9ydCB7IEF1dGhHdWFyZCB9IGZyb20gJ0BuZXN0anMvcGFzc3BvcnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSnd0QXV0aEd1YXJkIGV4dGVuZHMgQXV0aEd1YXJkKCdqd3QnKSB7fVxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\common\\guards\\jwt-auth.guard.ts","mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,+CAA6C;AAGtC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;CAAG,CAAA;AAAxC,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CAA4B","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\common\\guards\\jwt-auth.guard.ts"],"sourcesContent":["import { Injectable } from '@nestjs/common';\nimport { AuthGuard } from '@nestjs/passport';\n\n@Injectable()\nexport class JwtAuthGuard extends AuthGuard('jwt') {}\n"],"version":3}
|
||||
+33
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+54
@@ -0,0 +1,54 @@
|
||||
4b5cbb5bf5451f06bb72b25c9c1d277c
|
||||
"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,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcY29ycmVzcG9uZGVuY2VcXGVudGl0aWVzXFxjb3JyZXNwb25kZW5jZS1yZXZpc2lvbi1hdHRhY2htZW50LmVudGl0eS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEseUZBQXlGO0FBQ3pGLHFDQUErRTtBQUMvRSxxRkFBMEU7QUFDMUUsK0ZBQXFGO0FBRXJGOzs7Ozs7R0FNRztBQUVJLElBQU0sZ0NBQWdDLEdBQXRDLE1BQU0sZ0NBQWdDO0NBMEI1QyxDQUFBO0FBMUJZLDRFQUFnQztBQUczQztJQURDLElBQUEsdUJBQWEsRUFBQyxFQUFFLElBQUksRUFBRSw0QkFBNEIsRUFBRSxDQUFDOztrRkFDcEI7QUFJbEM7SUFEQyxJQUFBLHVCQUFhLEVBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUM7O3NFQUNuQjtBQUl0QjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7O3dFQUM1QjtBQVN6QjtJQU5DLElBQUEsbUJBQVMsRUFDUixHQUFHLEVBQUUsQ0FBQyx1REFBc0IsRUFDNUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQ3RDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUN4QjtJQUNBLElBQUEsb0JBQVUsRUFBQyxFQUFFLElBQUksRUFBRSw0QkFBNEIsRUFBRSxDQUFDO2tEQUN4Qyx1REFBc0Isb0JBQXRCLHVEQUFzQjtrRUFBQztBQUtsQztJQUZDLElBQUEsbUJBQVMsRUFBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDbEUsSUFBQSxvQkFBVSxFQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDO2tEQUN6Qiw4QkFBVSxvQkFBViw4QkFBVTtvRUFBQzsyQ0F6QmIsZ0NBQWdDO0lBRDVDLElBQUEsZ0JBQU0sRUFBQyxxQ0FBcUMsQ0FBQztHQUNqQyxnQ0FBZ0MsQ0EwQjVDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXG1vZHVsZXNcXGNvcnJlc3BvbmRlbmNlXFxlbnRpdGllc1xcY29ycmVzcG9uZGVuY2UtcmV2aXNpb24tYXR0YWNobWVudC5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRmlsZTogc3JjL21vZHVsZXMvY29ycmVzcG9uZGVuY2UvZW50aXRpZXMvY29ycmVzcG9uZGVuY2UtcmV2aXNpb24tYXR0YWNobWVudC5lbnRpdHkudHNcbmltcG9ydCB7IEVudGl0eSwgQ29sdW1uLCBNYW55VG9PbmUsIEpvaW5Db2x1bW4sIFByaW1hcnlDb2x1bW4gfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IENvcnJlc3BvbmRlbmNlUmV2aXNpb24gfSBmcm9tICcuL2NvcnJlc3BvbmRlbmNlLXJldmlzaW9uLmVudGl0eSc7XG5pbXBvcnQgeyBBdHRhY2htZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2ZpbGUtc3RvcmFnZS9lbnRpdGllcy9hdHRhY2htZW50LmVudGl0eSc7XG5cbi8qKlxuICogQ29ycmVzcG9uZGVuY2VSZXZpc2lvbkF0dGFjaG1lbnRcbiAqXG4gKiDguJXguLLguKPguLLguIfguYDguIrguLfguYjguK3guKEgY29ycmVzcG9uZGVuY2VfcmV2aXNpb25zIOC4geC4seC4miBhdHRhY2htZW50cyAoTTpOKVxuICogW0ZJWCB2MS44LjFdIEZLIOC4iuC4teC5ieC5hOC4myBjb3JyZXNwb25kZW5jZV9yZXZpc2lvbnMuaWQg4LmE4Lih4LmI4LmD4LiK4LmIIGNvcnJlc3BvbmRlbmNlcy5pZFxuICog4LmA4Lir4LiV4Li44Lic4LilOiDguYTguJ/guKXguYzguYHguJnguJrguJzguLnguIHguIHguLHguJogcmV2aXNpb24g4LmA4Lie4Li34LmI4Lit4Lij4Lit4LiH4Lij4Lix4Lia4LmE4Lif4Lil4LmM4LiX4Li14LmI4LiV4LmI4Liy4LiH4LiB4Lix4LiZ4LmD4LiZ4LmB4LiV4LmI4Lil4LiwIHJldmlzaW9uXG4gKi9cbkBFbnRpdHkoJ2NvcnJlc3BvbmRlbmNlX3JldmlzaW9uX2F0dGFjaG1lbnRzJylcbmV4cG9ydCBjbGFzcyBDb3JyZXNwb25kZW5jZVJldmlzaW9uQXR0YWNobWVudCB7XG4gIC8vIOC4hOC4teC4ouC5jOC4q+C4peC4seC4geC4guC4reC4hyByZXZpc2lvbiDguJfguLXguYjguJzguLnguIHguYTguJ/guKXguYzguJnguLXguYlcbiAgQFByaW1hcnlDb2x1bW4oeyBuYW1lOiAnY29ycmVzcG9uZGVuY2VfcmV2aXNpb25faWQnIH0pXG4gIGNvcnJlc3BvbmRlbmNlUmV2aXNpb25JZCE6IG51bWJlcjtcblxuICAvLyDguITguLXguKLguYzguKvguKXguLHguIHguILguK3guIcgYXR0YWNobWVudFxuICBAUHJpbWFyeUNvbHVtbih7IG5hbWU6ICdhdHRhY2htZW50X2lkJyB9KVxuICBhdHRhY2htZW50SWQhOiBudW1iZXI7XG5cbiAgLy8g4LmE4Lif4Lil4LmM4Lir4Lil4Lix4LiB4LiC4Lit4LiHIHJldmlzaW9uIOC4meC4teC5iSAo4LmA4LiK4LmI4LiZIFBERiDguKvguKXguLHguIEpXG4gIEBDb2x1bW4oeyBuYW1lOiAnaXNfbWFpbl9kb2N1bWVudCcsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gIGlzTWFpbkRvY3VtZW50ITogYm9vbGVhbjtcblxuICAvLyBSZWxhdGlvbjog4Lir4Lil4Liy4LiiIENvcnJlc3BvbmRlbmNlUmV2aXNpb25BdHRhY2htZW50IOKGkiDguKvguJnguLbguYjguIcgQ29ycmVzcG9uZGVuY2VSZXZpc2lvblxuICBATWFueVRvT25lKFxuICAgICgpID0+IENvcnJlc3BvbmRlbmNlUmV2aXNpb24sXG4gICAgKHJldmlzaW9uKSA9PiByZXZpc2lvbi5hdHRhY2htZW50TGlua3MsXG4gICAgeyBvbkRlbGV0ZTogJ0NBU0NBREUnIH1cbiAgKVxuICBASm9pbkNvbHVtbih7IG5hbWU6ICdjb3JyZXNwb25kZW5jZV9yZXZpc2lvbl9pZCcgfSlcbiAgcmV2aXNpb24/OiBDb3JyZXNwb25kZW5jZVJldmlzaW9uO1xuXG4gIC8vIFJlbGF0aW9uOiDguKvguKXguLLguKIgQ29ycmVzcG9uZGVuY2VSZXZpc2lvbkF0dGFjaG1lbnQg4oaSIOC4q+C4meC4tuC5iOC4hyBBdHRhY2htZW50XG4gIEBNYW55VG9PbmUoKCkgPT4gQXR0YWNobWVudCwgeyBvbkRlbGV0ZTogJ0NBU0NBREUnLCBlYWdlcjogZmFsc2UgfSlcbiAgQEpvaW5Db2x1bW4oeyBuYW1lOiAnYXR0YWNobWVudF9pZCcgfSlcbiAgYXR0YWNobWVudD86IEF0dGFjaG1lbnQ7XG59XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\entities\\correspondence-revision-attachment.entity.ts","mappings":";;;;;;;;;;;;;AAAA,yFAAyF;AACzF,qCAA+E;AAC/E,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 { Entity, Column, ManyToOne, JoinColumn, PrimaryColumn } 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}
|
||||
+137
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+22
@@ -0,0 +1,22 @@
|
||||
24b511d71d21304c1d719b743bba89fe
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.CounterKeyDto = void 0;
|
||||
exports.buildCounterKey = buildCounterKey;
|
||||
class CounterKeyDto {
|
||||
}
|
||||
exports.CounterKeyDto = CounterKeyDto;
|
||||
function buildCounterKey(context) {
|
||||
const currentYear = context.year || new Date().getFullYear();
|
||||
return {
|
||||
projectId: context.projectId,
|
||||
originatorOrganizationId: context.originatorOrgId,
|
||||
recipientOrganizationId: context.recipientOrgId || 0,
|
||||
correspondenceTypeId: context.correspondenceTypeId,
|
||||
subTypeId: context.subTypeId || 0,
|
||||
rfaTypeId: context.rfaTypeId || 0,
|
||||
disciplineId: context.disciplineId || 0,
|
||||
resetScope: context.isRFA ? 'NONE' : `YEAR_${currentYear + 543}`, // Buddhist year
|
||||
};
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZG9jdW1lbnQtbnVtYmVyaW5nXFxkdG9cXGNvdW50ZXIta2V5LmR0by50cyIsIm1hcHBpbmdzIjoiOzs7QUFXQSwwQ0F1QkM7QUFsQ0QsTUFBYSxhQUFhO0NBU3pCO0FBVEQsc0NBU0M7QUFFRCxTQUFnQixlQUFlLENBQUMsT0FVL0I7SUFDQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFN0QsT0FBTztRQUNMLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztRQUM1Qix3QkFBd0IsRUFBRSxPQUFPLENBQUMsZUFBZTtRQUNqRCx1QkFBdUIsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLENBQUM7UUFDcEQsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLG9CQUFvQjtRQUNsRCxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDO1FBQ2pDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUM7UUFDakMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLElBQUksQ0FBQztRQUN2QyxVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLFdBQVcsR0FBRyxHQUFHLEVBQUUsRUFBRSxnQkFBZ0I7S0FDbkYsQ0FBQztBQUNKLENBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZG9jdW1lbnQtbnVtYmVyaW5nXFxkdG9cXGNvdW50ZXIta2V5LmR0by50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQ291bnRlcktleUR0byB7XG4gIHByb2plY3RJZCE6IG51bWJlcjtcbiAgb3JpZ2luYXRvck9yZ2FuaXphdGlvbklkITogbnVtYmVyO1xuICByZWNpcGllbnRPcmdhbml6YXRpb25JZCE6IG51bWJlcjtcbiAgY29ycmVzcG9uZGVuY2VUeXBlSWQhOiBudW1iZXI7XG4gIHN1YlR5cGVJZCE6IG51bWJlcjtcbiAgcmZhVHlwZUlkITogbnVtYmVyO1xuICBkaXNjaXBsaW5lSWQhOiBudW1iZXI7XG4gIHJlc2V0U2NvcGUhOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZENvdW50ZXJLZXkoY29udGV4dDoge1xuICBwcm9qZWN0SWQ6IG51bWJlcjtcbiAgb3JpZ2luYXRvck9yZ0lkOiBudW1iZXI7XG4gIHJlY2lwaWVudE9yZ0lkPzogbnVtYmVyO1xuICBjb3JyZXNwb25kZW5jZVR5cGVJZDogbnVtYmVyO1xuICBzdWJUeXBlSWQ/OiBudW1iZXI7XG4gIHJmYVR5cGVJZD86IG51bWJlcjtcbiAgZGlzY2lwbGluZUlkPzogbnVtYmVyO1xuICB5ZWFyPzogbnVtYmVyO1xuICBpc1JGQT86IGJvb2xlYW47XG59KTogQ291bnRlcktleUR0byB7XG4gIGNvbnN0IGN1cnJlbnRZZWFyID0gY29udGV4dC55ZWFyIHx8IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcblxuICByZXR1cm4ge1xuICAgIHByb2plY3RJZDogY29udGV4dC5wcm9qZWN0SWQsXG4gICAgb3JpZ2luYXRvck9yZ2FuaXphdGlvbklkOiBjb250ZXh0Lm9yaWdpbmF0b3JPcmdJZCxcbiAgICByZWNpcGllbnRPcmdhbml6YXRpb25JZDogY29udGV4dC5yZWNpcGllbnRPcmdJZCB8fCAwLFxuICAgIGNvcnJlc3BvbmRlbmNlVHlwZUlkOiBjb250ZXh0LmNvcnJlc3BvbmRlbmNlVHlwZUlkLFxuICAgIHN1YlR5cGVJZDogY29udGV4dC5zdWJUeXBlSWQgfHwgMCxcbiAgICByZmFUeXBlSWQ6IGNvbnRleHQucmZhVHlwZUlkIHx8IDAsXG4gICAgZGlzY2lwbGluZUlkOiBjb250ZXh0LmRpc2NpcGxpbmVJZCB8fCAwLFxuICAgIHJlc2V0U2NvcGU6IGNvbnRleHQuaXNSRkEgPyAnTk9ORScgOiBgWUVBUl8ke2N1cnJlbnRZZWFyICsgNTQzfWAsIC8vIEJ1ZGRoaXN0IHllYXJcbiAgfTtcbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\dto\\counter-key.dto.ts","mappings":";;;AAWA,0CAuBC;AAlCD,MAAa,aAAa;CASzB;AATD,sCASC;AAED,SAAgB,eAAe,CAAC,OAU/B;IACC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE7D,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,wBAAwB,EAAE,OAAO,CAAC,eAAe;QACjD,uBAAuB,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC;QACpD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC;QACjC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC;QACjC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC;QACvC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,WAAW,GAAG,GAAG,EAAE,EAAE,gBAAgB;KACnF,CAAC;AACJ,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\dto\\counter-key.dto.ts"],"sourcesContent":["export class CounterKeyDto {\n projectId!: number;\n originatorOrganizationId!: number;\n recipientOrganizationId!: number;\n correspondenceTypeId!: number;\n subTypeId!: number;\n rfaTypeId!: number;\n disciplineId!: number;\n resetScope!: string;\n}\n\nexport function buildCounterKey(context: {\n projectId: number;\n originatorOrgId: number;\n recipientOrgId?: number;\n correspondenceTypeId: number;\n subTypeId?: number;\n rfaTypeId?: number;\n disciplineId?: number;\n year?: number;\n isRFA?: boolean;\n}): CounterKeyDto {\n const currentYear = context.year || new Date().getFullYear();\n\n return {\n projectId: context.projectId,\n originatorOrganizationId: context.originatorOrgId,\n recipientOrganizationId: context.recipientOrgId || 0,\n correspondenceTypeId: context.correspondenceTypeId,\n subTypeId: context.subTypeId || 0,\n rfaTypeId: context.rfaTypeId || 0,\n disciplineId: context.disciplineId || 0,\n resetScope: context.isRFA ? 'NONE' : `YEAR_${currentYear + 543}`, // Buddhist year\n };\n}\n"],"version":3}
|
||||
+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}
|
||||
+172
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+10
@@ -0,0 +1,10 @@
|
||||
d099cb5a737674d57be07d3581495e9a
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.UpdateJsonSchemaDto = void 0;
|
||||
const swagger_1 = require("@nestjs/swagger");
|
||||
const create_json_schema_dto_1 = require("./create-json-schema.dto");
|
||||
class UpdateJsonSchemaDto extends (0, swagger_1.PartialType)(create_json_schema_dto_1.CreateJsonSchemaDto) {
|
||||
}
|
||||
exports.UpdateJsonSchemaDto = UpdateJsonSchemaDto;
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcanNvbi1zY2hlbWFcXGR0b1xcdXBkYXRlLWpzb24tc2NoZW1hLmR0by50cyIsIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBOEM7QUFDOUMscUVBQStEO0FBRS9ELE1BQWEsbUJBQW9CLFNBQVEsSUFBQSxxQkFBVyxFQUFDLDRDQUFtQixDQUFDO0NBQUc7QUFBNUUsa0RBQTRFIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxiYWNrZW5kXFxzcmNcXG1vZHVsZXNcXGpzb24tc2NoZW1hXFxkdG9cXHVwZGF0ZS1qc29uLXNjaGVtYS5kdG8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFydGlhbFR5cGUgfSBmcm9tICdAbmVzdGpzL3N3YWdnZXInO1xuaW1wb3J0IHsgQ3JlYXRlSnNvblNjaGVtYUR0byB9IGZyb20gJy4vY3JlYXRlLWpzb24tc2NoZW1hLmR0byc7XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVKc29uU2NoZW1hRHRvIGV4dGVuZHMgUGFydGlhbFR5cGUoQ3JlYXRlSnNvblNjaGVtYUR0bykge31cbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\json-schema\\dto\\update-json-schema.dto.ts","mappings":";;;AAAA,6CAA8C;AAC9C,qEAA+D;AAE/D,MAAa,mBAAoB,SAAQ,IAAA,qBAAW,EAAC,4CAAmB,CAAC;CAAG;AAA5E,kDAA4E","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\json-schema\\dto\\update-json-schema.dto.ts"],"sourcesContent":["import { PartialType } from '@nestjs/swagger';\nimport { CreateJsonSchemaDto } from './create-json-schema.dto';\n\nexport class UpdateJsonSchemaDto extends PartialType(CreateJsonSchemaDto) {}\n"],"version":3}
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
54b3d231c625a5d63d6782fc95c10ab9
|
||||
"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.ContractDrawingVolume = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const project_entity_1 = require("../../project/entities/project.entity");
|
||||
let ContractDrawingVolume = class ContractDrawingVolume {
|
||||
};
|
||||
exports.ContractDrawingVolume = ContractDrawingVolume;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], ContractDrawingVolume.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'project_id' }),
|
||||
__metadata("design:type", Number)
|
||||
], ContractDrawingVolume.prototype, "projectId", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'volume_code', length: 50 }),
|
||||
__metadata("design:type", String)
|
||||
], ContractDrawingVolume.prototype, "volumeCode", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'volume_name', length: 255 }),
|
||||
__metadata("design:type", String)
|
||||
], ContractDrawingVolume.prototype, "volumeName", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], ContractDrawingVolume.prototype, "description", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({ name: 'sort_order', default: 0 }),
|
||||
__metadata("design:type", Number)
|
||||
], ContractDrawingVolume.prototype, "sortOrder", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
|
||||
__metadata("design:type", typeof (_a = typeof Date !== "undefined" && Date) === "function" ? _a : Object)
|
||||
], ContractDrawingVolume.prototype, "createdAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
|
||||
__metadata("design:type", typeof (_b = typeof Date !== "undefined" && Date) === "function" ? _b : Object)
|
||||
], ContractDrawingVolume.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)
|
||||
], ContractDrawingVolume.prototype, "project", void 0);
|
||||
exports.ContractDrawingVolume = ContractDrawingVolume = __decorate([
|
||||
(0, typeorm_1.Entity)('contract_drawing_volumes')
|
||||
], ContractDrawingVolume);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZHJhd2luZ1xcZW50aXRpZXNcXGNvbnRyYWN0LWRyYXdpbmctdm9sdW1lLmVudGl0eS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEscUNBUWlCO0FBQ2pCLDBFQUFnRTtBQUd6RCxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtDQTRCakMsQ0FBQTtBQTVCWSxzREFBcUI7QUFFaEM7SUFEQyxJQUFBLGdDQUFzQixHQUFFOztpREFDYjtBQUdaO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDOzt3REFDWjtBQUduQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDOzt5REFDeEI7QUFHcEI7SUFEQyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQzs7eURBQ3pCO0FBR3BCO0lBREMsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7OzBEQUNwQjtBQUdyQjtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDOzt3REFDeEI7QUFHbkI7SUFEQyxJQUFBLDBCQUFnQixFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2tEQUM3QixJQUFJLG9CQUFKLElBQUk7d0RBQUM7QUFHakI7SUFEQyxJQUFBLDBCQUFnQixFQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2tEQUM3QixJQUFJLG9CQUFKLElBQUk7d0RBQUM7QUFJakI7SUFGQyxJQUFBLG1CQUFTLEVBQUMsR0FBRyxFQUFFLENBQUMsd0JBQU8sQ0FBQztJQUN4QixJQUFBLG9CQUFVLEVBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7a0RBQ3pCLHdCQUFPLG9CQUFQLHdCQUFPO3NEQUFDO2dDQTNCUCxxQkFBcUI7SUFEakMsSUFBQSxnQkFBTSxFQUFDLDBCQUEwQixDQUFDO0dBQ3RCLHFCQUFxQixDQTRCakMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcZHJhd2luZ1xcZW50aXRpZXNcXGNvbnRyYWN0LWRyYXdpbmctdm9sdW1lLmVudGl0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHksXG4gIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4sXG4gIENvbHVtbixcbiAgQ3JlYXRlRGF0ZUNvbHVtbixcbiAgVXBkYXRlRGF0ZUNvbHVtbixcbiAgTWFueVRvT25lLFxuICBKb2luQ29sdW1uLFxufSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuLi8uLi9wcm9qZWN0L2VudGl0aWVzL3Byb2plY3QuZW50aXR5JztcblxuQEVudGl0eSgnY29udHJhY3RfZHJhd2luZ192b2x1bWVzJylcbmV4cG9ydCBjbGFzcyBDb250cmFjdERyYXdpbmdWb2x1bWUge1xuICBAUHJpbWFyeUdlbmVyYXRlZENvbHVtbigpXG4gIGlkITogbnVtYmVyOyAvLyDguYDguJXguLTguKEgIVxuXG4gIEBDb2x1bW4oeyBuYW1lOiAncHJvamVjdF9pZCcgfSlcbiAgcHJvamVjdElkITogbnVtYmVyOyAvLyDguYDguJXguLTguKEgIVxuXG4gIEBDb2x1bW4oeyBuYW1lOiAndm9sdW1lX2NvZGUnLCBsZW5ndGg6IDUwIH0pXG4gIHZvbHVtZUNvZGUhOiBzdHJpbmc7IC8vIOC5gOC4leC4tOC4oSAhXG5cbiAgQENvbHVtbih7IG5hbWU6ICd2b2x1bWVfbmFtZScsIGxlbmd0aDogMjU1IH0pXG4gIHZvbHVtZU5hbWUhOiBzdHJpbmc7IC8vIOC5gOC4leC4tOC4oSAhXG5cbiAgQENvbHVtbih7IHR5cGU6ICd0ZXh0JywgbnVsbGFibGU6IHRydWUgfSlcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7IC8vIE51bGxhYmxlIOC5g+C4iuC5iSA/XG5cbiAgQENvbHVtbih7IG5hbWU6ICdzb3J0X29yZGVyJywgZGVmYXVsdDogMCB9KVxuICBzb3J0T3JkZXIhOiBudW1iZXI7IC8vIOC5gOC4leC4tOC4oSAhXG5cbiAgQENyZWF0ZURhdGVDb2x1bW4oeyBuYW1lOiAnY3JlYXRlZF9hdCcgfSlcbiAgY3JlYXRlZEF0ITogRGF0ZTsgLy8g4LmA4LiV4Li04LihICFcblxuICBAVXBkYXRlRGF0ZUNvbHVtbih7IG5hbWU6ICd1cGRhdGVkX2F0JyB9KVxuICB1cGRhdGVkQXQhOiBEYXRlOyAvLyDguYDguJXguLTguKEgIVxuXG4gIEBNYW55VG9PbmUoKCkgPT4gUHJvamVjdClcbiAgQEpvaW5Db2x1bW4oeyBuYW1lOiAncHJvamVjdF9pZCcgfSlcbiAgcHJvamVjdCE6IFByb2plY3Q7IC8vIOC5gOC4leC4tOC4oSAhICjguJXguLHguKfguJfguLXguYggRXJyb3IpXG59XG4iXSwidmVyc2lvbiI6M30=
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\drawing\\entities\\contract-drawing-volume.entity.ts","mappings":";;;;;;;;;;;;;AAAA,qCAQiB;AACjB,0EAAgE;AAGzD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CA4BjC,CAAA;AA5BY,sDAAqB;AAEhC;IADC,IAAA,gCAAsB,GAAE;;iDACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;wDACZ;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;yDACxB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;yDACzB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DACpB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;wDACxB;AAGnB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;wDAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;wDAAC;AAIjB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;IACxB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDACzB,wBAAO,oBAAP,wBAAO;sDAAC;gCA3BP,qBAAqB;IADjC,IAAA,gBAAM,EAAC,0BAA0B,CAAC;GACtB,qBAAqB,CA4BjC","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\drawing\\entities\\contract-drawing-volume.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_volumes')\nexport class ContractDrawingVolume {\n @PrimaryGeneratedColumn()\n id!: number; // เติม !\n\n @Column({ name: 'project_id' })\n projectId!: number; // เติม !\n\n @Column({ name: 'volume_code', length: 50 })\n volumeCode!: string; // เติม !\n\n @Column({ name: 'volume_name', length: 255 })\n volumeName!: 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; // เติม ! (ตัวที่ Error)\n}\n"],"version":3}
|
||||
+111
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+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}
|
||||
+201
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+319
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 @@
|
||||
3bd675d66c9db29f86a7660a0ecc0925
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.URL = exports.DNS = void 0;
|
||||
const md5_js_1 = require("./md5.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 v3(value, namespace, buf, offset) {
|
||||
return (0, v35_js_1.default)(0x30, md5_js_1.default, value, namespace, buf, offset);
|
||||
}
|
||||
v3.DNS = v35_js_1.DNS;
|
||||
v3.URL = v35_js_1.URL;
|
||||
exports.default = v3;
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXG5vZGVfbW9kdWxlc1xcLnBucG1cXHV1aWRAMTEuMS4wXFxub2RlX21vZHVsZXNcXHV1aWRcXGRpc3RcXGNqc1xcdjMuanMiLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBQ2IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDOUQsT0FBTyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQ25DLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNyQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDckMsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ25DLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLGNBQWMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN2RyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxjQUFjLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkcsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTTtJQUNyQyxPQUFPLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN4RixDQUFDO0FBQ0QsRUFBRSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO0FBQ3RCLEVBQUUsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztBQUN0QixPQUFPLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcbm9kZV9tb2R1bGVzXFwucG5wbVxcdXVpZEAxMS4xLjBcXG5vZGVfbW9kdWxlc1xcdXVpZFxcZGlzdFxcY2pzXFx2My5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuVVJMID0gZXhwb3J0cy5ETlMgPSB2b2lkIDA7XG5jb25zdCBtZDVfanNfMSA9IHJlcXVpcmUoXCIuL21kNS5qc1wiKTtcbmNvbnN0IHYzNV9qc18xID0gcmVxdWlyZShcIi4vdjM1LmpzXCIpO1xudmFyIHYzNV9qc18yID0gcmVxdWlyZShcIi4vdjM1LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRE5TXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB2MzVfanNfMi5ETlM7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJVUkxcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHYzNV9qc18yLlVSTDsgfSB9KTtcbmZ1bmN0aW9uIHYzKHZhbHVlLCBuYW1lc3BhY2UsIGJ1Ziwgb2Zmc2V0KSB7XG4gICAgcmV0dXJuICgwLCB2MzVfanNfMS5kZWZhdWx0KSgweDMwLCBtZDVfanNfMS5kZWZhdWx0LCB2YWx1ZSwgbmFtZXNwYWNlLCBidWYsIG9mZnNldCk7XG59XG52My5ETlMgPSB2MzVfanNfMS5ETlM7XG52My5VUkwgPSB2MzVfanNfMS5VUkw7XG5leHBvcnRzLmRlZmF1bHQgPSB2MztcbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\v3.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,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACrC,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,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AACxF,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\\v3.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URL = exports.DNS = void 0;\nconst md5_js_1 = require(\"./md5.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 v3(value, namespace, buf, offset) {\n return (0, v35_js_1.default)(0x30, md5_js_1.default, value, namespace, buf, offset);\n}\nv3.DNS = v35_js_1.DNS;\nv3.URL = v35_js_1.URL;\nexports.default = v3;\n"],"version":3}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
c32f9030fe21a500c9139d8bd66a7907
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const crypto_1 = require("crypto");
|
||||
function md5(bytes) {
|
||||
if (Array.isArray(bytes)) {
|
||||
bytes = Buffer.from(bytes);
|
||||
}
|
||||
else if (typeof bytes === 'string') {
|
||||
bytes = Buffer.from(bytes, 'utf8');
|
||||
}
|
||||
return (0, crypto_1.createHash)('md5').update(bytes).digest();
|
||||
}
|
||||
exports.default = md5;
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXG5vZGVfbW9kdWxlc1xcLnBucG1cXHV1aWRAMTEuMS4wXFxub2RlX21vZHVsZXNcXHV1aWRcXGRpc3RcXGNqc1xcbWQ1LmpzIiwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQztBQUNiLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzlELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNuQyxTQUFTLEdBQUcsQ0FBQyxLQUFLO0lBQ2QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztTQUNJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDakMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDbEUsQ0FBQztBQUNELE9BQU8sQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIkQ6XFxuYXAtZG1zLmxjYnAzXFxub2RlX21vZHVsZXNcXC5wbnBtXFx1dWlkQDExLjEuMFxcbm9kZV9tb2R1bGVzXFx1dWlkXFxkaXN0XFxjanNcXG1kNS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmNvbnN0IGNyeXB0b18xID0gcmVxdWlyZShcImNyeXB0b1wiKTtcbmZ1bmN0aW9uIG1kNShieXRlcykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGJ5dGVzKSkge1xuICAgICAgICBieXRlcyA9IEJ1ZmZlci5mcm9tKGJ5dGVzKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZW9mIGJ5dGVzID09PSAnc3RyaW5nJykge1xuICAgICAgICBieXRlcyA9IEJ1ZmZlci5mcm9tKGJ5dGVzLCAndXRmOCcpO1xuICAgIH1cbiAgICByZXR1cm4gKDAsIGNyeXB0b18xLmNyZWF0ZUhhc2gpKCdtZDUnKS51cGRhdGUoYnl0ZXMpLmRpZ2VzdCgpO1xufVxuZXhwb3J0cy5kZWZhdWx0ID0gbWQ1O1xuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\md5.js","mappings":"AAAA,YAAY,CAAC;AACb,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnC,SAAS,GAAG,CAAC,KAAK;IACd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;SACI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;AAClE,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\md5.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst crypto_1 = require(\"crypto\");\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n }\n else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n return (0, crypto_1.createHash)('md5').update(bytes).digest();\n}\nexports.default = md5;\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
+152
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+99
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-workflow.entity.ts","mappings":";;;;;;;;;;;;;AAAA,wDAAwD;AACxD,qCAQiB;AACjB,yFAA+E;AAC/E,iEAAuD;AACvD,+DAAoD;AACpD,2FAAoE,CAAC,gBAAgB;AAG9E,IAAM,WAAW,GAAjB,MAAM,WAAW;CA0DvB,CAAA;AA1DY,kCAAW;AAEtB;IADC,IAAA,gCAAsB,GAAE;;uCACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;kDACb;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;+CACZ;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;mDACZ;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAC5B;AAQpB;IANC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iDAAa,EAAE,oBAAoB;QACzC,QAAQ,EAAE,IAAI;KACf,CAAC;kDACW,iDAAa,oBAAb,iDAAa;+CAAC;AAO3B;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC;QACzD,QAAQ,EAAE,IAAI;KACf,CAAC;;2CACc;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACvB;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACrD,IAAI,oBAAJ,IAAI;gDAAC;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDAC1B,MAAM,oBAAN,MAAM;iDAAkB;AAGvC;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;8CAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;kDAC7B,IAAI,oBAAJ,IAAI;8CAAC;AAKjB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iCAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC7E,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;kDAC1B,iCAAW,oBAAX,iCAAW;gDAAC;AAI1B;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kCAAY,CAAC;IAC7B,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;kDACzB,kCAAY,oBAAZ,kCAAY;iDAAC;AAI5B;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,CAAC;IACrB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;kDACzB,kBAAI,oBAAJ,kBAAI;6CAAC;sBAzDL,WAAW;IADvB,IAAA,gBAAM,EAAC,eAAe,CAAC;GACX,WAAW,CA0DvB","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\rfa\\entities\\rfa-workflow.entity.ts"],"sourcesContent":["// File: src/modules/rfa/entities/rfa-workflow.entity.ts\nimport {\n Column,\n CreateDateColumn,\n Entity,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport { Organization } from '../../organization/entities/organization.entity';\nimport { User } from '../../user/entities/user.entity';\nimport { RfaRevision } from './rfa-revision.entity';\nimport { RfaActionType } from './rfa-workflow-template-step.entity'; // ✅ Import Enum\n\n@Entity('rfa_workflows')\nexport class RfaWorkflow {\n @PrimaryGeneratedColumn()\n id!: number;\n\n @Column({ name: 'rfa_revision_id' })\n rfaRevisionId!: number;\n\n @Column({ name: 'step_number' })\n stepNumber!: number;\n\n @Column({ name: 'organization_id' })\n organizationId!: number;\n\n @Column({ name: 'assigned_to', nullable: true })\n assignedTo?: number;\n\n @Column({\n name: 'action_type',\n type: 'enum',\n enum: RfaActionType, // ✅ Use Shared Enum\n nullable: true,\n })\n actionType?: RfaActionType;\n\n @Column({\n type: 'enum',\n enum: ['PENDING', 'IN_PROGRESS', 'COMPLETED', 'REJECTED'],\n nullable: true,\n })\n status?: string;\n\n @Column({ type: 'text', nullable: true })\n comments?: string;\n\n @Column({ name: 'completed_at', type: 'datetime', nullable: true })\n completedAt?: Date;\n\n @Column({ type: 'json', nullable: true })\n stateContext?: Record<string, unknown>;\n\n @CreateDateColumn({ name: 'created_at' })\n createdAt!: Date;\n\n @UpdateDateColumn({ name: 'updated_at' })\n updatedAt!: Date;\n\n // Relations\n @ManyToOne(() => RfaRevision, (rev) => rev.workflows, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'rfa_revision_id' })\n rfaRevision!: RfaRevision;\n\n @ManyToOne(() => Organization)\n @JoinColumn({ name: 'organization_id' })\n organization!: Organization;\n\n @ManyToOne(() => User)\n @JoinColumn({ name: 'assigned_to' })\n assignee?: User;\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}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
9d5c5bc352a8575d29bebd327603ef17
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const crypto_1 = require("crypto");
|
||||
exports.default = { randomUUID: crypto_1.randomUUID };
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXG5vZGVfbW9kdWxlc1xcLnBucG1cXHV1aWRAMTEuMS4wXFxub2RlX21vZHVsZXNcXHV1aWRcXGRpc3RcXGNqc1xcbmF0aXZlLmpzIiwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQztBQUNiLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzlELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNuQyxPQUFPLENBQUMsT0FBTyxHQUFHLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcbm9kZV9tb2R1bGVzXFwucG5wbVxcdXVpZEAxMS4xLjBcXG5vZGVfbW9kdWxlc1xcdXVpZFxcZGlzdFxcY2pzXFxuYXRpdmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5jb25zdCBjcnlwdG9fMSA9IHJlcXVpcmUoXCJjcnlwdG9cIik7XG5leHBvcnRzLmRlZmF1bHQgPSB7IHJhbmRvbVVVSUQ6IGNyeXB0b18xLnJhbmRvbVVVSUQgfTtcbiJdLCJ2ZXJzaW9uIjozfQ==
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\native.js","mappings":"AAAA,YAAY,CAAC;AACb,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnC,OAAO,CAAC,OAAO,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC","names":[],"sources":["D:\\nap-dms.lcbp3\\node_modules\\.pnpm\\uuid@11.1.0\\node_modules\\uuid\\dist\\cjs\\native.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst crypto_1 = require(\"crypto\");\nexports.default = { randomUUID: crypto_1.randomUUID };\n"],"version":3}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
95691959b999bf3e510fb4b6ef1c7c34
|
||||
"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.OrganizationRole = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
const base_entity_1 = require("../../../common/entities/base.entity");
|
||||
/**
|
||||
* OrganizationRole Entity
|
||||
* Represents the role/type of an organization in the system
|
||||
* (OWNER, DESIGNER, CONSULTANT, CONTRACTOR, THIRD_PARTY)
|
||||
*
|
||||
* Schema reference: organization_roles table (lines 205-211 in schema SQL)
|
||||
*/
|
||||
let OrganizationRole = class OrganizationRole extends base_entity_1.BaseEntity {
|
||||
};
|
||||
exports.OrganizationRole = OrganizationRole;
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], OrganizationRole.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)({
|
||||
name: 'role_name',
|
||||
length: 20,
|
||||
unique: true,
|
||||
comment: 'Role name (OWNER, DESIGNER, CONSULTANT, CONTRACTOR, THIRD_PARTY)',
|
||||
}),
|
||||
__metadata("design:type", String)
|
||||
], OrganizationRole.prototype, "roleName", void 0);
|
||||
exports.OrganizationRole = OrganizationRole = __decorate([
|
||||
(0, typeorm_1.Entity)('organization_roles')
|
||||
], OrganizationRole);
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiRDpcXG5hcC1kbXMubGNicDNcXGJhY2tlbmRcXHNyY1xcbW9kdWxlc1xcb3JnYW5pemF0aW9uXFxlbnRpdGllc1xcb3JnYW5pemF0aW9uLXJvbGUuZW50aXR5LnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHFDQUFpRTtBQUNqRSxzRUFBa0U7QUFFbEU7Ozs7OztHQU1HO0FBRUksSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBaUIsU0FBUSx3QkFBVTtDQVcvQyxDQUFBO0FBWFksNENBQWdCO0FBRTNCO0lBREMsSUFBQSxnQ0FBc0IsR0FBRTs7NENBQ2I7QUFRWjtJQU5DLElBQUEsZ0JBQU0sRUFBQztRQUNOLElBQUksRUFBRSxXQUFXO1FBQ2pCLE1BQU0sRUFBRSxFQUFFO1FBQ1YsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsa0VBQWtFO0tBQzVFLENBQUM7O2tEQUNnQjsyQkFWUCxnQkFBZ0I7SUFENUIsSUFBQSxnQkFBTSxFQUFDLG9CQUFvQixDQUFDO0dBQ2hCLGdCQUFnQixDQVc1QiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJEOlxcbmFwLWRtcy5sY2JwM1xcYmFja2VuZFxcc3JjXFxtb2R1bGVzXFxvcmdhbml6YXRpb25cXGVudGl0aWVzXFxvcmdhbml6YXRpb24tcm9sZS5lbnRpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5LCBDb2x1bW4sIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4gfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IEJhc2VFbnRpdHkgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW50aXRpZXMvYmFzZS5lbnRpdHknO1xuXG4vKipcbiAqIE9yZ2FuaXphdGlvblJvbGUgRW50aXR5XG4gKiBSZXByZXNlbnRzIHRoZSByb2xlL3R5cGUgb2YgYW4gb3JnYW5pemF0aW9uIGluIHRoZSBzeXN0ZW1cbiAqIChPV05FUiwgREVTSUdORVIsIENPTlNVTFRBTlQsIENPTlRSQUNUT1IsIFRISVJEX1BBUlRZKVxuICpcbiAqIFNjaGVtYSByZWZlcmVuY2U6IG9yZ2FuaXphdGlvbl9yb2xlcyB0YWJsZSAobGluZXMgMjA1LTIxMSBpbiBzY2hlbWEgU1FMKVxuICovXG5ARW50aXR5KCdvcmdhbml6YXRpb25fcm9sZXMnKVxuZXhwb3J0IGNsYXNzIE9yZ2FuaXphdGlvblJvbGUgZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgQFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4oKVxuICBpZCE6IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICBuYW1lOiAncm9sZV9uYW1lJyxcbiAgICBsZW5ndGg6IDIwLFxuICAgIHVuaXF1ZTogdHJ1ZSxcbiAgICBjb21tZW50OiAnUm9sZSBuYW1lIChPV05FUiwgREVTSUdORVIsIENPTlNVTFRBTlQsIENPTlRSQUNUT1IsIFRISVJEX1BBUlRZKScsXG4gIH0pXG4gIHJvbGVOYW1lITogc3RyaW5nO1xufVxuIl0sInZlcnNpb24iOjN9
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"file":"D:\\nap-dms.lcbp3\\backend\\src\\modules\\organization\\entities\\organization-role.entity.ts","mappings":";;;;;;;;;;;;AAAA,qCAAiE;AACjE,sEAAkE;AAElE;;;;;;GAMG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,wBAAU;CAW/C,CAAA;AAXY,4CAAgB;AAE3B;IADC,IAAA,gCAAsB,GAAE;;4CACb;AAQZ;IANC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,kEAAkE;KAC5E,CAAC;;kDACgB;2BAVP,gBAAgB;IAD5B,IAAA,gBAAM,EAAC,oBAAoB,CAAC;GAChB,gBAAgB,CAW5B","names":[],"sources":["D:\\nap-dms.lcbp3\\backend\\src\\modules\\organization\\entities\\organization-role.entity.ts"],"sourcesContent":["import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';\nimport { BaseEntity } from '../../../common/entities/base.entity';\n\n/**\n * OrganizationRole Entity\n * Represents the role/type of an organization in the system\n * (OWNER, DESIGNER, CONSULTANT, CONTRACTOR, THIRD_PARTY)\n *\n * Schema reference: organization_roles table (lines 205-211 in schema SQL)\n */\n@Entity('organization_roles')\nexport class OrganizationRole extends BaseEntity {\n @PrimaryGeneratedColumn()\n id!: number;\n\n @Column({\n name: 'role_name',\n length: 20,\n unique: true,\n comment: 'Role name (OWNER, DESIGNER, CONSULTANT, CONTRACTOR, THIRD_PARTY)',\n })\n roleName!: string;\n}\n"],"version":3}
|
||||
+180
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+345
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+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
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user