@mbc-cqrs-serverless/master 0.1.66-beta.0 → 0.1.68-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/constants/index.d.ts +1 -0
  2. package/dist/constants/index.js +2 -1
  3. package/dist/constants/index.js.map +1 -1
  4. package/dist/interfaces/master-data.interface.d.ts +3 -0
  5. package/dist/interfaces/master-setting.interface.d.ts +4 -1
  6. package/dist/services/master-data.service.d.ts +14 -0
  7. package/dist/services/master-data.service.js +10 -0
  8. package/dist/services/master-data.service.js.map +1 -1
  9. package/dist/services/master-setting.service.d.ts +15 -1
  10. package/dist/services/master-setting.service.js +10 -0
  11. package/dist/services/master-setting.service.js.map +1 -1
  12. package/dist/services/master-setting.service.spec.d.ts +1 -0
  13. package/dist/services/master-setting.service.spec.js +662 -0
  14. package/dist/services/master-setting.service.spec.js.map +1 -0
  15. package/dist/update-scheme.js +262 -14
  16. package/dist/update-scheme.js.map +1 -1
  17. package/package.json +6 -4
  18. package/src/templates/custom-task/custom-task.module.ts +18 -0
  19. package/src/templates/custom-task/event/task-queue-event-factory.ts +26 -0
  20. package/src/templates/custom-task/my-task.controller.ts +28 -0
  21. package/src/templates/custom-task/my-task.service.ts +99 -0
  22. package/src/templates/master/dto/master-copy.dto.ts +73 -0
  23. package/src/templates/master/dto/master-data-create.dto.ts +20 -0
  24. package/src/templates/master/dto/master-data-search.dto.ts +20 -0
  25. package/src/templates/master/dto/master-data-update.dto.ts +25 -0
  26. package/src/templates/master/dto/master-rds-list.entity.ts +15 -0
  27. package/src/templates/master/dto/master-rds.entity.ts +77 -0
  28. package/src/templates/master/dto/master-setting-search.dto.ts +20 -0
  29. package/src/templates/master/dto/master-setting-update.dto.ts +11 -0
  30. package/src/templates/master/entity/master-command.entity.ts +11 -0
  31. package/src/templates/master/entity/master-data-list.entity.ts +13 -0
  32. package/src/templates/master/entity/master-data.entity.ts +11 -0
  33. package/src/templates/master/handler/master-rds.handler.ts +75 -0
  34. package/src/templates/master/handler/master-sfn-task.event.ts +3 -0
  35. package/src/templates/master/handler/master-sfn-task.handler.ts +334 -0
  36. package/src/templates/master/helpers/get-order.ts +19 -0
  37. package/src/templates/master/helpers/id.ts +42 -0
  38. package/src/templates/master/helpers/index.ts +3 -0
  39. package/src/templates/master/helpers/key.ts +11 -0
  40. package/src/templates/master/master-data.controller.ts +98 -0
  41. package/src/templates/master/master-data.service.ts +181 -0
  42. package/src/templates/master/master-setting.controller.ts +103 -0
  43. package/src/templates/master/master-setting.service.ts +201 -0
  44. package/src/templates/master/master.module.ts +36 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"master-setting.service.spec.js","sourceRoot":"","sources":["../../src/services/master-setting.service.spec.ts"],"names":[],"mappings":";;AAAA,oDASkC;AAClC,6CAAqD;AAErD,0CAAiD;AACjD,oCAA0C;AAC1C,qEAA+D;AAC/D,4CAAoD;AAQpD,MAAM,WAAW,GAAG;IAClB,aAAa,EAAE;QACb,KAAK,EAAE;YACL,cAAc,EAAE;gBACd,SAAS,EAAE,GAAG;gBACd,IAAI,EAAE;oBACJ,QAAQ,EAAE,UAAU;oBACpB,QAAQ,EAAE,WAAW;oBACrB,SAAS,EAAE,uBAAuB;iBACnC;gBACD,SAAS,EAAE,sCAAsC;gBACjD,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,MAAM,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,cAAc,EAAE,mCAAmC;yBACvC;qBACf;iBACF;aACF;SACF;QACD,OAAO,EAAE;YACP,YAAY,EAAE,sCAAsC;SACrD;KACF;CACF,CAAA;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,OAA6B,CAAA;IACjC,IAAI,WAAwB,CAAA;IAC5B,IAAI,cAA8B,CAAA;IAClC,IAAI,eAAgC,CAAA;IACpC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,MAAM,GAAkB,MAAM,cAAI,CAAC,mBAAmB,CAAC;YAC3D,SAAS,EAAE;gBACT,6CAAoB;gBACpB;oBACE,OAAO,EAAE,qBAAc;oBACvB,QAAQ,EAAE;wBACR,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;qBACxB;iBACF;gBACD;oBACE,OAAO,EAAE,kBAAW;oBACpB,QAAQ,EAAE;wBACR,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;wBAClB,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;qBACzB;iBACF;gBACD;oBACE,OAAO,EAAE,sBAAe;oBACxB,QAAQ,EAAE;wBACR,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;wBAClB,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;qBACxB;iBACF;aACF;SACF,CAAC,CAAC,OAAO,EAAE,CAAA;QAEZ,OAAO,GAAG,MAAM,CAAC,GAAG,CAAuB,6CAAoB,CAAC,CAAA;QAChE,WAAW,GAAG,MAAM,CAAC,GAAG,CAAc,kBAAW,CAAC,CAAA;QAClD,cAAc,GAAG,MAAM,CAAC,GAAG,CAAiB,qBAAc,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IACF,EAAE;IACF,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;IAC/B,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,qBAAqB,CAAC;YACtD,EAAE,EAAE,sCAAsC;YAC1C,YAAY,EAAE,EAAE;SACjB,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAC3B,WAAW,CACZ,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CACtB,IAAI,8BAAmB,CAAC;YACtB,EAAE,EAAE,sCAAsC;YAC1C,YAAY,EAAE,EAAE;SACjB,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,qBAAqB,CAAC;YACtD,EAAE,EAAE,qCAAqC;YACzC,YAAY,EAAE,EAAE;SACjB,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAC3B,WAAW,CACZ,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CACtB,IAAI,8BAAmB,CAAC;YACtB,EAAE,EAAE,qCAAqC;YACzC,YAAY,EAAE,EAAE;SACjB,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,qBAAqB,CAAC;YACtD,EAAE,EAAE,sCAAsC;YAC1C,YAAY,EAAE,EAAE;SACjB,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAC7B,WAAW,CACZ,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CACtB,IAAI,8BAAmB,CAAC;YACtB,EAAE,EAAE,sCAAsC;YAC1C,YAAY,EAAE,EAAE;SACjB,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,qBAAqB,CAAC;YACtD,EAAE,EAAE,kCAAkC;YACtC,YAAY,EAAE,EAAE;SACjB,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAC7B,WAAW,CACZ,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CACtB,IAAI,8BAAmB,CAAC;YACtB,EAAE,EAAE,kCAAkC;YACtC,YAAY,EAAE,EAAE;SACjB,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;YACnG,MAAM,WAAW,GAAG,kBAAkB,CAAA;YACtC,MAAM,YAAY,GAAG,EAAE,CAAA;YACvB,MAAM,WAAW,GAAG,mBAAmB,CAAA;YAEvC,MAAM,EAAE,GAAG,GAAG,iCAAqB,GAAG,oBAAa,GAAG,uBAAe,CAAC,aAAa,EAAE,CAAA;YACrF,MAAM,EAAE,GAAG,WAAW,CAAA;YACtB,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,gBAAgB;gBACpB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,gCAAgC;gBACpC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,OAAO,GAAe;gBAC1B,EAAE;gBACF,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,IAAA,iBAAU,EAAC,EAAE,EAAE,EAAE,CAAC;gBACtB,UAAU,EAAE,uBAAe,CAAC,aAAa;gBACzC,IAAI,EAAE,uBAAe,CAAC,aAAa;gBACnC,OAAO,EAAE,oBAAa;gBAEtB,UAAU,EAAE,YAAY;aACzB,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,gBAAgB;gBACpB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,gCAAgC;gBACpC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YAEtE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,gBAAgB;gBACpB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,gCAAgC;gBACpC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,OAAO,GAAqB;gBAChC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,YAAY,EAAE,EAAE;aACjB,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,gBAAgB;gBACpB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,gCAAgC;gBACpC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,yBAAyB,CACpD,OAAO,EACP,WAAW,CACZ,CAAA;YAED,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,gBAAgB;gBACpB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,gCAAgC;gBACpC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,OAAO,GAAqB;gBAChC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,YAAY,EAAE,EAAE;aACjB,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,iBAAiB,CAAC;gBACnD,EAAE,EAAE,gBAAgB;gBACpB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,gCAAgC;gBACpC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;YAEF,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,gBAAgB;gBACpB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,gCAAgC;gBACpC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,yBAAyB,CACpD,OAAO,EACP,WAAW,CACZ,CAAA;YAED,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;YAC7F,MAAM,WAAW,GAAG,kBAAkB,CAAA;YACtC,MAAM,YAAY,GAAG,EAAE,CAAA;YACvB,MAAM,WAAW,GAAG,mBAAmB,CAAA;YACvC,MAAM,UAAU,GAAG,KAAK,CAAA;YAExB,MAAM,EAAE,GAAG,GAAG,iCAAqB,GAAG,oBAAa,GAAG,UAAU,EAAE,CAAA;YAClE,MAAM,EAAE,GAAG,WAAW,CAAA;YACtB,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,6BAA6B;gBACjC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,OAAO,GAAe;gBAC1B,EAAE;gBACF,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,IAAA,iBAAU,EAAC,EAAE,EAAE,EAAE,CAAC;gBACtB,UAAU,EAAE,uBAAe,CAAC,aAAa;gBACzC,IAAI,EAAE,uBAAe,CAAC,aAAa;gBACnC,OAAO,EAAE,oBAAa;gBAEtB,UAAU,EAAE,YAAY;aACzB,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,6BAA6B;gBACjC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YAEtE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,6BAA6B;gBACjC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,OAAO,GAAqB;gBAChC,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,YAAY,EAAE,EAAE;aACjB,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,6BAA6B;gBACjC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YAEtE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,6BAA6B;gBACjC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,OAAO,GAAqB;gBAChC,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,YAAY,EAAE,EAAE;aACjB,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,iBAAiB,CAAC;gBACnD,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,6BAA6B;gBACjC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;YAEF,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,6BAA6B;gBACjC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,yBAAyB,CACpD,OAAO,EACP,WAAW,CACZ,CAAA;YAED,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,MAAM,WAAW,GAAG,kBAAkB,CAAA;YACtC,MAAM,YAAY,GAAG,EAAE,CAAA;YACvB,MAAM,WAAW,GAAG,mBAAmB,CAAA;YACvC,MAAM,UAAU,GAAG,KAAK,CAAA;YAExB,MAAM,EAAE,GAAG,GAAG,iCAAqB,GAAG,oBAAa,GAAG,UAAU,EAAE,CAAA;YAClE,MAAM,EAAE,GAAG,WAAW,CAAA;YACtB,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,yBAAyB;gBAC7B,EAAE,EAAE,qCAAqC;gBACzC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,MAAM,GAAe;gBACzB,EAAE;gBACF,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,IAAA,iBAAU,EAAC,EAAE,EAAE,EAAE,CAAC;gBACtB,UAAU,EAAE,uBAAe,CAAC,aAAa;gBACzC,IAAI,EAAE,uBAAe,CAAC,aAAa;gBACnC,OAAO,EAAE,oBAAa;gBAEtB,UAAU,EAAE,YAAY;aACzB,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,yBAAyB;gBAC7B,EAAE,EAAE,qCAAqC;gBACzC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;YAErE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,yBAAyB;gBAC7B,EAAE,EAAE,qCAAqC;gBACzC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,OAAO,GAAoB;gBAC/B,OAAO,EAAE,GAAG;gBACZ,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,YAAY,EAAE,EAAE;aACjB,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,yBAAyB;gBAC7B,EAAE,EAAE,qCAAqC;gBACzC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YAErE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;YACjF,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,yBAAyB;gBAC7B,EAAE,EAAE,qCAAqC;gBACzC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,OAAO,GAAoB;gBAC/B,OAAO,EAAE,GAAG;gBACZ,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,YAAY,EAAE,EAAE;aACjB,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,iBAAiB,CAAC;gBACnD,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,yBAAyB;gBAC7B,EAAE,EAAE,qCAAqC;gBACzC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;YAEF,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,yBAAyB;gBAC7B,EAAE,EAAE,qCAAqC;gBACzC,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,yBAAyB,CACpD,OAAO,EACP,WAAW,CACZ,CAAA;YAED,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,MAAM,WAAW,GAAG,kBAAkB,CAAA;YACtC,MAAM,YAAY,GAAG,EAAE,CAAA;YACvB,MAAM,WAAW,GAAG,mBAAmB,CAAA;YACvC,MAAM,UAAU,GAAG,KAAK,CAAA;YAExB,MAAM,EAAE,GAAG,GAAG,iCAAqB,GAAG,oBAAa,GAAG,UAAU,EAAE,CAAA;YAClE,MAAM,EAAE,GAAG,WAAW,CAAA;YACtB,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,0BAA0B;gBAC9B,EAAE,EAAE,sCAAsC;gBAC1C,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,MAAM,GAAe;gBACzB,EAAE;gBACF,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,IAAA,iBAAU,EAAC,EAAE,EAAE,EAAE,CAAC;gBACtB,UAAU,EAAE,uBAAe,CAAC,aAAa;gBACzC,IAAI,EAAE,uBAAe,CAAC,aAAa;gBACnC,OAAO,EAAE,oBAAa;gBAEtB,UAAU,EAAE,YAAY;aACzB,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,0BAA0B;gBAC9B,EAAE,EAAE,sCAAsC;gBAC1C,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;YAErE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,0BAA0B;gBAC9B,EAAE,EAAE,sCAAsC;gBAC1C,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,OAAO,GAAmB;gBAC9B,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,YAAY,EAAE,EAAE;gBAChB,MAAM,EAAE,KAAK;aACd,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,0BAA0B;gBAC9B,EAAE,EAAE,sCAAsC;gBAC1C,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YAEpE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,0BAA0B;gBAC9B,EAAE,EAAE,sCAAsC;gBAC1C,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,OAAO,GAAmB;gBAC9B,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,YAAY,EAAE,EAAE;gBAChB,MAAM,EAAE,KAAK;aACd,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,iBAAiB,CAAC;gBACnD,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,0BAA0B;gBAC9B,EAAE,EAAE,sCAAsC;gBAC1C,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;YAEF,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,0BAA0B;gBAC9B,EAAE,EAAE,sCAAsC;gBAC1C,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YAEpE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACvF,MAAM,WAAW,GAAG,kBAAkB,CAAA;YACtC,MAAM,YAAY,GAAG,EAAE,CAAA;YACvB,MAAM,WAAW,GAAG,mBAAmB,CAAA;YACvC,MAAM,UAAU,GAAG,KAAK,CAAA;YAExB,MAAM,EAAE,GAAG,GAAG,iCAAqB,GAAG,oBAAa,GAAG,UAAU,EAAE,CAAA;YAClE,MAAM,EAAE,GAAG,WAAW,CAAA;YACtB,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,yBAAyB;gBAC7B,EAAE,EAAE,sCAAsC;gBAC1C,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAA;YAED,MAAM,OAAO,GAAe;gBAC1B,EAAE;gBACF,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,IAAA,iBAAU,EAAC,EAAE,EAAE,EAAE,CAAC;gBACtB,UAAU,EAAE,uBAAe,CAAC,aAAa;gBACzC,IAAI,EAAE,uBAAe,CAAC,aAAa;gBACnC,OAAO,EAAE,oBAAa;gBAEtB,UAAU,EAAE,YAAY;aACzB,CAAA;YAED,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,aAAa;gBACjB,EAAE,EAAE,yBAAyB;gBAC7B,EAAE,EAAE,sCAAsC;gBAC1C,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YAEtE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AACrC,CAAC,CAAC,CAAA"}
