@fdm-monster/server 2.0.0 → 2.0.3

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 (92) hide show
  1. package/.env.template +2 -0
  2. package/.yarn/install-state.gz +0 -0
  3. package/README.md +22 -3
  4. package/RELEASE_NOTES.MD +38 -0
  5. package/dist/constants/authorization.constants.js +12 -3
  6. package/dist/constants/authorization.constants.js.map +1 -1
  7. package/dist/constants/server-settings.constants.js +4 -2
  8. package/dist/constants/server-settings.constants.js.map +1 -1
  9. package/dist/container.js +2 -0
  10. package/dist/container.js.map +1 -1
  11. package/dist/container.tokens.js +1 -0
  12. package/dist/container.tokens.js.map +1 -1
  13. package/dist/controllers/file-storage.controller.js +90 -19
  14. package/dist/controllers/file-storage.controller.js.map +1 -1
  15. package/dist/controllers/printer-maintenance-log.controller.js +174 -0
  16. package/dist/controllers/printer-maintenance-log.controller.js.map +1 -0
  17. package/dist/controllers/settings.controller.js +70 -2
  18. package/dist/controllers/settings.controller.js.map +1 -1
  19. package/dist/controllers/slicer-compat.controller.js +4 -0
  20. package/dist/controllers/slicer-compat.controller.js.map +1 -1
  21. package/dist/data-source.js +8 -8
  22. package/dist/data-source.js.map +1 -1
  23. package/dist/entities/index.js +4 -0
  24. package/dist/entities/index.js.map +1 -1
  25. package/dist/entities/print-job.entity.js +5 -1
  26. package/dist/entities/print-job.entity.js.map +1 -1
  27. package/dist/entities/printer-maintenance-log.entity.js +142 -0
  28. package/dist/entities/printer-maintenance-log.entity.js.map +1 -0
  29. package/dist/entities/printer.entity.js +2 -1
  30. package/dist/entities/printer.entity.js.map +1 -1
  31. package/dist/entities/settings.entity.js.map +1 -1
  32. package/dist/handlers/logging/file-logging.transport.js +2 -2
  33. package/dist/handlers/logging/file-logging.transport.js.map +1 -1
  34. package/dist/index.js +11 -5
  35. package/dist/index.js.map +1 -1
  36. package/dist/middleware/slicer-api-key.middleware.js +29 -0
  37. package/dist/middleware/slicer-api-key.middleware.js.map +1 -0
  38. package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js +52 -0
  39. package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js.map +1 -0
  40. package/dist/server.constants.js +13 -9
  41. package/dist/server.constants.js.map +1 -1
  42. package/dist/server.core.js +7 -4
  43. package/dist/server.core.js.map +1 -1
  44. package/dist/server.env.js +13 -32
  45. package/dist/server.env.js.map +1 -1
  46. package/dist/server.host.js +1 -1
  47. package/dist/server.host.js.map +1 -1
  48. package/dist/services/bambu/bambu-ftp.adapter.js +1 -1
  49. package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
  50. package/dist/services/core/client-bundle.service.js +10 -11
  51. package/dist/services/core/client-bundle.service.js.map +1 -1
  52. package/dist/services/core/config.service.js +3 -5
  53. package/dist/services/core/config.service.js.map +1 -1
  54. package/dist/services/core/logs-manager.service.js +9 -10
  55. package/dist/services/core/logs-manager.service.js.map +1 -1
  56. package/dist/services/core/multer.service.js +2 -2
  57. package/dist/services/core/multer.service.js.map +1 -1
  58. package/dist/services/core/yaml.service.js +23 -3
  59. package/dist/services/core/yaml.service.js.map +1 -1
  60. package/dist/services/file-storage.service.js +4 -3
  61. package/dist/services/file-storage.service.js.map +1 -1
  62. package/dist/services/interfaces/printer-maintenance-log.dto.js +6 -0
  63. package/dist/services/interfaces/printer-maintenance-log.dto.js.map +1 -0
  64. package/dist/services/interfaces/printer.dto.js.map +1 -1
  65. package/dist/services/orm/printer-maintenance-log.service.js +151 -0
  66. package/dist/services/orm/printer-maintenance-log.service.js.map +1 -0
  67. package/dist/services/orm/printer.service.js +8 -2
  68. package/dist/services/orm/printer.service.js.map +1 -1
  69. package/dist/services/orm/settings.service.js +9 -2
  70. package/dist/services/orm/settings.service.js.map +1 -1
  71. package/dist/services/typeorm/typeorm.service.js +5 -5
  72. package/dist/services/typeorm/typeorm.service.js.map +1 -1
  73. package/dist/services/validators/printer-maintenance-log.validation.js +41 -0
  74. package/dist/services/validators/printer-maintenance-log.validation.js.map +1 -0
  75. package/dist/services/validators/printer-service.validation.js +2 -3
  76. package/dist/services/validators/printer-service.validation.js.map +1 -1
  77. package/dist/services/validators/settings-service.validation.js +23 -4
  78. package/dist/services/validators/settings-service.validation.js.map +1 -1
  79. package/dist/services/validators/yaml-service.validation.js +2 -0
  80. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  81. package/dist/shared/runtime-settings.migration.js +10 -0
  82. package/dist/shared/runtime-settings.migration.js.map +1 -1
  83. package/dist/state/settings.store.js +38 -5
  84. package/dist/state/settings.store.js.map +1 -1
  85. package/dist/utils/env.utils.js +5 -4
  86. package/dist/utils/env.utils.js.map +1 -1
  87. package/dist/utils/fs.utils.js +37 -11
  88. package/dist/utils/fs.utils.js.map +1 -1
  89. package/dist/utils/swagger/swagger.js +1 -1
  90. package/dist/utils/swagger/swagger.js.map +1 -1
  91. package/install.sh +559 -0
  92. package/package.json +6 -6
package/.env.template CHANGED
@@ -38,6 +38,8 @@ OVERRIDE_DEMO_ROLE=ADMIN
38
38
  # Debug socket states
39
39
  DEBUG_SOCKET_STATES=false
40
40
 
41
+ # Saves media (logs, files, file-uploads, log-zips, client-dist, client-dist-zips, etc)
42
+ MEDIA_PATH=./media
41
43
  # Saves SQLite database to ./database/fdm-monster.sqlite
42
44
  DATABASE_PATH=./database
43
45
  # Optional, default: fdm-monster.sqlite
Binary file
package/README.md CHANGED
@@ -42,6 +42,13 @@ Here is a list of features that make FDM Monster stand out:
42
42
 
43
43
  ## Installation methods ⚙️
44
44
 
