@fdm-monster/server 1.6.0-rc3 → 1.6.1

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.
Files changed (67) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/README.md +4 -3
  3. package/dist/container.js +2 -0
  4. package/dist/container.js.map +1 -1
  5. package/dist/container.tokens.js +1 -0
  6. package/dist/container.tokens.js.map +1 -1
  7. package/dist/controllers/printer-files.controller.js.map +1 -1
  8. package/dist/controllers/printer-group.controller.js +70 -0
  9. package/dist/controllers/printer-group.controller.js.map +1 -0
  10. package/dist/controllers/printer.controller.js +11 -9
  11. package/dist/controllers/printer.controller.js.map +1 -1
  12. package/dist/controllers/server-public.controller.js +12 -1
  13. package/dist/controllers/server-public.controller.js.map +1 -1
  14. package/dist/data-source.js +10 -2
  15. package/dist/data-source.js.map +1 -1
  16. package/dist/entities/floor-position.entity.js +1 -1
  17. package/dist/entities/floor-position.entity.js.map +1 -1
  18. package/dist/entities/group.entity.js +35 -0
  19. package/dist/entities/group.entity.js.map +1 -0
  20. package/dist/entities/print-completion.entity.js +1 -1
  21. package/dist/entities/print-completion.entity.js.map +1 -1
  22. package/dist/entities/printer-group.entity.js +66 -0
  23. package/dist/entities/printer-group.entity.js.map +1 -0
  24. package/dist/entities/printer.entity.js +6 -0
  25. package/dist/entities/printer.entity.js.map +1 -1
  26. package/dist/migrations/1707494762198-PrinterGroup.js +85 -0
  27. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -0
  28. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +182 -0
  29. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -0
  30. package/dist/server.constants.js +1 -1
  31. package/dist/services/batch-call.service.js +11 -2
  32. package/dist/services/batch-call.service.js.map +1 -1
  33. package/dist/services/core/yaml.service.js +146 -26
  34. package/dist/services/core/yaml.service.js.map +1 -1
  35. package/dist/services/interfaces/group.dto.js +6 -0
  36. package/dist/services/interfaces/group.dto.js.map +1 -0
  37. package/dist/services/interfaces/printer-group.dto.js +41 -0
  38. package/dist/services/interfaces/printer-group.dto.js.map +1 -0
  39. package/dist/services/interfaces/printer-group.service.interface.js +6 -0
  40. package/dist/services/interfaces/printer-group.service.interface.js.map +1 -0
  41. package/dist/services/octoprint/octoprint-api.routes.js +1 -0
  42. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  43. package/dist/services/octoprint/octoprint-api.service.js +35 -0
  44. package/dist/services/octoprint/octoprint-api.service.js.map +1 -1
  45. package/dist/services/octoprint/octoprint-sockio.adapter.js +4 -4
  46. package/dist/services/octoprint/octoprint-sockio.adapter.js.map +1 -1
  47. package/dist/services/orm/floor-position.service.js +1 -1
  48. package/dist/services/orm/floor-position.service.js.map +1 -1
  49. package/dist/services/orm/floor.service.js +2 -2
  50. package/dist/services/orm/floor.service.js.map +1 -1
  51. package/dist/services/orm/printer-group.service.js +114 -0
  52. package/dist/services/orm/printer-group.service.js.map +1 -0
  53. package/dist/services/orm/printer.service.js +15 -0
  54. package/dist/services/orm/printer.service.js.map +1 -1
  55. package/dist/services/validators/yaml-service.validation.js +10 -5
  56. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  57. package/dist/state/file-upload-tracker.cache.js +1 -1
  58. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  59. package/dist/state/printer-connection.cache.js +13 -0
  60. package/dist/state/printer-connection.cache.js.map +1 -1
  61. package/dist/state/printer-socket.store.js +15 -14
  62. package/dist/state/printer-socket.store.js.map +1 -1
  63. package/dist/state/test-printer-socket.store.js +39 -21
  64. package/dist/state/test-printer-socket.store.js.map +1 -1
  65. package/dist/tasks/boot.task.js +4 -3
  66. package/dist/tasks/boot.task.js.map +1 -1
  67. package/package.json +16 -15
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "PrinterGroup", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return PrinterGroup;
9
+ }
10
+ });
11
+ const _typeorm = require("typeorm");
12
+ const _baseentity = require("./base.entity");
13
+ const _printerentity = require("./printer.entity");
14
+ const _groupentity = require("./group.entity");
15
+ function _ts_decorate(decorators, target, key, desc) {
16
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
17
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
18
+ 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;
19
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
20
+ }
21
+ function _ts_metadata(k, v) {
22
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
23
+ }
24
+ class PrinterGroup extends _baseentity.BaseEntity {
25
+ printer;
26
+ printerId;
27
+ group;
28
+ groupId;
29
+ }
30
+ _ts_decorate([
31
+ (0, _typeorm.ManyToOne)(()=>_printerentity.Printer, {
32
+ onDelete: "CASCADE",
33
+ nullable: false
34
+ }),
35
+ (0, _typeorm.JoinColumn)({
36
+ name: "printerId"
37
+ }),
38
+ _ts_metadata("design:type", typeof _typeorm.Relation === "undefined" ? Object : _typeorm.Relation)
39
+ ], PrinterGroup.prototype, "printer", void 0);
40
+ _ts_decorate([
41
+ (0, _typeorm.Column)(),
42
+ _ts_metadata("design:type", Number)
43
+ ], PrinterGroup.prototype, "printerId", void 0);
44
+ _ts_decorate([
45
+ (0, _typeorm.ManyToOne)(()=>_groupentity.Group, {
46
+ onDelete: "CASCADE",
47
+ nullable: false
48
+ }),
49
+ (0, _typeorm.JoinColumn)({
50
+ name: "groupId"
51
+ }),
52
+ _ts_metadata("design:type", typeof _typeorm.Relation === "undefined" ? Object : _typeorm.Relation)
53
+ ], PrinterGroup.prototype, "group", void 0);
54
+ _ts_decorate([
55
+ (0, _typeorm.Column)(),
56
+ _ts_metadata("design:type", Number)
57
+ ], PrinterGroup.prototype, "groupId", void 0);
58
+ PrinterGroup = _ts_decorate([
59
+ (0, _typeorm.Entity)(),
60
+ (0, _typeorm.Unique)([
61
+ "printerId",
62
+ "groupId"
63
+ ])
64
+ ], PrinterGroup);
65
+
66
+ //# sourceMappingURL=printer-group.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/entities/printer-group.entity.ts"],"names":["PrinterGroup","BaseEntity","printer","printerId","group","groupId","ManyToOne","Printer","onDelete","nullable","JoinColumn","name","Column","Group","Entity","Unique"],"mappings":";;;;+BAOaA;;;eAAAA;;;yBAP2D;4BAC7C;+BACH;6BACF;;;;;;;;;;AAIf,MAAMA,qBAAqBC,sBAAU;IAG1CC,QAA4B;IAG5BC,UAAkB;IAIlBC,MAAwB;IAGxBC,QAAgB;AAClB;;IAbGC,IAAAA,kBAAS,EAAC,IAAMC,sBAAO,EAAE;QAAEC,UAAU;QAAWC,UAAU;IAAM;IAChEC,IAAAA,mBAAU,EAAC;QAAEC,MAAM;IAAY;uCACtB,iBAAQ,4BAAR,iBAAQ;GAHPX;;IAKVY,IAAAA,eAAM;;GALIZ;;IAQVM,IAAAA,kBAAS,EAAC,IAAMO,kBAAK,EAAE;QAAEL,UAAU;QAAWC,UAAU;IAAM;IAC9DC,IAAAA,mBAAU,EAAC;QAAEC,MAAM;IAAU;uCACtB,iBAAQ,4BAAR,iBAAQ;GAVLX;;IAYVY,IAAAA,eAAM;;GAZIZ;AAAAA;IAFZc,IAAAA,eAAM;IACNC,IAAAA,eAAM,EAAC;QAAC;QAAa;KAAU;GACnBf"}
@@ -13,6 +13,7 @@ const _typeorm = require("typeorm");
13
13
  const _printcompletionentity = require("./print-completion.entity");