@@ -1,24 +1,272 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const fs_1 = require("fs");
7
+ const fs_2 = __importDefault(require("fs"));
4
8
  const path_1 = require("path");
9
+ const path_2 = __importDefault(require("path"));
5
10
  const constants_1 = require("./constants");
11
+ // [cqrs dynamo]
6
12
  // Path to the JSON file
7
13
  const jsonFilePath = (0, path_1.resolve)(__dirname, '../../../../prisma/dynamodbs/cqrs.json'); // Replace with your actual file name
14
+ const formatDynamo = async () => {
15
+ try {
16
+ // Read the JSON file
17
+ const rawData = (0, fs_1.readFileSync)(jsonFilePath, 'utf-8');
18
+ const jsonData = JSON.parse(rawData);
19
+ // Ensure jsonData is an array
20
+ if (!Array.isArray(jsonData)) {
21
+ throw new Error('The JSON content is not an array.');
22
+ }
23
+ // Add "master" to the array if it doesn't exist
24
+ if (!jsonData.includes(constants_1.TABLE_NAME)) {
25
+ jsonData.push(constants_1.TABLE_NAME);
26
+ }
27
+ // Write the updated JSON back to the file
28
+ (0, fs_1.writeFileSync)(jsonFilePath, JSON.stringify(jsonData, null, 2), 'utf-8');
29
+ }
30
+ catch (error) { }
31
+ };
32
+ // [event factory]
33
+ const eventFilePath = (0, path_1.resolve)(__dirname, '../../../../src/event-factory.ts');
34
+ const transformDynamodbStreamFunction = `
35
+ async transformDynamodbStream(event: DynamoDBStreamEvent): Promise<IEvent[]> {
36
+ const curEvents = await super.transformDynamodbStream(event);
37
+ const taskEvents = event.Records.map((record) => {
38
+ if (
39
+ record.eventSourceARN.endsWith('tasks') ||
40
+ record.eventSourceARN.includes('tasks' + '/stream/')
41
+ ) {
42
+ if (record.eventName === 'INSERT') {
43
+ return new TaskEvent().fromDynamoDBRecord(record)
44
+ }
45
+ }
46
+ return undefined;
47
+ }).filter((event) => !!event)
48
+
49
+ return [...curEvents, ...taskEvents]
50
+ }
51
+ `;
52
+ const formatEventFactory = async () => {
53
+ try {
54
+ let rawData = (0, fs_1.readFileSync)(eventFilePath, 'utf-8');
55
+ // add dynamo stream
56
+ const isAddEventFactory = rawData.includes('transformDynamodbStream');
57
+ if (!isAddEventFactory) {
58
+ const lastBraceIndex = rawData.lastIndexOf('}');
59
+ rawData =
60
+ rawData.substring(0, lastBraceIndex) +
61
+ `\n\n${transformDynamodbStreamFunction}\n` +
62
+ rawData.substring(lastBraceIndex);
63
+ }
64
+ // add import core
65
+ const coreImportPath = '@mbc-cqrs-serverless/core';
66
+ const taskImportPath = '@mbc-cqrs-serverless/task';
67
+ const genericImportStatementRegex = /^import\s*\{[\s\S]*?\}\s*from\s*['"]([^'"]+)['"];?\s*\r?\n?/gm;
68
+ let currentCoreImportStatement = '';
69
+ let currentTaskImportStatement = '';
70
+ const matches = rawData.match(genericImportStatementRegex);
71
+ // Use a map to store the exact match for each module path for easy access
72
+ const foundImportStatements = new Map();
73
+ if (matches) {
74
+ matches.forEach((fullMatch) => {
75
+ const pathMatch = fullMatch.match(/from\s*['"]([^'"]+)['"]/);
76
+ if (pathMatch && pathMatch[1]) {
77
+ foundImportStatements.set(pathMatch[1], fullMatch);
78
+ }
79
+ });
80
+ }
81
+ // Process the core import
82
+ if (foundImportStatements.has(coreImportPath)) {
83
+ currentCoreImportStatement = foundImportStatements.get(coreImportPath);
84
+ const coreItemsToAdd = ['EventFactory', 'IEvent'];
85
+ const coreItemsToRemove = ['DefaultEventFactory'];
86
+ const modifiedCoreImportStatement = modifyImportString(currentCoreImportStatement, coreItemsToAdd, coreItemsToRemove);
87
+ rawData = rawData.replace(currentCoreImportStatement, modifiedCoreImportStatement);
88
+ }
89
+ // Process the task import
90
+ if (foundImportStatements.has(taskImportPath)) {
91
+ currentTaskImportStatement = foundImportStatements.get(taskImportPath);
92
+ const taskItemsToAdd = ['EventFactoryAddedTask', 'TaskEvent'];
93
+ const modifiedTaskImportStatement = modifyImportString(currentTaskImportStatement, taskItemsToAdd);
94
+ rawData = rawData.replace(currentTaskImportStatement, modifiedTaskImportStatement);
95
+ }
96
+ else {
97
+ // No import statement found for '${taskImportPath}' in rawData.`,
98
+ const taskImportLine = "import { EventFactoryAddedTask, TaskEvent } from '@mbc-cqrs-serverless/task'";
99
+ rawData = taskImportLine + '\n' + rawData;
100
+ }
101
+ if (!rawData.includes('aws-lambda')) {
102
+ const awsLambdaImportLine = "import { DynamoDBStreamEvent } from 'aws-lambda';";
103
+ rawData = awsLambdaImportLine + '\n' + rawData;
104
+ }
105
+ // add EventFactoryAddedTask
106
+ rawData = rawData.replace(/export\s+class\s+CustomEventFactory\s+extends\s+DefaultEventFactory\s*{/, 'export class CustomEventFactory extends EventFactoryAddedTask {');
107
+ (0, fs_1.writeFileSync)(eventFilePath, rawData, 'utf-8');
108
+ }
109
+ catch (error) { }
110
+ };
111
+ function modifyImportString(importString, itemsToAdd = [], itemsToRemove = []) {
112
+ // Regex to capture the module path and the content within the curly braces
113
+ const regex = /import\s*\{\s*([\s\S]*?)\s*\}\s*from\s*['"](.*?)['"]/;
114
+ const match = importString.match(regex);
115
+ if (!match) {
116
+ // If the regex doesn't match, return the original string or throw an error
117
+ return importString;
118
+ }
119
+ const existingItemsString = match[1];
120
+ const modulePath = match[2];
121
+ // Split the existing items string into an array, clean up whitespace, and filter out empty strings
122
+ let items = existingItemsString
123
+ .split(',')
124
+ .map((item) => item.trim())
125
+ .filter((item) => item.length > 0);
126
+ // Remove specified items
127
+ items = items.filter((item) => !itemsToRemove.includes(item));
128
+ // Add new items, ensuring no duplicates
129
+ const allItems = new Set([...items, ...itemsToAdd]);
130
+ const sortedItems = Array.from(allItems).sort();
131
+ // Construct the new import string with proper indentation
132
+ const newImportContent = sortedItems.map((item) => ` ${item},`).join('\n');
133
+ return `import {\n${newImportContent}\n} from '${modulePath}'\n`;
134
+ }
135
+ // [main module]
136
+ const formatTemplate = () => {
137
+ const destDir = (0, path_1.resolve)(__dirname, '../../../../src/custom-task');
138
+ (0, fs_1.cpSync)(path_2.default.join(__dirname, '../src/templates/custom-task'), destDir, {
139
+ recursive: true,
140
+ });
141
+ function mergeDirectories(source, destination) {
142
+ // 1. Read all the items (files and directories) in the source folder.
143
+ const sourceItems = fs_2.default.readdirSync(source, { withFileTypes: true });
144
+ // 2. Iterate through each item.
145
+ for (const item of sourceItems) {
146
+ const sourcePath = path_2.default.join(source, item.name);
147
+ const destinationPath = path_2.default.join(destination, item.name);
148
+ if (item.isDirectory()) {
149
+ // If it's a directory, check if the destination directory exists.
150
+ if (!fs_2.default.existsSync(destinationPath)) {
151
+ // If not, create it.
152
+ fs_2.default.mkdirSync(destinationPath, { recursive: true });
153
+ }
154
+ // Recursively call the function to merge the subdirectories.
155
+ mergeDirectories(sourcePath, destinationPath);
156
+ }
157
+ else if (item.isFile()) {
158
+ // If it's a file, check if it already exists in the destination.
159
+ if (fs_2.default.existsSync(destinationPath)) {
160
+ const contentToAppend = fs_2.default.readFileSync(sourcePath);
161
+ fs_2.default.appendFileSync(destinationPath, contentToAppend);
162
+ }
163
+ else {
164
+ // If the file doesn't exist, just copy it.
165
+ fs_2.default.copyFileSync(sourcePath, destinationPath);
166
+ }
167
+ }
168
+ }
169
+ }
170
+ const sourceDir = path_2.default.join(__dirname, '../src/templates/master');
171
+ const destinationDir = path_2.default.resolve(__dirname, '../../../../src/master');
172
+ const fileName = 'handler/master-sfn-task.event.ts';
173
+ const filePath = path_2.default.join(destinationDir, fileName);
174
+ // Check if the file exists
175
+ if (!fs_2.default.existsSync(destinationDir)) {
176
+ fs_2.default.mkdirSync(destinationDir, { recursive: true });
177
+ }
178
+ if (!fs_2.default.existsSync(filePath)) {
179
+ mergeDirectories(sourceDir, destinationDir);
180
+ }
181
+ const mainPath = (0, path_1.resolve)(__dirname, '../../../../src/main.module.ts');
182
+ let rawData = (0, fs_1.readFileSync)(mainPath, 'utf-8');
183
+ let needsWrite = false;
184
+ if (!rawData.includes('CustomEventFactory')) {
185
+ const eventImportLine = "import { CustomEventFactory } from './event-factory'";
186
+ rawData = eventImportLine + '\n' + rawData;
187
+ const module = ['CustomEventFactory'];
188
+ rawData = appendToProviders(rawData, module);
189
+ needsWrite = true;
190
+ }
191
+ if (!rawData.includes('MasterModule')) {
192
+ if (!rawData.includes('./master/master.module')) {
193
+ const awsLambdaImportLine = "import { MasterModule } from './master/master.module'";
194
+ rawData = awsLambdaImportLine + '\n' + rawData;
195
+ needsWrite = true;
196
+ }
197
+ if (!rawData.includes('./custom-task/custom-task.module')) {
198
+ const customTaskLine = `import { CustomTaskModule } from './custom-task/custom-task.module'`;
199
+ rawData = customTaskLine + '\n' + rawData;
200
+ needsWrite = true;
201
+ }
202
+ const modulesToAdd = ['MasterModule', 'CustomTaskModule'];
203
+ rawData = appendModulesAfterOpeningBracket(rawData, modulesToAdd);
204
+ needsWrite = true;
205
+ }
206
+ if (needsWrite) {
207
+ (0, fs_1.writeFileSync)(mainPath, rawData, 'utf-8');
208
+ }
209
+ };
210
+ function appendToProviders(codeString, modulesToAppend) {
211
+ const importsRegex = /(providers:\s*\[\s*)/s;
212
+ const formattedModules = modulesToAppend.join(',\n ');
213
+ const replacement = `$1\n ${formattedModules},\n `;
214
+ const newCodeString = codeString.replace(importsRegex, replacement);
215
+ return newCodeString;
216
+ }
217
+ function appendModulesAfterOpeningBracket(codeString, modulesToAppend) {
218
+ const importsRegex = /(imports:\s*\[\s*)/s;
219
+ const formattedModules = modulesToAppend.join(',\n ');
220
+ const replacement = `$1\n ${formattedModules},\n `;
221
+ const newCodeString = codeString.replace(importsRegex, replacement);
222
+ return newCodeString;
223
+ }
224
+ // [prisma]
225
+ const masterSchema = `model Master {
226
+ id String @id
227
+ cpk String
228
+ csk String
229
+ pk String
230
+ sk String
231
+ masterType String @default("") @map("master_type")
232
+ masterTypeCode String @map("master_type_code")
233
+ masterCode String @map("master_code")
234
+ tenantCode String @map("tenant_code")
235
+ seq Int @default(0)
236
+ code String
237
+ name String
238
+ version Int
239
+ isDeleted Boolean @default(false) @map("is_deleted")
240
+ createdBy String @default("") @map("created_by")
241
+ createdIp String @default("") @map("created_ip")
242
+ createdAt DateTime @default(now()) @map("created_at") @db.Timestamp(0)
243
+ updatedBy String @default("") @map("updated_by")
244
+ updatedIp String @default("") @map("updated_ip")
245
+ updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamp(0)
246
+
247
+ attributes Json? @map("attributes")
248
+
249
+ @@unique([cpk, csk])
250
+ @@unique([pk, sk])
251
+ @@unique([tenantCode, code])
252
+ @@unique([tenantCode, masterTypeCode, masterCode])
253
+ @@index([tenantCode, name])
254
+ @@map("masters")
255
+ }`;
256
+ const formatPrisma = () => {
257
+ const mainPath = (0, path_1.resolve)(__dirname, '../../../../prisma/schema.prisma');
258
+ let schemaData = (0, fs_1.readFileSync)(mainPath, 'utf-8');
259
+ if (schemaData.includes('model Master')) {
260
+ return;
261
+ }
262
+ schemaData += '\n' + masterSchema + '\n';
263
+ (0, fs_1.writeFileSync)(mainPath, schemaData, 'utf-8');
264
+ };
8
265
  try {
9
- // Read the JSON file
10
- const rawData = (0, fs_1.readFileSync)(jsonFilePath, 'utf-8');
11
- const jsonData = JSON.parse(rawData);
12
- // Ensure jsonData is an array
13
- if (!Array.isArray(jsonData)) {
14
- throw new Error('The JSON content is not an array.');
15
- }
16
- // Add "master" to the array if it doesn't exist
17
- if (!jsonData.includes(constants_1.TABLE_NAME)) {
18
- jsonData.push(constants_1.TABLE_NAME);
19
- }
20
- // Write the updated JSON back to the file
21
- (0, fs_1.writeFileSync)(jsonFilePath, JSON.stringify(jsonData, null, 2), 'utf-8');
266
+ formatDynamo();
267
+ formatEventFactory();
268
+ formatTemplate();
269
+ formatPrisma();
22
270
  }
23
- catch (error) { }
271
+ catch (e) { }
24
272
  //# sourceMappingURL=update-scheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-scheme.js","sourceRoot":"","sources":["../src/update-scheme.ts"],"names":[],"mappings":";;AAAA,2BAAgD;AAChD,+BAA8B;AAE9B,2CAAwC;AACxC,wBAAwB;AACxB,MAAM,YAAY,GAAG,IAAA,cAAO,EAC1B,SAAS,EACT,wCAAwC,CACzC,CAAA,CAAC,qCAAqC;AAEvC,IAAI,CAAC;IACH,qBAAqB;IACrB,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAEpC,8BAA8B;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAU,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,sBAAU,CAAC,CAAA;IAC3B,CAAC;IAED,0CAA0C;IAC1C,IAAA,kBAAa,EAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AACzE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"update-scheme.js","sourceRoot":"","sources":["../src/update-scheme.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mbc-cqrs-serverless/master",
3
- "version": "0.1.66-beta.0",
3
+ "version": "0.1.68-beta.0",
4
4
  "description": " Master data management such as setting, sequence, etc.",
5
5
  "keywords": [
6
6
  "mbc",
@@ -21,7 +21,8 @@
21
21
  "types": "./dist/index.d.ts",
22
22
  "files": [
23
23
  "dist",
24
- "!dist/tsconfig.tsbuildinfo"
24
+ "!dist/tsconfig.tsbuildinfo",
25
+ "src/templates"
25
26
  ],
26
27
  "scripts": {
27
28
  "build": "rm -rf dist && nest build",
@@ -43,7 +44,8 @@
43
44
  "access": "public"
44
45
  },
45
46
  "dependencies": {
46
- "@mbc-cqrs-serverless/core": "^0.1.48-beta.0"
47
+ "@mbc-cqrs-serverless/core": "^0.1.66-beta.0",
48
+ "@mbc-cqrs-serverless/task": "^0.1.66-beta.0"
47
49
  },
48
- "gitHead": "484c4c604991e50742ba5fd2d8d82d1bc89bfbf3"
50
+ "gitHead": "b38aeaf1bba3dd783a3e7aecb3384bb42c9ac837"
49
51
  }
@@ -0,0 +1,18 @@
1
+ import { TaskModule } from '@mbc-cqrs-serverless/task'
2
+ import { Module } from '@nestjs/common'
3
+
4
+ import { TaskQueueEventFactory } from './event/task-queue-event-factory'
5
+ import { MyTaskController } from './my-task.controller'
6
+ import { MyTaskService } from './my-task.service'
7
+
8
+ @Module({
9
+ imports: [
10
+ TaskModule.register({
11
+ taskQueueEventFactory: TaskQueueEventFactory,
12
+ }),
13
+ ],
14
+ providers: [MyTaskService],
15
+ controllers: [MyTaskController],
16
+ exports: [TaskModule],
17
+ })
18
+ export class CustomTaskModule {}
@@ -0,0 +1,26 @@
1
+ import { ITaskQueueEventFactory } from '@mbc-cqrs-serverless/task'
2
+ import { StepFunctionTaskEvent } from '@mbc-cqrs-serverless/task'
3
+ import { Logger } from '@nestjs/common'
4
+
5
+ import { MasterSfnTaskEvent } from '../../master/handler/master-sfn-task.event'
6
+
7
+ export class TaskQueueEventFactory implements ITaskQueueEventFactory {
8
+ private readonly logger = new Logger(TaskQueueEventFactory.name)
9
+
10
+ async transformStepFunctionTask(
11
+ event: StepFunctionTaskEvent,
12
+ ): Promise<any[]> {
13
+ this.logger.debug('Received StepFunctionTaskEvent', event)
14
+
15
+ const taskKeySk = event.taskKey.sk
16
+ this.logger.debug(`Evaluating taskKey.sk: ${taskKeySk}`)
17
+
18
+ if (taskKeySk.startsWith('MASTER_COPY')) {
19
+ this.logger.debug(`Matched MASTER_COPY_SK_PREFIX (MASTER_COPY)`)
20
+ return [new MasterSfnTaskEvent(event)]
21
+ }
22
+
23
+ this.logger.debug(`No matching SK prefix found for: ${taskKeySk}`)
24
+ return []
25
+ }
26
+ }
@@ -0,0 +1,28 @@
1
+ import { DetailDto, IInvoke, INVOKE_CONTEXT } from '@mbc-cqrs-serverless/core'
2
+ import { TaskEntity } from '@mbc-cqrs-serverless/task'
3
+ import { Controller, Get, Param, Query } from '@nestjs/common'
4
+ import { ApiTags } from '@nestjs/swagger'
5
+
6
+ import { MyTaskService } from './my-task.service'
7
+
8
+ @Controller('api/tasks')
9
+ @ApiTags('tasks')
10
+ export class MyTaskController {
11
+ constructor(private readonly myTaskService: MyTaskService) {}
12
+
13
+ @Get('/sfn-task-parent')
14
+ async getSfnTaskParentBySettingCode(
15
+ @INVOKE_CONTEXT() invokeContext: IInvoke,
16
+ @Query('masterSettingCode') masterSettingCode: string,
17
+ ): Promise<TaskEntity[]> {
18
+ return this.myTaskService.getSfnTaskParentBySettingCode(
19
+ masterSettingCode,
20
+ invokeContext,
21
+ )
22
+ }
23
+
24
+ @Get('/:pk/:sk')
25
+ async getSfnChildTask(@Param() key: DetailDto): Promise<TaskEntity[]> {
26
+ return this.myTaskService.getSfnChildTask(key)
27
+ }
28
+ }
@@ -0,0 +1,99 @@
1
+ import {
2
+ DetailKey,
3
+ extractInvokeContext,
4
+ getAuthorizerClaims,
5
+ HEADER_TENANT_CODE,
6
+ IInvoke,
7
+ KEY_SEPARATOR,
8
+ UserContext,
9
+ } from '@mbc-cqrs-serverless/core'
10
+ import { TaskEntity, TaskService } from '@mbc-cqrs-serverless/task'
11
+ import {
12
+ BadRequestException,
13
+ ExecutionContext,
14
+ Injectable,
15
+ } from '@nestjs/common'
16
+
17
+ @Injectable()
18
+ export class MyTaskService {
19
+ constructor(private readonly taskService: TaskService) {}
20
+
21
+ async getSfnTaskParentBySettingCode(
22
+ masterSettingCode: string,
23
+ invokeContext: IInvoke,
24
+ ) {
25
+ const userContext = this.getUserContext(invokeContext)
26
+ if (!masterSettingCode) {
27
+ throw new BadRequestException('Must provide master setting code')
28
+ }
29
+ const items = await this.listAllItemsByPk(
30
+ userContext.tenantCode,
31
+ 'SFN_TASK',
32
+ {
33
+ sk: {
34
+ skExpession: 'begins_with(sk, :code)',
35
+ skAttributeValues: {
36
+ ':code': `MASTER_COPY_${masterSettingCode}`,
37
+ },
38
+ },
39
+ order: 'desc',
40
+ },
41
+ )
42
+
43
+ return items.filter((item) => this.isParentTask(item.sk))
44
+ }
45
+
46
+ async getSfnChildTask(key: DetailKey) {
47
+ return await this.taskService.getAllSubTask(key)
48
+ }
49
+
50
+ private async listAllItemsByPk(
51
+ tenantCode: string,
52
+ type: string,
53
+ options?: {
54
+ sk?: {
55
+ skExpession: string
56
+ skAttributeValues: Record<string, string>
57
+ skAttributeNames?: Record<string, string>
58
+ }
59
+ order?: 'asc' | 'desc'
60
+ },
61
+ ): Promise<TaskEntity[]> {
62
+ const allItems: TaskEntity[] = []
63
+ let lastSk: string | undefined = undefined
64
+
65
+ do {
66
+ const result = await this.taskService.listItemsByPk(tenantCode, type, {
67
+ ...options,
68
+ startFromSk: lastSk,
69
+ })
70
+
71
+ allItems.push(...result.items)
72
+ lastSk = result.lastSk
73
+ } while (lastSk)
74
+
75
+ return allItems
76
+ }
77
+
78
+ private isParentTask(sk: string) {
79
+ return sk.split(KEY_SEPARATOR).length === 2
80
+ }
81
+
82
+ getUserContext = (ctx: IInvoke | ExecutionContext): UserContext => {
83
+ if ('getHandler' in ctx) {
84
+ ctx = extractInvokeContext(ctx)
85
+ }
86
+ const claims = getAuthorizerClaims(ctx)
87
+
88
+ const userId = claims.sub
89
+ const tenantCode =
90
+ claims['custom:tenant_code'] ||
91
+ (ctx?.event?.headers || {})[HEADER_TENANT_CODE]
92
+ const tenantRole = claims['custom:user_type']
93
+ return {
94
+ userId,
95
+ tenantRole,
96
+ tenantCode,
97
+ }
98
+ }
99
+ }
@@ -0,0 +1,73 @@
1
+ import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'
2
+ import { Type } from 'class-transformer'
3
+ import {
4
+ IsArray,
5
+ IsEnum,
6
+ IsNotEmpty,
7
+ IsOptional,
8
+ IsString,
9
+ ValidateNested,
10
+ } from 'class-validator'
11
+
12
+ export enum CopyType {
13
+ SETTING_ONLY = 'SETTING_ONLY',
14
+ DATA_ONLY = 'DATA_ONLY',
15
+ BOTH = 'BOTH',
16
+ }
17
+
18
+ export enum DataCopyMode {
19
+ ALL = 'ALL',
20
+ PARTIAL = 'PARTIAL',
21
+ }
22
+
23
+ export class DataCopyOptionDto {
24
+ @ApiProperty({
25
+ enum: DataCopyMode,
26
+ description: 'Whether to copy all master_data or only specific ones',
27
+ })
28
+ @IsEnum(DataCopyMode)
29
+ mode: DataCopyMode
30
+
31
+ @ApiPropertyOptional({
32
+ description:
33
+ 'Required only if mode is PARTIAL. List of master_data IDs to copy.',
34
+ type: [String],
35
+ })
36
+ @IsOptional()
37
+ @IsArray()
38
+ @IsString({ each: true })
39
+ id?: string[]
40
+ }
41
+
42
+ export class MasterCopyDto {
43
+ @ApiProperty({
44
+ description: 'The ID of the master_setting to copy from',
45
+ })
46
+ @IsString()
47
+ @IsNotEmpty()
48
+ masterSettingId: string
49
+
50
+ @ApiProperty({
51
+ description: 'Target tenants as an array of tenant codes',
52
+ example: ['tenant_b', 'tenant_c'],
53
+ })
54
+ @IsNotEmpty()
55
+ targetTenants: string[]
56
+
57
+ @ApiProperty({
58
+ enum: CopyType,
59
+ description: 'What to copy: only setting, only data, or both',
60
+ })
61
+ @IsEnum(CopyType)
62
+ copyType: CopyType
63
+
64
+ @ApiPropertyOptional({
65
+ type: DataCopyOptionDto,
66
+ description:
67
+ 'Options for data copy (required when copyType is DATA_ONLY or BOTH)',
68
+ })
69
+ @IsOptional()
70
+ @ValidateNested()
71
+ @Type(() => DataCopyOptionDto)
72
+ dataCopyOption?: DataCopyOptionDto
73
+ }
@@ -0,0 +1,20 @@
1
+ import { IsNumber, IsObject, IsOptional, IsString } from 'class-validator'
2
+
3
+ export class MasterDataCreateDto {
4
+ @IsString()
5
+ settingCode: string
6
+
7
+ @IsString()
8
+ name: string
9
+
10
+ @IsOptional()
11
+ @IsString()
12
+ code?: string
13
+
14
+ @IsNumber()
15
+ @IsOptional()
16
+ seq?: number
17
+
18
+ @IsObject()
19
+ attributes: object
20
+ }
@@ -0,0 +1,20 @@
1
+ import { SearchDto } from '@mbc-cqrs-serverless/core'
2
+ import { Transform } from 'class-transformer'
3
+ import { IsBoolean, IsOptional, IsString } from 'class-validator'
4
+
5
+ export class MasterDataSearchDto extends SearchDto {
6
+ @IsOptional()
7
+ @IsString()
8
+ settingCode?: string
9
+
10
+ @IsOptional()
11
+ @IsString()
12
+ code?: string
13
+
14
+ @IsBoolean()
15
+ @Transform(({ value }) =>
16
+ value === 'true' ? true : value === 'false' ? false : value,
17
+ )
18
+ @IsOptional()
19
+ isDeleted?: boolean
20
+ }