@antelopejs/dms-mailing 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -7
- package/dist/constants.d.ts +0 -2
- package/dist/constants.js +1 -3
- package/dist/constants.js.map +1 -1
- package/dist/data/templates-table.js +1 -8
- package/dist/data/templates-table.js.map +1 -1
- package/dist/db/models/index.d.ts +0 -1
- package/dist/db/models/index.js +0 -1
- package/dist/db/models/index.js.map +1 -1
- package/dist/db/models/send-events.model.js +2 -3
- package/dist/db/models/send-events.model.js.map +1 -1
- package/dist/db/models/sends.model.js +2 -3
- package/dist/db/models/sends.model.js.map +1 -1
- package/dist/db/models/templates.model.js +2 -9
- package/dist/db/models/templates.model.js.map +1 -1
- package/dist/db/tables/index.d.ts +0 -1
- package/dist/db/tables/index.js +0 -1
- package/dist/db/tables/index.js.map +1 -1
- package/dist/db/tables/settings.table.d.ts +0 -1
- package/dist/db/tables/settings.table.js +0 -4
- package/dist/db/tables/settings.table.js.map +1 -1
- package/dist/db/tables/templates.table.d.ts +0 -3
- package/dist/db/tables/templates.table.js +1 -13
- package/dist/db/tables/templates.table.js.map +1 -1
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/index.js +0 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/implementations/dms-mailing/index.d.ts +3 -4
- package/dist/implementations/dms-mailing/index.js +8 -9
- package/dist/implementations/dms-mailing/index.js.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/pages/settings/form.js +8 -0
- package/dist/pages/settings/form.js.map +1 -1
- package/dist/routes/templates.js +2 -6
- package/dist/routes/templates.js.map +1 -1
- package/dist/services/declarations.js +42 -184
- package/dist/services/declarations.js.map +1 -1
- package/dist/services/send-import.js +0 -2
- package/dist/services/send-import.js.map +1 -1
- package/dist/services/settings.d.ts +1 -1
- package/dist/services/settings.js +1 -5
- package/dist/services/settings.js.map +1 -1
- package/dist/services/templates.d.ts +2 -2
- package/dist/services/templates.js +48 -27
- package/dist/services/templates.js.map +1 -1
- package/dist/types/settings.d.ts +2 -0
- package/dist/types/settings.js +8 -1
- package/dist/types/settings.js.map +1 -1
- package/dist/validation/settings.schema.d.ts +16 -16
- package/frontend-vue/package.json +1 -1
- package/package.json +6 -6
- package/skills/dms-mailing/SKILL.md +8 -14
- package/src/constants.ts +0 -2
- package/src/data/templates-table.ts +3 -15
- package/src/db/models/index.ts +0 -1
- package/src/db/models/send-events.model.ts +2 -2
- package/src/db/models/sends.model.ts +7 -8
- package/src/db/models/templates.model.ts +3 -13
- package/src/db/tables/index.ts +0 -1
- package/src/db/tables/settings.table.ts +0 -8
- package/src/db/tables/templates.table.ts +2 -16
- package/src/hooks/index.ts +0 -1
- package/src/implementations/dms-mailing/index.ts +5 -18
- package/src/index.ts +1 -6
- package/src/pages/settings/form.ts +16 -0
- package/src/routes/templates.ts +11 -13
- package/src/services/declarations.ts +64 -318
- package/src/services/send-import.ts +2 -2
- package/src/services/settings.ts +3 -10
- package/src/services/templates.ts +59 -44
- package/src/types/settings.ts +20 -0
- package/dist/db/models/template-slugs.model.d.ts +0 -27
- package/dist/db/models/template-slugs.model.js +0 -43
- package/dist/db/models/template-slugs.model.js.map +0 -1
- package/dist/db/tables/template-slugs.table.d.ts +0 -7
- package/dist/db/tables/template-slugs.table.js +0 -35
- package/dist/db/tables/template-slugs.table.js.map +0 -1
- package/dist/hooks/database-ready.d.ts +0 -7
- package/dist/hooks/database-ready.js +0 -26
- package/dist/hooks/database-ready.js.map +0 -1
- package/dist/services/fingerprint.d.ts +0 -1
- package/dist/services/fingerprint.js +0 -20
- package/dist/services/fingerprint.js.map +0 -1
- package/src/db/models/template-slugs.model.ts +0 -61
- package/src/db/tables/template-slugs.table.ts +0 -29
- package/src/hooks/database-ready.ts +0 -47
- package/src/services/fingerprint.ts +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/services/templates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/services/templates.ts"],"names":[],"mappings":";;;AAoCA,8BAEC;AAWD,0CAOC;AAOD,0CAQC;AAGD,oCAEC;AAED,4BAEC;AAGD,wCAGC;AAGD,gDAEC;AAED,kCAEC;AAMD,wCAIC;AAMD,4CAMC;AA8CD,wCAMC;AAED,sCAIC;AAoBD,kCAUC;AAED,oCAMC;AAQD,0CAKC;AA6BD,8BAmBC;AAED,oCAWC;AAGD,kDAIC;AAGD,sDAIC;AAOD,sDAWC;AAGD,sDAIC;AAaD,0CAyDC;AAOD,0CAiBC;AAMD,8CAeC;AAGD,4CAMC;AAED,kDAIC;AAOD,0CAcC;AAMD,gDAcC;AAWD,kDAmCC;AAED,kCAUC;AAMD,0CAKC;AAmBD,gCAiBC;AAED,kCAEC;AA9lBD,6CAAyC;AACzC,6DAAuD;AACvD,uEAAqE;AACrE,6FAAqE;AACrE,4CAIsB;AACtB,8BAMe;AACf,sCAA6E;AAC7E,6DAG8B;AAQ9B,oCAAmD;AAQnD,SAAgB,SAAS,CAAC,OAAwB;IAChD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iCAAqB,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,aAAa,GAAG,gBAAgB,CAAC;AACvC,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,WAAW,GAA4B,aAAa,CAAC;AAC3D,MAAM,iBAAiB,GAAG,uCAAuC,CAAC;AAClE,MAAM,kBAAkB,GAAG,wCAAwC,CAAC;AACpE,MAAM,cAAc,GAAG,oCAAoC,CAAC;AAC5D,MAAM,UAAU,GAAG,MAAM,CAAC;AAGnB,KAAK,UAAU,eAAe,CACnC,KAAoB,EACpB,EAAU;IAEV,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,0BAAU,CAAC,0BAAc,EAAE,kBAAkB,CAAC,CAAC;IACxE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAOM,KAAK,UAAU,eAAe,CAAI,KAAiB;IACxD,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,IAAA,wCAAmB,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YACjE,MAAM,IAAI,0BAAU,CAAC,yBAAa,EAAE,cAAc,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAGD,SAAgB,YAAY,CAAC,QAAyB;IACpD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,aAAa,CAAoB,CAAC;AAC/E,CAAC;AAED,SAAgB,QAAQ,CAAC,QAAyB;IAChD,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAGD,SAAgB,cAAc,CAAC,QAAyB;IACtD,IAAI,CAAC,QAAQ,CAAC,UAAU;QAAE,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAoB,CAAC;AAC5D,CAAC;AAGD,SAAgB,kBAAkB,CAAC,QAAyB;IAC1D,OAAO,QAAQ,CAAC,gBAAgB,CAAC;AACnC,CAAC;AAED,SAAgB,WAAW,CAAC,QAAyB;IACnD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC;AACxD,CAAC;AAMD,SAAgB,cAAc,CAC5B,QAAyB;IAEzB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAyB,CAAC;AACrE,CAAC;AAMD,SAAgB,gBAAgB,CAC9B,QAAyB;IAEzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB;QACvD,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAyB,CAAC;AAC3E,CAAC;AAcM,MAAM,eAAe,GAAG,CAAC,QAAyB,EAAiB,EAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;IACjC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC;CACtC,CAAC,CAAC;AAHU,QAAA,eAAe,mBAGzB;AAGI,MAAM,iBAAiB,GAAG,CAC/B,QAAyB,EACV,EAAE,CAAC,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC;IAC/B,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC;CACpC,CAAC,CAAC;AALU,QAAA,iBAAiB,qBAK3B;AAOH,SAAS,SAAS,CAChB,QAAyB,EACzB,KAAoB;IAEpB,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC1E,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,OAAO;QACL,GAAG,IAAA,qBAAY,EAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;QACzC,GAAG,IAAA,sBAAa,EAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;KAC5C,CAAC;AACJ,CAAC;AAGD,SAAgB,cAAc,CAAC,QAAyB;IACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,SAAS,CAAC,QAAQ,EAAE;QACzB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;QACjC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC;KACtC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,aAAa,CAC3B,QAAyB;IAEzB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAA4B,CAAC;AACxE,CAAC;AAYD,MAAM,aAAa,GAAiC;IAClD,EAAE,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE;IAC9D,EAAE,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE;CAClE,CAAC;AAEF,MAAM,eAAe,GAAG,QAAQ,CAAC;AAGjC,SAAgB,WAAW,CAAC,MAAc,EAAE,IAAI,GAAG,EAAE;IACnD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,IAAK,aAAa,CAAC,EAAmB,CAAC;IAC3E,OAAO;QACL,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,gBAAgB,EAAE,MAAM,CAAC,WAAW;QACpC,gBAAgB,EAAE,MAAM,CAAC,WAAW;QACpC,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc;IACzC,OAAO;QACL,OAAO,EAAE;YACP,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE;SACxE;KACF,CAAC;AACJ,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAG/B,MAAM,YAAY,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AAG9D,SAAgB,eAAe,CAC7B,QAAyB,EACzB,QAA4B;IAE5B,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,CAAC,aAAa,CAAC;AACvE,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAyB,EACzB,MAAc;IAEd,OAAO;QACL,aAAa,EAAE,QAAQ,CAAC,aAAa,GAAG,CAAC;QACzC,cAAc,EAAE,IAAI,IAAI,EAAE;QAC1B,cAAc,EAAE,MAAM;QACtB,SAAS,EAAE,MAAM;KAClB,CAAC;AACJ,CAAC;AAGD,SAAS,gBAAgB,CACvB,QAAyB,EACzB,KAAoB;IAEpB,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC1E,CAAC;AASM,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,QAAyB,EACzB,KAAoB,EACpB,MAAc;IAEd,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7E,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,IAAA,wCAAQ,EAAC,kBAAa,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE;QACjE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAClD,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAC9D,cAAc,EAAE,CAAC,OAAO;QACxB,GAAG,MAAM;QACT,GAAG,OAAO;KACX,CAAC,CAAC;IACH,MAAM,IAAA,8CAAyB,EAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,aAAuB,CAAC;AACxC,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,QAAyB,EACzB,MAAc;IAEd,MAAM,IAAA,wCAAQ,EAAC,kBAAa,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE;QACjE,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,KAAK;QACrB,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC;KACtC,CAAC,CAAC;AACL,CAAC;AAGD,SAAgB,mBAAmB,CACjC,GAA2B;IAE3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAqB,CAAC;AAC1D,CAAC;AAGD,SAAgB,qBAAqB,CACnC,GAA2B;IAE3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAyB,CAAC;AAChE,CAAC;AAOD,SAAgB,qBAAqB,CACnC,QAAgB,EAChB,QAAyB,EACzB,GAA2B,EAC3B,MAAc;IAEd,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC;QACjC,SAAS,EAAE,qBAAqB,CAAC,GAAG,CAAC;KACtC,CAAC;IACF,OAAO,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAGD,SAAgB,qBAAqB,CAAC,OAAwB;IAC5D,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SAC9C,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAaM,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,QAAyB,EACzB,KAAoB,EACpB,MAAc,EACd,WAA2B,EAAE;IAE7B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,QAAQ,GAAG,eAAe,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAA,wCAAQ,EAAC,yBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,OAAO,GAAmB,WAAW;QACzC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;YAC3C,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;YAC/C,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;YACjC,WAAW,EAAE,IAAI,IAAI,EAAE;YACvB,WAAW,EAAE,MAAM;SACpB,CAAC;IACN,MAAM,OAAO,GAAG,WAAW;QACzB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC;gBACrC,GAAG,OAAO;gBACV,GAAG,EAAE,IAAA,wBAAU,GAAE;gBACjB,UAAU,EAAE,QAAQ,CAAC,GAAG;gBACxB,OAAO;gBACP,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aACtC,CAAC;SACH,CAAC;IACN,MAAM,KAAK,GAAmB;QAC5B,GAAG,QAAQ;QACX,GAAG,OAAO;QACV,GAAG,OAAO;QACV,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,KAAK;QACrB,aAAa,EACX,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,EAAE,MAAM;QACd,gBAAgB,EAAE,OAAO;QACzB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE;QACtE,SAAS,EAAE,MAAM;KAClB,CAAC;IACF,IACE,CAAC,CAAC,MAAM,IAAA,wCAAQ,EAAC,kBAAa,EAAE,QAAQ,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE5E,OAAO,SAAS,CAAC;IACnB,MAAM,QAAQ,CAAC,WAAW,CAAC;QACzB,sBAAsB,EACpB,KAAK,CAAC,sBAAsB,IAAI,QAAQ,CAAC,sBAAsB;KAClE,CAAC,CAAC;IACH,MAAM,IAAA,6CAAwB,EAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAOM,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,QAAyB,EACzB,MAAc;IAEd,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,QAAQ,EACR,QAAQ,EACR;QACE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;QACjC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC;KACtC,EACD,MAAM,CACP,CAAC;IACF,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,0BAAU,CAAC,yBAAa,EAAE,oCAAoC,CAAC,CAAC;IAC5E,OAAO,OAAO,CAAC;AACjB,CAAC;AAMM,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,QAAyB,EACzB,OAAe;IAEf,IAAI,CAAC,OAAO;QAAE,OAAO,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,MAAM,IAAA,wCAAQ,EAAC,yBAAoB,EAAE,QAAQ,CAAC,CAAC,UAAU,CACnE,QAAQ,CAAC,GAAG,EACZ,OAAO,CACR,CAAC;IACF,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,0BAAU,CAAC,0BAAc,EAAE,iBAAiB,CAAC,CAAC;IAClE,OAAO;QACL,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC;QACjC,SAAS,EAAE,qBAAqB,CAAC,GAAG,CAAC;KACtC,CAAC;AACJ,CAAC;AAGM,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,QAAyB,EACzB,OAAe;IAEf,OAAO,CAAC,MAAM,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AACxE,CAAC;AAED,SAAgB,mBAAmB,CACjC,GAA2B;IAE3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAoB,CAAC;AACzD,CAAC;AAOD,SAAgB,eAAe,CAAC,MAAuB;IACrD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO;QACL,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QACnC,cAAc,EAAE,IAAI;QACpB,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;QAC3B,gBAAgB,EAAE,eAAe;QACjC,aAAa,EAAE,oBAAoB;QACnC,GAAG,YAAY;KAChB,CAAC;AACJ,CAAC;AAMM,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,UAAkB,EAClB,MAAc,EACd,MAAsB;IAEtB,MAAM,IAAA,wCAAQ,EAAC,kBAAa,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE;QAC/D,MAAM,EAAE,OAAO;QACf,cAAc,EAAE,IAAI;QACpB,cAAc,EAAE,IAAI;QACpB,GAAG,MAAM;QACT,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;IACH,MAAM,IAAA,6CAAwB,EAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAGD,MAAM,aAAa,GAAG,CAAC,CAAC;AAQxB,SAAgB,mBAAmB,CACjC,EAAU,EACV,KAAoB,EACpB,MAAc;IAEd,MAAM,OAAO,GAAmB;QAC9B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3C,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;QAC/C,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;QACjC,WAAW,EAAE,IAAI,IAAI,EAAE;QACvB,WAAW,EAAE,MAAM;KACpB,CAAC;IACF,MAAM,OAAO,GAAG;QACd,GAAG,IAAA,qBAAY,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;QAC/C,GAAG,IAAA,sBAAa,EAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC;KACtC,CAAC;IACF,OAAO;QACL,GAAG,EAAE,EAAE;QACP,GAAG,OAAO;QACV,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC;YACrC,GAAG,OAAO;YACV,GAAG,EAAE,IAAA,wBAAU,GAAE;YACjB,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,aAAa;YACtB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SACtC,CAAC;QACF,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,oBAAoB;QACnC,MAAM,EAAE,MAAM;QACd,gBAAgB,EAAE,aAAa;QAC/B,SAAS,EAAE,MAAM;QACjB,GAAG,YAAY;KAChB,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAC,OAAwB;IAClD,OAAO;QACL,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QACnC,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;QAC3B,gBAAgB,EAAE,eAAe;QACjC,aAAa,EAAE,oBAAoB;QACnC,GAAG,YAAY;KAChB,CAAC;AACJ,CAAC;AAMD,SAAgB,eAAe,CAC7B,OAAwB,EACxB,MAAc;IAEd,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAMrC,SAAS,mBAAmB,CAAC,MAA0B;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAChE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAOD,SAAgB,UAAU,CACxB,OAAwB,EACxB,MAA0B,EAC1B,QAAgB;IAEhB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG;QACjB,GAAG,mBAAmB,CAAC,MAAM,CAAC;QAC9B,QAAQ;QACR,+BAAuB;QACvB,SAAS,CAAC,CAAC,CAAC;KACb,CAAC;IACF,MAAM,KAAK,GAAG,UAAU;SACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACxE,IAAI,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,OAAO,KAAK,IAAI,+BAAuB,CAAC;AAC1C,CAAC;AAED,SAAgB,WAAW,CAAC,IAAoB;IAC9C,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;AACjC,CAAC"}
|
package/dist/types/settings.d.ts
CHANGED
|
@@ -20,3 +20,5 @@ export interface MailingSettingsValues {
|
|
|
20
20
|
categories: TemplateCategory[];
|
|
21
21
|
}
|
|
22
22
|
export declare const DEFAULT_CATEGORIES: TemplateCategory[];
|
|
23
|
+
export declare const DEFAULT_FALLBACK_LOCALE = "en";
|
|
24
|
+
export declare const MODULE_DEFAULT_SETTINGS: Pick<MailingSettingsValues, "fallbackLocale" | "logRetentionDays" | "blockOnMissingVariables" | "categories">;
|
package/dist/types/settings.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_CATEGORIES = void 0;
|
|
3
|
+
exports.MODULE_DEFAULT_SETTINGS = exports.DEFAULT_FALLBACK_LOCALE = exports.DEFAULT_CATEGORIES = void 0;
|
|
4
4
|
exports.DEFAULT_CATEGORIES = [
|
|
5
5
|
{
|
|
6
6
|
id: "orders",
|
|
@@ -28,4 +28,11 @@ exports.DEFAULT_CATEGORIES = [
|
|
|
28
28
|
icon: "i-ph-textbox",
|
|
29
29
|
},
|
|
30
30
|
];
|
|
31
|
+
exports.DEFAULT_FALLBACK_LOCALE = "en";
|
|
32
|
+
exports.MODULE_DEFAULT_SETTINGS = {
|
|
33
|
+
fallbackLocale: exports.DEFAULT_FALLBACK_LOCALE,
|
|
34
|
+
logRetentionDays: 90,
|
|
35
|
+
blockOnMissingVariables: false,
|
|
36
|
+
categories: exports.DEFAULT_CATEGORIES,
|
|
37
|
+
};
|
|
31
38
|
//# sourceMappingURL=settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":";;;AA2Ba,QAAA,kBAAkB,GAAuB;IACpD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE;QACxC,IAAI,EAAE,cAAc;KACrB;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,iBAAiB,EAAE;QACxD,IAAI,EAAE,WAAW;KAClB;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,EAAE;QAC3C,IAAI,EAAE,gBAAgB;KACvB;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE;QAC3C,IAAI,EAAE,cAAc;KACrB;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE;QACzC,IAAI,EAAE,cAAc;KACrB;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":";;;AA2Ba,QAAA,kBAAkB,GAAuB;IACpD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE;QACxC,IAAI,EAAE,cAAc;KACrB;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,iBAAiB,EAAE;QACxD,IAAI,EAAE,WAAW;KAClB;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,EAAE;QAC3C,IAAI,EAAE,gBAAgB;KACvB;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE;QAC3C,IAAI,EAAE,cAAc;KACrB;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE;QACzC,IAAI,EAAE,cAAc;KACrB;CACF,CAAC;AAEW,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAO/B,QAAA,uBAAuB,GAMhC;IACF,cAAc,EAAE,+BAAuB;IACvC,gBAAgB,EAAE,EAAE;IACpB,uBAAuB,EAAE,KAAK;IAC9B,UAAU,EAAE,0BAAkB;CAC/B,CAAC"}
|
|
@@ -100,30 +100,30 @@ export declare const settingsSchema: z.ZodObject<{
|
|
|
100
100
|
fallbackLocale: string;
|
|
101
101
|
logRetentionDays: number;
|
|
102
102
|
blockOnMissingVariables: boolean;
|
|
103
|
-
senderName: string;
|
|
104
|
-
senderEmail: string;
|
|
105
|
-
replyTo: string;
|
|
106
|
-
webhookSecret: string;
|
|
107
103
|
categories: {
|
|
108
104
|
id: string;
|
|
109
105
|
label: Record<string, string>;
|
|
110
106
|
icon: string;
|
|
111
107
|
moveTo?: string | undefined;
|
|
112
108
|
}[];
|
|
113
|
-
}, {
|
|
114
|
-
fallbackLocale: string;
|
|
115
|
-
logRetentionDays: number;
|
|
116
|
-
blockOnMissingVariables: boolean;
|
|
117
109
|
senderName: string;
|
|
118
110
|
senderEmail: string;
|
|
119
111
|
replyTo: string;
|
|
120
112
|
webhookSecret: string;
|
|
113
|
+
}, {
|
|
114
|
+
fallbackLocale: string;
|
|
115
|
+
logRetentionDays: number;
|
|
116
|
+
blockOnMissingVariables: boolean;
|
|
121
117
|
categories: {
|
|
122
118
|
id: string;
|
|
123
119
|
label: Record<string, string>;
|
|
124
120
|
icon: string;
|
|
125
121
|
moveTo?: string | undefined;
|
|
126
122
|
}[];
|
|
123
|
+
senderName: string;
|
|
124
|
+
senderEmail: string;
|
|
125
|
+
replyTo: string;
|
|
126
|
+
webhookSecret: string;
|
|
127
127
|
}>;
|
|
128
128
|
export declare const settingsPatchSchema: z.ZodObject<{
|
|
129
129
|
fallbackLocale: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
@@ -166,31 +166,31 @@ export declare const settingsPatchSchema: z.ZodObject<{
|
|
|
166
166
|
fallbackLocale?: string | undefined;
|
|
167
167
|
logRetentionDays?: number | undefined;
|
|
168
168
|
blockOnMissingVariables?: boolean | undefined;
|
|
169
|
-
senderName?: string | undefined;
|
|
170
|
-
senderEmail?: string | undefined;
|
|
171
|
-
replyTo?: string | undefined;
|
|
172
|
-
webhookSecret?: string | undefined;
|
|
173
169
|
categories?: {
|
|
174
170
|
id: string;
|
|
175
171
|
label: Record<string, string>;
|
|
176
172
|
icon: string;
|
|
177
173
|
moveTo?: string | undefined;
|
|
178
174
|
}[] | undefined;
|
|
175
|
+
senderName?: string | undefined;
|
|
176
|
+
senderEmail?: string | undefined;
|
|
177
|
+
replyTo?: string | undefined;
|
|
178
|
+
webhookSecret?: string | undefined;
|
|
179
179
|
missingVariables?: "send" | "refuse" | undefined;
|
|
180
180
|
}, {
|
|
181
181
|
fallbackLocale?: string | undefined;
|
|
182
182
|
logRetentionDays?: number | undefined;
|
|
183
183
|
blockOnMissingVariables?: boolean | undefined;
|
|
184
|
-
senderName?: string | undefined;
|
|
185
|
-
senderEmail?: string | undefined;
|
|
186
|
-
replyTo?: string | undefined;
|
|
187
|
-
webhookSecret?: string | undefined;
|
|
188
184
|
categories?: {
|
|
189
185
|
id: string;
|
|
190
186
|
label: Record<string, string>;
|
|
191
187
|
icon: string;
|
|
192
188
|
moveTo?: string | undefined;
|
|
193
189
|
}[] | undefined;
|
|
190
|
+
senderName?: string | undefined;
|
|
191
|
+
senderEmail?: string | undefined;
|
|
192
|
+
replyTo?: string | undefined;
|
|
193
|
+
webhookSecret?: string | undefined;
|
|
194
194
|
missingVariables?: "send" | "refuse" | undefined;
|
|
195
195
|
}>;
|
|
196
196
|
export type SettingsPatch = z.infer<typeof settingsPatchSchema>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antelopejs/dms-mailing",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "E-mail templates for the AntelopeJS DMS: a block editor with drafts and versions, a send log, delivery metrics and a suppression list.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"antelopejs",
|
|
@@ -49,17 +49,17 @@
|
|
|
49
49
|
"@antelopejs/interface-api": ">=0.0.15 <1.0.0",
|
|
50
50
|
"@antelopejs/interface-api-util": ">=0.1.3 <1.0.0",
|
|
51
51
|
"@antelopejs/interface-core": ">=0.2.4 <1.0.0",
|
|
52
|
-
"@antelopejs/interface-data-api": ">=0.
|
|
53
|
-
"@antelopejs/interface-database": ">=0.1.
|
|
54
|
-
"@antelopejs/interface-database-decorators": ">=0.1.
|
|
55
|
-
"@antelopejs/interface-dms": ">=0.
|
|
52
|
+
"@antelopejs/interface-data-api": ">=0.4.0 <1.0.0",
|
|
53
|
+
"@antelopejs/interface-database": ">=0.1.11 <1.0.0",
|
|
54
|
+
"@antelopejs/interface-database-decorators": ">=0.1.10 <1.0.0",
|
|
55
|
+
"@antelopejs/interface-dms": ">=0.9.0 <1.0.0",
|
|
56
56
|
"@antelopejs/interface-dms-mailing": ">=0.9.0 <0.10.0",
|
|
57
57
|
"@antelopejs/interface-email": ">=0.0.6 <1.0.0",
|
|
58
58
|
"node-cron": "^4.2.1",
|
|
59
59
|
"zod": "~3.24.2"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@antelopejs/core": ">=1.17.
|
|
62
|
+
"@antelopejs/core": ">=1.17.1 <2",
|
|
63
63
|
"@antelopejs/tooling-configs": ">=0.0.9 <1.0.0",
|
|
64
64
|
"@types/chai": "^4.3.20",
|
|
65
65
|
"@types/mocha": "^10",
|
|
@@ -68,23 +68,17 @@ export async function declareMailingContent(tenantId: string) {
|
|
|
68
68
|
content: { locales: { en: { subject: "Your {{plan.name}} plan is renewed", preheader: "", blocks: [] } } },
|
|
69
69
|
variables: [{ path: "plan.name", type: "string", required: true }],
|
|
70
70
|
testData: { plan: { name: "Pro" } },
|
|
71
|
-
}); // created |
|
|
71
|
+
}); // created | kept
|
|
72
72
|
}
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
- Require explicit non-blank `tenantId` for declarations and imports
|
|
76
|
-
|
|
77
|
-
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
Deployment updates/backfills require an authorized inventory and `IsWorkspaceProvisioningCommitted`, failing closed.
|
|
83
|
-
- Idempotent on the tenant's slug, published at once (v1, version rows, slug claim, attention refresh: a normal template).
|
|
84
|
-
- Rule: same declaration → `unchanged`; changed declaration → `updated` only if the template is live, has no
|
|
85
|
-
draft and still holds exactly the last declaration (fingerprint on `declaredHash`); otherwise `kept`.
|
|
86
|
-
A dashboard-made template under that slug is never taken over. Deleted → recreated next boot; archive instead.
|
|
87
|
-
- Categories: added once; a category a user relabelled/removed, or a default one, is `kept`.
|
|
75
|
+
- Require explicit non-blank `tenantId` for declarations and imports. Call them once per tenant, from a
|
|
76
|
+
`Hook.TENANT_BEING_PROVISIONED` handler (the DMS fires it for `default` on the start that creates it, after
|
|
77
|
+
`DATABASE_INITIALIZED`; dms-saas for each workspace). Never from `start()` or `DATABASE_INITIALIZED`.
|
|
78
|
+
- Written once: a missing slug is created and published (v1, version rows, unique slug, attention refresh: a normal
|
|
79
|
+
template) → `created`; a slug the tenant already has (declared or made in the dashboard) is left as it is → `kept`.
|
|
80
|
+
No fingerprint, no refresh: from its creation on, the template belongs to the tenant.
|
|
81
|
+
- Categories: a missing id is added → `created`; an existing one, a default included, is `kept`.
|
|
88
82
|
- `name` / `label` are localized texts `{ en, fr, … }` (stored `@Localized`, `en` required as fallback), never `$`
|
|
89
83
|
i18n keys; each user reads, searches and sorts them in their language (`x-content-language`).
|
|
90
84
|
- `DeclareSender({ tenantId, email, name?, replyTo? })` writes the settings' sender (resolves `void`); call it once
|
package/src/constants.ts
CHANGED
|
@@ -23,8 +23,6 @@ export const GALLERY_DISPLAY_ID = `${MODULE_ID}:gallery`;
|
|
|
23
23
|
export const TEMPLATE_CATEGORIES_TYPE_ID = "mailing_template_categories";
|
|
24
24
|
export const TEMPLATE_CATEGORY_TYPE_ID = "mailing_template_category";
|
|
25
25
|
|
|
26
|
-
export const DEFAULT_FALLBACK_LOCALE = "en";
|
|
27
|
-
export const DEFAULT_LOG_RETENTION_DAYS = 90;
|
|
28
26
|
export const MAX_SLUG_LENGTH = 64;
|
|
29
27
|
export const MAX_NAME_LENGTH = 120;
|
|
30
28
|
export const SLUG_PATTERN = /^[a-z0-9][a-z0-9-]*$/;
|
|
@@ -71,13 +71,12 @@ import { findCategory, getSettings } from "../services/settings";
|
|
|
71
71
|
import { findStarter, starterFields } from "../services/starters";
|
|
72
72
|
import { refreshTemplateAttention } from "../services/template-attention";
|
|
73
73
|
import {
|
|
74
|
-
assertSlugClaimed,
|
|
75
74
|
blankContent,
|
|
76
75
|
blankFields,
|
|
77
76
|
contentFieldsOf,
|
|
78
77
|
displayName,
|
|
79
78
|
initializeTemplate,
|
|
80
|
-
|
|
79
|
+
refuseTakenSlug,
|
|
81
80
|
} from "../services/templates";
|
|
82
81
|
import type { TemplateCategory } from "../types";
|
|
83
82
|
|
|
@@ -88,7 +87,6 @@ import {
|
|
|
88
87
|
import { parseBody } from "./body";
|
|
89
88
|
import { CategoryDisplay, LocaleChipsDisplay } from "./displays";
|
|
90
89
|
|
|
91
|
-
const DUPLICATE_SLUG = "$dms_mailing.errors.duplicate_slug";
|
|
92
90
|
const SLUG_IMMUTABLE = "$dms_mailing.errors.slug_immutable";
|
|
93
91
|
const SOURCE_NOT_FOUND = "$dms_mailing.errors.template_not_found";
|
|
94
92
|
const STARTER_NOT_FOUND = "$dms_mailing.errors.starter_not_found";
|
|
@@ -212,25 +210,16 @@ function withSeeding(base: DataControllerCallback): DataControllerCallback {
|
|
|
212
210
|
) {
|
|
213
211
|
const { seed, normalized } = parseCreation(body, localeOfRequest(ctx));
|
|
214
212
|
const tenantId = getRequestTenantId(ctx);
|
|
215
|
-
const model = GetModel(TemplateModel, tenantId);
|
|
216
|
-
if (await model.getBySlug(seed.slug)) {
|
|
217
|
-
throw new HTTPResult(HTTP_CONFLICT, DUPLICATE_SLUG);
|
|
218
|
-
}
|
|
219
213
|
const settings = await getSettings(tenantId);
|
|
220
214
|
assertKnownCategory(settings.categories, seed.category);
|
|
221
215
|
const fields = await seedFields(tenantId, seed, settings.fallbackLocale);
|
|
222
216
|
// The module's creation dialogs send one typed name; the stored name
|
|
223
217
|
// holds every language, written at once.
|
|
224
218
|
(this as LocalizedController).language = ALL_LANGUAGES;
|
|
225
|
-
const created = (await
|
|
226
|
-
this,
|
|
227
|
-
ctx,
|
|
228
|
-
params,
|
|
229
|
-
normalized,
|
|
230
|
-
...rest,
|
|
219
|
+
const created = (await refuseTakenSlug(
|
|
220
|
+
base.func.call(this, ctx, params, normalized, ...rest),
|
|
231
221
|
)) as CreatedRow;
|
|
232
222
|
const templateId = created._id;
|
|
233
|
-
await assertSlugClaimed(tenantId, seed.slug, templateId);
|
|
234
223
|
const user = await authenticateTenantRequest(ctx);
|
|
235
224
|
await initializeTemplate(tenantId, templateId, displayName(user), fields);
|
|
236
225
|
return created;
|
|
@@ -291,7 +280,6 @@ export function afterDelete(tenantId: string, ids: string[]): AfterWrite {
|
|
|
291
280
|
await Promise.all(
|
|
292
281
|
ids.map((id) => versions.getAll(id, "templateId").delete().run()),
|
|
293
282
|
);
|
|
294
|
-
await releaseTemplateSlugs(tenantId, ids);
|
|
295
283
|
await refreshTemplateAttention(tenantId);
|
|
296
284
|
};
|
|
297
285
|
}
|
package/src/db/models/index.ts
CHANGED
|
@@ -2,7 +2,6 @@ export * from "./send-events.model";
|
|
|
2
2
|
export * from "./sends.model";
|
|
3
3
|
export * from "./settings.model";
|
|
4
4
|
export * from "./suppressions.model";
|
|
5
|
-
export * from "./template-slugs.model";
|
|
6
5
|
export * from "./template-versions.model";
|
|
7
6
|
export * from "./templates.model";
|
|
8
7
|
export * from "./webhook-status.model";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IsDuplicateKeyError } from "@antelopejs/interface-database";
|
|
1
2
|
import { BasicDataModel } from "@antelopejs/interface-database-decorators";
|
|
2
3
|
import { MAILING_SEND_EVENTS_TABLE_NAME, MailingSendEvent } from "../tables";
|
|
3
4
|
import { SendModel } from "./sends.model";
|
|
@@ -28,11 +29,10 @@ export class SendEventModel extends BasicDataModel(
|
|
|
28
29
|
* the same import already did.
|
|
29
30
|
*/
|
|
30
31
|
async insertImported(event: MailingSendEvent): Promise<void> {
|
|
31
|
-
if (await this.get(event._id)) return;
|
|
32
32
|
try {
|
|
33
33
|
await this.insert(event);
|
|
34
34
|
} catch (error) {
|
|
35
|
-
if (!(
|
|
35
|
+
if (!IsDuplicateKeyError(error)) throw error;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import { BasicDataModel } from "@antelopejs/interface-database-decorators";
|
|
3
|
-
import
|
|
4
|
-
AtomicMutationOutcome,
|
|
5
|
-
|
|
3
|
+
import {
|
|
4
|
+
type AtomicMutationOutcome,
|
|
5
|
+
IsDuplicateKeyError,
|
|
6
|
+
type ValueProxy,
|
|
6
7
|
} from "@antelopejs/interface-database";
|
|
7
8
|
import { isResolvedStage, stageOf } from "../../types";
|
|
8
9
|
import { MAILING_SENDS_TABLE_NAME, MailingSend } from "../tables";
|
|
@@ -89,17 +90,15 @@ export class SendModel extends BasicDataModel(
|
|
|
89
90
|
}
|
|
90
91
|
|
|
91
92
|
/**
|
|
92
|
-
* Writes an imported send under its own id; false when
|
|
93
|
-
*
|
|
94
|
-
* slug claims, since the database exposes no typed conflict error.
|
|
93
|
+
* Writes an imported send under its own id; false when an earlier run of
|
|
94
|
+
* the same import already wrote it (its id is derived from the import's).
|
|
95
95
|
*/
|
|
96
96
|
async insertImported(send: ImportedSendRow): Promise<boolean> {
|
|
97
|
-
if (await this.get(send._id)) return false;
|
|
98
97
|
try {
|
|
99
98
|
await this.table.insert({ ...send, revision: randomUUID() }).run();
|
|
100
99
|
return true;
|
|
101
100
|
} catch (error) {
|
|
102
|
-
if (
|
|
101
|
+
if (IsDuplicateKeyError(error)) return false;
|
|
103
102
|
throw error;
|
|
104
103
|
}
|
|
105
104
|
}
|
|
@@ -5,7 +5,6 @@ import {
|
|
|
5
5
|
} from "@antelopejs/interface-database-decorators";
|
|
6
6
|
import type { LocalizedText } from "@antelopejs/interface-dms-mailing";
|
|
7
7
|
import { MAILING_TEMPLATES_TABLE_NAME, MailingTemplate } from "../tables";
|
|
8
|
-
import { TemplateSlugModel } from "./template-slugs.model";
|
|
9
8
|
|
|
10
9
|
/** The attention fields of a template, as the refresh writes them. */
|
|
11
10
|
export type TemplateAttentionFields = Pick<
|
|
@@ -90,19 +89,10 @@ export class TemplateModel extends BasicDataModel(
|
|
|
90
89
|
return outcome === "applied";
|
|
91
90
|
}
|
|
92
91
|
|
|
92
|
+
/** The template holding `slug`: the unique index keeps it to one. */
|
|
93
93
|
async getBySlug(slug: string): Promise<MailingTemplate | undefined> {
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
// Senders must see the claimed template, not an earlier draft candidate.
|
|
97
|
-
if (rows.length > 1) {
|
|
98
|
-
const claims = await new TemplateSlugModel(this.database).getBy(
|
|
99
|
-
"templateId",
|
|
100
|
-
...rows.map((row) => row._id),
|
|
101
|
-
);
|
|
102
|
-
const claim = claims.find((candidate) => candidate.slug === slug);
|
|
103
|
-
if (claim) return rows.find((row) => row._id === claim.templateId);
|
|
104
|
-
}
|
|
105
|
-
return rows[0];
|
|
94
|
+
const [template] = await this.getBy("slug", slug);
|
|
95
|
+
return template;
|
|
106
96
|
}
|
|
107
97
|
|
|
108
98
|
/**
|
package/src/db/tables/index.ts
CHANGED
|
@@ -2,7 +2,6 @@ export * from "./send-events.table";
|
|
|
2
2
|
export * from "./sends.table";
|
|
3
3
|
export * from "./settings.table";
|
|
4
4
|
export * from "./suppressions.table";
|
|
5
|
-
export * from "./template-slugs.table";
|
|
6
5
|
export * from "./template-versions.table";
|
|
7
6
|
export * from "./templates.table";
|
|
8
7
|
export * from "./webhook-status.table";
|
|
@@ -46,12 +46,4 @@ export class MailingSettings extends Table {
|
|
|
46
46
|
|
|
47
47
|
@Field("string")
|
|
48
48
|
declare webhookSecret: string;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* JSON-serialized fingerprint of each category `DeclareTemplateCategory`
|
|
52
|
-
* applied, by its id: what tells a category untouched since from one a
|
|
53
|
-
* user relabelled or removed.
|
|
54
|
-
*/
|
|
55
|
-
@Field("string")
|
|
56
|
-
declare json_declared_categories?: string;
|
|
57
49
|
}
|
|
@@ -31,7 +31,8 @@ export class MailingTemplate extends Table.with(LocalizationModifier) {
|
|
|
31
31
|
@Field("date")
|
|
32
32
|
declare updatedAt: Date;
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
/** What sends name the template by: one template per slug in a tenant. */
|
|
35
|
+
@Index({ unique: true })
|
|
35
36
|
@Field("string")
|
|
36
37
|
declare slug: string;
|
|
37
38
|
|
|
@@ -141,25 +142,10 @@ export class MailingTemplate extends Table.with(LocalizationModifier) {
|
|
|
141
142
|
@Field("date")
|
|
142
143
|
declare unpublishedAt?: Date;
|
|
143
144
|
|
|
144
|
-
/**
|
|
145
|
-
* Fingerprint of the last declaration `DeclareTemplate` applied; blank for
|
|
146
|
-
* a template made in the dashboard. A template still matching it is
|
|
147
|
-
* untouched since, and the next declaration may refresh it.
|
|
148
|
-
*/
|
|
149
|
-
@Field("string")
|
|
150
|
-
declare declaredHash?: string;
|
|
151
|
-
|
|
152
145
|
/** Every semantic edit invalidates a publication's optimistic snapshot. */
|
|
153
146
|
@Field("string")
|
|
154
147
|
declare revision?: string;
|
|
155
148
|
|
|
156
|
-
/** An unmodified declaration seed can be completed after a crashed creator. */
|
|
157
|
-
@Field("string")
|
|
158
|
-
declare declarationSeedRevision?: string;
|
|
159
|
-
|
|
160
|
-
@Field("string")
|
|
161
|
-
declare pendingDeclaredHash?: string;
|
|
162
|
-
|
|
163
149
|
/**
|
|
164
150
|
* Complete latest version row, committed atomically with its content. Its
|
|
165
151
|
* history row can be recovered after an interrupted publication.
|
package/src/hooks/index.ts
CHANGED
|
@@ -1,21 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
declareTemplateCategory,
|
|
1
|
+
export {
|
|
2
|
+
declareTemplate as DeclareTemplate,
|
|
3
|
+
declareTemplateCategory as DeclareTemplateCategory,
|
|
5
4
|
} from "../../services/declarations";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
export { importSends as ImportSends } from "../../services/send-import";
|
|
6
|
+
export { declareSender as DeclareSender } from "../../services/sender-declaration";
|
|
9
7
|
export { recordEmailEvent as RecordEmailEvent } from "../../services/events";
|
|
10
8
|
export { sendUnlessSuppressed as SendTemplate } from "../../services/checked-send";
|
|
11
|
-
|
|
12
|
-
/*
|
|
13
|
-
* Projects call these from their `start()`, which runs in parallel with the
|
|
14
|
-
* DMS's: they wait for the database the DMS opens there rather than fail.
|
|
15
|
-
*/
|
|
16
|
-
export const DeclareTemplate = afterDatabaseReady(declareTemplate);
|
|
17
|
-
export const DeclareTemplateCategory = afterDatabaseReady(
|
|
18
|
-
declareTemplateCategory,
|
|
19
|
-
);
|
|
20
|
-
export const DeclareSender = afterDatabaseReady(declareSender);
|
|
21
|
-
export const ImportSends = afterDatabaseReady(importSends);
|
package/src/index.ts
CHANGED
|
@@ -14,11 +14,7 @@ import {
|
|
|
14
14
|
scheduleJob,
|
|
15
15
|
stopJob,
|
|
16
16
|
} from "./crons";
|
|
17
|
-
import {
|
|
18
|
-
registerDatabaseReady,
|
|
19
|
-
registerTenantExport,
|
|
20
|
-
unregisterTenantExport,
|
|
21
|
-
} from "./hooks";
|
|
17
|
+
import { registerTenantExport, unregisterTenantExport } from "./hooks";
|
|
22
18
|
import { registerRealtimeTopics } from "./realtime";
|
|
23
19
|
import { frontendModule } from "./frontend-module";
|
|
24
20
|
|
|
@@ -34,7 +30,6 @@ const CRON_JOBS = [RETENTION_JOB, ATTENTION_JOB];
|
|
|
34
30
|
let scheduledJobs: ScheduledJob[] = [];
|
|
35
31
|
|
|
36
32
|
export async function construct(config: DmsMailingConfig = {}): Promise<void> {
|
|
37
|
-
registerDatabaseReady();
|
|
38
33
|
setConfig(config);
|
|
39
34
|
ImplementInterface(
|
|
40
35
|
await import("@antelopejs/interface-dms-mailing"),
|
|
@@ -7,6 +7,8 @@ import { ComponentBuilder } from "@antelopejs/interface-dms/component";
|
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
import { API_BASE_PATH } from "../../constants";
|
|
9
9
|
import { TemplateCategoriesType } from "../../data-types";
|
|
10
|
+
import { missingVariablesPolicy } from "../../services/settings";
|
|
11
|
+
import { MODULE_DEFAULT_SETTINGS } from "../../types";
|
|
10
12
|
import {
|
|
11
13
|
MAX_RETENTION_DAYS,
|
|
12
14
|
MIN_RETENTION_DAYS,
|
|
@@ -37,6 +39,18 @@ const field = (id: string) => ({
|
|
|
37
39
|
description: key(`fields.${id}.description`),
|
|
38
40
|
});
|
|
39
41
|
|
|
42
|
+
/**
|
|
43
|
+
* A field holding a module default offers it: "Module default · Use default"
|
|
44
|
+
* while it holds something else. The retention does not: one click there
|
|
45
|
+
* could shorten it, and lowering it deletes sends, which its input asks to
|
|
46
|
+
* confirm instead. Nor do the categories: putting the default list back
|
|
47
|
+
* would move every template of a custom category.
|
|
48
|
+
*/
|
|
49
|
+
const moduleDefault = (defaultValue: string) => ({
|
|
50
|
+
defaultValue,
|
|
51
|
+
offersDefault: true,
|
|
52
|
+
});
|
|
53
|
+
|
|
40
54
|
const section = (
|
|
41
55
|
id: string,
|
|
42
56
|
icon: string,
|
|
@@ -84,12 +98,14 @@ const guards = section("guards", "i-ph-shield-check", [
|
|
|
84
98
|
],
|
|
85
99
|
}),
|
|
86
100
|
required: true,
|
|
101
|
+
...moduleDefault(missingVariablesPolicy(MODULE_DEFAULT_SETTINGS)),
|
|
87
102
|
},
|
|
88
103
|
{
|
|
89
104
|
...field("fallbackLocale"),
|
|
90
105
|
type: new DefaultDataTypes.StringType({}),
|
|
91
106
|
inputComponent: CustomComponent("MailingLocaleSelect").serializeSync(),
|
|
92
107
|
required: true,
|
|
108
|
+
...moduleDefault(MODULE_DEFAULT_SETTINGS.fallbackLocale),
|
|
93
109
|
},
|
|
94
110
|
]);
|
|
95
111
|
|
package/src/routes/templates.ts
CHANGED
|
@@ -47,7 +47,6 @@ import {
|
|
|
47
47
|
type TemplateStats,
|
|
48
48
|
} from "../services/template-stats";
|
|
49
49
|
import {
|
|
50
|
-
assertSlugClaimed,
|
|
51
50
|
contentFieldsOf,
|
|
52
51
|
discardDraft,
|
|
53
52
|
displayName,
|
|
@@ -70,6 +69,7 @@ import {
|
|
|
70
69
|
workingSnapshot,
|
|
71
70
|
workingContent,
|
|
72
71
|
workingVariables,
|
|
72
|
+
refuseTakenSlug,
|
|
73
73
|
requireTemplate,
|
|
74
74
|
} from "../services/templates";
|
|
75
75
|
import {
|
|
@@ -89,7 +89,6 @@ import {
|
|
|
89
89
|
} from "../validation/templates.schema";
|
|
90
90
|
|
|
91
91
|
const STARTER_NOT_FOUND = "$dms_mailing.errors.starter_not_found";
|
|
92
|
-
const DUPLICATE_SLUG = "$dms_mailing.errors.duplicate_slug";
|
|
93
92
|
const INVALID_CONTENT = "$dms_mailing.errors.invalid_content";
|
|
94
93
|
const INVALID_TRANSITION = "$dms_mailing.errors.invalid_transition";
|
|
95
94
|
const NOTHING_TO_PUBLISH = "$dms_mailing.errors.nothing_to_publish";
|
|
@@ -573,17 +572,16 @@ export class TemplatesController extends Controller(
|
|
|
573
572
|
duplicateSchema.parse(value),
|
|
574
573
|
);
|
|
575
574
|
const source = await requireTemplate(this.templates, id);
|
|
576
|
-
const
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
await assertSlugClaimed(this.tenantId, slug, copyId as string);
|
|
575
|
+
const [copyId] = await refuseTakenSlug(
|
|
576
|
+
this.templates.insertFields({
|
|
577
|
+
slug,
|
|
578
|
+
name: withTextIn(undefined, this.locale, name),
|
|
579
|
+
category: source.category,
|
|
580
|
+
status: "draft",
|
|
581
|
+
...contentFieldsOf(source),
|
|
582
|
+
updatedBy: this.author,
|
|
583
|
+
}),
|
|
584
|
+
);
|
|
587
585
|
await refreshTemplateAttention(this.tenantId);
|
|
588
586
|
return { id: copyId };
|
|
589
587
|
}
|