14
14
  const _baseentity = require("./base.entity");
15
15
  const _printerfileentity = require("./printer-file.entity");
16
+ const _printergroupentity = require("./printer-group.entity");
16
17
  function _ts_decorate(decorators, target, key, desc) {
17
18
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
18
19
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -31,6 +32,7 @@ class Printer extends _baseentity.BaseEntity {
31
32
  disabledReason;
32
33
  assignee;
33
34
  printCompletions;
35
+ printerGroups;
34
36
  printerFiles;
35
37
  dateAdded;
36
38
  feedRate;
@@ -76,6 +78,10 @@ _ts_decorate([
76
78
  (0, _typeorm.OneToMany)(()=>_printcompletionentity.PrintCompletion, (pc)=>pc.printer),
77
79
  _ts_metadata("design:type", Array)
78
80
  ], Printer.prototype, "printCompletions", void 0);
81
+ _ts_decorate([
82
+ (0, _typeorm.OneToMany)(()=>_printergroupentity.PrinterGroup, (pc)=>pc.printer),
83
+ _ts_metadata("design:type", Array)
84
+ ], Printer.prototype, "printerGroups", void 0);
79
85
  _ts_decorate([
80
86
  (0, _typeorm.OneToMany)(()=>_printerfileentity.PrinterFile, (p)=>p.printerId),
81
87
  _ts_metadata("design:type", Array)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/entities/printer.entity.ts"],"names":["Printer","BaseEntity","id","name","printerURL","apiKey","enabled","disabledReason","assignee","printCompletions","printerFiles","dateAdded","feedRate","flowRate","PrimaryGeneratedColumn","Column","IsAlphanumeric","nullable","default","OneToMany","PrintCompletion","pc","printer","PrinterFile","p","printerId","CreateDateColumn","type","Entity"],"mappings":";;;;+BAQaA;;;eAAAA;;;gCARkB;yBACqF;uCAEpF;4BACL;mCACC;;;;;;;;;;AAGrB,MAAMA,gBAAgBC,sBAAU;IAErCC,GAAY;IAGZC,KAAc;IAGdC,WAAoB;IAIpBC,OAAgB;IAMhBC,UAAmB,KAAK;IAKxBC,eAAwB;IAKxBC,SAAkB;IAGlBC,iBAA+C;IAG/CC,aAAuC;IAGvCC,UAAmB;IAGnBC,SAAkB;IAGlBC,SAAkB;AACpB;;IA3CGC,IAAAA,+BAAsB;;GADZd;;IAIVe,IAAAA,eAAM;;GAJIf;;IAOVe,IAAAA,eAAM;;GAPIf;;IAUVe,IAAAA,eAAM;IACNC,IAAAA,8BAAc;;GAXJhB;;IAcVe,IAAAA,eAAM,EAAC;QACNE,UAAU;QACVC,SAAS;IACX;;GAjBWlB;;IAoBVe,IAAAA,eAAM,EAAC;QACNE,UAAU;IACZ;;GAtBWjB;;IAyBVe,IAAAA,eAAM,EAAC;QACNE,UAAU;IACZ;;GA3BWjB;;IA8BVmB,IAAAA,kBAAS,EAAC,IAAMC,sCAAe,EAAE,CAACC,KAAOA,GAAGC,OAAO;;GA9BzCtB;;IAiCVmB,IAAAA,kBAAS,EAAC,IAAMI,8BAAW,EAAE,CAACC,IAAMA,EAAEC,SAAS;;GAjCrCzB;;IAoCV0B,IAAAA,yBAAgB,EAAC;QAAEC,MAAM;IAAM;;GApCrB3B;;IAuCVe,IAAAA,eAAM,EAAC;QAAEE,UAAU;IAAK;;GAvCdjB;;IA0CVe,IAAAA,eAAM,EAAC;QAAEE,UAAU;IAAK;;GA1CdjB;AAAAA;IADZ4B,IAAAA,eAAM;GACM5B"}
1
+ {"version":3,"sources":["../../src/entities/printer.entity.ts"],"names":["Printer","BaseEntity","id","name","printerURL","apiKey","enabled","disabledReason","assignee","printCompletions","printerGroups","printerFiles","dateAdded","feedRate","flowRate","PrimaryGeneratedColumn","Column","IsAlphanumeric","nullable","default","OneToMany","PrintCompletion","pc","printer","PrinterGroup","PrinterFile","p","printerId","CreateDateColumn","type","Entity"],"mappings":";;;;+BAQaA;;;eAAAA;;;gCARkB;yBAC+D;uCAC9D;4BACL;mCACC;oCACC;;;;;;;;;;AAGtB,MAAMA,gBAAgBC,sBAAU;IAErCC,GAAY;IAGZC,KAAc;IAGdC,WAAoB;IAIpBC,OAAgB;IAMhBC,UAAmB,KAAK;IAKxBC,eAAwB;IAKxBC,SAAkB;IAGlBC,iBAA+C;IAG/CC,cAAyC;IAGzCC,aAAuC;IAGvCC,UAAmB;IAGnBC,SAAkB;IAGlBC,SAAkB;AACpB;;IA9CGC,IAAAA,+BAAsB;;GADZf;;IAIVgB,IAAAA,eAAM;;GAJIhB;;IAOVgB,IAAAA,eAAM;;GAPIhB;;IAUVgB,IAAAA,eAAM;IACNC,IAAAA,8BAAc;;GAXJjB;;IAcVgB,IAAAA,eAAM,EAAC;QACNE,UAAU;QACVC,SAAS;IACX;;GAjBWnB;;IAoBVgB,IAAAA,eAAM,EAAC;QACNE,UAAU;IACZ;;GAtBWlB;;IAyBVgB,IAAAA,eAAM,EAAC;QACNE,UAAU;IACZ;;GA3BWlB;;IA8BVoB,IAAAA,kBAAS,EAAC,IAAMC,sCAAe,EAAE,CAACC,KAAOA,GAAGC,OAAO;;GA9BzCvB;;IAiCVoB,IAAAA,kBAAS,EAAC,IAAMI,gCAAY,EAAE,CAACF,KAAOA,GAAGC,OAAO;;GAjCtCvB;;IAoCVoB,IAAAA,kBAAS,EAAC,IAAMK,8BAAW,EAAE,CAACC,IAAMA,EAAEC,SAAS;;GApCrC3B;;IAuCV4B,IAAAA,yBAAgB,EAAC;QAAEC,MAAM;IAAM;;GAvCrB7B;;IA0CVgB,IAAAA,eAAM,EAAC;QAAEE,UAAU;IAAK;;GA1CdlB;;IA6CVgB,IAAAA,eAAM,EAAC;QAAEE,UAAU;IAAK;;GA7CdlB;AAAAA;IADZ8B,IAAAA,eAAM;GACM9B"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "PrinterGroup1707494762198", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return PrinterGroup1707494762198;
9
+ }
10
+ });
11
+ class PrinterGroup1707494762198 {
12
+ name = 'PrinterGroup1707494762198';
13
+ async up(queryRunner) {
14
+ await queryRunner.query(`
15
+ CREATE TABLE "group" (
16
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
17
+ "name" varchar NOT NULL
18
+ )
19
+ `);
20
+ await queryRunner.query(`
21
+ CREATE TABLE "printer_group" (
22
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
23
+ "printerId" integer NOT NULL,
24
+ "groupId" integer NOT NULL,
25
+ CONSTRAINT "UQ_c9e2395912075256923415eb2c7" UNIQUE ("printerId", "groupId")
26
+ )
27
+ `);
28
+ await queryRunner.query(`
29
+ CREATE TABLE "temporary_printer_group" (
30
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
31
+ "printerId" integer NOT NULL,
32
+ "groupId" integer NOT NULL,
33
+ CONSTRAINT "UQ_c9e2395912075256923415eb2c7" UNIQUE ("printerId", "groupId"),
34
+ CONSTRAINT "FK_20e241cea3a77568c9372dad6a1" FOREIGN KEY ("printerId") REFERENCES "printer" ("id") ON DELETE CASCADE ON UPDATE NO ACTION,
35
+ CONSTRAINT "FK_789586afe1423a1dfd1104cb7bd" FOREIGN KEY ("groupId") REFERENCES "group" ("id") ON DELETE CASCADE ON UPDATE NO ACTION
36
+ )
37
+ `);
38
+ await queryRunner.query(`
39
+ INSERT INTO "temporary_printer_group"("id", "printerId", "groupId")
40
+ SELECT "id",
41
+ "printerId",
42
+ "groupId"
43
+ FROM "printer_group"
44
+ `);
45
+ await queryRunner.query(`
46
+ DROP TABLE "printer_group"
47
+ `);
48
+ await queryRunner.query(`
49
+ ALTER TABLE "temporary_printer_group"
50
+ RENAME TO "printer_group"
51
+ `);
52
+ }
53
+ async down(queryRunner) {
54
+ await queryRunner.query(`
55
+ ALTER TABLE "printer_group"
56
+ RENAME TO "temporary_printer_group"
57
+ `);
58
+ await queryRunner.query(`
59
+ CREATE TABLE "printer_group" (
60
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
61
+ "printerId" integer NOT NULL,
62
+ "groupId" integer NOT NULL,
63
+ CONSTRAINT "UQ_c9e2395912075256923415eb2c7" UNIQUE ("printerId", "groupId")
64
+ )
65
+ `);
66
+ await queryRunner.query(`
67
+ INSERT INTO "printer_group"("id", "printerId", "groupId")
68
+ SELECT "id",
69
+ "printerId",
70
+ "groupId"
71
+ FROM "temporary_printer_group"
72
+ `);
73
+ await queryRunner.query(`
74
+ DROP TABLE "temporary_printer_group"
75
+ `);
76
+ await queryRunner.query(`
77
+ DROP TABLE "printer_group"
78
+ `);
79
+ await queryRunner.query(`
80
+ DROP TABLE "group"
81
+ `);
82
+ }
83
+ }
84
+
85
+ //# sourceMappingURL=1707494762198-PrinterGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/migrations/1707494762198-PrinterGroup.ts"],"names":["PrinterGroup1707494762198","name","up","queryRunner","query","down"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,MAAMA;IACTC,OAAO,4BAA2B;IAElC,MAAaC,GAAGC,WAAwB,EAAiB;QACrD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;;;QAKzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;QAOzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;QASzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;IACL;IAEA,MAAaC,KAAKF,WAAwB,EAAiB;QACvD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;QAOzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;IACL;AAEJ"}
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "ChangePrintCompletionDeletePrinterCascade1708465930665", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ChangePrintCompletionDeletePrinterCascade1708465930665;
9
+ }
10
+ });
11
+ class ChangePrintCompletionDeletePrinterCascade1708465930665 {
12
+ name = 'ChangePrintCompletionDeletePrinterCascade1708465930665';
13
+ async up(queryRunner) {
14
+ await queryRunner.query(`
15
+ CREATE TABLE "temporary_print_completion" (
16
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
17
+ "fileName" varchar NOT NULL,
18
+ "createdAt" integer NOT NULL DEFAULT (datetime('now')),
19
+ "status" varchar NOT NULL,
20
+ "printerId" integer NOT NULL,
21
+ "printerReference" varchar,
22
+ "completionLog" varchar,
23
+ "context" text
24
+ )
25
+ `);
26
+ await queryRunner.query(`
27
+ INSERT INTO "temporary_print_completion"(
28
+ "id",
29
+ "fileName",
30
+ "createdAt",
31
+ "status",
32
+ "printerId",
33
+ "printerReference",
34
+ "completionLog",
35
+ "context"
36
+ )
37
+ SELECT "id",
38
+ "fileName",
39
+ "createdAt",
40
+ "status",
41
+ "printerId",
42
+ "printerReference",
43
+ "completionLog",
44
+ "context"
45
+ FROM "print_completion"
46
+ `);
47
+ await queryRunner.query(`
48
+ DROP TABLE "print_completion"
49
+ `);
50
+ await queryRunner.query(`
51
+ ALTER TABLE "temporary_print_completion"
52
+ RENAME TO "print_completion"
53
+ `);
54
+ await queryRunner.query(`
55
+ CREATE TABLE "temporary_print_completion" (
56
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
57
+ "fileName" varchar NOT NULL,
58
+ "createdAt" integer NOT NULL DEFAULT (datetime('now')),
59
+ "status" varchar NOT NULL,
60
+ "printerId" integer NOT NULL,
61
+ "printerReference" varchar,
62
+ "completionLog" varchar,
63
+ "context" text,
64
+ CONSTRAINT "FK_c078b1dfe5f87f79f131520d856" FOREIGN KEY ("printerId") REFERENCES "printer" ("id") ON DELETE CASCADE ON UPDATE NO ACTION
65
+ )
66
+ `);
67
+ await queryRunner.query(`
68
+ INSERT INTO "temporary_print_completion"(
69
+ "id",
70
+ "fileName",
71
+ "createdAt",
72
+ "status",
73
+ "printerId",
74
+ "printerReference",
75
+ "completionLog",
76
+ "context"
77
+ )
78
+ SELECT "id",
79
+ "fileName",
80
+ "createdAt",
81
+ "status",
82
+ "printerId",
83
+ "printerReference",
84
+ "completionLog",
85
+ "context"
86
+ FROM "print_completion"
87
+ `);
88
+ await queryRunner.query(`
89
+ DROP TABLE "print_completion"
90
+ `);
91
+ await queryRunner.query(`
92
+ ALTER TABLE "temporary_print_completion"
93
+ RENAME TO "print_completion"
94
+ `);
95
+ }
96
+ async down(queryRunner) {
97
+ await queryRunner.query(`
98
+ ALTER TABLE "print_completion"
99
+ RENAME TO "temporary_print_completion"
100
+ `);
101
+ await queryRunner.query(`
102
+ CREATE TABLE "print_completion" (
103
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
104
+ "fileName" varchar NOT NULL,
105
+ "createdAt" integer NOT NULL DEFAULT (datetime('now')),
106
+ "status" varchar NOT NULL,
107
+ "printerId" integer NOT NULL,
108
+ "printerReference" varchar,
109
+ "completionLog" varchar,
110
+ "context" text
111
+ )
112
+ `);
113
+ await queryRunner.query(`
114
+ INSERT INTO "print_completion"(
115
+ "id",
116
+ "fileName",
117
+ "createdAt",
118
+ "status",
119
+ "printerId",
120
+ "printerReference",
121
+ "completionLog",
122
+ "context"
123
+ )
124
+ SELECT "id",
125
+ "fileName",
126
+ "createdAt",
127
+ "status",
128
+ "printerId",
129
+ "printerReference",
130
+ "completionLog",
131
+ "context"
132
+ FROM "temporary_print_completion"
133
+ `);
134
+ await queryRunner.query(`
135
+ DROP TABLE "temporary_print_completion"
136
+ `);
137
+ await queryRunner.query(`
138
+ ALTER TABLE "print_completion"
139
+ RENAME TO "temporary_print_completion"
140
+ `);
141
+ await queryRunner.query(`
142
+ CREATE TABLE "print_completion" (
143
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
144
+ "fileName" varchar NOT NULL,
145
+ "createdAt" integer NOT NULL DEFAULT (datetime('now')),
146
+ "status" varchar NOT NULL,
147
+ "printerId" integer NOT NULL,
148
+ "printerReference" varchar,
149
+ "completionLog" varchar,
150
+ "context" text,
151
+ CONSTRAINT "FK_c078b1dfe5f87f79f131520d856" FOREIGN KEY ("printerId") REFERENCES "printer" ("id") ON DELETE
152
+ SET NULL ON UPDATE NO ACTION
153
+ )
154
+ `);
155
+ await queryRunner.query(`
156
+ INSERT INTO "print_completion"(
157
+ "id",
158
+ "fileName",
159
+ "createdAt",
160
+ "status",
161
+ "printerId",
162
+ "printerReference",
163
+ "completionLog",
164
+ "context"
165
+ )
166
+ SELECT "id",
167
+ "fileName",
168
+ "createdAt",
169
+ "status",
170
+ "printerId",
171
+ "printerReference",
172
+ "completionLog",
173
+ "context"
174
+ FROM "temporary_print_completion"
175
+ `);
176
+ await queryRunner.query(`
177
+ DROP TABLE "temporary_print_completion"
178
+ `);
179
+ }
180
+ }
181
+
182
+ //# sourceMappingURL=1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.ts"],"names":["ChangePrintCompletionDeletePrinterCascade1708465930665","name","up","queryRunner","query","down"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,MAAMA;IACTC,OAAO,yDAAwD;IAE/D,MAAaC,GAAGC,WAAwB,EAAiB;QACrD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;QAWzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;QAoBzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;QAYzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;QAoBzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;IACL;IAEA,MAAaC,KAAKF,WAAwB,EAAiB;QACvD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;QAWzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;QAoBzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;QAazB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;QAoBzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;IACL;AAEJ"}
@@ -63,7 +63,7 @@ const AppConstants = {
63
63
  serverRepoName: "fdm-monster",
64
64
  orgName: "fdm-monster",
65
65
  currentWizardVersion: 1,
66
- defaultClientMinimum: "1.5.0-rc8",
66
+ defaultClientMinimum: "1.5.6",
67
67
  influxUrl: "INFLUX_URL",
68
68
  influxToken: "INFLUX_TOKEN",
69
69
  influxOrg: "INFLUX_ORG",
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "BatchCallService", {
8
8
  return BatchCallService;
9
9
  }
10
10
  });
