@fdm-monster/server 2.0.1 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.template +2 -1
- package/.yarn/install-state.gz +0 -0
- package/README.md +30 -13
- package/RELEASE_NOTES.MD +39 -0
- package/dist/consoles/mock-octoprint.server.js +1 -1
- package/dist/consoles/mock-octoprint.server.js.map +1 -1
- package/dist/constants/authorization.constants.js +12 -3
- package/dist/constants/authorization.constants.js.map +1 -1
- package/dist/container.js +2 -0
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +1 -0
- package/dist/container.tokens.js.map +1 -1
- package/dist/controllers/printer-maintenance-log.controller.js +174 -0
- package/dist/controllers/printer-maintenance-log.controller.js.map +1 -0
- package/dist/data-source.js +8 -8
- package/dist/data-source.js.map +1 -1
- package/dist/entities/index.js +4 -0
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/print-job.entity.js +5 -1
- package/dist/entities/print-job.entity.js.map +1 -1
- package/dist/entities/printer-maintenance-log.entity.js +142 -0
- package/dist/entities/printer-maintenance-log.entity.js.map +1 -0
- package/dist/entities/printer.entity.js +2 -1
- package/dist/entities/printer.entity.js.map +1 -1
- package/dist/handlers/logging/file-logging.transport.js +2 -2
- package/dist/handlers/logging/file-logging.transport.js.map +1 -1
- package/dist/index.js +11 -5
- package/dist/index.js.map +1 -1
- package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js +52 -0
- package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js.map +1 -0
- package/dist/server.constants.js +13 -9
- package/dist/server.constants.js.map +1 -1
- package/dist/server.core.js +7 -4
- package/dist/server.core.js.map +1 -1
- package/dist/server.env.js +13 -32
- package/dist/server.env.js.map +1 -1
- package/dist/server.host.js +1 -1
- package/dist/server.host.js.map +1 -1
- package/dist/services/bambu/bambu-ftp.adapter.js +1 -1
- package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
- package/dist/services/core/client-bundle.service.js +10 -11
- package/dist/services/core/client-bundle.service.js.map +1 -1
- package/dist/services/core/config.service.js +3 -5
- package/dist/services/core/config.service.js.map +1 -1
- package/dist/services/core/logs-manager.service.js +9 -10
- package/dist/services/core/logs-manager.service.js.map +1 -1
- package/dist/services/core/multer.service.js +2 -2
- package/dist/services/core/multer.service.js.map +1 -1
- package/dist/services/core/yaml.service.js +8 -5
- package/dist/services/core/yaml.service.js.map +1 -1
- package/dist/services/file-storage.service.js +1 -1
- package/dist/services/file-storage.service.js.map +1 -1
- package/dist/services/interfaces/printer-maintenance-log.dto.js +6 -0
- package/dist/services/interfaces/printer-maintenance-log.dto.js.map +1 -0
- package/dist/services/interfaces/printer.dto.js.map +1 -1
- package/dist/services/orm/printer-maintenance-log.service.js +151 -0
- package/dist/services/orm/printer-maintenance-log.service.js.map +1 -0
- package/dist/services/orm/printer.service.js +15 -7
- package/dist/services/orm/printer.service.js.map +1 -1
- package/dist/services/typeorm/typeorm.service.js +5 -5
- package/dist/services/typeorm/typeorm.service.js.map +1 -1
- package/dist/services/validators/printer-maintenance-log.validation.js +41 -0
- package/dist/services/validators/printer-maintenance-log.validation.js.map +1 -0
- package/dist/services/validators/printer-service.validation.js +4 -5
- package/dist/services/validators/printer-service.validation.js.map +1 -1
- package/dist/services/validators/yaml-service.validation.js +6 -2
- package/dist/services/validators/yaml-service.validation.js.map +1 -1
- package/dist/state/test-printer-socket.store.js +2 -2
- package/dist/state/test-printer-socket.store.js.map +1 -1
- package/dist/tasks/print-job-analysis.task.js +0 -1
- package/dist/tasks/print-job-analysis.task.js.map +1 -1
- package/dist/utils/env.utils.js +5 -4
- package/dist/utils/env.utils.js.map +1 -1
- package/dist/utils/fs.utils.js +37 -11
- package/dist/utils/fs.utils.js.map +1 -1
- package/dist/utils/swagger/swagger.js +1 -1
- package/dist/utils/swagger/swagger.js.map +1 -1
- package/package.json +10 -11
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "PrinterMaintenanceLogService", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return PrinterMaintenanceLogService;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _printermaintenancelogentity = require("../../entities/printer-maintenance-log.entity");
|
|
12
|
+
const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
|
|
13
|
+
class PrinterMaintenanceLogService {
|
|
14
|
+
printerService;
|
|
15
|
+
logger;
|
|
16
|
+
repository;
|
|
17
|
+
constructor(loggerFactory, typeormService, printerService){
|
|
18
|
+
this.printerService = printerService;
|
|
19
|
+
this.logger = loggerFactory(PrinterMaintenanceLogService.name);
|
|
20
|
+
this.repository = typeormService.getDataSource().getRepository(_printermaintenancelogentity.PrinterMaintenanceLog);
|
|
21
|
+
}
|
|
22
|
+
toDto(entity) {
|
|
23
|
+
return {
|
|
24
|
+
id: entity.id,
|
|
25
|
+
createdAt: entity.createdAt,
|
|
26
|
+
createdBy: entity.createdBy,
|
|
27
|
+
createdByUserId: entity.createdByUserId,
|
|
28
|
+
printerId: entity.printerId,
|
|
29
|
+
printerName: entity.printerName,
|
|
30
|
+
printerUrl: entity.printerUrl,
|
|
31
|
+
metadata: entity.metadata,
|
|
32
|
+
completed: entity.completed,
|
|
33
|
+
completedAt: entity.completedAt,
|
|
34
|
+
completedByUserId: entity.completedByUserId,
|
|
35
|
+
completedBy: entity.completedBy
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async create(dto, userId, username) {
|
|
39
|
+
const printer = await this.printerService.get(dto.printerId);
|
|
40
|
+
const existingLog = await this.repository.findOne({
|
|
41
|
+
where: {
|
|
42
|
+
printerId: dto.printerId,
|
|
43
|
+
completed: false
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
if (existingLog) {
|
|
47
|
+
throw new _runtimeexceptions.BadRequestException(`Printer ${printer.name} already has an active maintenance log`);
|
|
48
|
+
}
|
|
49
|
+
const log = this.repository.create({
|
|
50
|
+
printerId: dto.printerId,
|
|
51
|
+
printerName: printer.name,
|
|
52
|
+
printerUrl: printer.printerURL,
|
|
53
|
+
metadata: dto.metadata,
|
|
54
|
+
createdBy: username,
|
|
55
|
+
createdByUserId: userId,
|
|
56
|
+
completed: false
|
|
57
|
+
});
|
|
58
|
+
await this.repository.save(log);
|
|
59
|
+
await this.printerService.updateDisabledReason(dto.printerId, this.buildDisabledReasonFromMetadata(dto.metadata));
|
|
60
|
+
return log;
|
|
61
|
+
}
|
|
62
|
+
async complete(logId, dto, userId, username) {
|
|
63
|
+
const log = await this.repository.findOne({
|
|
64
|
+
where: {
|
|
65
|
+
id: logId
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
if (!log) {
|
|
69
|
+
throw new _runtimeexceptions.NotFoundException(`Maintenance log with id ${logId} not found`);
|
|
70
|
+
}
|
|
71
|
+
if (log.completed) {
|
|
72
|
+
throw new _runtimeexceptions.BadRequestException(`Maintenance log ${logId} is already completed`);
|
|
73
|
+
}
|
|
74
|
+
log.metadata = {
|
|
75
|
+
...log.metadata,
|
|
76
|
+
completionNotes: dto.completionNotes
|
|
77
|
+
};
|
|
78
|
+
log.completed = true;
|
|
79
|
+
log.completedAt = new Date();
|
|
80
|
+
log.completedBy = username;
|
|
81
|
+
log.completedByUserId = userId;
|
|
82
|
+
await this.repository.save(log);
|
|
83
|
+
if (log.printerId) {
|
|
84
|
+
await this.printerService.updateDisabledReason(log.printerId, null);
|
|
85
|
+
}
|
|
86
|
+
return log;
|
|
87
|
+
}
|
|
88
|
+
async get(logId) {
|
|
89
|
+
const log = await this.repository.findOne({
|
|
90
|
+
where: {
|
|
91
|
+
id: logId
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
if (!log) {
|
|
95
|
+
throw new _runtimeexceptions.NotFoundException(`Maintenance log with id ${logId} not found`);
|
|
96
|
+
}
|
|
97
|
+
return log;
|
|
98
|
+
}
|
|
99
|
+
async getActiveByPrinterId(printerId) {
|
|
100
|
+
return this.repository.findOne({
|
|
101
|
+
where: {
|
|
102
|
+
printerId,
|
|
103
|
+
completed: false
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
async list(filters) {
|
|
108
|
+
const { printerId, completed, page = 1, pageSize = 20 } = filters;
|
|
109
|
+
const queryBuilder = this.repository.createQueryBuilder("log");
|
|
110
|
+
if (printerId !== undefined) {
|
|
111
|
+
queryBuilder.andWhere("log.printerId = :printerId", {
|
|
112
|
+
printerId
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
if (completed !== undefined) {
|
|
116
|
+
queryBuilder.andWhere("log.completed = :completed", {
|
|
117
|
+
completed
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
queryBuilder.orderBy("log.createdAt", "DESC");
|
|
121
|
+
queryBuilder.skip((page - 1) * pageSize);
|
|
122
|
+
queryBuilder.take(pageSize);
|
|
123
|
+
const [logs, total] = await queryBuilder.getManyAndCount();
|
|
124
|
+
return {
|
|
125
|
+
logs,
|
|
126
|
+
total
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
async delete(logId) {
|
|
130
|
+
const log = await this.get(logId);
|
|
131
|
+
if (!log.completed && log.printerId) {
|
|
132
|
+
await this.printerService.updateDisabledReason(log.printerId, null);
|
|
133
|
+
}
|
|
134
|
+
await this.repository.delete(logId);
|
|
135
|
+
}
|
|
136
|
+
buildDisabledReasonFromMetadata(metadata) {
|
|
137
|
+
const parts = [];
|
|
138
|
+
if (metadata.cause) {
|
|
139
|
+
parts.push(metadata.cause);
|
|
140
|
+
}
|
|
141
|
+
if (metadata.partsInvolved && metadata.partsInvolved.length > 0) {
|
|
142
|
+
parts.push(`Parts: ${metadata.partsInvolved.join(", ")}`);
|
|
143
|
+
}
|
|
144
|
+
if (metadata.notes) {
|
|
145
|
+
parts.push(metadata.notes);
|
|
146
|
+
}
|
|
147
|
+
return parts.join(" - ") || "Under maintenance";
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
//# sourceMappingURL=printer-maintenance-log.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/services/orm/printer-maintenance-log.service.ts"],"names":["PrinterMaintenanceLogService","logger","repository","loggerFactory","typeormService","printerService","name","getDataSource","getRepository","PrinterMaintenanceLog","toDto","entity","id","createdAt","createdBy","createdByUserId","printerId","printerName","printerUrl","metadata","completed","completedAt","completedByUserId","completedBy","create","dto","userId","username","printer","get","existingLog","findOne","where","BadRequestException","log","printerURL","save","updateDisabledReason","buildDisabledReasonFromMetadata","complete","logId","NotFoundException","completionNotes","Date","getActiveByPrinterId","list","filters","page","pageSize","queryBuilder","createQueryBuilder","undefined","andWhere","orderBy","skip","take","logs","total","getManyAndCount","delete","parts","cause","push","partsInvolved","length","join","notes"],"mappings":"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"}
|
|
@@ -70,8 +70,8 @@ class PrinterService extends (0, _baseservice.BaseService)(_printerentity.Printe
|
|
|
70
70
|
apiKey,
|
|
71
71
|
enabled,
|
|
72
72
|
printerType,
|
|
73
|
-
password,
|
|
74
|
-
username
|
|
73
|
+
password: password ?? undefined,
|
|
74
|
+
username: username ?? undefined
|
|
75
75
|
});
|
|
76
76
|
this.eventEmitter2.emit(_eventconstants.printerEvents.printerUpdated, {
|
|
77
77
|
printer
|
|
@@ -80,12 +80,14 @@ class PrinterService extends (0, _baseservice.BaseService)(_printerentity.Printe
|
|
|
80
80
|
}
|
|
81
81
|
async batchImport(printers) {
|
|
82
82
|
if (!printers?.length) return [];
|
|
83
|
-
|
|
83
|
+
const validatedPrinters = [];
|
|
84
84
|
for (let printer of printers){
|
|
85
|
-
await this.validateAndDefault(printer);
|
|
85
|
+
const validated = await this.validateAndDefault(printer);
|
|
86
|
+
validatedPrinters.push(validated);
|
|
86
87
|
}
|
|
88
|
+
this.logger.log("Validation passed");
|
|
87
89
|
const newPrinters = [];
|
|
88
|
-
for (let printer of
|
|
90
|
+
for (let printer of validatedPrinters){
|
|
89
91
|
const createdPrinter = await this.create(printer, false);
|
|
90
92
|
newPrinters.push(createdPrinter);
|
|
91
93
|
}
|
|
@@ -115,12 +117,18 @@ class PrinterService extends (0, _baseservice.BaseService)(_printerentity.Printe
|
|
|
115
117
|
});
|
|
116
118
|
}
|
|
117
119
|
}
|
|
118
|
-
updateDisabledReason(printerId, disabledReason) {
|
|
120
|
+
async updateDisabledReason(printerId, disabledReason) {
|
|
121
|
+
await (0, _validators.validateInput)({
|
|
122
|
+
disabledReason
|
|
123
|
+
}, _printerservicevalidation.updatePrinterDisabledReasonSchema);
|
|
119
124
|
return this.update(printerId, {
|
|
120
125
|
disabledReason
|
|
121
126
|
});
|
|
122
127
|
}
|
|
123
|
-
updateEnabled(printerId, enabled) {
|
|
128
|
+
async updateEnabled(printerId, enabled) {
|
|
129
|
+
await (0, _validators.validateInput)({
|
|
130
|
+
enabled
|
|
131
|
+
}, _printerservicevalidation.updatePrinterEnabledSchema);
|
|
124
132
|
return this.update(printerId, {
|
|
125
133
|
enabled
|
|
126
134
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/orm/printer.service.ts"],"names":["PrinterService","BaseService","Printer","PrinterDto","CreatePrinterDto","logger","loggerFactory","typeormService","eventEmitter2","name","toDto","entity","id","enabled","disabledReason","dateAdded","apiKey","username","password","printerURL","printerType","list","repository","find","order","create","newPrinter","emitEvent","mergedPrinter","validateAndDefault","Date","now","printer","emit","printerEvents","printerCreated","update","printerId","partial","get","normalizeUrl","defaultProtocol","defaultHttpProtocol","Object","assign","validateInput","createPrinterSchema","updatedPrinter","printerUpdated","batchImport","printers","length","log","newPrinters","createdPrinter","
|
|
1
|
+
{"version":3,"sources":["../../../src/services/orm/printer.service.ts"],"names":["PrinterService","BaseService","Printer","PrinterDto","CreatePrinterDto","logger","loggerFactory","typeormService","eventEmitter2","name","toDto","entity","id","enabled","disabledReason","dateAdded","apiKey","username","password","printerURL","printerType","list","repository","find","order","create","newPrinter","emitEvent","mergedPrinter","validateAndDefault","Date","now","printer","emit","printerEvents","printerCreated","update","printerId","partial","get","normalizeUrl","defaultProtocol","defaultHttpProtocol","Object","assign","validateInput","createPrinterSchema","updatedPrinter","undefined","printerUpdated","batchImport","printers","length","validatedPrinters","validated","push","log","newPrinters","createdPrinter","batchPrinterCreated","delete","printersDeleted","printerIds","deleteMany","updateDisabledReason","updatePrinterDisabledReasonSchema","updateEnabled","updatePrinterEnabledSchema","updateFeedRate","feedRate","updateFlowRate","flowRate"],"mappings":"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"}
|
|
@@ -28,14 +28,14 @@ class TypeormService {
|
|
|
28
28
|
}
|
|
29
29
|
async createConnection() {
|
|
30
30
|
const dataSource = this.loadDataSources();
|
|
31
|
-
if (
|
|
31
|
+
if (dataSource.isInitialized) {
|
|
32
|
+
this.logger.log("Typeorm connection already initialized, skipping");
|
|
33
|
+
} else {
|
|
32
34
|
const connection = await dataSource.initialize();
|
|
33
|
-
await connection.runMigrations({
|
|
35
|
+
const migrations = await connection.runMigrations({
|
|
34
36
|
transaction: "all"
|
|
35
37
|
});
|
|
36
|
-
this.logger.log(
|
|
37
|
-
} else {
|
|
38
|
-
this.logger.log("Typeorm connection already initialized, skipping");
|
|
38
|
+
this.logger.log(`Typeorm connection initialized - ${migrations.length} migrations executed`);
|
|
39
39
|
}
|
|
40
40
|
this.loaded = true;
|
|
41
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/typeorm/typeorm.service.ts"],"names":["TypeormService","loaded","dataSource","logger","LoggerService","name","hasConnected","loadDataSources","isInitialized","getDataSource","createConnection","connection","initialize","runMigrations","transaction","
|
|
1
|
+
{"version":3,"sources":["../../../src/services/typeorm/typeorm.service.ts"],"names":["TypeormService","loaded","dataSource","logger","LoggerService","name","hasConnected","loadDataSources","isInitialized","getDataSource","createConnection","log","connection","initialize","migrations","runMigrations","transaction","length","AppDataSource"],"mappings":";;;;+BAIaA;;;eAAAA;;;wBAHiB;4BACA;AAEvB,MAAMA;IACXC,SAAS,MAAM;IACPC,WAAwB;IACfC,SAAS,IAAIC,qBAAa,CAACJ,eAAeK,IAAI,EAAE;IAE1DC,eAAe;QACpB,IAAI,CAAC,IAAI,CAACJ,UAAU,EAAE;YACpB,IAAI,CAACK,eAAe;QACtB;QAEA,OAAO,IAAI,CAACL,UAAU,CAAEM,aAAa,GAAG,IAAI;IAC9C;IAEOC,gBAAgB;QACrB,IAAI,CAAC,IAAI,CAACP,UAAU,EAAE;YACpB,IAAI,CAACK,eAAe;QACtB;QAEA,OAAO,IAAI,CAACL,UAAU;IACxB;IAEA,MAAaQ,mBAAmB;QAC9B,MAAMR,aAAa,IAAI,CAACK,eAAe;QACvC,IAAIL,WAAWM,aAAa,EAAE;YAC5B,IAAI,CAACL,MAAM,CAACQ,GAAG,CAAC;QAClB,OAAO;YACL,MAAMC,aAAa,MAAMV,WAAWW,UAAU;YAC9C,MAAMC,aAAa,MAAMF,WAAWG,aAAa,CAAC;gBAAEC,aAAa;YAAM;YACvE,IAAI,CAACb,MAAM,CAACQ,GAAG,CAAC,CAAC,iCAAiC,EAAEG,WAAWG,MAAM,CAAC,oBAAoB,CAAC;QAC7F;QACA,IAAI,CAAChB,MAAM,GAAG;IAChB;IAEQM,kBAAkB;QACxB,IAAI,CAACL,UAAU,GAAGgB,yBAAa;QAC/B,OAAO,IAAI,CAAChB,UAAU;IACxB;AACF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get completeMaintenanceLogSchema () {
|
|
13
|
+
return completeMaintenanceLogSchema;
|
|
14
|
+
},
|
|
15
|
+
get createMaintenanceLogSchema () {
|
|
16
|
+
return createMaintenanceLogSchema;
|
|
17
|
+
},
|
|
18
|
+
get getMaintenanceLogsQuerySchema () {
|
|
19
|
+
return getMaintenanceLogsQuerySchema;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const _zod = require("zod");
|
|
23
|
+
const createMaintenanceLogSchema = _zod.z.object({
|
|
24
|
+
printerId: _zod.z.number().int().positive(),
|
|
25
|
+
metadata: _zod.z.object({
|
|
26
|
+
partsInvolved: _zod.z.array(_zod.z.string()).optional(),
|
|
27
|
+
cause: _zod.z.string().optional(),
|
|
28
|
+
notes: _zod.z.string().optional()
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
const completeMaintenanceLogSchema = _zod.z.object({
|
|
32
|
+
completionNotes: _zod.z.string().optional()
|
|
33
|
+
});
|
|
34
|
+
const getMaintenanceLogsQuerySchema = _zod.z.object({
|
|
35
|
+
printerId: _zod.z.coerce.number().int().positive().optional(),
|
|
36
|
+
completed: _zod.z.coerce.boolean().optional(),
|
|
37
|
+
page: _zod.z.coerce.number().int().positive().default(1),
|
|
38
|
+
pageSize: _zod.z.coerce.number().int().positive().max(100).default(20)
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=printer-maintenance-log.validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/services/validators/printer-maintenance-log.validation.ts"],"names":["completeMaintenanceLogSchema","createMaintenanceLogSchema","getMaintenanceLogsQuerySchema","z","object","printerId","number","int","positive","metadata","partsInvolved","array","string","optional","cause","notes","completionNotes","coerce","completed","boolean","page","default","pageSize","max"],"mappings":";;;;;;;;;;;QAWaA;eAAAA;;QATAC;eAAAA;;QAaAC;eAAAA;;;qBAfK;AAEX,MAAMD,6BAA6BE,MAAC,CAACC,MAAM,CAAC;IACjDC,WAAWF,MAAC,CAACG,MAAM,GAAGC,GAAG,GAAGC,QAAQ;IACpCC,UAAUN,MAAC,CAACC,MAAM,CAAC;QACjBM,eAAeP,MAAC,CAACQ,KAAK,CAACR,MAAC,CAACS,MAAM,IAAIC,QAAQ;QAC3CC,OAAOX,MAAC,CAACS,MAAM,GAAGC,QAAQ;QAC1BE,OAAOZ,MAAC,CAACS,MAAM,GAAGC,QAAQ;IAC5B;AACF;AAEO,MAAMb,+BAA+BG,MAAC,CAACC,MAAM,CAAC;IACnDY,iBAAiBb,MAAC,CAACS,MAAM,GAAGC,QAAQ;AACtC;AAEO,MAAMX,gCAAgCC,MAAC,CAACC,MAAM,CAAC;IACpDC,WAAWF,MAAC,CAACc,MAAM,CAACX,MAAM,GAAGC,GAAG,GAAGC,QAAQ,GAAGK,QAAQ;IACtDK,WAAWf,MAAC,CAACc,MAAM,CAACE,OAAO,GAAGN,QAAQ;IACtCO,MAAMjB,MAAC,CAACc,MAAM,CAACX,MAAM,GAAGC,GAAG,GAAGC,QAAQ,GAAGa,OAAO,CAAC;IACjDC,UAAUnB,MAAC,CAACc,MAAM,CAACX,MAAM,GAAGC,GAAG,GAAGC,QAAQ,GAAGe,GAAG,CAAC,KAAKF,OAAO,CAAC;AAChE"}
|
|
@@ -55,10 +55,10 @@ const _zod = require("zod");
|
|
|
55
55
|
const octoPrintApiKeySchema = _zod.z.string().min(_serviceconstants.apiKeyLengthMinDefault).max(_serviceconstants.apiKeyLengthMaxDefault).regex(/^[a-zA-Z0-9_-]+$/, "Alpha-numeric, dash, and underscore only");
|
|
56
56
|
const printerApiKeyValidator = _zod.z.string().optional();
|
|
57
57
|
const printerNameValidator = _zod.z.string();
|
|
58
|
-
const printerUsernameValidator = _zod.z.string();
|
|
59
|
-
const printerPasswordValidator = _zod.z.string();
|
|
58
|
+
const printerUsernameValidator = _zod.z.string().nullable();
|
|
59
|
+
const printerPasswordValidator = _zod.z.string().nullable();
|
|
60
60
|
const printerEnabledValidator = _zod.z.boolean();
|
|
61
|
-
const printerDisabledReasonValidator = _zod.z.string().
|
|
61
|
+
const printerDisabledReasonValidator = _zod.z.string().nullable();
|
|
62
62
|
const printerUrlValidator = _zod.z.string().url();
|
|
63
63
|
const printerTypeValidator = _zod.z.nativeEnum(_printerapiinterface.PrinterTypesEnum);
|
|
64
64
|
const printerDateAddedValidator = _zod.z.number().optional();
|
|
@@ -126,8 +126,7 @@ const updatePrinterEnabledSchema = _zod.z.object({
|
|
|
126
126
|
enabled: printerEnabledValidator
|
|
127
127
|
});
|
|
128
128
|
const updatePrinterDisabledReasonSchema = _zod.z.object({
|
|
129
|
-
disabledReason: printerDisabledReasonValidator
|
|
130
|
-
enabled: printerEnabledValidator.optional()
|
|
129
|
+
disabledReason: printerDisabledReasonValidator
|
|
131
130
|
});
|
|
132
131
|
|
|
133
132
|
//# sourceMappingURL=printer-service.validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/validators/printer-service.validation.ts"],"names":["createPrinterSchema","printerApiKeyValidator","printerDateAddedValidator","printerDisabledReasonValidator","printerEnabledValidator","printerNameValidator","printerPasswordValidator","printerTypeValidator","printerUrlValidator","printerUsernameValidator","refineApiKeyValidator","updatePrinterDisabledReasonSchema","updatePrinterEnabledSchema","octoPrintApiKeySchema","z","string","min","apiKeyLengthMinDefault","max","apiKeyLengthMaxDefault","regex","optional","boolean","url","nativeEnum","PrinterTypesEnum","number","prusaLinkAuthSchema","object","username","password","basePrinterSchema","dateAdded","printerURL","printerType","apiKey","enabled","name","strip","apiKeyPrinterTypeSchema","data","ctx","OctoprintType","result","safeParse","success","error","issues","forEach","issue","addIssue","path","PrusaLinkType","BambuType","superRefine","disabledReason"],"mappings":";;;;;;;;;;;QAkFaA;eAAAA;;QAxEAC;eAAAA;;QAQAC;eAAAA;;QAHAC;eAAAA;;QADAC;eAAAA;;QAHAC;eAAAA;;QAEAC;eAAAA;;QAIAC;eAAAA;;QADAC;eAAAA;;QAJAC;eAAAA;;QAmCAC;eAAAA;;QAyCAC;eAAAA;;QAJAC;eAAAA;;;kCApFkD;qCACW;qBACzC;AAEjC,MAAMC,wBAAwBC,MAAC,CAC5BC,MAAM,GACNC,GAAG,CAACC,wCAAsB,EAC1BC,GAAG,CAACC,wCAAsB,EAC1BC,KAAK,CAAC,oBAAoB;AAEtB,MAAMnB,yBAAyBa,MAAC,CAACC,MAAM,GAAGM,QAAQ;AAClD,MAAMhB,uBAAuBS,MAAC,CAACC,MAAM;AACrC,MAAMN,2BAA2BK,MAAC,CAACC,MAAM;
|
|
1
|
+
{"version":3,"sources":["../../../src/services/validators/printer-service.validation.ts"],"names":["createPrinterSchema","printerApiKeyValidator","printerDateAddedValidator","printerDisabledReasonValidator","printerEnabledValidator","printerNameValidator","printerPasswordValidator","printerTypeValidator","printerUrlValidator","printerUsernameValidator","refineApiKeyValidator","updatePrinterDisabledReasonSchema","updatePrinterEnabledSchema","octoPrintApiKeySchema","z","string","min","apiKeyLengthMinDefault","max","apiKeyLengthMaxDefault","regex","optional","nullable","boolean","url","nativeEnum","PrinterTypesEnum","number","prusaLinkAuthSchema","object","username","password","basePrinterSchema","dateAdded","printerURL","printerType","apiKey","enabled","name","strip","apiKeyPrinterTypeSchema","data","ctx","OctoprintType","result","safeParse","success","error","issues","forEach","issue","addIssue","path","PrusaLinkType","BambuType","superRefine","disabledReason"],"mappings":"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"}
|
|
@@ -63,7 +63,7 @@ const importPrinterPositionsSchema = _zod.z.object({
|
|
|
63
63
|
});
|
|
64
64
|
const importPrintersFloorsYamlSchema = _zod.z.object({
|
|
65
65
|
version: _zod.z.string().optional(),
|
|
66
|
-
exportedAt: _zod.z.
|
|
66
|
+
exportedAt: _zod.z.any().optional(),
|
|
67
67
|
databaseType: _zod.z.enum([
|
|
68
68
|
"mongo",
|
|
69
69
|
"sqlite"
|
|
@@ -95,11 +95,15 @@ const importPrintersFloorsYamlSchema = _zod.z.object({
|
|
|
95
95
|
username: _printerservicevalidation.printerUsernameValidator.optional(),
|
|
96
96
|
password: _printerservicevalidation.printerPasswordValidator.optional(),
|
|
97
97
|
enabled: _printerservicevalidation.printerEnabledValidator,
|
|
98
|
+
disabledReason: _printerservicevalidation.printerDisabledReasonValidator.optional(),
|
|
98
99
|
name: _printerservicevalidation.printerNameValidator,
|
|
99
100
|
printerName: _zod.z.string().optional(),
|
|
100
101
|
settingsAppearance: _zod.z.object({
|
|
101
102
|
name: _zod.z.string().optional()
|
|
102
|
-
}).optional()
|
|
103
|
+
}).optional(),
|
|
104
|
+
feedRate: _zod.z.string().nullable().optional(),
|
|
105
|
+
flowRate: _zod.z.string().nullable().optional(),
|
|
106
|
+
assignee: _zod.z.string().nullable().optional()
|
|
103
107
|
})).min(0).default([]),
|
|
104
108
|
floors: _zod.z.array(_zod.z.object({
|
|
105
109
|
id: numberOrStringIdValidator,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/validators/yaml-service.validation.ts"],"names":["exportPrintersFloorsYamlSchema","importPrinterPositionsSchema","importPrintersFloorsYamlSchema","numberOrStringIdValidator","printerPositionsSchema","z","object","exportPrinters","boolean","exportFloorGrid","exportFloors","exportTags","exportGroups","optional","exportSettings","default","exportUsers","printerComparisonStrategiesByPriority","array","string","refine","val","includes","min","floorComparisonStrategiesByPriority","notes","union","number","printerId","floorId","x","xValidator","y","yValidator","printers","version","exportedAt","
|
|
1
|
+
{"version":3,"sources":["../../../src/services/validators/yaml-service.validation.ts"],"names":["exportPrintersFloorsYamlSchema","importPrinterPositionsSchema","importPrintersFloorsYamlSchema","numberOrStringIdValidator","printerPositionsSchema","z","object","exportPrinters","boolean","exportFloorGrid","exportFloors","exportTags","exportGroups","optional","exportSettings","default","exportUsers","printerComparisonStrategiesByPriority","array","string","refine","val","includes","min","floorComparisonStrategiesByPriority","notes","union","number","printerId","floorId","x","xValidator","y","yValidator","printers","version","exportedAt","any","databaseType","enum","config","id","printerURL","printerUrlValidator","printerType","printerTypeValidator","apiKey","printerApiKeyValidator","username","printerUsernameValidator","password","printerPasswordValidator","enabled","printerEnabledValidator","disabledReason","printerDisabledReasonValidator","name","printerNameValidator","printerName","settingsAppearance","feedRate","nullable","flowRate","assignee","floors","order","floorOrderValidator","floor","floorNameValidator","tags","color","settings","users","isDemoUser","isRootUser","isVerified","needsPasswordChange","passwordHash","createdAt","date","roles"],"mappings":"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"}
|
|
@@ -47,8 +47,8 @@ class TestPrinterSocketStore {
|
|
|
47
47
|
printerId: testPrinterId,
|
|
48
48
|
loginDto: {
|
|
49
49
|
apiKey: printer.apiKey,
|
|
50
|
-
username: printer.username,
|
|
51
|
-
password: printer.password,
|
|
50
|
+
username: printer.username ?? undefined,
|
|
51
|
+
password: printer.password ?? undefined,
|
|
52
52
|
printerURL: printer.printerURL,
|
|
53
53
|
printerType: printer.printerType
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/test-printer-socket.store.ts"],"names":["TestPrinterSocketStore","TEST_PRINTER_ID_BASE","testPrinterIdCounter","testSocket","logger","loggerFactory","socketFactory","socketIoGateway","eventEmitter2","name","setupTestPrinter","correlationToken","printer","close","validatedData","validateInput","createTestPrinterSchema","enabled","testPrinterId","createInstance","printerType","registerCredentials","printerId","loginDto","apiKey","username","password","printerURL","testEvents","octoPrintEvent","WsMessage","WS_STATE_UPDATED","API_STATE_UPDATED","WS_CLOSED","WS_OPENED","WS_ERROR","moonrakerEvent","bambuEvent","prusaLinkEvent","listener","event","payload","send","forEach","te","on","log","setupSocketSession","promise","Promise","resolve","reject","error","open","_startTime","setInterval","warn","Error","socketState","SOCKET_STATE","authenticated","race","setTimeout","AppConstants","defaultWebsocketHandshakeTimeout","e","errorSummary","captureException","disallowEmittingEvents","emit","printerEvents","printersDeleted","printerIds","off"],"mappings":";;;;+BAyBaA;;;eAAAA;;;0BAzB2B;4BACV;6CACU;2CACE;iCACb;4BAMA;sBACI;iCACJ;oCAEE;kCACJ;oCACI;gCACD;AAK9B,MAAMC,uBAAuB;AAC7B,IAAIC,uBAAuB;AAEpB,MAAMF;;;;IACXG,WAA+B;IACdC,OAAsB;IAEvC,YACEC,aAA6B,EAC7B,AAAiBC,aAA4B,EAC7C,AAAiBC,eAAgC,EACjD,AAAiBC,aAA4B,CAC7C;aAHiBF,gBAAAA;aACAC,kBAAAA;aACAC,gBAAAA;QAEjB,IAAI,CAACJ,MAAM,GAAGC,cAAcL,uBAAuBS,IAAI;IACzD;IAEA,MAAMC,iBAAiBC,gBAAwB,EAAEC,OAAgD,EAAiB;QAChH,IAAI,IAAI,CAACT,UAAU,EAAE;YACnB,IAAI,CAACA,UAAU,CAACU,KAAK;YACrB,OAAO,IAAI,CAACV,UAAU;QACxB;QAEA,MAAMW,gBAAgB,MAAMC,IAAAA,yBAAa,EAACH,SAASI,oDAAuB;QAC1EF,cAAcG,OAAO,GAAG;QAGxB,MAAMC,gBAAgBjB,uBAAuB,EAAEC;QAG/C,IAAI,CAACC,UAAU,GAAG,IAAI,CAACG,aAAa,CAACa,cAAc,CAACP,QAAQQ,WAAW;QAGvE,IAAI,CAACjB,UAAU,CAACkB,mBAAmB,CAAC;YAClCC,WAAWJ;YACXK,UAAU;gBACRC,QAAQZ,QAAQY,MAAM;gBACtBC,UAAUb,QAAQa,QAAQ;
|
|
1
|
+
{"version":3,"sources":["../../src/state/test-printer-socket.store.ts"],"names":["TestPrinterSocketStore","TEST_PRINTER_ID_BASE","testPrinterIdCounter","testSocket","logger","loggerFactory","socketFactory","socketIoGateway","eventEmitter2","name","setupTestPrinter","correlationToken","printer","close","validatedData","validateInput","createTestPrinterSchema","enabled","testPrinterId","createInstance","printerType","registerCredentials","printerId","loginDto","apiKey","username","undefined","password","printerURL","testEvents","octoPrintEvent","WsMessage","WS_STATE_UPDATED","API_STATE_UPDATED","WS_CLOSED","WS_OPENED","WS_ERROR","moonrakerEvent","bambuEvent","prusaLinkEvent","listener","event","payload","send","forEach","te","on","log","setupSocketSession","promise","Promise","resolve","reject","error","open","_startTime","setInterval","warn","Error","socketState","SOCKET_STATE","authenticated","race","setTimeout","AppConstants","defaultWebsocketHandshakeTimeout","e","errorSummary","captureException","disallowEmittingEvents","emit","printerEvents","printersDeleted","printerIds","off"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tasks/print-job-analysis.task.ts"],"names":["PrintJobAnalysisTask","logger","printJobRepository","loggerFactory","printJobService","fileAnalysisService","fileStorageService","typeormService","name","getDataSource","getRepository","PrintJob","run","pendingJobs","find","where","analysisState","status","take","length","
|
|
1
|
+
{"version":3,"sources":["../../src/tasks/print-job-analysis.task.ts"],"names":["PrintJobAnalysisTask","logger","printJobRepository","loggerFactory","printJobService","fileAnalysisService","fileStorageService","typeormService","name","getDataSource","getRepository","PrintJob","run","pendingJobs","find","where","analysisState","status","take","length","log","job","analyzeJob","error","id","fileName","statusReason","Error","message","save","fileStorageId","cachedMetadata","loadMetadata","metadata","thumbnails","filePath","resolveFilePath","exists","needsAnalysis","analysisResult","analyzeFile","thumbnailMetadata","saveThumbnails","fileHash","undefined","saveMetadata","handleFileAnalyzed","fileExists","warn","getFilePath","debug"],"mappings":"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"}
|
package/dist/utils/env.utils.js
CHANGED
|
@@ -26,10 +26,11 @@ _export(exports, {
|
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
const _serverconstants = require("../server.constants");
|
|
29
|
-
function getEnvOrDefault(key,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
function getEnvOrDefault(key, defaultValue) {
|
|
30
|
+
if (!Object.keys(process.env).includes(key) || !process.env[key]?.length) {
|
|
31
|
+
return defaultValue;
|
|
32
|
+
}
|
|
33
|
+
return process.env[key];
|
|
33
34
|
}
|
|
34
35
|
function isDevelopmentEnvironment() {
|
|
35
36
|
return process.env.NODE_ENV === _serverconstants.AppConstants.defaultDevelopmentEnv;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/env.utils.ts"],"names":["getEnvOrDefault","isDevelopmentEnvironment","isNode","isProductionEnvironment","isTestEnvironment","key","
|
|
1
|
+
{"version":3,"sources":["../../src/utils/env.utils.ts"],"names":["getEnvOrDefault","isDevelopmentEnvironment","isNode","isProductionEnvironment","isTestEnvironment","key","defaultValue","Object","keys","process","env","includes","length","NODE_ENV","AppConstants","defaultDevelopmentEnv","defaultTestEnv","defaultProductionEnv"],"mappings":";;;;;;;;;;;QAEgBA;eAAAA;;QAOAC;eAAAA;;QAYAC;eAAAA;;QAJAC;eAAAA;;QAJAC;eAAAA;;;iCAba;AAEtB,SAASJ,gBAAmBK,GAAW,EAAEC,YAAe;IAC7D,IAAI,CAACC,OAAOC,IAAI,CAACC,QAAQC,GAAG,EAAEC,QAAQ,CAACN,QAAQ,CAACI,QAAQC,GAAG,CAACL,IAAI,EAAEO,QAAQ;QACxE,OAAON;IACT;IACA,OAAOG,QAAQC,GAAG,CAACL,IAAI;AACzB;AAEO,SAASJ;IACd,OAAOQ,QAAQC,GAAG,CAACG,QAAQ,KAAKC,6BAAY,CAACC,qBAAqB;AACpE;AAEO,SAASX;IACd,OAAOK,QAAQC,GAAG,CAACG,QAAQ,KAAKC,6BAAY,CAACE,cAAc;AAC7D;AAEO,SAASb;IACd,OAAOM,QAAQC,GAAG,CAACG,QAAQ,KAAKC,6BAAY,CAACG,oBAAoB;AACnE;AAEO,SAASf;IACd,OAAO,UAAUO,QAAQC,GAAG;AAC9B"}
|
package/dist/utils/fs.utils.js
CHANGED
|
@@ -12,27 +12,53 @@ _export(exports, {
|
|
|
12
12
|
get ensureDirExists () {
|
|
13
13
|
return ensureDirExists;
|
|
14
14
|
},
|
|
15
|
-
get
|
|
16
|
-
return
|
|
15
|
+
get getDatabaseFilePath () {
|
|
16
|
+
return getDatabaseFilePath;
|
|
17
|
+
},
|
|
18
|
+
get getDatabaseFolder () {
|
|
19
|
+
return getDatabaseFolder;
|
|
20
|
+
},
|
|
21
|
+
get getMediaPath () {
|
|
22
|
+
return getMediaPath;
|
|
23
|
+
},
|
|
24
|
+
get packageJsonPath () {
|
|
25
|
+
return packageJsonPath;
|
|
17
26
|
},
|
|
18
27
|
get superRootPath () {
|
|
19
28
|
return superRootPath;
|
|
20
29
|
}
|
|
21
30
|
});
|
|
22
31
|
const _nodefs = require("node:fs");
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
const _nodepath = require("node:path");
|
|
33
|
+
const _serverconstants = require("../server.constants");
|
|
34
|
+
const _envutils = require("./env.utils");
|
|
35
|
+
function getDatabaseFilePath() {
|
|
36
|
+
const dbFile = (0, _envutils.getEnvOrDefault)(_serverconstants.AppConstants.DATABASE_FILE, _serverconstants.AppConstants.defaultDatabaseFile);
|
|
37
|
+
if (dbFile === ":memory:") {
|
|
38
|
+
return dbFile;
|
|
39
|
+
}
|
|
40
|
+
const dbFolder = getDatabaseFolder();
|
|
41
|
+
return (0, _nodepath.join)(dbFolder, dbFile);
|
|
26
42
|
}
|
|
27
|
-
function
|
|
28
|
-
return (0,
|
|
43
|
+
function getDatabaseFolder() {
|
|
44
|
+
return (0, _envutils.getEnvOrDefault)(_serverconstants.AppConstants.DATABASE_PATH, (0, _nodepath.join)(superRootPath(), _serverconstants.AppConstants.defaultDatabasePath));
|
|
45
|
+
}
|
|
46
|
+
function getMediaPath() {
|
|
47
|
+
return (0, _envutils.getEnvOrDefault)(_serverconstants.AppConstants.MEDIA_PATH, (0, _nodepath.join)(superRootPath(), _serverconstants.AppConstants.defaultBaseMediaPath));
|
|
48
|
+
}
|
|
49
|
+
function packageJsonPath() {
|
|
50
|
+
return (0, _nodepath.join)(superRootPath(), "./package.json");
|
|
29
51
|
}
|
|
30
52
|
function ensureDirExists(dir) {
|
|
31
|
-
if (
|
|
32
|
-
|
|
33
|
-
recursive: true
|
|
34
|
-
});
|
|
53
|
+
if ((0, _nodefs.existsSync)(dir)) {
|
|
54
|
+
return;
|
|
35
55
|
}
|
|
56
|
+
(0, _nodefs.mkdirSync)(dir, {
|
|
57
|
+
recursive: true
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function superRootPath() {
|
|
61
|
+
return (0, _nodepath.join)(__dirname, "../..");
|
|
36
62
|
}
|
|
37
63
|
|
|
38
64
|
//# sourceMappingURL=fs.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/fs.utils.ts"],"names":["ensureDirExists","
|
|
1
|
+
{"version":3,"sources":["../../src/utils/fs.utils.ts"],"names":["ensureDirExists","getDatabaseFilePath","getDatabaseFolder","getMediaPath","packageJsonPath","superRootPath","dbFile","getEnvOrDefault","AppConstants","DATABASE_FILE","defaultDatabaseFile","dbFolder","join","DATABASE_PATH","defaultDatabasePath","MEDIA_PATH","defaultBaseMediaPath","dir","existsSync","mkdirSync","recursive","__dirname"],"mappings":";;;;;;;;;;;QA2BgBA;eAAAA;;QAtBAC;eAAAA;;QAUAC;eAAAA;;QAIAC;eAAAA;;QAIAC;eAAAA;;QAeAC;eAAAA;;;wBAtCsB;0BACjB;iCACQ;0BACG;AAEzB,SAASJ;IACd,MAAMK,SAASC,IAAAA,yBAAe,EAACC,6BAAY,CAACC,aAAa,EAAED,6BAAY,CAACE,mBAAmB;IAC3F,IAAIJ,WAAW,YAAY;QACzB,OAAOA;IACT;IAEA,MAAMK,WAAWT;IACjB,OAAOU,IAAAA,cAAI,EAACD,UAAUL;AACxB;AAEO,SAASJ;IACd,OAAOK,IAAAA,yBAAe,EAACC,6BAAY,CAACK,aAAa,EAAED,IAAAA,cAAI,EAACP,iBAAiBG,6BAAY,CAACM,mBAAmB;AAC3G;AAEO,SAASX;IACd,OAAOI,IAAAA,yBAAe,EAACC,6BAAY,CAACO,UAAU,EAAEH,IAAAA,cAAI,EAACP,iBAAiBG,6BAAY,CAACQ,oBAAoB;AACzG;AAEO,SAASZ;IACd,OAAOQ,IAAAA,cAAI,EAACP,iBAAiB;AAC/B;AAEO,SAASL,gBAAgBiB,GAAW;IACzC,IAAIC,IAAAA,kBAAU,EAACD,MAAM;QACnB;IACF;IAEAE,IAAAA,iBAAS,EAACF,KAAK;QAAEG,WAAW;IAAK;AACnC;AAKO,SAASf;IACd,OAAOO,IAAAA,cAAI,EAACS,WAAW;AACzB"}
|
|
@@ -67,7 +67,7 @@ async function setupSwagger(app, logger) {
|
|
|
67
67
|
const generateJsonFile = process.env[_serverconstants.AppConstants.GENERATE_SWAGGER_JSON] === "true";
|
|
68
68
|
if (generateJsonFile) {
|
|
69
69
|
try {
|
|
70
|
-
const mediaPath = (0,
|
|
70
|
+
const mediaPath = (0, _fsutils.getMediaPath)();
|
|
71
71
|
(0, _fsutils.ensureDirExists)(mediaPath);
|
|
72
72
|
const swaggerJsonPath = (0, _nodepath.join)(mediaPath, "swagger.json");
|
|
73
73
|
const jsonContent = JSON.stringify(specification, null, 2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/swagger/swagger.ts"],"names":["setupSwagger","getSwaggerUiDistPath","dirname","require","resolve","join","process","cwd","generateSwaggerHTML","trim","app","logger","generator","SwaggerGenerator","specification","generate","generateJsonFile","env","AppConstants","GENERATE_SWAGGER_JSON","mediaPath","
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/swagger/swagger.ts"],"names":["setupSwagger","getSwaggerUiDistPath","dirname","require","resolve","join","process","cwd","generateSwaggerHTML","trim","app","logger","generator","SwaggerGenerator","specification","generate","generateJsonFile","env","AppConstants","GENERATE_SWAGGER_JSON","mediaPath","getMediaPath","ensureDirExists","swaggerJsonPath","jsonContent","JSON","stringify","writeFile","log","error","swaggerUiPath","use","expressStatic","get","_req","res","setHeader","send"],"mappings":";;;;+BA6DsBA;;;eAAAA;;;2BA7DW;yBACoB;0BACvB;iCACD;yBACiB;0BAEpB;AAG1B,SAASC;IACP,IAAI;QAEF,OAAOC,IAAAA,iBAAO,EAACC,QAAQC,OAAO,CAAC;IACjC,EAAE,OAAM;QAEN,OAAOC,IAAAA,cAAI,EAACC,QAAQC,GAAG,IAAI,gBAAgB;IAC7C;AACF;AAGA,SAASC;IACP,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCR,CAAC,CAACC,IAAI;AACR;AAEO,eAAeT,aAAaU,GAAgB,EAAEC,MAAqB;IACxE,MAAMC,YAAY,IAAIC,2BAAgB,CAACF;IACvC,MAAMG,gBAAgB,MAAMF,UAAUG,QAAQ;IAG9C,MAAMC,mBAAmBV,QAAQW,GAAG,CAACC,6BAAY,CAACC,qBAAqB,CAAC,KAAK;IAE7E,IAAIH,kBAAkB;QACpB,IAAI;YACF,MAAMI,YAAYC,IAAAA,qBAAY;YAC9BC,IAAAA,wBAAe,EAACF;YAEhB,MAAMG,kBAAkBlB,IAAAA,cAAI,EAACe,WAAW;YACxC,MAAMI,cAAcC,KAAKC,SAAS,CAACZ,eAAe,MAAM;YAExD,MAAMa,IAAAA,mBAAS,EAACJ,iBAAiBC,aAAa;YAC9Cb,OAAOiB,GAAG,CAAC,CAAC,gCAAgC,EAAEL,iBAAiB;QACjE,EAAE,OAAOM,OAAO;YACdlB,OAAOkB,KAAK,CAAC,wCAAwCA;QACvD;IACF;IAGA,MAAMC,gBAAgB7B;IACtBS,IAAIqB,GAAG,CAAC,oBAAoBC,IAAAA,eAAa,EAACF;IAG1CpB,IAAIuB,GAAG,CAAC,0BAA0B,CAACC,MAAMC;QACvCA,IAAIC,SAAS,CAAC,gBAAgB;QAC9BD,IAAIE,IAAI,CAACvB;IACX;IAGAJ,IAAIuB,GAAG,CAAC,aAAa,CAACC,MAAMC;QAC1BA,IAAIC,SAAS,CAAC,gBAAgB;QAC9BD,IAAIE,IAAI,CAAC7B;IACX;IAEA,OAAOM;AACT"}
|