@plutonhq/core-backend 0.1.16 → 0.1.17

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.
@@ -11,5 +11,6 @@ export declare class SettingsController {
11
11
  downloadAppLogs(req: Request, res: Response): Promise<void>;
12
12
  setupTwoFactorAuth(req: Request, res: Response): Promise<void>;
13
13
  finalizeTwoFactorSetup(req: Request, res: Response): Promise<void>;
14
+ checkLatestVersion(req: Request, res: Response): Promise<void>;
14
15
  }
15
16
  //# sourceMappingURL=SettingsController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsController.d.ts","sourceRoot":"","sources":["../../src/controllers/SettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBAAa,kBAAkB;IAClB,SAAS,CAAC,eAAe,EAAE,eAAe;gBAAhC,eAAe,EAAE,eAAe;IAEhD,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3D,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B1D,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/D,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBtD,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B3D,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9D,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAiCxE"}
1
+ {"version":3,"file":"SettingsController.d.ts","sourceRoot":"","sources":["../../src/controllers/SettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBAAa,kBAAkB;IAClB,SAAS,CAAC,eAAe,EAAE,eAAe;gBAAhC,eAAe,EAAE,eAAe;IAEhD,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3D,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B1D,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/D,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBtD,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B3D,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9D,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAkClE,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAQpE"}
@@ -1 +1 @@
1
- export class SettingsController{settingsService;constructor(settingsService){this.settingsService=settingsService}async getMainSettings(req,res){try{const appSettings=await this.settingsService.getMainSettings();return void res.status(appSettings?200:404).json({success:!0,result:appSettings})}catch(error){res.status(500).json({success:!1,error:"couldn't Retrieve App settings."})}}async getSettings(req,res){if(req.params.id)try{const appSettings=await this.settingsService.getSettings(parseInt(req.params.id,10));res.status(appSettings?200:404).json({success:!0,result:appSettings})}catch(error){res.status(500).json({success:!1,error:"couldn't Retrieve settings for the given ID."})}else res.status(400).json({success:!1,error:"Settings ID is required"})}async updateSettings(req,res){if(!req.params.id||!req.body.settings)return void res.status(400).json({success:!1,error:"Settings ID or Settings Data Missing"});const appSettings=req.body.settings;try{const updatedSettings=await this.settingsService.updateSettings(parseInt(req.params.id,10),appSettings);return void res.status(updatedSettings?200:404).json({success:!0,result:updatedSettings})}catch(error){return void res.status(500).json({success:!1,error:error instanceof Error?error.message:"Failed to update settings"})}}async validateIntegration(req,res){if(!(req.body.settingsID&&req.body.type&&req.body.settings&&req.body.test))return void res.status(400).json({success:!1,error:"Integration Payload Missing."});const appSettings=req.body.settings,integrationType=req.body.type;try{return await this.settingsService.validateIntegration(parseInt(req.body.settingsID,10),integrationType,req.body.test,appSettings),void res.status(200).json({success:!0,result:"Email Sent Successfully"})}catch(error){return void res.status(500).json({success:!1,error:error instanceof Error?error.message:`Failed to send test email using ${integrationType}.`})}}async getAppLogs(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Settings ID is required"});const logs=await this.settingsService.getAppLogs(parseInt(req.params.id,10));return void res.status(200).json({success:!0,result:logs})}catch(error){return void res.status(500).json({success:!1,error:"Failed to get logs: "+error.message})}}async downloadAppLogs(req,res){if(req.params.id)try{const logFileStream=await this.settingsService.getAppLogsFile();return res.setHeader("Content-Type","text/plain"),res.setHeader("Content-Disposition",'attachment; filename="app.log"'),void logFileStream.pipe(res)}catch(error){return void res.status(500).json({success:!1,error:`Failed to download logs: ${error.message}`})}else res.status(400).json({success:!1,error:"Settings ID is required"})}async setupTwoFactorAuth(req,res){try{const{qrCodeDataUrl:qrCodeDataUrl,setupKey:setupKey,tempSecret:tempSecret}=await this.settingsService.setupTwoFactorAuth();req.session.totpSecret=tempSecret,res.status(200).json({success:!0,result:{qrCodeDataUrl:qrCodeDataUrl,setupKey:setupKey}})}catch(error){res.status(error.statusCode||500).json({success:!1,error:error.message})}}async finalizeTwoFactorSetup(req,res){const{code:code}=req.body,settingsId=parseInt(req.params.id,10),tempSecret=req.session.totpSecret;if(tempSecret)try{const{recoveryCodes:recoveryCodes}=await this.settingsService.finalizeTwoFactorSetup(tempSecret,code,settingsId);delete req.session.totpSecret,res.status(200).json({success:!0,result:{recoveryCodes:recoveryCodes}})}catch(error){res.status(error.statusCode||500).json({success:!1,error:error.message})}else res.status(400).json({success:!1,error:"Your session has expired. Please start the setup process again."})}}
1
+ export class SettingsController{settingsService;constructor(settingsService){this.settingsService=settingsService}async getMainSettings(req,res){try{const appSettings=await this.settingsService.getMainSettings();return void res.status(appSettings?200:404).json({success:!0,result:appSettings})}catch(error){res.status(500).json({success:!1,error:"couldn't Retrieve App settings."})}}async getSettings(req,res){if(req.params.id)try{const appSettings=await this.settingsService.getSettings(parseInt(req.params.id,10));res.status(appSettings?200:404).json({success:!0,result:appSettings})}catch(error){res.status(500).json({success:!1,error:"couldn't Retrieve settings for the given ID."})}else res.status(400).json({success:!1,error:"Settings ID is required"})}async updateSettings(req,res){if(!req.params.id||!req.body.settings)return void res.status(400).json({success:!1,error:"Settings ID or Settings Data Missing"});const appSettings=req.body.settings;try{const updatedSettings=await this.settingsService.updateSettings(parseInt(req.params.id,10),appSettings);return void res.status(updatedSettings?200:404).json({success:!0,result:updatedSettings})}catch(error){return void res.status(500).json({success:!1,error:error instanceof Error?error.message:"Failed to update settings"})}}async validateIntegration(req,res){if(!(req.body.settingsID&&req.body.type&&req.body.settings&&req.body.test))return void res.status(400).json({success:!1,error:"Integration Payload Missing."});const appSettings=req.body.settings,integrationType=req.body.type;try{return await this.settingsService.validateIntegration(parseInt(req.body.settingsID,10),integrationType,req.body.test,appSettings),void res.status(200).json({success:!0,result:"Email Sent Successfully"})}catch(error){return void res.status(500).json({success:!1,error:error instanceof Error?error.message:`Failed to send test email using ${integrationType}.`})}}async getAppLogs(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Settings ID is required"});const logs=await this.settingsService.getAppLogs(parseInt(req.params.id,10));return void res.status(200).json({success:!0,result:logs})}catch(error){return void res.status(500).json({success:!1,error:"Failed to get logs: "+error.message})}}async downloadAppLogs(req,res){if(req.params.id)try{const logFileStream=await this.settingsService.getAppLogsFile();return res.setHeader("Content-Type","text/plain"),res.setHeader("Content-Disposition",'attachment; filename="app.log"'),void logFileStream.pipe(res)}catch(error){return void res.status(500).json({success:!1,error:`Failed to download logs: ${error.message}`})}else res.status(400).json({success:!1,error:"Settings ID is required"})}async setupTwoFactorAuth(req,res){try{const{qrCodeDataUrl:qrCodeDataUrl,setupKey:setupKey,tempSecret:tempSecret}=await this.settingsService.setupTwoFactorAuth();req.session.totpSecret=tempSecret,res.status(200).json({success:!0,result:{qrCodeDataUrl:qrCodeDataUrl,setupKey:setupKey}})}catch(error){res.status(error.statusCode||500).json({success:!1,error:error.message})}}async finalizeTwoFactorSetup(req,res){const{code:code}=req.body,settingsId=parseInt(req.params.id,10),tempSecret=req.session.totpSecret;if(tempSecret)try{const{recoveryCodes:recoveryCodes}=await this.settingsService.finalizeTwoFactorSetup(tempSecret,code,settingsId);delete req.session.totpSecret,res.status(200).json({success:!0,result:{recoveryCodes:recoveryCodes}})}catch(error){res.status(error.statusCode||500).json({success:!1,error:error.message})}else res.status(400).json({success:!1,error:"Your session has expired. Please start the setup process again."})}async checkLatestVersion(req,res){try{const latestVersion=await this.settingsService.checkLatestVersion();res.status(200).json({success:!0,result:{latestVersion:latestVersion}})}catch(error){res.status(error.statusCode||500).json({success:!1,error:error.message})}}}
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsController.js","sourceRoot":"","sources":["../../src/controllers/SettingsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SettingsController.js","sourceRoot":"","sources":["../../src/controllers/SettingsController.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,kBAAkB;IACR;IAAtB,YAAsB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAE1D,KAAK,CAAC,eAAe,CAAC,GAAY,EAAE,GAAa;QAChD,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;YACjE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACxC,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,WAAW;aACnB,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,iCAAiC;aACxC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAY,EAAE,GAAa;QAC5C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,yBAAyB;aAChC,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACxF,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACxC,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,WAAW;aACnB,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,8CAA8C;aACrD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAY,EAAE,GAAa;QAC/C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,sCAAsC;aAC7C,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,QAAuB,CAAC;QAErD,IAAI,CAAC;YACJ,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAChE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAC3B,WAAW,CACX,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC5C,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,eAAe;aACvB,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B;aAC3E,CAAC,CAAC;YACH,OAAO;QACR,CAAC;IACF,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAY,EAAE,GAAa;QACpD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,8BAA8B;aACrC,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,QAAuB,CAAC;QACrD,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,IAAwB,CAAC;QAE1D,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAC7C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,EACjC,eAAe,EACf,GAAG,CAAC,IAAI,CAAC,IAAI,EACb,WAAW,CACX,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC3E,OAAO;QACR,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EACJ,KAAK,YAAY,KAAK;oBACrB,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,mCAAmC,eAAe,GAAG;aACzD,CAAC,CAAC;YACH,OAAO;QACR,CAAC;IACF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QAC3C,IAAI,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACpB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,yBAAyB;iBAChC,CAAC,CAAC;gBACH,OAAO;YACR,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAChF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,OAAO;QACR,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,sBAAsB,GAAG,KAAK,CAAC,OAAO;aAC7C,CAAC,CAAC;YACH,OAAO;QACR,CAAC;IACF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAY,EAAE,GAAa;QAChD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,yBAAyB;aAChC,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;YAElE,gCAAgC;YAChC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YAC5C,GAAG,CAAC,SAAS,CAAC,qBAAqB,EAAE,gCAAgC,CAAC,CAAC;YAEvE,2CAA2C;YAC3C,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAExB,gEAAgE;YAChE,OAAO;QACR,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,4BAA4B,KAAK,CAAC,OAAO,EAAE;aAClD,CAAC,CAAC;YACH,OAAO;QACR,CAAC;IACF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAY,EAAE,GAAa;QACnD,IAAI,CAAC;YACJ,qEAAqE;YACrE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,GAC5C,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;YAEjD,iEAAiE;YACjE,GAAG,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;YAEpC,4CAA4C;YAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,GAAY,EAAE,GAAa;QACvD,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAE/C,uDAAuD;QACvD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;QAE1C,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,iEAAiE;aACxE,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,qEAAqE;YACrE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAC1E,UAAU,EACV,IAAI,EACJ,UAAU,CACV,CAAC;YAEF,qDAAqD;YACrD,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,4BAA4B;YAE3D,4CAA4C;YAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,4DAA4D;YAC5D,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAY,EAAE,GAAa;QACnD,IAAI,CAAC;YACJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;YACtE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;IACF,CAAC;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGvE,wBAAgB,oBAAoB,CACnC,UAAU,EAAE,kBAAkB,EAC9B,MAAM,GAAE,MAAiB,GACvB,MAAM,CAWR"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGvE,wBAAgB,oBAAoB,CACnC,UAAU,EAAE,kBAAkB,EAC9B,MAAM,GAAE,MAAiB,GACvB,MAAM,CAcR"}
@@ -1 +1 @@
1
- import{Router}from"express";import authM from"../middlewares/authMiddleware";export function createSettingsRouter(controller,router=Router()){return router.get("/",authM,controller.getMainSettings.bind(controller)),router.get("/:id",authM,controller.getSettings.bind(controller)),router.put("/:id",authM,controller.updateSettings.bind(controller)),router.get("/:id/logs",authM,controller.getAppLogs.bind(controller)),router.get("/:id/logs/download",authM,controller.downloadAppLogs.bind(controller)),router.post("/integration/validate",authM,controller.validateIntegration.bind(controller)),router.post("/:id/2fa/setup",authM,controller.setupTwoFactorAuth.bind(controller)),router.post("/:id/2fa/finalize",authM,controller.finalizeTwoFactorSetup.bind(controller)),router}
1
+ import{Router}from"express";import authM from"../middlewares/authMiddleware";export function createSettingsRouter(controller,router=Router()){return router.get("/",authM,controller.getMainSettings.bind(controller)),router.get("/:id",authM,controller.getSettings.bind(controller)),router.put("/:id",authM,controller.updateSettings.bind(controller)),router.get("/:id/logs",authM,controller.getAppLogs.bind(controller)),router.get("/:id/logs/download",authM,controller.downloadAppLogs.bind(controller)),router.post("/:id/2fa/setup",authM,controller.setupTwoFactorAuth.bind(controller)),router.post("/:id/2fa/finalize",authM,controller.finalizeTwoFactorSetup.bind(controller)),router.post("/integration/validate",authM,controller.validateIntegration.bind(controller)),router.get("/version/latest",authM,controller.checkLatestVersion.bind(controller)),router}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,MAAM,+BAA+B,CAAC;AAElD,MAAM,UAAU,oBAAoB,CACnC,UAA8B,EAC9B,SAAiB,MAAM,EAAE;IAEzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7F,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5F,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,MAAM,+BAA+B,CAAC;AAElD,MAAM,UAAU,oBAAoB,CACnC,UAA8B,EAC9B,SAAiB,MAAM,EAAE;IAEzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5F,cAAc;IACd,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7F,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAErF,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -26,5 +26,6 @@ export declare class SettingsService {
26
26
  finalizeTwoFactorSetup(tempSecret: string, userCode: string, settingsId: number): Promise<{
27
27
  recoveryCodes: string[];
28
28
  }>;
29
+ checkLatestVersion(): Promise<any>;
29
30
  }
30
31
  //# sourceMappingURL=SettingsService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsService.d.ts","sourceRoot":"","sources":["../../src/services/SettingsService.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,UAAU,EAAE,MAAM,IAAI,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAwB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAQtE;;GAEG;AACH,qBAAa,eAAe;IAEf,SAAS,CAAC,aAAa,EAAE,aAAa;IADlD,SAAS,CAAC,2BAA2B,EAAE,4BAA4B,CAA+B;gBAC5E,aAAa,EAAE,aAAa;IAE5C,eAAe,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAI3C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIjD,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgC3E,mBAAmB,CACxB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACvB,QAAQ,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC;IAiDb,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAwCtD,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC;IAmBrC,kBAAkB;;;;;IA2BX,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;;;CA8C5F"}
1
+ {"version":3,"file":"SettingsService.d.ts","sourceRoot":"","sources":["../../src/services/SettingsService.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,UAAU,EAAE,MAAM,IAAI,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAwB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAQtE;;GAEG;AACH,qBAAa,eAAe;IAEf,SAAS,CAAC,aAAa,EAAE,aAAa;IADlD,SAAS,CAAC,2BAA2B,EAAE,4BAA4B,CAA+B;gBAC5E,aAAa,EAAE,aAAa;IAE5C,eAAe,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAI3C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIjD,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgC3E,mBAAmB,CACxB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACvB,QAAQ,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC;IAiDb,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAwCtD,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC;IAmBrC,kBAAkB;;;;;IA2BX,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;;;IA+CtF,kBAAkB;CAcxB"}
@@ -1 +1 @@
1
- import*as otpauth from"otpauth";import qrcode from"qrcode";import{createReadStream,constants}from"fs";import{readFile,access}from"fs/promises";import{settingsUpdateSchema}from"../db/schema/settings";import{TestEmailNotification}from"../notifications/templates/email/test-email/TestEmailNotification";import{NotificationChannelResolver}from"../notifications/channels/NotificationChannelResolver";import{appPaths}from"../utils/AppPaths";import{AppError,NotFoundError}from"../utils/AppError";import Cryptr from"cryptr";import{configService}from"./ConfigService";import{createHash,randomBytes}from"crypto";export class SettingsService{settingsStore;notificationChannelResolver=NotificationChannelResolver;constructor(settingsStore){this.settingsStore=settingsStore}async getMainSettings(){return await this.settingsStore.getFirst()}async getSettings(id){return await this.settingsStore.getById(id)}async updateSettings(id,settings){try{let parsedSettings={...settings};try{parsedSettings=settingsUpdateSchema.partial().parse({settings:parsedSettings}).settings}catch(error){throw new AppError(400,"Invalid settings data provided")}const updatedSettings=await this.settingsStore.update(id,parsedSettings);if(!updatedSettings)throw new AppError(500,"Failed to update settings");return updatedSettings}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"An unexpected error occurred while updating settings.")}}async validateIntegration(id,type,test,settings){const appSettings=settings,integrationType=type;appSettings.integration=this.notificationChannelResolver.encryptSecrets(appSettings.integration);try{const updatedSettings=await this.settingsStore.update(id,appSettings);if(!updatedSettings)throw new AppError(500,"Failed to update settings");const theAppSettings=updatedSettings.settings,notificationClass=new TestEmailNotification({integrationType:integrationType,appTitle:theAppSettings?.title||"Pluton"}),senderChannel=await this.notificationChannelResolver.getChannel(integrationType),sendRes=await senderChannel.send(notificationClass,{emails:test.email});if(sendRes.success)return theAppSettings?.integration?.[integrationType]&&(theAppSettings.integration[integrationType].connected=!0),await this.settingsStore.update(id,theAppSettings),!0;throw new AppError(500,`Failed to send test email using ${integrationType}. Reason: ${sendRes.result}`)}catch(error){throw new AppError(500,error instanceof Error?error.message:`Failed to send test email using ${integrationType}.`)}}async getAppLogs(id){const logFilePath=`${appPaths.getLogsDir()}/app.log`;try{const rawLogs=await readFile(logFilePath,"utf-8");if(!rawLogs)throw new NotFoundError("No logs found");return rawLogs.split(/\r?\n/).filter(line=>""!==line.trim()).map(line=>{try{const entry=JSON.parse(line);if(entry.time){const date=new Date(entry.time);entry.formattedTime=date.toLocaleString()}return entry}catch(e){return{raw:line}}})}catch(error){if("ENOENT"===error.code)throw new NotFoundError("No logs found for this plan");throw new AppError(500,"Failed to read logs: "+error.message)}}async getAppLogsFile(){const logFilePath=`${appPaths.getLogsDir()}/app.log`;try{await access(logFilePath,constants.F_OK);return createReadStream(logFilePath)}catch(error){if("ENOENT"===error.code)throw new NotFoundError("Log file not found");throw new AppError(500,`Failed to download logs: ${error.message}`)}}async setupTwoFactorAuth(){const appSettings=await this.getMainSettings();if(!appSettings||!appSettings.settings)throw new Error("Application settings not found.");const appName=appSettings.settings.title||"Pluton",totp=new otpauth.TOTP({issuer:appName,label:"admin",algorithm:"SHA1",digits:6,period:30}),secret=totp.secret.base32,uri=totp.toString();return{qrCodeDataUrl:await qrcode.toDataURL(uri),setupKey:secret,tempSecret:secret}}async finalizeTwoFactorSetup(tempSecret,userCode,settingsId){if(null===new otpauth.TOTP({secret:otpauth.Secret.fromBase32(tempSecret),algorithm:"SHA1",digits:6,period:30}).validate({token:userCode,window:1}))throw new AppError(400,"Invalid verification code. Please try again.");const appSettings=await this.settingsStore.getById(settingsId);if(!appSettings||!appSettings.settings)throw new AppError(500,"Could not retrieve settings to finalize setup.");const encryptedSecret=new Cryptr(configService.config.SECRET).encrypt(tempSecret),recoveryCodes=Array.from({length:10},()=>randomBytes(5).toString("hex").toUpperCase()),hashedRecoveryCodes=recoveryCodes.map(code=>createHash("sha256").update(code).digest("hex")),updatedSettings={...appSettings.settings,totp:{enabled:!0,secret:encryptedSecret,recoveryCodes:hashedRecoveryCodes}};return await this.settingsStore.update(settingsId,updatedSettings),{recoveryCodes:recoveryCodes}}}
1
+ import*as otpauth from"otpauth";import qrcode from"qrcode";import{createReadStream,constants}from"fs";import{readFile,access}from"fs/promises";import{settingsUpdateSchema}from"../db/schema/settings";import{TestEmailNotification}from"../notifications/templates/email/test-email/TestEmailNotification";import{NotificationChannelResolver}from"../notifications/channels/NotificationChannelResolver";import{appPaths}from"../utils/AppPaths";import{AppError,NotFoundError}from"../utils/AppError";import Cryptr from"cryptr";import{configService}from"./ConfigService";import{createHash,randomBytes}from"crypto";export class SettingsService{settingsStore;notificationChannelResolver=NotificationChannelResolver;constructor(settingsStore){this.settingsStore=settingsStore}async getMainSettings(){return await this.settingsStore.getFirst()}async getSettings(id){return await this.settingsStore.getById(id)}async updateSettings(id,settings){try{let parsedSettings={...settings};try{parsedSettings=settingsUpdateSchema.partial().parse({settings:parsedSettings}).settings}catch(error){throw new AppError(400,"Invalid settings data provided")}const updatedSettings=await this.settingsStore.update(id,parsedSettings);if(!updatedSettings)throw new AppError(500,"Failed to update settings");return updatedSettings}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"An unexpected error occurred while updating settings.")}}async validateIntegration(id,type,test,settings){const appSettings=settings,integrationType=type;appSettings.integration=this.notificationChannelResolver.encryptSecrets(appSettings.integration);try{const updatedSettings=await this.settingsStore.update(id,appSettings);if(!updatedSettings)throw new AppError(500,"Failed to update settings");const theAppSettings=updatedSettings.settings,notificationClass=new TestEmailNotification({integrationType:integrationType,appTitle:theAppSettings?.title||"Pluton"}),senderChannel=await this.notificationChannelResolver.getChannel(integrationType),sendRes=await senderChannel.send(notificationClass,{emails:test.email});if(sendRes.success)return theAppSettings?.integration?.[integrationType]&&(theAppSettings.integration[integrationType].connected=!0),await this.settingsStore.update(id,theAppSettings),!0;throw new AppError(500,`Failed to send test email using ${integrationType}. Reason: ${sendRes.result}`)}catch(error){throw new AppError(500,error instanceof Error?error.message:`Failed to send test email using ${integrationType}.`)}}async getAppLogs(id){const logFilePath=`${appPaths.getLogsDir()}/app.log`;try{const rawLogs=await readFile(logFilePath,"utf-8");if(!rawLogs)throw new NotFoundError("No logs found");return rawLogs.split(/\r?\n/).filter(line=>""!==line.trim()).map(line=>{try{const entry=JSON.parse(line);if(entry.time){const date=new Date(entry.time);entry.formattedTime=date.toLocaleString()}return entry}catch(e){return{raw:line}}})}catch(error){if("ENOENT"===error.code)throw new NotFoundError("No logs found for this plan");throw new AppError(500,"Failed to read logs: "+error.message)}}async getAppLogsFile(){const logFilePath=`${appPaths.getLogsDir()}/app.log`;try{await access(logFilePath,constants.F_OK);return createReadStream(logFilePath)}catch(error){if("ENOENT"===error.code)throw new NotFoundError("Log file not found");throw new AppError(500,`Failed to download logs: ${error.message}`)}}async setupTwoFactorAuth(){const appSettings=await this.getMainSettings();if(!appSettings||!appSettings.settings)throw new Error("Application settings not found.");const appName=appSettings.settings.title||"Pluton",totp=new otpauth.TOTP({issuer:appName,label:"admin",algorithm:"SHA1",digits:6,period:30}),secret=totp.secret.base32,uri=totp.toString();return{qrCodeDataUrl:await qrcode.toDataURL(uri),setupKey:secret,tempSecret:secret}}async finalizeTwoFactorSetup(tempSecret,userCode,settingsId){if(null===new otpauth.TOTP({secret:otpauth.Secret.fromBase32(tempSecret),algorithm:"SHA1",digits:6,period:30}).validate({token:userCode,window:1}))throw new AppError(400,"Invalid verification code. Please try again.");const appSettings=await this.settingsStore.getById(settingsId);if(!appSettings||!appSettings.settings)throw new AppError(500,"Could not retrieve settings to finalize setup.");const encryptedSecret=new Cryptr(configService.config.SECRET).encrypt(tempSecret),recoveryCodes=Array.from({length:10},()=>randomBytes(5).toString("hex").toUpperCase()),hashedRecoveryCodes=recoveryCodes.map(code=>createHash("sha256").update(code).digest("hex")),updatedSettings={...appSettings.settings,totp:{enabled:!0,secret:encryptedSecret,recoveryCodes:hashedRecoveryCodes}};return await this.settingsStore.update(settingsId,updatedSettings),{recoveryCodes:recoveryCodes}}async checkLatestVersion(){try{const response=await fetch("https://api.github.com/repos/plutonhq/pluton/releases/latest");if(!response.ok)throw new AppError(500,"Failed to fetch latest version info");const data=await response.json();return data.tag_name?data.tag_name.replace(/^pluton-v/,""):"Unknown"}catch(error){throw new AppError(500,error?.message||"Failed to check latest version")}}}
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsService.js","sourceRoot":"","sources":["../../src/services/SettingsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SettingsService.js","sourceRoot":"","sources":["../../src/services/SettingsService.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Helper functions to detect installation type, platform capabilities,
5
5
  * and environment configuration for the Pluton application.
6
6
  */
7
- export type InstallType = 'docker' | 'binary' | 'dev';
7
+ export type InstallType = 'docker' | 'binary' | 'server' | 'dev';
8
8
  /**
9
9
  * Check if running as a pkg-packaged binary
10
10
  */
@@ -13,9 +13,13 @@ export declare function isBinaryMode(): boolean;
13
13
  * Check if running in Docker container
14
14
  */
15
15
  export declare function isDockerMode(): boolean;
16
+ /**
17
+ * Check if running as a binary on a headless Linux server (no desktop environment)
18
+ */
19
+ export declare function isServerMode(): boolean;
16
20
  /**
17
21
  * Determines the installation type of the application
18
- * @returns 'docker' | 'binary' | 'dev'
22
+ * @returns 'docker' | 'binary' | 'server' | 'dev'
19
23
  */
20
24
  export declare function getInstallType(): InstallType;
21
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"installHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/installHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEtD;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAQ5C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAoBxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAK3C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C"}
1
+ {"version":3,"file":"installHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/installHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEjE;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAQ5C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAoBxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAK3C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C"}
@@ -1 +1 @@
1
- export function isBinaryMode(){return!!process.pkg}export function isDockerMode(){return"true"===process.env.IS_DOCKER||"1"===process.env.IS_DOCKER}export function getInstallType(){return isDockerMode()?"docker":isBinaryMode()?"binary":"dev"}export function isLinuxDesktop(){if("linux"!==process.platform)return!1;if("true"===process.env.PLUTON_LINUX_DESKTOP||"1"===process.env.PLUTON_LINUX_DESKTOP)return!0;const hasDisplay=!(!process.env.DISPLAY&&!process.env.WAYLAND_DISPLAY),hasDesktopEnv=!!(process.env.XDG_CURRENT_DESKTOP||process.env.DESKTOP_SESSION||process.env.GNOME_DESKTOP_SESSION_ID||process.env.KDE_FULL_SESSION);return hasDisplay||hasDesktopEnv}export function isKeyringPlatform(){const platform=process.platform;return"win32"===platform||"darwin"===platform||"linux"===platform&&isLinuxDesktop()}export function requiresKeyringSetup(){return isBinaryMode()&&isKeyringPlatform()}
1
+ export function isBinaryMode(){return!!process.pkg}export function isDockerMode(){return"true"===process.env.IS_DOCKER||"1"===process.env.IS_DOCKER}export function isServerMode(){return isBinaryMode()&&"linux"===process.platform&&!isLinuxDesktop()}export function getInstallType(){return isDockerMode()?"docker":isBinaryMode()?isServerMode()?"server":"binary":"dev"}export function isLinuxDesktop(){if("linux"!==process.platform)return!1;if("true"===process.env.PLUTON_LINUX_DESKTOP||"1"===process.env.PLUTON_LINUX_DESKTOP)return!0;const hasDisplay=!(!process.env.DISPLAY&&!process.env.WAYLAND_DISPLAY),hasDesktopEnv=!!(process.env.XDG_CURRENT_DESKTOP||process.env.DESKTOP_SESSION||process.env.GNOME_DESKTOP_SESSION_ID||process.env.KDE_FULL_SESSION);return hasDisplay||hasDesktopEnv}export function isKeyringPlatform(){const platform=process.platform;return"win32"===platform||"darwin"===platform||"linux"===platform&&isLinuxDesktop()}export function requiresKeyringSetup(){return isBinaryMode()&&isKeyringPlatform()}
@@ -1 +1 @@
1
- {"version":3,"file":"installHelpers.js","sourceRoot":"","sources":["../../src/utils/installHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,UAAU,YAAY;IAC3B,OAAO,CAAC,CAAE,OAAe,CAAC,GAAG,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC7B,IAAI,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAI,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAE/C,kFAAkF;IAClF,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC;IACb,CAAC;IAED,4CAA4C;IAC5C,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE1E,kDAAkD;IAClD,MAAM,aAAa,GAAG,CAAC,CAAC,CACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAC/B,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3B,OAAO,CAAC,GAAG,CAAC,wBAAwB;QACpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAC5B,CAAC;IAEF,OAAO,UAAU,IAAI,aAAa,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,OAAO,CACN,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,cAAc,EAAE,CAAC,CAC3F,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IACnC,OAAO,YAAY,EAAE,IAAI,iBAAiB,EAAE,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"installHelpers.js","sourceRoot":"","sources":["../../src/utils/installHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,UAAU,YAAY;IAC3B,OAAO,CAAC,CAAE,OAAe,CAAC,GAAG,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC3B,OAAO,YAAY,EAAE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC7B,IAAI,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAI,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAE/C,kFAAkF;IAClF,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC;IACb,CAAC;IAED,4CAA4C;IAC5C,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE1E,kDAAkD;IAClD,MAAM,aAAa,GAAG,CAAC,CAAC,CACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAC/B,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3B,OAAO,CAAC,GAAG,CAAC,wBAAwB;QACpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAC5B,CAAC;IAEF,OAAO,UAAU,IAAI,aAAa,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,OAAO,CACN,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,cAAc,EAAE,CAAC,CAC3F,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IACnC,OAAO,YAAY,EAAE,IAAI,iBAAiB,EAAE,CAAC;AAC9C,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@plutonhq/core-backend",
3
3
  "description": "Pluton Core Backend Library",
4
- "version": "0.1.16",
4
+ "version": "0.1.17",
5
5
  "author": "plutonhq",
6
6
  "license": "Apache-2.0",
7
7
  "publishConfig": {