11
+ const _node = require("@sentry/node");
12
+ const _errorutils = require("../utils/error.utils");
11
13
  var ReprintState;
12
14
  (function(ReprintState) {
13
15
  ReprintState[ReprintState["PrinterNotAvailable"] = 0] = "PrinterNotAvailable";
@@ -21,13 +23,15 @@ class BatchCallService {
21
23
  printerEventsCache;
22
24
  printerFilesStore;
23
25
  printerService;
24
- constructor({ octoPrintApiService, printerCache, printerEventsCache, printerSocketStore, printerFilesStore, printerService }){
26
+ logger;
27
+ constructor({ octoPrintApiService, printerCache, printerEventsCache, printerSocketStore, printerFilesStore, printerService, loggerFactory }){
25
28
  this.octoPrintApiService = octoPrintApiService;
26
29
  this.printerCache = printerCache;
27
30
  this.printerEventsCache = printerEventsCache;
28
31
  this.printerSocketStore = printerSocketStore;
29
32
  this.printerFilesStore = printerFilesStore;
30
33
  this.printerService = printerService;
34
+ this.logger = loggerFactory(BatchCallService.name);
31
35
  }
32
36
  async batchTogglePrintersEnabled(printerIds, enabled) {
33
37
  const promises = [];
@@ -77,7 +81,12 @@ class BatchCallService {
77
81
  }
78
82
  batchConnectSocket(printerIds) {
79
83
  for (const printerId of printerIds){
80
- this.printerSocketStore.reconnectOctoPrint(printerId);
84
+ try {
85
+ this.printerSocketStore.reconnectOctoPrint(printerId);
86
+ } catch (e) {
87
+ (0, _node.captureException)(e);
88
+ this.logger.error(`Error setting socket to reconnect ${(0, _errorutils.errorSummary)(e)}`);
89
+ }
81
90
  }
82
91
  }
83
92
  async batchSettingsGet(printerIds) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/batch-call.service.ts"],"names":["BatchCallService","ReprintState","octoPrintApiService","printerSocketStore","printerCache","printerEventsCache","printerFilesStore","printerService","constructor","batchTogglePrintersEnabled","printerIds","enabled","promises","printerId","promise","printerDto","getValue","time","Date","now","disabledReason","length","updateEnabled","then","success","catch","e","failure","error","message","push","Promise","all","batchConnectSocket","reconnectOctoPrint","batchSettingsGet","printerLogin","getLoginDtoAsync","getSettings","r","value","batchConnectUsb","command","connectCommand","sendConnectionCommand","getBatchPrinterReprintFile","resolve","_","login","files","getLocalFiles","filter","f","prints","last","date","connected","getConnection","connectionState","current","state","reprintState","file","batchReprintCalls","printerIdFileList","printerIdFile","path","selectPrintFile"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/services/batch-call.service.ts"],"names":["BatchCallService","ReprintState","octoPrintApiService","printerSocketStore","printerCache","printerEventsCache","printerFilesStore","printerService","logger","constructor","loggerFactory","name","batchTogglePrintersEnabled","printerIds","enabled","promises","printerId","promise","printerDto","getValue","time","Date","now","disabledReason","length","updateEnabled","then","success","catch","e","failure","error","message","push","Promise","all","batchConnectSocket","reconnectOctoPrint","captureException","errorSummary","batchSettingsGet","printerLogin","getLoginDtoAsync","getSettings","r","value","batchConnectUsb","command","connectCommand","sendConnectionCommand","getBatchPrinterReprintFile","resolve","_","login","files","getLocalFiles","filter","f","prints","last","date","connected","getConnection","connectionState","current","state","reprintState","file","batchReprintCalls","printerIdFileList","printerIdFile","path","selectPrintFile"],"mappings":"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"}