@hed-hog/core 0.0.108 → 0.0.110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mail/mail.service.d.ts.map +1 -1
- package/dist/mail/mail.service.js +0 -14
- package/dist/mail/mail.service.js.map +1 -1
- package/dist/task/task.service.d.ts +3 -1
- package/dist/task/task.service.d.ts.map +1 -1
- package/dist/task/task.service.js +28 -15
- package/dist/task/task.service.js.map +1 -1
- package/hedhog/data/route.yaml +4 -0
- package/hedhog/data/setting_group.yaml +32 -0
- package/package.json +1 -1
- package/src/mail/mail.service.ts +0 -17
- package/src/task/task.service.ts +28 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail.service.d.ts","sourceRoot":"","sources":["../../src/mail/mail.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBACa,WAAW;IAMpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;gBAIjB,aAAa,EAAE,aAAa,EAE5B,eAAe,EAAE,eAAe,EAEhC,aAAa,EAAE,aAAa,EAE5B,OAAO,EAAE,cAAc;IAG1C;;OAEG;IACG,YAAY;;;;IA8EZ,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa;;;;;;;;;IAuCpD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;IAqC9B,MAAM,CAAC,IAAI,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;IAqCtB,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;IA+EpD,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAetD,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"mail.service.d.ts","sourceRoot":"","sources":["../../src/mail/mail.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBACa,WAAW;IAMpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;gBAIjB,aAAa,EAAE,aAAa,EAE5B,eAAe,EAAE,eAAe,EAEhC,aAAa,EAAE,aAAa,EAE5B,OAAO,EAAE,cAAc;IAG1C;;OAEG;IACG,YAAY;;;;IA8EZ,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa;;;;;;;;;IAuCpD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;IAqC9B,MAAM,CAAC,IAAI,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;IAqCtB,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;IA+EpD,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAetD,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,oBAAoB;YAmCpC,eAAe;YAYf,eAAe;IAqB7B,OAAO,CAAC,mBAAmB;IAerB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EACjC,IAAI,EACJ,KAAK,EACL,OAAO,EACP,IAAI,EACJ,SAAS,GACV,EAAE,WAAW;IAiCR,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS;;;;;;;;;;;CAwGrD"}
|
|
@@ -321,9 +321,6 @@ let MailService = MailService_1 = class MailService {
|
|
|
321
321
|
'configured-mail',
|
|
322
322
|
'mail-from'
|
|
323
323
|
]);
|
|
324
|
-
console.log({
|
|
325
|
-
settings
|
|
326
|
-
});
|
|
327
324
|
if (!settings['configured-mail']) {
|
|
328
325
|
this.logger.warn('Mail service is not configured. Aborting sending email.');
|
|
329
326
|
return;
|
|
@@ -391,20 +388,9 @@ let MailService = MailService_1 = class MailService {
|
|
|
391
388
|
'configured-mail',
|
|
392
389
|
'mail-from'
|
|
393
390
|
]);
|
|
394
|
-
console.log({
|
|
395
|
-
settings
|
|
396
|
-
});
|
|
397
391
|
if (!settings['configured-mail']) {
|
|
398
392
|
throw new common_1.BadRequestException('Mail service is not configured.');
|
|
399
393
|
}
|
|
400
|
-
console.log('sendTestMail data:', {
|
|
401
|
-
slug,
|
|
402
|
-
email,
|
|
403
|
-
subject,
|
|
404
|
-
body,
|
|
405
|
-
variables,
|
|
406
|
-
settings
|
|
407
|
-
});
|
|
408
394
|
try {
|
|
409
395
|
const parsedSubject = variables
|
|
410
396
|
? this.interpolateTemplate(subject, variables)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail.service.js","sourceRoot":"","sources":["../../src/mail/mail.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mail.service.js","sourceRoot":"","sources":["../../src/mail/mail.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAAoD;AACpD,gDAAmE;AAEnE,oDAAoD;AACpD,2CAMwB;AACxB,uDAAyC;AACzC,gEAA4D;AAQrD,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAItB,YAEE,aAA6C,EAE7C,eAAiD,EAEjD,aAA6C,EAE7C,OAAwC;QANvB,kBAAa,GAAb,aAAa,CAAe;QAE5B,oBAAe,GAAf,eAAe,CAAiB;QAEhC,kBAAa,GAAb,aAAa,CAAe;QAE5B,YAAO,GAAP,OAAO,CAAgB;QAXzB,WAAM,GAAG,IAAI,eAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;QACtC,cAAS,GAAG,MAAM,CAAC;IAWhC,CAAC;IAEL;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC7D,KAAK,EAAE;oBACL,IAAI,EAAE;wBACJ,EAAE,EAAE;4BACF,eAAe;4BACf,WAAW;4BACX,sBAAsB;4BACtB,0BAA0B;4BAC1B,0BAA0B;4BAC1B,gBAAgB;4BAChB,gBAAgB;4BAChB,kBAAkB;4BAClB,oBAAoB;4BACpB,wBAAwB;4BACxB,4BAA4B;4BAC5B,iBAAiB;yBAClB;qBACF;iBACF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;iBACZ;aACF,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC3C,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,MAAM,GAAQ;gBAClB,MAAM,EAAE,IAAI;aACb,CAAC;YAEF,QAAQ,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;gBACtC,KAAK,OAAO;oBACV,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;wBACpB,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC;wBAC9C,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC;wBACtD,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC;wBACtD,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;qBAChC,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;wBACpB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC;wBACpC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;wBAC5C,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,MAAM;wBACnD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;wBACnC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC;qBAC7C,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,KAAK;oBACR,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;wBACpB,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC;wBACvC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC;wBACnD,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC;wBAC3D,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;qBAChC,CAAC,CAAC;oBACH,MAAM;gBACR;oBACE,MAAM,IAAI,4BAAmB,CAAC,0BAA0B,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAC5D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAChE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,gBAA+B;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CACzD,MAAM,EACN,IAAI,CAAC,SAAS,EACd,gBAAgB,CACjB,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC1D,KAAK,EAAE;oBACL,OAAO,EAAE;wBACP,EAAE,EAAE,OAAO;qBACZ;iBACF;gBACD,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,IAAI;iBACX;aACF,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;gBACpD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC5B,CAAC;gBACD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnC,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAA2B,CAAC,CAAC;YAEhC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,iCACxC,IAAI,KACP,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAC1C,CAAC,CAAC;QACN,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,EAAU;QAClC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACpD,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,KAAK,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE;oBACrC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;iBAChD;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE;wBACN,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,IAAI;qBACX;iBACF;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS;YAChC,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,OAAO,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,KAAI,EAAE;YAClC,IAAI,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,KAAI,EAAE;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM;YAC1B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAe;QAC1B,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACxD,KAAK,EAAE,EAAE,IAAI,EAAE;SAChB,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,4BAAmB,CAAC,uBAAuB,IAAI,mBAAmB,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE;gBACJ,IAAI;gBACJ,WAAW,EAAE,WAAW;oBACtB,CAAC,CAAC;wBACE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BAC/B,SAAS,EAAE,EAAE,CAAC,SAAS;4BACvB,OAAO,EAAE,EAAE,CAAC,OAAO;4BACnB,IAAI,EAAE,EAAE,CAAC,IAAI;yBACd,CAAC,CAAC;qBACJ;oBACH,CAAC,CAAC,SAAS;gBACb,QAAQ,EAAE,QAAQ;oBAChB,CAAC,CAAC;wBACE,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BAC5B,IAAI,EAAE,EAAE,CAAC,IAAI;yBACd,CAAC,CAAC;qBACJ;oBACH,CAAC,CAAC,SAAS;aACd;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,IAAI;aACf;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAmC;QACxD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5D,KAAK,EAAE,EAAE,EAAE,EAAE;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,4BAAmB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC1D,KAAK,EAAE,EAAE,IAAI,EAAE;aAChB,CAAC,CAAC;YAEH,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,IAAI,4BAAmB,CAAC,uBAAuB,IAAI,mBAAmB,CAAC,CAAC;YAChF,CAAC;YAED,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;gBACnC,KAAK,EAAE,EAAE,EAAE,EAAE;gBACb,IAAI,EAAE,EAAE,IAAI,EAAE;aACf,CAAC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC;oBACpE,KAAK,EAAE;wBACL,OAAO,EAAE,EAAE;wBACX,SAAS,EAAE,EAAE,CAAC,SAAS;qBACxB;iBACF,CAAC,CAAC;gBAEH,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC;wBAC1C,KAAK,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE;wBAChC,IAAI,EAAE;4BACJ,OAAO,EAAE,EAAE,CAAC,OAAO;4BACnB,IAAI,EAAE,EAAE,CAAC,IAAI;yBACd;qBACF,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC;wBAC1C,IAAI,EAAE;4BACJ,OAAO,EAAE,EAAE;4BACX,SAAS,EAAE,EAAE,CAAC,SAAS;4BACvB,OAAO,EAAE,EAAE,CAAC,OAAO;4BACnB,IAAI,EAAE,EAAE,CAAC,IAAI;yBACd;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC3C,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;aACvB,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC3C,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC1B,OAAO,EAAE,EAAE;wBACX,IAAI,EAAE,EAAE,CAAC,IAAI;qBACd,CAAC,CAAC;iBACJ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACxC,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,IAAI;aACf;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAa;QAC7B,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,4BAAmB,CAC3B,8CAA8C,CAC/C,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACxC,KAAK,EAAE;gBACL,EAAE,EAAE;oBACF,EAAE,EAAE,GAAG;iBACR;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAwB;QAGhD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACnD,iBAAiB;YACjB,WAAW;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACnE,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAE7D,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC9B,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC;gBAC3B,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,IAAI,CAAC,EAAE;aACjB,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAc;QAC1C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;YAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,QAAgB;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACpD,KAAK,EAAE,EAAE,IAAI,EAAE;YACf,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;oBAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;iBACtC;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;iBACvB;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,2BAA2B,QAAQ,GAAG,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CACzB,MAAc,EACd,IAAS;QAET,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9E,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YACnE,MAAM,IAAI,4BAAmB,CAC3B,4BAA4B,KAAK,CAAC,OAAO,iDAAiD,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,EACjC,IAAI,EACJ,KAAK,EACL,OAAO,EACP,IAAI,EACJ,SAAS,GACG;QACZ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACnD,iBAAiB;YACjB,WAAW;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,4BAAmB,CAAC,iCAAiC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,SAAS;gBAC7B,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC;gBAC9C,CAAC,CAAC,OAAO,CAAC;YACZ,MAAM,UAAU,GAAG,SAAS;gBAC1B,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC;gBAC3C,CAAC,CAAC,IAAI,CAAC;YAET,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC/B,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,IAAI,4BAAmB,CAAC,2BAA2B,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAa;QAClD,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;oBACxD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;iBAC/B,CAAC,CAAC;gBAEH,IAAI,QAAQ,EAAE,CAAC;oBACb,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAU,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvD,KAAK,EAAE;wBACL,IAAI,EAAE;4BACJ,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;yBAC7C;qBACF;iBACF,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAClD,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;oBACxD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;iBAC/B,CAAC,CAAC;gBAEH,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;oBAC1B,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC;wBAC9C,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE;qBAChC,CAAC,CAAC;oBAEH,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAC3C,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE;qBAChC,CAAC,CAAC;oBAEH,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC;wBAC9C,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;4BAChD,OAAO,EAAE,QAAQ,CAAC,EAAE;4BACpB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAE;4BAC3C,OAAO,EAAE,WAAW,CAAC,OAAO;4BAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;yBACvB,CAAC,CAAC;qBACJ,CAAC,CAAC;oBAEH,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxD,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;4BAC3C,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gCAC1C,OAAO,EAAE,QAAQ,CAAC,EAAE;gCACpB,IAAI,EAAE,QAAQ;6BACf,CAAC,CAAC;yBACJ,CAAC,CAAC;oBACL,CAAC;oBAED,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC7B,CAAC;qBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACrB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;wBACnD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,WAAW,EAAE;gCACX,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oCAClD,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAE;oCAC3C,OAAO,EAAE,WAAW,CAAC,OAAO;oCAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;iCACvB,CAAC,CAAC;6BACJ;4BACD,QAAQ,EAAE,QAAQ,CAAC,SAAS;gCAC1B,CAAC,CAAC;oCACE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wCAC5C,IAAI,EAAE,QAAQ;qCACf,CAAC,CAAC;iCACJ;gCACH,CAAC,CAAC,SAAS;yBACd;qBACF,CAAC,CAAC;oBAEH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,QAAQ,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;gBACvE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBACzE,MAAM,IAAI,4BAAmB,CAC3B,8BAA8B,QAAQ,CAAC,IAAI,MAAM,OAAO,EAAE,CAC3D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,SAAS,EAAE,QAAQ;SACpB,CAAC;IACJ,CAAC;CACF,CAAA;AAnhBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAa,CAAC,CAAC,CAAA;IAEvC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,sBAAe,CAAC,CAAC,CAAA;IAEzC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAa,CAAC,CAAC,CAAA;IAEvC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC,CAAC,CAAA;qCALT,0BAAa;QAEX,sBAAe;QAEjB,0BAAa;QAEnB,gCAAc;GAZ/B,WAAW,CAmhBvB"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { PrismaService } from '@hed-hog/api-prisma';
|
|
2
|
+
import { SettingService } from '../setting/setting.service';
|
|
2
3
|
export declare class TasksService {
|
|
3
4
|
private readonly prismaService;
|
|
5
|
+
private readonly settingService;
|
|
4
6
|
private readonly logger;
|
|
5
|
-
constructor(prismaService: PrismaService);
|
|
7
|
+
constructor(prismaService: PrismaService, settingService: SettingService);
|
|
6
8
|
/**
|
|
7
9
|
* Executa todas as tarefas de limpeza do banco de dados diariamente à meia-noite.
|
|
8
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.service.d.ts","sourceRoot":"","sources":["../../src/task/task.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,qBACa,YAAY;
|
|
1
|
+
{"version":3,"file":"task.service.d.ts","sourceRoot":"","sources":["../../src/task/task.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,qBACa,YAAY;IAIrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAGrC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc;IAGjD;;;;;OAKG;IAEG,KAAK;IAqBX;;;;;;;;;;;;OAYG;YACW,yBAAyB;IAyBvC;;;;;;;;;;;;;OAaG;YACW,oBAAoB;IA0BlC;;;;;;;;;;;;;;;;;OAiBG;YACW,oCAAoC;IAgClD;;;;;;;;;;;;;;;;;;;;OAoBG;YACW,uCAAuC;CAoCtD"}
|
|
@@ -14,9 +14,12 @@ exports.TasksService = void 0;
|
|
|
14
14
|
const api_prisma_1 = require("@hed-hog/api-prisma");
|
|
15
15
|
const common_1 = require("@nestjs/common");
|
|
16
16
|
const schedule_1 = require("@nestjs/schedule");
|
|
17
|
+
const client_1 = require("@prisma/client");
|
|
18
|
+
const setting_service_1 = require("../setting/setting.service");
|
|
17
19
|
let TasksService = TasksService_1 = class TasksService {
|
|
18
|
-
constructor(prismaService) {
|
|
20
|
+
constructor(prismaService, settingService) {
|
|
19
21
|
this.prismaService = prismaService;
|
|
22
|
+
this.settingService = settingService;
|
|
20
23
|
this.logger = new common_1.Logger(TasksService_1.name);
|
|
21
24
|
}
|
|
22
25
|
/**
|
|
@@ -54,20 +57,22 @@ let TasksService = TasksService_1 = class TasksService {
|
|
|
54
57
|
* Limite: 20.000 registros por execução para evitar lock prolongado da tabela.
|
|
55
58
|
*/
|
|
56
59
|
async clearExpiredMfaChallenges() {
|
|
60
|
+
const settings = await this.settingService.getSettingValues(['cleanup-batch-limit']);
|
|
61
|
+
const batchLimit = Number(settings['cleanup-batch-limit']) || 20000;
|
|
57
62
|
this.logger.verbose('Starting cleanup of expired/verified MFA challenges');
|
|
58
63
|
const startAt = Date.now();
|
|
59
|
-
await this.prismaService.$
|
|
64
|
+
await this.prismaService.$executeRaw `
|
|
60
65
|
WITH del AS (
|
|
61
66
|
SELECT user_mfa_id
|
|
62
67
|
FROM user_mfa_challenge
|
|
63
68
|
WHERE expires_at < now()
|
|
64
69
|
OR verified_at IS NOT NULL
|
|
65
70
|
ORDER BY user_mfa_id
|
|
66
|
-
LIMIT
|
|
71
|
+
LIMIT ${batchLimit}
|
|
67
72
|
)
|
|
68
73
|
DELETE FROM user_mfa_challenge c
|
|
69
74
|
USING del
|
|
70
|
-
WHERE c.user_mfa_id = del.user_mfa_id
|
|
75
|
+
WHERE c.user_mfa_id = del.user_mfa_id
|
|
71
76
|
`;
|
|
72
77
|
this.logger.verbose(`Expired/verified MFA challenges cleaned up in ${Date.now() - startAt}ms`);
|
|
73
78
|
}
|
|
@@ -86,20 +91,23 @@ let TasksService = TasksService_1 = class TasksService {
|
|
|
86
91
|
* Limite: 20.000 registros por execução para evitar lock prolongado da tabela.
|
|
87
92
|
*/
|
|
88
93
|
async clearExpiredSessions() {
|
|
94
|
+
const settings = await this.settingService.getSettingValues(['cleanup-batch-limit', 'session-retention-days']);
|
|
95
|
+
const batchLimit = Number(settings['cleanup-batch-limit']) || 20000;
|
|
96
|
+
const retentionDays = Number(settings['session-retention-days']) || 90;
|
|
89
97
|
this.logger.verbose('Starting cleanup of expired sessions');
|
|
90
98
|
const startAt = Date.now();
|
|
91
|
-
await this.prismaService.$
|
|
99
|
+
await this.prismaService.$executeRaw `
|
|
92
100
|
WITH del AS (
|
|
93
101
|
SELECT id
|
|
94
102
|
FROM user_session
|
|
95
103
|
WHERE expires_at < now()
|
|
96
|
-
AND created_at < (now() -
|
|
104
|
+
AND created_at < (now() - ${client_1.Prisma.sql `INTERVAL '${client_1.Prisma.raw(String(retentionDays))} days'`})
|
|
97
105
|
ORDER BY id
|
|
98
|
-
LIMIT
|
|
106
|
+
LIMIT ${batchLimit}
|
|
99
107
|
)
|
|
100
108
|
DELETE FROM user_session s
|
|
101
109
|
USING del
|
|
102
|
-
WHERE s.id = del.id
|
|
110
|
+
WHERE s.id = del.id
|
|
103
111
|
`;
|
|
104
112
|
this.logger.verbose(`Expired sessions cleaned up in ${Date.now() - startAt}ms`);
|
|
105
113
|
}
|
|
@@ -122,15 +130,17 @@ let TasksService = TasksService_1 = class TasksService {
|
|
|
122
130
|
* Limite: 20.000 registros por execução para evitar lock prolongado das tabelas.
|
|
123
131
|
*/
|
|
124
132
|
async clearExpiredUserIdentifierChallenges() {
|
|
133
|
+
const settings = await this.settingService.getSettingValues(['cleanup-batch-limit']);
|
|
134
|
+
const batchLimit = Number(settings['cleanup-batch-limit']) || 20000;
|
|
125
135
|
this.logger.verbose('Starting cleanup of expired user identifier challenges');
|
|
126
136
|
const startAt = Date.now();
|
|
127
|
-
await this.prismaService.$
|
|
137
|
+
await this.prismaService.$executeRaw `
|
|
128
138
|
WITH expired_challenges AS (
|
|
129
139
|
SELECT user_identifier_id
|
|
130
140
|
FROM user_identifier_challenge
|
|
131
141
|
WHERE expires_at < now() AND verified_at IS NULL
|
|
132
142
|
ORDER BY user_identifier_id
|
|
133
|
-
LIMIT
|
|
143
|
+
LIMIT ${batchLimit}
|
|
134
144
|
),
|
|
135
145
|
deleted_challenges AS (
|
|
136
146
|
DELETE FROM user_identifier_challenge c
|
|
@@ -142,7 +152,7 @@ let TasksService = TasksService_1 = class TasksService {
|
|
|
142
152
|
DELETE FROM user_identifier ui
|
|
143
153
|
USING deleted_challenges
|
|
144
154
|
WHERE ui.id = deleted_challenges.user_identifier_id
|
|
145
|
-
AND ui.verified_at IS NULL
|
|
155
|
+
AND ui.verified_at IS NULL
|
|
146
156
|
`;
|
|
147
157
|
this.logger.verbose(`Expired user identifier challenges and unverified identifiers cleaned up in ${Date.now() - startAt}ms`);
|
|
148
158
|
}
|
|
@@ -168,9 +178,11 @@ let TasksService = TasksService_1 = class TasksService {
|
|
|
168
178
|
* Limite: 20.000 registros por execução para evitar lock prolongado das tabelas.
|
|
169
179
|
*/
|
|
170
180
|
async clearUnverifiedMfaWithExpiredChallenges() {
|
|
181
|
+
const settings = await this.settingService.getSettingValues(['cleanup-batch-limit']);
|
|
182
|
+
const batchLimit = Number(settings['cleanup-batch-limit']) || 20000;
|
|
171
183
|
this.logger.verbose('Starting cleanup of unverified MFA with expired challenges');
|
|
172
184
|
const startAt = Date.now();
|
|
173
|
-
await this.prismaService.$
|
|
185
|
+
await this.prismaService.$executeRaw `
|
|
174
186
|
WITH unverified_mfa AS (
|
|
175
187
|
SELECT um.id
|
|
176
188
|
FROM user_mfa um
|
|
@@ -181,7 +193,7 @@ let TasksService = TasksService_1 = class TasksService {
|
|
|
181
193
|
WHERE umc.user_mfa_id = um.id
|
|
182
194
|
AND umc.expires_at >= now()
|
|
183
195
|
)
|
|
184
|
-
LIMIT
|
|
196
|
+
LIMIT ${batchLimit}
|
|
185
197
|
),
|
|
186
198
|
deleted_challenges AS (
|
|
187
199
|
DELETE FROM user_mfa_challenge umc
|
|
@@ -191,7 +203,7 @@ let TasksService = TasksService_1 = class TasksService {
|
|
|
191
203
|
)
|
|
192
204
|
DELETE FROM user_mfa um
|
|
193
205
|
USING unverified_mfa
|
|
194
|
-
WHERE um.id = unverified_mfa.id
|
|
206
|
+
WHERE um.id = unverified_mfa.id
|
|
195
207
|
`;
|
|
196
208
|
this.logger.verbose(`Unverified MFA with expired challenges cleaned up in ${Date.now() - startAt}ms`);
|
|
197
209
|
}
|
|
@@ -205,6 +217,7 @@ __decorate([
|
|
|
205
217
|
], TasksService.prototype, "clear", null);
|
|
206
218
|
exports.TasksService = TasksService = TasksService_1 = __decorate([
|
|
207
219
|
(0, common_1.Injectable)(),
|
|
208
|
-
__metadata("design:paramtypes", [api_prisma_1.PrismaService
|
|
220
|
+
__metadata("design:paramtypes", [api_prisma_1.PrismaService,
|
|
221
|
+
setting_service_1.SettingService])
|
|
209
222
|
], TasksService);
|
|
210
223
|
//# sourceMappingURL=task.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.service.js","sourceRoot":"","sources":["../../src/task/task.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,oDAAoD;AACpD,2CAAoD;AACpD,+CAAwD;
|
|
1
|
+
{"version":3,"file":"task.service.js","sourceRoot":"","sources":["../../src/task/task.service.ts"],"names":[],"mappings":"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"}
|
package/hedhog/data/route.yaml
CHANGED
|
@@ -28,6 +28,38 @@
|
|
|
28
28
|
pt: A URL da API do sistema
|
|
29
29
|
value: http://localhost:3100
|
|
30
30
|
user_override: false
|
|
31
|
+
- slug: maintenance
|
|
32
|
+
icon: database-cog
|
|
33
|
+
name:
|
|
34
|
+
en: Maintenance
|
|
35
|
+
pt: Manutenção
|
|
36
|
+
description:
|
|
37
|
+
en: Database maintenance and cleanup settings.
|
|
38
|
+
pt: Configurações de manutenção e limpeza do banco de dados.
|
|
39
|
+
relations:
|
|
40
|
+
setting:
|
|
41
|
+
- slug: cleanup-batch-limit
|
|
42
|
+
type: number
|
|
43
|
+
component: input-number
|
|
44
|
+
name:
|
|
45
|
+
en: Cleanup Batch Limit
|
|
46
|
+
pt: Limite de Lote de Limpeza
|
|
47
|
+
description:
|
|
48
|
+
en: Maximum number of records to delete per cleanup task execution to avoid long table locks
|
|
49
|
+
pt: Número máximo de registros a deletar por execução de tarefa de limpeza para evitar locks prolongados da tabela
|
|
50
|
+
value: 20000
|
|
51
|
+
user_override: false
|
|
52
|
+
- slug: session-retention-days
|
|
53
|
+
type: number
|
|
54
|
+
component: input-number
|
|
55
|
+
name:
|
|
56
|
+
en: Session Retention Days
|
|
57
|
+
pt: Dias de Retenção de Sessão
|
|
58
|
+
description:
|
|
59
|
+
en: Number of days to retain expired sessions before permanent deletion for audit purposes
|
|
60
|
+
pt: Número de dias para reter sessões expiradas antes da exclusão permanente para fins de auditoria
|
|
61
|
+
value: 90
|
|
62
|
+
user_override: false
|
|
31
63
|
- slug: authentication
|
|
32
64
|
icon: lock-password
|
|
33
65
|
name:
|
package/package.json
CHANGED
package/src/mail/mail.service.ts
CHANGED
|
@@ -332,10 +332,6 @@ export class MailService {
|
|
|
332
332
|
'mail-from'
|
|
333
333
|
]);
|
|
334
334
|
|
|
335
|
-
console.log({
|
|
336
|
-
settings
|
|
337
|
-
})
|
|
338
|
-
|
|
339
335
|
if (!settings['configured-mail']) {
|
|
340
336
|
this.logger.warn('Mail service is not configured. Aborting sending email.');
|
|
341
337
|
return;
|
|
@@ -425,23 +421,10 @@ export class MailService {
|
|
|
425
421
|
'mail-from'
|
|
426
422
|
]);
|
|
427
423
|
|
|
428
|
-
console.log({
|
|
429
|
-
settings
|
|
430
|
-
})
|
|
431
|
-
|
|
432
424
|
if (!settings['configured-mail']) {
|
|
433
425
|
throw new BadRequestException('Mail service is not configured.');
|
|
434
426
|
}
|
|
435
427
|
|
|
436
|
-
console.log('sendTestMail data:', {
|
|
437
|
-
slug,
|
|
438
|
-
email,
|
|
439
|
-
subject,
|
|
440
|
-
body,
|
|
441
|
-
variables,
|
|
442
|
-
settings
|
|
443
|
-
})
|
|
444
|
-
|
|
445
428
|
try {
|
|
446
429
|
const parsedSubject = variables
|
|
447
430
|
? this.interpolateTemplate(subject, variables)
|
package/src/task/task.service.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { PrismaService } from '@hed-hog/api-prisma';
|
|
2
2
|
import { Injectable, Logger } from '@nestjs/common';
|
|
3
3
|
import { Cron, CronExpression } from '@nestjs/schedule';
|
|
4
|
+
import { Prisma } from '@prisma/client';
|
|
5
|
+
import { SettingService } from '../setting/setting.service';
|
|
4
6
|
|
|
5
7
|
@Injectable()
|
|
6
8
|
export class TasksService {
|
|
7
9
|
private readonly logger = new Logger(TasksService.name);
|
|
8
10
|
|
|
9
|
-
constructor(
|
|
11
|
+
constructor(
|
|
12
|
+
private readonly prismaService: PrismaService,
|
|
13
|
+
private readonly settingService: SettingService,
|
|
14
|
+
) {}
|
|
10
15
|
|
|
11
16
|
/**
|
|
12
17
|
* Executa todas as tarefas de limpeza do banco de dados diariamente à meia-noite.
|
|
@@ -50,21 +55,23 @@ export class TasksService {
|
|
|
50
55
|
* Limite: 20.000 registros por execução para evitar lock prolongado da tabela.
|
|
51
56
|
*/
|
|
52
57
|
private async clearExpiredMfaChallenges(): Promise<void> {
|
|
58
|
+
const settings = await this.settingService.getSettingValues(['cleanup-batch-limit']);
|
|
59
|
+
const batchLimit = Number(settings['cleanup-batch-limit']) || 20000;
|
|
53
60
|
this.logger.verbose('Starting cleanup of expired/verified MFA challenges');
|
|
54
61
|
const startAt = Date.now();
|
|
55
62
|
|
|
56
|
-
await this.prismaService.$
|
|
63
|
+
await this.prismaService.$executeRaw`
|
|
57
64
|
WITH del AS (
|
|
58
65
|
SELECT user_mfa_id
|
|
59
66
|
FROM user_mfa_challenge
|
|
60
67
|
WHERE expires_at < now()
|
|
61
68
|
OR verified_at IS NOT NULL
|
|
62
69
|
ORDER BY user_mfa_id
|
|
63
|
-
LIMIT
|
|
70
|
+
LIMIT ${batchLimit}
|
|
64
71
|
)
|
|
65
72
|
DELETE FROM user_mfa_challenge c
|
|
66
73
|
USING del
|
|
67
|
-
WHERE c.user_mfa_id = del.user_mfa_id
|
|
74
|
+
WHERE c.user_mfa_id = del.user_mfa_id
|
|
68
75
|
`;
|
|
69
76
|
|
|
70
77
|
this.logger.verbose(
|
|
@@ -87,21 +94,24 @@ export class TasksService {
|
|
|
87
94
|
* Limite: 20.000 registros por execução para evitar lock prolongado da tabela.
|
|
88
95
|
*/
|
|
89
96
|
private async clearExpiredSessions(): Promise<void> {
|
|
97
|
+
const settings = await this.settingService.getSettingValues(['cleanup-batch-limit', 'session-retention-days']);
|
|
98
|
+
const batchLimit = Number(settings['cleanup-batch-limit']) || 20000;
|
|
99
|
+
const retentionDays = Number(settings['session-retention-days']) || 90;
|
|
90
100
|
this.logger.verbose('Starting cleanup of expired sessions');
|
|
91
101
|
const startAt = Date.now();
|
|
92
102
|
|
|
93
|
-
await this.prismaService.$
|
|
103
|
+
await this.prismaService.$executeRaw`
|
|
94
104
|
WITH del AS (
|
|
95
105
|
SELECT id
|
|
96
106
|
FROM user_session
|
|
97
107
|
WHERE expires_at < now()
|
|
98
|
-
AND created_at < (now() -
|
|
108
|
+
AND created_at < (now() - ${Prisma.sql`INTERVAL '${Prisma.raw(String(retentionDays))} days'`})
|
|
99
109
|
ORDER BY id
|
|
100
|
-
LIMIT
|
|
110
|
+
LIMIT ${batchLimit}
|
|
101
111
|
)
|
|
102
112
|
DELETE FROM user_session s
|
|
103
113
|
USING del
|
|
104
|
-
WHERE s.id = del.id
|
|
114
|
+
WHERE s.id = del.id
|
|
105
115
|
`;
|
|
106
116
|
|
|
107
117
|
this.logger.verbose(
|
|
@@ -128,16 +138,18 @@ export class TasksService {
|
|
|
128
138
|
* Limite: 20.000 registros por execução para evitar lock prolongado das tabelas.
|
|
129
139
|
*/
|
|
130
140
|
private async clearExpiredUserIdentifierChallenges(): Promise<void> {
|
|
141
|
+
const settings = await this.settingService.getSettingValues(['cleanup-batch-limit']);
|
|
142
|
+
const batchLimit = Number(settings['cleanup-batch-limit']) || 20000;
|
|
131
143
|
this.logger.verbose('Starting cleanup of expired user identifier challenges');
|
|
132
144
|
const startAt = Date.now();
|
|
133
145
|
|
|
134
|
-
await this.prismaService.$
|
|
146
|
+
await this.prismaService.$executeRaw`
|
|
135
147
|
WITH expired_challenges AS (
|
|
136
148
|
SELECT user_identifier_id
|
|
137
149
|
FROM user_identifier_challenge
|
|
138
150
|
WHERE expires_at < now() AND verified_at IS NULL
|
|
139
151
|
ORDER BY user_identifier_id
|
|
140
|
-
LIMIT
|
|
152
|
+
LIMIT ${batchLimit}
|
|
141
153
|
),
|
|
142
154
|
deleted_challenges AS (
|
|
143
155
|
DELETE FROM user_identifier_challenge c
|
|
@@ -149,7 +161,7 @@ export class TasksService {
|
|
|
149
161
|
DELETE FROM user_identifier ui
|
|
150
162
|
USING deleted_challenges
|
|
151
163
|
WHERE ui.id = deleted_challenges.user_identifier_id
|
|
152
|
-
AND ui.verified_at IS NULL
|
|
164
|
+
AND ui.verified_at IS NULL
|
|
153
165
|
`;
|
|
154
166
|
|
|
155
167
|
this.logger.verbose(
|
|
@@ -179,12 +191,14 @@ export class TasksService {
|
|
|
179
191
|
* Limite: 20.000 registros por execução para evitar lock prolongado das tabelas.
|
|
180
192
|
*/
|
|
181
193
|
private async clearUnverifiedMfaWithExpiredChallenges(): Promise<void> {
|
|
194
|
+
const settings = await this.settingService.getSettingValues(['cleanup-batch-limit']);
|
|
195
|
+
const batchLimit = Number(settings['cleanup-batch-limit']) || 20000;
|
|
182
196
|
this.logger.verbose(
|
|
183
197
|
'Starting cleanup of unverified MFA with expired challenges',
|
|
184
198
|
);
|
|
185
199
|
const startAt = Date.now();
|
|
186
200
|
|
|
187
|
-
await this.prismaService.$
|
|
201
|
+
await this.prismaService.$executeRaw`
|
|
188
202
|
WITH unverified_mfa AS (
|
|
189
203
|
SELECT um.id
|
|
190
204
|
FROM user_mfa um
|
|
@@ -195,7 +209,7 @@ export class TasksService {
|
|
|
195
209
|
WHERE umc.user_mfa_id = um.id
|
|
196
210
|
AND umc.expires_at >= now()
|
|
197
211
|
)
|
|
198
|
-
LIMIT
|
|
212
|
+
LIMIT ${batchLimit}
|
|
199
213
|
),
|
|
200
214
|
deleted_challenges AS (
|
|
201
215
|
DELETE FROM user_mfa_challenge umc
|
|
@@ -205,13 +219,11 @@ export class TasksService {
|
|
|
205
219
|
)
|
|
206
220
|
DELETE FROM user_mfa um
|
|
207
221
|
USING unverified_mfa
|
|
208
|
-
WHERE um.id = unverified_mfa.id
|
|
222
|
+
WHERE um.id = unverified_mfa.id
|
|
209
223
|
`;
|
|
210
224
|
|
|
211
225
|
this.logger.verbose(
|
|
212
226
|
`Unverified MFA with expired challenges cleaned up in ${Date.now() - startAt}ms`,
|
|
213
227
|
);
|
|
214
228
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
229
|
}
|