45
+ ### Quick Install (Linux)
46
+ ```bash
47
+ curl -fsSL https://raw.githubusercontent.com/fdm-monster/fdm-monster/main/install.sh | bash
48
+ ```
49
+
50
+ ### Other Methods
51
+ - [One-Click Linux Install](https://docs.fdm-monster.net/installing/one-click-linux)
45
52
  - [Docker image](https://hub.docker.com/r/fdmmonster/fdm-monster)
46
53
  - [Raspberry Pi image MonsterPi](https://docs.fdm-monster.net/guides/monsterpi)
47
54
  - [Unraid Community App](https://unraid.net/community/apps?q=fdm+monster)
@@ -73,9 +80,21 @@ Please consider sponsoring FDM Monster to help this project! You can find the [G
73
80
 
74
81
  Thanks to the following parties for their financial support:
75
82
 
76
- | Tier 1 | Tier 2 | Tier 3 | Tier 4 | One time |
77
- |--------|--------|--------|--------|-----------|
78
- | | [thatguymendel](https://github.com/thatguymendel) | [MrHitchcock](https://github.com/MrHitchcock) | [doucettom](https://github.com/doucettom) | [th3dstudio](https://github.com/th3dstudio) |
83
+ ### Tier 1
84
+ - (empty)
85
+
86
+ ### Tier 2
87
+ - [thatguymendel](https://github.com/thatguymendel)
88
+
89
+ ### Tier 3
90
+ - [MrHitchcock](https://github.com/MrHitchcock)
91
+ - [That Guy Jaysen](https://github.com/thatguy-jaysenodell)
92
+
93
+ ### Tier 4
94
+ - [doucettom](https://github.com/doucettom)
95
+
96
+ ### One Time
97
+ - [th3dstudio](https://github.com/th3dstudio)
79
98
 
80
99
 
81
100
  ## Contributors ✨
package/RELEASE_NOTES.MD CHANGED
@@ -1,5 +1,43 @@
1
1
  # Develop
2
2
 
3
+ # FDM Monster 2.0.3
4
+
5
+ Hotfix release
6
+
7
+ - Client wasn't updated to 2.2.0
8
+
9
+ # FDM Monster 2.0.2
10
+
11
+ ## Features
12
+
13
+ - Printer maintenance log
14
+ - Added ENV_FILE env variable to override path for .env file
15
+ - Added MEDIA_PATH env variable to override media storage folder
16
+
17
+ ## Fixes
18
+
19
+ - DATABASE_PATH env variable will now respect its value if set, instead of forcing it to be relative
20
+
21
+ ## Chores
22
+
23
+ - Remove corepack from CICD as yarn is committed to repository
24
+ - Switch docker container base to node 24
25
+ - PrintJob entity printer relation improved
26
+
27
+ # FDM Monster 2.0.1
28
+
29
+ ## Feat
30
+
31
+ - Add grid sorting option frontend settings
32
+ - YAML export now includes credential settings (jwtExpiresIn, refreshTokenAttempts, refreshTokenExpiry, slicerApiKey)
33
+ - YAML import now properly imports credential settings including slicerApiKey
34
+ - Ability to analyze/re-analyze file from Files page upload
35
+
36
+ ## Fixes
37
+
38
+ - YAML import restores credentials using sensitive settings method in SettingsStore
39
+ - YAML export would not export printer username and password
40
+
3
41
  # FDM Monster 2.0.0
4
42
 
5
43
  ## Feat
@@ -45,7 +45,8 @@ const PERM_GROUP = {
45
45
  PrinterSettings: "PrinterSettings",
46
46
  Jobs: "Jobs",
47
47
  Floors: "Floors",
48
- ServerInfo: "ServerInfo"
48
+ ServerInfo: "ServerInfo",
49
+ PrinterMaintenanceLog: "PrinterMaintenanceLog"
49
50
  };
50
51
  const PERMS = {
51
52
  [PERM_GROUP.PrinterFiles]: {
@@ -75,6 +76,14 @@ const PERMS = {
75
76
  [PERM_GROUP.ServerInfo]: {
76
77
  Default: "ServerInfo.Default",
77
78
  Get: "ServerInfo.Get"
79
+ },
80
+ [PERM_GROUP.PrinterMaintenanceLog]: {
81
+ Default: "PrinterMaintenanceLog.Default",
82
+ List: "PrinterMaintenanceLog.List",
83
+ Get: "PrinterMaintenanceLog.Get",
84
+ Create: "PrinterMaintenanceLog.Create",
85
+ Complete: "PrinterMaintenanceLog.Complete",
86
+ Delete: "PrinterMaintenanceLog.Delete"
78
87
  }
79
88
  };
80
89
  function flattenPermissionDefinition() {
@@ -96,8 +105,8 @@ const ROLES = {
96
105
  GUEST: "GUEST"
97
106
  };
98
107
  const ROLE_PERMS = {
99
- [ROLES.ADMIN]: (0, _lodash.union)(allPerms(PERM_GROUP.Jobs), allPerms(PERM_GROUP.Floors), allPerms(PERM_GROUP.PrinterFiles), allPerms(PERM_GROUP.PrinterSettings), allPerms(PERM_GROUP.ServerInfo)),
100
- [ROLES.OPERATOR]: (0, _lodash.union)(allPerms(PERM_GROUP.Jobs), allPerms(PERM_GROUP.Floors), allPerms(PERM_GROUP.PrinterFiles), allPerms(PERM_GROUP.PrinterSettings)),
108
+ [ROLES.ADMIN]: (0, _lodash.union)(allPerms(PERM_GROUP.Jobs), allPerms(PERM_GROUP.Floors), allPerms(PERM_GROUP.PrinterFiles), allPerms(PERM_GROUP.PrinterSettings), allPerms(PERM_GROUP.ServerInfo), allPerms(PERM_GROUP.PrinterMaintenanceLog)),
109
+ [ROLES.OPERATOR]: (0, _lodash.union)(allPerms(PERM_GROUP.Jobs), allPerms(PERM_GROUP.Floors), allPerms(PERM_GROUP.PrinterFiles), allPerms(PERM_GROUP.PrinterSettings), allPerms(PERM_GROUP.PrinterMaintenanceLog)),
101
110
  [ROLES.GUEST]: []
102
111
  };
103
112
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/authorization.constants.ts"],"names":["AUTH_ERROR_REASON","PERMS","PERM_GROUP","ROLES","ROLE_PERMS","allPerms","flattenPermissionDefinition","IncorrectCredentials","InvalidOrExpiredRefreshToken","InvalidOrExpiredAuthToken","PasswordChangeRequired","LoginRequired","AccountNotVerified","PrinterFiles","PrinterSettings","Jobs","Floors","ServerInfo","Default","Get","Delete","Clear","Upload","Actions","List","Create","Update","permissions","key","Object","values","permissionName","push","group","Error","ADMIN","OPERATOR","GUEST","union"],"mappings":";;;;;;;;;;;QAEaA;eAAAA;;QAoBAC;eAAAA;;QAVAC;eAAAA;;QA4DAC;eAAAA;;QAQAC;eAAAA;;QAbGC;eAAAA;;QAVAC;eAAAA;;;wBAzDM;AAEf,MAAMN,oBAAoB;IAE/BO,sBAAsB;IACtBC,8BAA8B;IAC9BC,2BAA2B;IAC3BC,wBAAwB;IACxBC,eAAe;IACfC,oBAAoB;AACtB;AAEO,MAAMV,aAAa;IACxBW,cAAc;IACdC,iBAAiB;IACjBC,MAAM;IACNC,QAAQ;IACRC,YAAY;AACd;AAIO,MAAMhB,QAAQ;IACnB,CAACC,WAAWW,YAAY,CAAC,EAAE;QACzBK,SAAS;QACTC,KAAK;QACLC,QAAQ;QACRC,OAAO;QACPC,QAAQ;QACRC,SAAS;IACX;IACA,CAACrB,WAAWa,IAAI,CAAC,EAAE;QACjBG,SAAS;QACTM,MAAM;IACR;IACA,CAACtB,WAAWc,MAAM,CAAC,EAAE;QACnBE,SAAS;QACTM,MAAM;QACNL,KAAK;QACLM,QAAQ;QACRC,QAAQ;QACRN,QAAQ;IACV;IACA,CAAClB,WAAWY,eAAe,CAAC,EAAE;QAC5BI,SAAS;QACTC,KAAK;IACP;IACA,CAACjB,WAAWe,UAAU,CAAC,EAAE;QACvBC,SAAS;QACTC,KAAK;IACP;AACF;AAMO,SAASb;IACd,MAAMqB,cAAgC,EAAE;IACxC,KAAK,MAAMC,OAAOC,OAAOC,MAAM,CAAC5B,YAAa;QAC3C,KAAK,MAAM6B,kBAAkBF,OAAOC,MAAM,CAAC7B,KAAK,CAAC2B,IAAI,EAAG;YACtDD,YAAYK,IAAI,CAACD;QACnB;IACF;IACA,OAAOJ;AACT;AAEO,SAAStB,SAAS4B,KAAsB;IAC7C,IAAI,CAACA,SAAS,CAAChC,KAAK,CAACgC,MAAM,EAAE,MAAM,IAAIC,MAAM,CAAC,uBAAuB,EAAED,MAAM,eAAe,CAAC;IAC7F,OAAOJ,OAAOC,MAAM,CAAC7B,KAAK,CAACgC,MAAM;AACnC;AAEO,MAAM9B,QAAQ;IACnBgC,OAAO;IACPC,UAAU;IACVC,OAAO;AACT;AAIO,MAAMjC,aAAiD;IAC5D,CAACD,MAAMgC,KAAK,CAAC,EAAEG,IAAAA,aAAK,EAClBjC,SAASH,WAAWa,IAAI,GACxBV,SAASH,WAAWc,MAAM,GAC1BX,SAASH,WAAWW,YAAY,GAChCR,SAASH,WAAWY,eAAe,GACnCT,SAASH,WAAWe,UAAU;IAEhC,CAACd,MAAMiC,QAAQ,CAAC,EAAEE,IAAAA,aAAK,EACrBjC,SAASH,WAAWa,IAAI,GACxBV,SAASH,WAAWc,MAAM,GAC1BX,SAASH,WAAWW,YAAY,GAChCR,SAASH,WAAWY,eAAe;IAErC,CAACX,MAAMkC,KAAK,CAAC,EAAE,EAAE;AACnB"}
1
+ {"version":3,"sources":["../../src/constants/authorization.constants.ts"],"names":["AUTH_ERROR_REASON","PERMS","PERM_GROUP","ROLES","ROLE_PERMS","allPerms","flattenPermissionDefinition","IncorrectCredentials","InvalidOrExpiredRefreshToken","InvalidOrExpiredAuthToken","PasswordChangeRequired","LoginRequired","AccountNotVerified","PrinterFiles","PrinterSettings","Jobs","Floors","ServerInfo","PrinterMaintenanceLog","Default","Get","Delete","Clear","Upload","Actions","List","Create","Update","Complete","permissions","key","Object","values","permissionName","push","group","Error","ADMIN","OPERATOR","GUEST","union"],"mappings":";;;;;;;;;;;QAEaA;eAAAA;;QAqBAC;eAAAA;;QAXAC;eAAAA;;QAqEAC;eAAAA;;QAQAC;eAAAA;;QAbGC;eAAAA;;QAVAC;eAAAA;;;wBAlEM;AAEf,MAAMN,oBAAoB;IAE/BO,sBAAsB;IACtBC,8BAA8B;IAC9BC,2BAA2B;IAC3BC,wBAAwB;IACxBC,eAAe;IACfC,oBAAoB;AACtB;AAEO,MAAMV,aAAa;IACxBW,cAAc;IACdC,iBAAiB;IACjBC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,uBAAuB;AACzB;AAIO,MAAMjB,QAAQ;IACnB,CAACC,WAAWW,YAAY,CAAC,EAAE;QACzBM,SAAS;QACTC,KAAK;QACLC,QAAQ;QACRC,OAAO;QACPC,QAAQ;QACRC,SAAS;IACX;IACA,CAACtB,WAAWa,IAAI,CAAC,EAAE;QACjBI,SAAS;QACTM,MAAM;IACR;IACA,CAACvB,WAAWc,MAAM,CAAC,EAAE;QACnBG,SAAS;QACTM,MAAM;QACNL,KAAK;QACLM,QAAQ;QACRC,QAAQ;QACRN,QAAQ;IACV;IACA,CAACnB,WAAWY,eAAe,CAAC,EAAE;QAC5BK,SAAS;QACTC,KAAK;IACP;IACA,CAAClB,WAAWe,UAAU,CAAC,EAAE;QACvBE,SAAS;QACTC,KAAK;IACP;IACA,CAAClB,WAAWgB,qBAAqB,CAAC,EAAE;QAClCC,SAAS;QACTM,MAAM;QACNL,KAAK;QACLM,QAAQ;QACRE,UAAU;QACVP,QAAQ;IACV;AACF;AAMO,SAASf;IACd,MAAMuB,cAAgC,EAAE;IACxC,KAAK,MAAMC,OAAOC,OAAOC,MAAM,CAAC9B,YAAa;QAC3C,KAAK,MAAM+B,kBAAkBF,OAAOC,MAAM,CAAC/B,KAAK,CAAC6B,IAAI,EAAG;YACtDD,YAAYK,IAAI,CAACD;QACnB;IACF;IACA,OAAOJ;AACT;AAEO,SAASxB,SAAS8B,KAAsB;IAC7C,IAAI,CAACA,SAAS,CAAClC,KAAK,CAACkC,MAAM,EAAE,MAAM,IAAIC,MAAM,CAAC,uBAAuB,EAAED,MAAM,eAAe,CAAC;IAC7F,OAAOJ,OAAOC,MAAM,CAAC/B,KAAK,CAACkC,MAAM;AACnC;AAEO,MAAMhC,QAAQ;IACnBkC,OAAO;IACPC,UAAU;IACVC,OAAO;AACT;AAIO,MAAMnC,aAAiD;IAC5D,CAACD,MAAMkC,KAAK,CAAC,EAAEG,IAAAA,aAAK,EAClBnC,SAASH,WAAWa,IAAI,GACxBV,SAASH,WAAWc,MAAM,GAC1BX,SAASH,WAAWW,YAAY,GAChCR,SAASH,WAAWY,eAAe,GACnCT,SAASH,WAAWe,UAAU,GAC9BZ,SAASH,WAAWgB,qBAAqB;IAE3C,CAACf,MAAMmC,QAAQ,CAAC,EAAEE,IAAAA,aAAK,EACrBnC,SAASH,WAAWa,IAAI,GACxBV,SAASH,WAAWc,MAAM,GAC1BX,SAASH,WAAWW,YAAY,GAChCR,SAASH,WAAWY,eAAe,GACnCT,SAASH,WAAWgB,qBAAqB;IAE3C,CAACf,MAAMoC,KAAK,CAAC,EAAE,EAAE;AACnB"}
@@ -64,14 +64,16 @@ const credentialSettingsKey = "credentials";
64
64
  const getDefaultCredentialSettings = ()=>({
65
65
  jwtExpiresIn: _serverconstants.AppConstants.DEFAULT_JWT_EXPIRES_IN,
66
66
  refreshTokenAttempts: _serverconstants.AppConstants.DEFAULT_REFRESH_TOKEN_ATTEMPTS,
67
- refreshTokenExpiry: _serverconstants.AppConstants.DEFAULT_REFRESH_TOKEN_EXPIRY
67
+ refreshTokenExpiry: _serverconstants.AppConstants.DEFAULT_REFRESH_TOKEN_EXPIRY,
68
+ slicerApiKey: null
68
69
  });
69
70
  const frontendSettingKey = "frontend";
70
71
  const getDefaultFrontendSettings = ()=>({
71
72
  gridCols: 4,
72
73
  gridRows: 2,
73
74
  largeTiles: false,
74
- tilePreferCancelOverQuickStop: false
75
+ tilePreferCancelOverQuickStop: false,
76
+ gridNameSortDirection: 'horizontal'
75
77
  });
76
78
  const timeoutSettingKey = "timeout";
77
79
  const getDefaultTimeout = ()=>({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/server-settings.constants.ts"],"names":["credentialSettingsKey","frontendSettingKey","getDefaultCredentialSettings","getDefaultFrontendSettings","getDefaultServerSettings","getDefaultSettings","getDefaultTimeout","getDefaultWizardSettings","serverSettingsKey","timeoutSettingKey","wizardSettingKey","wizardCompleted","wizardCompletedAt","wizardVersion","sentryDiagnosticsEnabled","loginRequired","registration","experimentalMoonrakerSupport","experimentalBambuSupport","experimentalPrusaLinkSupport","jwtExpiresIn","AppConstants","DEFAULT_JWT_EXPIRES_IN","refreshTokenAttempts","DEFAULT_REFRESH_TOKEN_ATTEMPTS","refreshTokenExpiry","DEFAULT_REFRESH_TOKEN_EXPIRY","gridCols","gridRows","largeTiles","tilePreferCancelOverQuickStop","apiTimeout","apiUploadTimeout","jwtSecret","uuidv4"],"mappings":";;;;;;;;;;;QA2BaA;eAAAA;;QAUAC;eAAAA;;QATAC;eAAAA;;QAUAC;eAAAA;;QApBAC;eAAAA;;QAkCAC;eAAAA;;QANAC;eAAAA;;QAnCAC;eAAAA;;QAMAC;eAAAA;;QA4BAC;eAAAA;;QAnCAC;eAAAA;;;iCAVgB;sBAQA;AAEtB,MAAMA,mBAAmB;AACzB,MAAMH,2BAA2B,IAA0B,CAAA;QAChEI,iBAAiB;QACjBC,mBAAmB;QACnBC,eAAe;IACjB,CAAA;AAEO,MAAML,oBAAoB;AAC1B,MAAMJ,2BAA2B,IAA0B,CAAA;QAChEU,0BAA0B;QAC1BC,eAAe;QACfC,cAAc;QACdC,8BAA8B;QAC9BC,0BAA0B;QAC1BC,8BAA8B;IAChC,CAAA;AAEO,MAAMnB,wBAAwB;AAC9B,MAAME,+BAA+B,IAA8B,CAAA;QAExEkB,cAAcC,6BAAY,CAACC,sBAAsB;QAEjDC,sBAAsBF,6BAAY,CAACG,8BAA8B;QAEjEC,oBAAoBJ,6BAAY,CAACK,4BAA4B;IAC/D,CAAA;AAEO,MAAMzB,qBAAqB;AAC3B,MAAME,6BAA6B,IAA4B,CAAA;QACpEwB,UAAU;QACVC,UAAU;QACVC,YAAY;QACZC,+BAA+B;IACjC,CAAA;AAEO,MAAMrB,oBAAoB;AAC1B,MAAMH,oBAAoB,IAA2B,CAAA;QAC1DyB,YAAY;QACZC,kBAAkB;IACpB,CAAA;AAGO,MAAM3B,qBAAqB,IAAO,CAAA;QACvC,CAACG,kBAAkB,EAAEJ;QACrB,CAACM,iBAAiB,EAAEH;QACpB,CAACP,sBAAsB,EAAE;YACvB,GAAGE,8BAA8B;YACjC+B,WAAWC,IAAAA,QAAM;QACnB;QACA,CAACjC,mBAAmB,EAAEE;QACtB,CAACM,kBAAkB,EAAEH;IACvB,CAAA"}
1
+ {"version":3,"sources":["../../src/constants/server-settings.constants.ts"],"names":["credentialSettingsKey","frontendSettingKey","getDefaultCredentialSettings","getDefaultFrontendSettings","getDefaultServerSettings","getDefaultSettings","getDefaultTimeout","getDefaultWizardSettings","serverSettingsKey","timeoutSettingKey","wizardSettingKey","wizardCompleted","wizardCompletedAt","wizardVersion","sentryDiagnosticsEnabled","loginRequired","registration","experimentalMoonrakerSupport","experimentalBambuSupport","experimentalPrusaLinkSupport","jwtExpiresIn","AppConstants","DEFAULT_JWT_EXPIRES_IN","refreshTokenAttempts","DEFAULT_REFRESH_TOKEN_ATTEMPTS","refreshTokenExpiry","DEFAULT_REFRESH_TOKEN_EXPIRY","slicerApiKey","gridCols","gridRows","largeTiles","tilePreferCancelOverQuickStop","gridNameSortDirection","apiTimeout","apiUploadTimeout","jwtSecret","uuidv4"],"mappings":";;;;;;;;;;;QA2BaA;eAAAA;;QAYAC;eAAAA;;QAXAC;eAAAA;;QAYAC;eAAAA;;QAtBAC;eAAAA;;QAqCAC;eAAAA;;QANAC;eAAAA;;QAtCAC;eAAAA;;QAMAC;eAAAA;;QA+BAC;eAAAA;;QAtCAC;eAAAA;;;iCAVgB;sBAQA;AAEtB,MAAMA,mBAAmB;AACzB,MAAMH,2BAA2B,IAA0B,CAAA;QAChEI,iBAAiB;QACjBC,mBAAmB;QACnBC,eAAe;IACjB,CAAA;AAEO,MAAML,oBAAoB;AAC1B,MAAMJ,2BAA2B,IAA0B,CAAA;QAChEU,0BAA0B;QAC1BC,eAAe;QACfC,cAAc;QACdC,8BAA8B;QAC9BC,0BAA0B;QAC1BC,8BAA8B;IAChC,CAAA;AAEO,MAAMnB,wBAAwB;AAC9B,MAAME,+BAA+B,IAA8B,CAAA;QAExEkB,cAAcC,6BAAY,CAACC,sBAAsB;QAEjDC,sBAAsBF,6BAAY,CAACG,8BAA8B;QAEjEC,oBAAoBJ,6BAAY,CAACK,4BAA4B;QAE7DC,cAAc;IAChB,CAAA;AAEO,MAAM1B,qBAAqB;AAC3B,MAAME,6BAA6B,IAA4B,CAAA;QACpEyB,UAAU;QACVC,UAAU;QACVC,YAAY;QACZC,+BAA+B;QAC/BC,uBAAuB;IACzB,CAAA;AAEO,MAAMvB,oBAAoB;AAC1B,MAAMH,oBAAoB,IAA2B,CAAA;QAC1D2B,YAAY;QACZC,kBAAkB;IACpB,CAAA;AAGO,MAAM7B,qBAAqB,IAAO,CAAA;QACvC,CAACG,kBAAkB,EAAEJ;QACrB,CAACM,iBAAiB,EAAEH;QACpB,CAACP,sBAAsB,EAAE;YACvB,GAAGE,8BAA8B;YACjCiC,WAAWC,IAAAA,QAAM;QACnB;QACA,CAACnC,mBAAmB,EAAEE;QACtB,CAACM,kBAAkB,EAAEH;IACvB,CAAA"}
package/dist/container.js CHANGED
@@ -13,6 +13,7 @@ const _awilix = require("awilix");
13
13
  const _toadscheduler = require("toad-scheduler");
14
14
  const _containertokens = require("./container.tokens");
15
15
  const _printerservice = require("./services/orm/printer.service");
16
+ const _printermaintenancelogservice = require("./services/orm/printer-maintenance-log.service");
16
17
  const _settingsstore = require("./state/settings.store");
17
18
  const _serverreleaseservice = require("./services/core/server-release.service");
18
19
  const _taskmanagerservice = require("./services/task-manager.service");
@@ -104,6 +105,7 @@ function configureContainer() {
104
105
  [di.floorPositionService]: (0, _awilix.asClass)(_floorpositionservice.FloorPositionService).singleton(),
105
106
  [di.cameraStreamService]: (0, _awilix.asClass)(_camerastreamservice.CameraStreamService).singleton(),
106
107
  [di.printerService]: (0, _awilix.asClass)(_printerservice.PrinterService),
108
+ [di.printerMaintenanceLogService]: (0, _awilix.asClass)(_printermaintenancelogservice.PrinterMaintenanceLogService),
107
109
  [di.printerTagService]: (0, _awilix.asClass)(_printertagservice.PrinterTagService),
108
110
  [di.refreshTokenService]: (0, _awilix.asClass)(_refreshtokenservice.RefreshTokenService).singleton(),
109
111
  [di.userService]: (0, _awilix.asClass)(_userservice.UserService).singleton(),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/container.ts"],"names":["configureContainer","container","createContainer","injectionMode","InjectionMode","CLASSIC","di","DITokens","register","appDefaultRole","asValue","ROLES","GUEST","appDefaultRoleNoLogin","ADMIN","serverVersion","asFunction","process","env","AppConstants","VERSION_KEY","cradleService","asClass","CradleService","inject","socketFactory","SocketFactory","transient","typeormService","TypeormService","singleton","settingsService","SettingsService","floorService","FloorService","floorPositionService","FloorPositionService","cameraStreamService","CameraStreamService","printerService","PrinterService","printerTagService","PrinterTagService","refreshTokenService","RefreshTokenService","userService","UserService","userRoleService","UserRoleService","roleService","RoleService","permissionService","PermissionService","serverHost","ServerHost","exceptionFilter","ExceptionFilter","settingsStore","SettingsStore","configService","ConfigService","authService","AuthService","jwtService","JwtService","loggerFactory","LoggerFactory","taskManagerService","TaskManagerService","toadScheduler","ToadScheduler","eventEmitter2","configureEventEmitter","serverReleaseService","ServerReleaseService","monsterPiService","MonsterPiService","githubService","GithubService","octokitService","CustomOctoKit","Octokit","plugin","throttling","auth","get","GITHUB_PAT","throttle","onRateLimit","_retryAfter","options","_octokit","_retryCount","logger","warn","method","url","onSecondaryRateLimit","clientBundleService","ClientBundleService","logDumpService","LogDumpService","httpClientFactory","HttpClientFactory","socketIoGateway","SocketIoGateway","multerService","MulterService","yamlService","YamlService","printerLogin","printerApiFactory","PrinterApiFactory","prusaLinkApi","PrusaLinkApi","prusaLinkPollingAdapter","PrusaLinkHttpPollingAdapter","octoprintApi","OctoprintApi","octoprintClient","OctoprintClient","octoPrintSockIoAdapter","OctoprintWebsocketAdapter","moonrakerApi","MoonrakerApi","moonrakerClient","MoonrakerClient","moonrakerWebsocketAdapter","MoonrakerWebsocketAdapter","bambuApi","BambuApi","bambuClient","BambuClient","bambuFtpAdapter","BambuFtpAdapter","bambuMqttAdapter","BambuMqttAdapter","batchCallService","BatchCallService","floorStore","FloorStore","printerThumbnailCache","PrinterThumbnailCache","fileCache","FileCache","fileUploadTrackerCache","FileUploadTrackerCache","printerFilesStore","PrinterFilesStore","printerCache","PrinterCache","printerEventsCache","PrinterEventsCache","printerSocketStore","PrinterSocketStore","testPrinterSocketStore","TestPrinterSocketStore","printJobService","PrintJobService","printQueueService","PrintQueueService","fileStorageService","FileStorageService","fileAnalysisService","FileAnalysisService","printFileDownloaderService","PrintFileDownloaderService","bootTask","BootTask","softwareUpdateTask","SoftwareUpdateTask","socketIoTask","SocketIoTask","clientDistDownloadTask","ClientDistDownloadTask","printerWebsocketTask","PrinterWebsocketTask","printerWebsocketRestoreTask","PrinterWebsocketRestoreTask","printerFilesLoadTask","PrinterFilesLoadTask","printJobAnalysisTask","PrintJobAnalysisTask"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/container.ts"],"names":["configureContainer","container","createContainer","injectionMode","InjectionMode","CLASSIC","di","DITokens","register","appDefaultRole","asValue","ROLES","GUEST","appDefaultRoleNoLogin","ADMIN","serverVersion","asFunction","process","env","AppConstants","VERSION_KEY","cradleService","asClass","CradleService","inject","socketFactory","SocketFactory","transient","typeormService","TypeormService","singleton","settingsService","SettingsService","floorService","FloorService","floorPositionService","FloorPositionService","cameraStreamService","CameraStreamService","printerService","PrinterService","printerMaintenanceLogService","PrinterMaintenanceLogService","printerTagService","PrinterTagService","refreshTokenService","RefreshTokenService","userService","UserService","userRoleService","UserRoleService","roleService","RoleService","permissionService","PermissionService","serverHost","ServerHost","exceptionFilter","ExceptionFilter","settingsStore","SettingsStore","configService","ConfigService","authService","AuthService","jwtService","JwtService","loggerFactory","LoggerFactory","taskManagerService","TaskManagerService","toadScheduler","ToadScheduler","eventEmitter2","configureEventEmitter","serverReleaseService","ServerReleaseService","monsterPiService","MonsterPiService","githubService","GithubService","octokitService","CustomOctoKit","Octokit","plugin","throttling","auth","get","GITHUB_PAT","throttle","onRateLimit","_retryAfter","options","_octokit","_retryCount","logger","warn","method","url","onSecondaryRateLimit","clientBundleService","ClientBundleService","logDumpService","LogDumpService","httpClientFactory","HttpClientFactory","socketIoGateway","SocketIoGateway","multerService","MulterService","yamlService","YamlService","printerLogin","printerApiFactory","PrinterApiFactory","prusaLinkApi","PrusaLinkApi","prusaLinkPollingAdapter","PrusaLinkHttpPollingAdapter","octoprintApi","OctoprintApi","octoprintClient","OctoprintClient","octoPrintSockIoAdapter","OctoprintWebsocketAdapter","moonrakerApi","MoonrakerApi","moonrakerClient","MoonrakerClient","moonrakerWebsocketAdapter","MoonrakerWebsocketAdapter","bambuApi","BambuApi","bambuClient","BambuClient","bambuFtpAdapter","BambuFtpAdapter","bambuMqttAdapter","BambuMqttAdapter","batchCallService","BatchCallService","floorStore","FloorStore","printerThumbnailCache","PrinterThumbnailCache","fileCache","FileCache","fileUploadTrackerCache","FileUploadTrackerCache","printerFilesStore","PrinterFilesStore","printerCache","PrinterCache","printerEventsCache","PrinterEventsCache","printerSocketStore","PrinterSocketStore","testPrinterSocketStore","TestPrinterSocketStore","printJobService","PrintJobService","printQueueService","PrintQueueService","fileStorageService","FileStorageService","fileAnalysisService","FileAnalysisService","printFileDownloaderService","PrintFileDownloaderService","bootTask","BootTask","softwareUpdateTask","SoftwareUpdateTask","socketIoTask","SocketIoTask","clientDistDownloadTask","ClientDistDownloadTask","printerWebsocketTask","PrinterWebsocketTask","printerWebsocketRestoreTask","PrinterWebsocketRestoreTask","printerFilesLoadTask","PrinterFilesLoadTask","printJobAnalysisTask","PrintJobAnalysisTask"],"mappings":"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"}
@@ -26,6 +26,7 @@ const DITokens = {
26
26
  eventEmitter2: "eventEmitter2",
27
27
  printerService: "printerService",
28
28
  printerTagService: "printerTagService",
29
+ printerMaintenanceLogService: "printerMaintenanceLogService",
29
30
  floorPositionService: "floorPositionService",
30
31
  printJobService: "printJobService",
31
32
  printQueueService: "printQueueService",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/container.tokens.ts"],"names":["DITokens","cradleService","serverVersion","appDefaultRole","appDefaultRoleNoLogin","typeormService","serverHost","exceptionFilter","loggerFactory","httpClientFactory","socketIoGateway","multerService","configService","taskManagerService","toadScheduler","eventEmitter2","printerService","printerTagService","floorPositionService","printJobService","printQueueService","fileStorageService","fileAnalysisService","printFileDownloaderService","floorService","yamlService","settingsService","serverReleaseService","monsterPiService","githubService","octokitService","clientBundleService","logDumpService","userTokenService","authService","refreshTokenService","userService","userRoleService","permissionService","jwtService","roleService","prusaLinkApi","octoprintApi","octoprintClient","moonrakerApi","moonrakerClient","bambuApi","bambuClient","bambuFtpAdapter","bambuMqttAdapter","cameraStreamService","socketFactory","printerApiFactory","printerLogin","batchCallService","influxDbV2BaseService","systemInfoBundleService","floorStore","settingsStore","printerSocketStore","testPrinterSocketStore","printerFilesStore","prusaLinkPollingAdapter","octoPrintSockIoAdapter","moonrakerWebsocketAdapter","printerCache","printerEventsCache","printerThumbnailCache","fileCache","fileUploadTrackerCache","bootTask","softwareUpdateTask","clientDistDownloadTask","socketIoTask","printerWebsocketTask","printerWebsocketRestoreTask","printerFilesLoadTask","printJobAnalysisTask"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,WAAW;IACtBC,eAAe;IAEfC,eAAe;IACfC,gBAAgB;IAChBC,uBAAuB;IACvBC,gBAAgB;IAEhBC,YAAY;IACZC,iBAAiB;IACjBC,eAAe;IACfC,mBAAmB;IACnBC,iBAAiB;IACjBC,eAAe;IACfC,eAAe;IACfC,oBAAoB;IACpBC,eAAe;IACfC,eAAe;IACfC,gBAAgB;IAChBC,mBAAmB;IACnBC,sBAAsB;IACtBC,iBAAiB;IACjBC,mBAAmB;IACnBC,oBAAoB;IACpBC,qBAAqB;IACrBC,4BAA4B;IAC5BC,cAAc;IACdC,aAAa;IACbC,iBAAiB;IACjBC,sBAAsB;IACtBC,kBAAkB;IAClBC,eAAe;IACfC,gBAAgB;IAChBC,qBAAqB;IACrBC,gBAAgB;IAChBC,kBAAkB;IAClBC,aAAa;IACbC,qBAAqB;IACrBC,aAAa;IACbC,iBAAiB;IACjBC,mBAAmB;IACnBC,YAAY;IACZC,aAAa;IACbC,cAAc;IACdC,cAAc;IACdC,iBAAiB;IACjBC,cAAc;IACdC,iBAAiB;IACjBC,UAAU;IACVC,aAAa;IACbC,iBAAiB;IACjBC,kBAAkB;IAClBC,qBAAqB;IACrBC,eAAe;IACfC,mBAAmB;IACnBC,cAAc;IACdC,kBAAkB;IAClBC,uBAAuB;IACvBC,yBAAyB;IAEzBC,YAAY;IACZC,eAAe;IACfC,oBAAoB;IACpBC,wBAAwB;IACxBC,mBAAmB;IACnBC,yBAAyB;IACzBC,wBAAwB;IACxBC,2BAA2B;IAE3BC,cAAc;IACdC,oBAAoB;IACpBC,uBAAuB;IACvBC,WAAW;IACXC,wBAAwB;IAExBC,UAAU;IACVC,oBAAoB;IACpBC,wBAAwB;IACxBC,cAAc;IACdC,sBAAsB;IACtBC,6BAA6B;IAC7BC,sBAAsB;IACtBC,sBAAsB;AACxB"}
1
+ {"version":3,"sources":["../src/container.tokens.ts"],"names":["DITokens","cradleService","serverVersion","appDefaultRole","appDefaultRoleNoLogin","typeormService","serverHost","exceptionFilter","loggerFactory","httpClientFactory","socketIoGateway","multerService","configService","taskManagerService","toadScheduler","eventEmitter2","printerService","printerTagService","printerMaintenanceLogService","floorPositionService","printJobService","printQueueService","fileStorageService","fileAnalysisService","printFileDownloaderService","floorService","yamlService","settingsService","serverReleaseService","monsterPiService","githubService","octokitService","clientBundleService","logDumpService","userTokenService","authService","refreshTokenService","userService","userRoleService","permissionService","jwtService","roleService","prusaLinkApi","octoprintApi","octoprintClient","moonrakerApi","moonrakerClient","bambuApi","bambuClient","bambuFtpAdapter","bambuMqttAdapter","cameraStreamService","socketFactory","printerApiFactory","printerLogin","batchCallService","influxDbV2BaseService","systemInfoBundleService","floorStore","settingsStore","printerSocketStore","testPrinterSocketStore","printerFilesStore","prusaLinkPollingAdapter","octoPrintSockIoAdapter","moonrakerWebsocketAdapter","printerCache","printerEventsCache","printerThumbnailCache","fileCache","fileUploadTrackerCache","bootTask","softwareUpdateTask","clientDistDownloadTask","socketIoTask","printerWebsocketTask","printerWebsocketRestoreTask","printerFilesLoadTask","printJobAnalysisTask"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,WAAW;IACtBC,eAAe;IAEfC,eAAe;IACfC,gBAAgB;IAChBC,uBAAuB;IACvBC,gBAAgB;IAEhBC,YAAY;IACZC,iBAAiB;IACjBC,eAAe;IACfC,mBAAmB;IACnBC,iBAAiB;IACjBC,eAAe;IACfC,eAAe;IACfC,oBAAoB;IACpBC,eAAe;IACfC,eAAe;IACfC,gBAAgB;IAChBC,mBAAmB;IACnBC,8BAA8B;IAC9BC,sBAAsB;IACtBC,iBAAiB;IACjBC,mBAAmB;IACnBC,oBAAoB;IACpBC,qBAAqB;IACrBC,4BAA4B;IAC5BC,cAAc;IACdC,aAAa;IACbC,iBAAiB;IACjBC,sBAAsB;IACtBC,kBAAkB;IAClBC,eAAe;IACfC,gBAAgB;IAChBC,qBAAqB;IACrBC,gBAAgB;IAChBC,kBAAkB;IAClBC,aAAa;IACbC,qBAAqB;IACrBC,aAAa;IACbC,iBAAiB;IACjBC,mBAAmB;IACnBC,YAAY;IACZC,aAAa;IACbC,cAAc;IACdC,cAAc;IACdC,iBAAiB;IACjBC,cAAc;IACdC,iBAAiB;IACjBC,UAAU;IACVC,aAAa;IACbC,iBAAiB;IACjBC,kBAAkB;IAClBC,qBAAqB;IACrBC,eAAe;IACfC,mBAAmB;IACnBC,cAAc;IACdC,kBAAkB;IAClBC,uBAAuB;IACvBC,yBAAyB;IAEzBC,YAAY;IACZC,eAAe;IACfC,oBAAoB;IACpBC,wBAAwB;IACxBC,mBAAmB;IACnBC,yBAAyB;IACzBC,wBAAwB;IACxBC,2BAA2B;IAE3BC,cAAc;IACdC,oBAAoB;IACpBC,uBAAuB;IACvBC,WAAW;IACXC,wBAAwB;IAExBC,UAAU;IACVC,oBAAoB;IACpBC,wBAAwB;IACxBC,cAAc;IACdC,sBAAsB;IACtBC,6BAA6B;IAC7BC,sBAAsB;IACtBC,sBAAsB;AACxB"}
@@ -16,6 +16,9 @@ const _authorizationconstants = require("../constants/authorization.constants");
16
16
  const _filestorageservice = require("../services/file-storage.service");
17
17
  const _multerservice = require("../services/core/multer.service");
18
18
  const _loggerfactory = require("../handlers/logger-factory");
19
+ const _fileanalysisservice = require("../services/file-analysis.service");
20
+ const _nodefs = require("node:fs");
21
+ const _nodepath = require("node:path");
19
22
  function _ts_decorate(decorators, target, key, desc) {
20
23
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
21
24
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -28,10 +31,12 @@ function _ts_metadata(k, v) {
28
31
  class FileStorageController {
29
32
  fileStorageService;
30
33
  multerService;
34
+ fileAnalysisService;
31
35
  logger;
32
- constructor(loggerFactory, fileStorageService, multerService){
36
+ constructor(loggerFactory, fileStorageService, multerService, fileAnalysisService){
33
37
  this.fileStorageService = fileStorageService;
34
38
  this.multerService = multerService;
39
+ this.fileAnalysisService = fileAnalysisService;
35
40
  this.logger = loggerFactory(FileStorageController.name);
36
41
  }
37
42
  async listFiles(req, res) {
@@ -102,10 +107,49 @@ class FileStorageController {
102
107
  });
103
108
  }
104
109
  }
110
+ async analyzeFile(req, res) {
111
+ const { fileStorageId } = req.params;
112
+ try {
113
+ const filePath = this.fileStorageService.getFilePath(fileStorageId);
114
+ const fileExists = await this.fileStorageService.fileExists(fileStorageId);
115
+ if (!fileExists) {
116
+ res.status(404).send({
117
+ error: "File not found"
118
+ });
119
+ return;
120
+ }
121
+ this.logger.log(`Analyzing file: ${fileStorageId}`);
122
+ const existingMetadata = await this.fileStorageService.loadMetadata(fileStorageId);
123
+ const analysisResult = await this.fileAnalysisService.analyzeFile(filePath);
124
+ const metadata = analysisResult.metadata;
125
+ const thumbnails = analysisResult.thumbnails;
126
+ this.logger.log(`Analysis complete for ${fileStorageId}: format=${metadata.fileFormat}, layers=${metadata.totalLayers}, time=${metadata.gcodePrintTimeSeconds}s, thumbnails=${thumbnails.length}`);
127
+ const fileHash = await this.fileStorageService.calculateFileHash(filePath);
128
+ const originalFileName = existingMetadata?._originalFileName || fileStorageId;
129
+ metadata.fileName = originalFileName;
130
+ let thumbnailMetadata = [];
131
+ if (thumbnails.length > 0) {
132
+ thumbnailMetadata = await this.fileStorageService.saveThumbnails(fileStorageId, thumbnails);
133
+ this.logger.log(`Saved ${thumbnailMetadata.length} thumbnails for ${fileStorageId}`);
134
+ }
135
+ await this.fileStorageService.saveMetadata(fileStorageId, metadata, fileHash, originalFileName, thumbnailMetadata);
136
+ res.send({
137
+ message: "File analyzed successfully",
138
+ fileStorageId,
139
+ metadata,
140
+ thumbnailCount: thumbnails.length
141
+ });
142
+ } catch (error) {
143
+ this.logger.error(`Failed to analyze file ${fileStorageId}: ${error}`);
144
+ res.status(500).send({
145
+ error: `Failed to analyze file: ${error}`
146
+ });
147
+ }
148
+ }
105
149
  async getThumbnail(req, res) {
106
150
  const { fileStorageId, index } = req.params;
107
- const thumbnailIndex = parseInt(index);
108
- if (isNaN(thumbnailIndex)) {
151
+ const thumbnailIndex = Number.parseInt(index);
152
+ if (Number.isNaN(thumbnailIndex)) {
109
153
  res.status(400).send({
110
154
  error: "Invalid thumbnail index"
111
155
  });
@@ -119,7 +163,6 @@ class FileStorageController {
119
163
  });
120
164
  return;
121
165
  }
122
- const isPNG = thumbnail[0] === 0x89 && thumbnail[1] === 0x50 && thumbnail[2] === 0x4E && thumbnail[3] === 0x47;
123
166
  const isJPG = thumbnail[0] === 0xFF && thumbnail[1] === 0xD8;
124
167
  let contentType = 'image/png';
125
168
  if (isJPG) contentType = 'image/jpeg';
@@ -155,22 +198,39 @@ class FileStorageController {
155
198
  return;
156
199
  }
157
200
  const file = files[0];
158
- const fileHash = await this.fileStorageService.calculateFileHash(file.path);
159
- const fileStorageId = await this.fileStorageService.saveFile(file, fileHash);
160
- this.logger.log(`Uploaded file ${file.originalname} as ${fileStorageId}`);
201
+ const ext = (0, _nodepath.extname)(file.originalname);
202
+ const tempPathWithExt = file.path + ext;
161
203
  try {
162
- const filePath = this.fileStorageService.getFilePath(fileStorageId);
163
- this.logger.log(`File uploaded successfully, analysis will be processed`);
164
- } catch (analysisError) {
165
- this.logger.warn(`Failed to trigger analysis: ${analysisError}`);
204
+ (0, _nodefs.copyFileSync)(file.path, tempPathWithExt);
205
+ const fileHash = await this.fileStorageService.calculateFileHash(tempPathWithExt);
206
+ this.logger.log(`Analyzing file: ${file.originalname} (ext: ${ext})`);
207
+ const analysisResult = await this.fileAnalysisService.analyzeFile(tempPathWithExt);
208
+ const metadata = analysisResult.metadata;
209
+ const thumbnails = analysisResult.thumbnails;
210
+ this.logger.log(`Analysis complete: format=${metadata.fileFormat}, layers=${metadata.totalLayers}, ` + `time=${metadata.gcodePrintTimeSeconds}s, filament=${metadata.filamentUsedGrams}g, ` + `thumbnails=${thumbnails.length}`);
211
+ const fileStorageId = await this.fileStorageService.saveFile(file, fileHash);
212
+ this.logger.log(`Uploaded file ${file.originalname} as ${fileStorageId}`);
213
+ let thumbnailMetadata = [];
214
+ if (thumbnails.length > 0) {
215
+ thumbnailMetadata = await this.fileStorageService.saveThumbnails(fileStorageId, thumbnails);
216
+ this.logger.log(`Saved ${thumbnailMetadata.length} thumbnail(s) for ${fileStorageId}`);
217
+ }
218
+ await this.fileStorageService.saveMetadata(fileStorageId, metadata, fileHash, file.originalname, thumbnailMetadata);
219
+ this.logger.log(`Saved metadata JSON for ${fileStorageId}`);
220
+ res.send({
221
+ message: "File uploaded successfully",
222
+ fileStorageId,
223
+ fileName: file.originalname,
224
+ fileSize: file.size,
225
+ fileHash,
226
+ metadata,
227
+ thumbnailCount: thumbnails.length
228
+ });
229
+ } finally{
230
+ if ((0, _nodefs.existsSync)(tempPathWithExt)) {
231
+ (0, _nodefs.unlinkSync)(tempPathWithExt);
232
+ }
166
233
  }
167
- res.send({
168
- message: "File uploaded successfully",
169
- fileStorageId,
170
- fileName: file.originalname,
171
- fileSize: file.size,
172
- fileHash
173
- });
174
234
  } catch (error) {
175
235
  this.logger.error(`Failed to upload file: ${error}`);
176
236
  res.status(500).send({
@@ -208,6 +268,16 @@ _ts_decorate([
208
268
  ]),
209
269
  _ts_metadata("design:returntype", Promise)
210
270
  ], FileStorageController.prototype, "deleteFile", null);
271
+ _ts_decorate([
272
+ (0, _awilixexpress.POST)(),
273
+ (0, _awilixexpress.route)("/:fileStorageId/analyze"),
274
+ _ts_metadata("design:type", Function),
275
+ _ts_metadata("design:paramtypes", [
276
+ typeof _express.Request === "undefined" ? Object : _express.Request,
277
+ typeof _express.Response === "undefined" ? Object : _express.Response
278
+ ]),
279
+ _ts_metadata("design:returntype", Promise)
280
+ ], FileStorageController.prototype, "analyzeFile", null);
211
281
  _ts_decorate([
212
282
  (0, _awilixexpress.GET)(),
213
283
  (0, _awilixexpress.route)("/:fileStorageId/thumbnail/:index"),
@@ -241,7 +311,8 @@ FileStorageController = _ts_decorate([
241
311
  _ts_metadata("design:paramtypes", [
242
312
  typeof _loggerfactory.ILoggerFactory === "undefined" ? Object : _loggerfactory.ILoggerFactory,
243
313
  typeof _filestorageservice.FileStorageService === "undefined" ? Object : _filestorageservice.FileStorageService,
244
- typeof _multerservice.MulterService === "undefined" ? Object : _multerservice.MulterService
314
+ typeof _multerservice.MulterService === "undefined" ? Object : _multerservice.MulterService,
315
+ typeof _fileanalysisservice.FileAnalysisService === "undefined" ? Object : _fileanalysisservice.FileAnalysisService
245
316
  ])
246
317
  ], FileStorageController);
247
318
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/controllers/file-storage.controller.ts"],"names":["FileStorageController","logger","loggerFactory","fileStorageService","multerService","name","listFiles","req","res","files","listAllFiles","send","map","file","fileStorageId","fileName","fileFormat","fileSize","fileHash","createdAt","thumbnailCount","thumbnailsUrl","metadata","totalCount","length","error","status","getFileMetadata","params","getFileInfo","deleteFile","log","message","getThumbnail","index","thumbnailIndex","parseInt","isNaN","thumbnail","isPNG","isJPG","contentType","setHeader","uploadFile","acceptedExtensions","multerLoadFileAsync","calculateFileHash","path","saveFile","originalname","filePath","getFilePath","analysisError","warn","size","AppConstants","apiRoute","authenticate","authorizeRoles","ROLES","ADMIN","OPERATOR"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/controllers/file-storage.controller.ts"],"names":["FileStorageController","logger","loggerFactory","fileStorageService","multerService","fileAnalysisService","name","listFiles","req","res","files","listAllFiles","send","map","file","fileStorageId","fileName","fileFormat","fileSize","fileHash","createdAt","thumbnailCount","thumbnailsUrl","metadata","totalCount","length","error","status","getFileMetadata","params","getFileInfo","deleteFile","log","message","analyzeFile","filePath","getFilePath","fileExists","existingMetadata","loadMetadata","analysisResult","thumbnails","totalLayers","gcodePrintTimeSeconds","calculateFileHash","originalFileName","_originalFileName","thumbnailMetadata","saveThumbnails","saveMetadata","getThumbnail","index","thumbnailIndex","Number","parseInt","isNaN","thumbnail","isJPG","contentType","setHeader","uploadFile","acceptedExtensions","multerLoadFileAsync","ext","extname","originalname","tempPathWithExt","path","copyFileSync","filamentUsedGrams","saveFile","size","existsSync","unlinkSync","AppConstants","apiRoute","authenticate","authorizeRoles","ROLES","ADMIN","OPERATOR"],"mappings":"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"}