@things-factory/worklist 9.0.0-beta.79 → 9.0.0-beta.80

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 (159) hide show
  1. package/dist-client/activity-summary-generator.js +17 -22
  2. package/dist-client/activity-summary-generator.js.map +1 -1
  3. package/dist-client/components/activity-/bowner-view.js +24 -24
  4. package/dist-client/components/activity-/bowner-view.js.map +1 -1
  5. package/dist-client/components/activity-approval-ribon.js +47 -48
  6. package/dist-client/components/activity-approval-ribon.js.map +1 -1
  7. package/dist-client/components/activity-instance-preview.js +34 -32
  8. package/dist-client/components/activity-instance-preview.js.map +1 -1
  9. package/dist-client/components/activity-instance-ribon.js +41 -41
  10. package/dist-client/components/activity-instance-ribon.js.map +1 -1
  11. package/dist-client/components/activity-intro-view.js +24 -24
  12. package/dist-client/components/activity-intro-view.js.map +1 -1
  13. package/dist-client/components/activity-reporter-view.js +24 -24
  14. package/dist-client/components/activity-reporter-view.js.map +1 -1
  15. package/dist-client/components/activity-starter-form.js +53 -54
  16. package/dist-client/components/activity-starter-form.js.map +1 -1
  17. package/dist-client/components/activity-thread-ribon.js +38 -38
  18. package/dist-client/components/activity-thread-ribon.js.map +1 -1
  19. package/dist-client/components/activity-thread-timeline.js +74 -74
  20. package/dist-client/components/activity-thread-timeline.js.map +1 -1
  21. package/dist-client/grist-editor/grist-editor-activity-search-key.js +2 -3
  22. package/dist-client/grist-editor/grist-editor-activity-search-key.js.map +1 -1
  23. package/dist-client/grist-editor/popup-activity-search-keys-input.js +19 -19
  24. package/dist-client/grist-editor/popup-activity-search-keys-input.js.map +1 -1
  25. package/dist-client/pages/activity/activity-list-page.js +34 -34
  26. package/dist-client/pages/activity/activity-list-page.js.map +1 -1
  27. package/dist-client/pages/activity/activity-model-item-list.js +18 -20
  28. package/dist-client/pages/activity/activity-model-item-list.js.map +1 -1
  29. package/dist-client/pages/activity/activity-page.js +63 -45
  30. package/dist-client/pages/activity/activity-page.js.map +1 -1
  31. package/dist-client/pages/activity/activity-partial-view.js +18 -18
  32. package/dist-client/pages/activity/activity-partial-view.js.map +1 -1
  33. package/dist-client/pages/activity/starter-list-page.js +22 -25
  34. package/dist-client/pages/activity/starter-list-page.js.map +1 -1
  35. package/dist-client/pages/activity-approval/activity-approval-importer.js +16 -17
  36. package/dist-client/pages/activity-approval/activity-approval-importer.js.map +1 -1
  37. package/dist-client/pages/activity-approval/activity-approval-list-page.js +30 -23
  38. package/dist-client/pages/activity-approval/activity-approval-list-page.js.map +1 -1
  39. package/dist-client/pages/activity-approval/activity-approval-page.js +104 -77
  40. package/dist-client/pages/activity-approval/activity-approval-page.js.map +1 -1
  41. package/dist-client/pages/activity-instance/activity-instance-list-page.js +45 -49
  42. package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -1
  43. package/dist-client/pages/activity-instance/activity-instance-search-page.js +37 -37
  44. package/dist-client/pages/activity-instance/activity-instance-search-page.js.map +1 -1
  45. package/dist-client/pages/activity-instance/activity-instance-start-page.js +52 -39
  46. package/dist-client/pages/activity-instance/activity-instance-start-page.js.map +1 -1
  47. package/dist-client/pages/activity-instance/activity-instance-view.js +211 -213
  48. package/dist-client/pages/activity-instance/activity-instance-view.js.map +1 -1
  49. package/dist-client/pages/activity-stats/activity-stats-importer.js +16 -17
  50. package/dist-client/pages/activity-stats/activity-stats-importer.js.map +1 -1
  51. package/dist-client/pages/activity-stats/activity-stats-list-page.js +30 -23
  52. package/dist-client/pages/activity-stats/activity-stats-list-page.js.map +1 -1
  53. package/dist-client/pages/activity-store/activity-store-page.js +27 -26
  54. package/dist-client/pages/activity-store/activity-store-page.js.map +1 -1
  55. package/dist-client/pages/activity-supervisor/reporter-list-page.js +26 -29
  56. package/dist-client/pages/activity-supervisor/reporter-list-page.js.map +1 -1
  57. package/dist-client/pages/activity-template/activity-template-importer.js +16 -17
  58. package/dist-client/pages/activity-template/activity-template-importer.js.map +1 -1
  59. package/dist-client/pages/activity-template/activity-template-list-page.js +38 -37
  60. package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -1
  61. package/dist-client/pages/activity-template/activity-template-model-item-list.js +2 -3
  62. package/dist-client/pages/activity-template/activity-template-model-item-list.js.map +1 -1
  63. package/dist-client/pages/activity-thread/activity-thread-importer.js +16 -17
  64. package/dist-client/pages/activity-thread/activity-thread-importer.js.map +1 -1
  65. package/dist-client/pages/activity-thread/activity-thread-list-page.js +37 -35
  66. package/dist-client/pages/activity-thread/activity-thread-list-page.js.map +1 -1
  67. package/dist-client/pages/activity-thread/activity-thread-page.js +69 -49
  68. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
  69. package/dist-client/pages/activity-thread/activity-thread-view-page.js +67 -58
  70. package/dist-client/pages/activity-thread/activity-thread-view-page.js.map +1 -1
  71. package/dist-client/pages/activity-thread/activity-thread-view.js +150 -151
  72. package/dist-client/pages/activity-thread/activity-thread-view.js.map +1 -1
  73. package/dist-client/pages/installable-activity/installable-activity-list-page.js +25 -30
  74. package/dist-client/pages/installable-activity/installable-activity-list-page.js.map +1 -1
  75. package/dist-client/pages/todo/approval-done-list-page.js +38 -34
  76. package/dist-client/pages/todo/approval-done-list-page.js.map +1 -1
  77. package/dist-client/pages/todo/approval-pending-list-page.js +57 -52
  78. package/dist-client/pages/todo/approval-pending-list-page.js.map +1 -1
  79. package/dist-client/pages/todo/done-list-calendar-page.js +16 -16
  80. package/dist-client/pages/todo/done-list-calendar-page.js.map +1 -1
  81. package/dist-client/pages/todo/done-list-page.js +39 -34
  82. package/dist-client/pages/todo/done-list-page.js.map +1 -1
  83. package/dist-client/pages/todo/draft-list-page.js +26 -29
  84. package/dist-client/pages/todo/draft-list-page.js.map +1 -1
  85. package/dist-client/pages/todo/pickable-list-page.js +30 -36
  86. package/dist-client/pages/todo/pickable-list-page.js.map +1 -1
  87. package/dist-client/pages/todo/todo-list-page.js +54 -53
  88. package/dist-client/pages/todo/todo-list-page.js.map +1 -1
  89. package/dist-client/templates/activity-approval-context-template.js +49 -49
  90. package/dist-client/templates/activity-approval-context-template.js.map +1 -1
  91. package/dist-client/templates/activity-instance-context-template.js +104 -104
  92. package/dist-client/templates/activity-instance-context-template.js.map +1 -1
  93. package/dist-client/templates/activity-thread-context-template.js +41 -41
  94. package/dist-client/templates/activity-thread-context-template.js.map +1 -1
  95. package/dist-client/tsconfig.tsbuildinfo +1 -1
  96. package/dist-server/controllers/activity-approval/_abort.js +18 -2
  97. package/dist-server/controllers/activity-approval/_abort.js.map +1 -1
  98. package/dist-server/controllers/activity-approval/approve.js +25 -3
  99. package/dist-server/controllers/activity-approval/approve.js.map +1 -1
  100. package/dist-server/controllers/activity-approval/check-authority.js +2 -3
  101. package/dist-server/controllers/activity-approval/check-authority.js.map +1 -1
  102. package/dist-server/controllers/activity-approval/delegate.js +17 -3
  103. package/dist-server/controllers/activity-approval/delegate.js.map +1 -1
  104. package/dist-server/controllers/activity-approval/reject.js +16 -2
  105. package/dist-server/controllers/activity-approval/reject.js.map +1 -1
  106. package/dist-server/controllers/activity-approval/save.js +6 -2
  107. package/dist-server/controllers/activity-approval/save.js.map +1 -1
  108. package/dist-server/controllers/activity-installation/activity-installation-controller.js +1 -1
  109. package/dist-server/controllers/activity-installation/activity-installation-controller.js.map +1 -1
  110. package/dist-server/controllers/activity-instance/abort.js +9 -1
  111. package/dist-server/controllers/activity-instance/abort.js.map +1 -1
  112. package/dist-server/controllers/activity-instance/draft.js +19 -2
  113. package/dist-server/controllers/activity-instance/draft.js.map +1 -1
  114. package/dist-server/controllers/activity-instance/end.js +10 -2
  115. package/dist-server/controllers/activity-instance/end.js.map +1 -1
  116. package/dist-server/controllers/activity-instance/issue.js +30 -5
  117. package/dist-server/controllers/activity-instance/issue.js.map +1 -1
  118. package/dist-server/controllers/activity-instance/pick.js +5 -1
  119. package/dist-server/controllers/activity-instance/pick.js.map +1 -1
  120. package/dist-server/controllers/activity-thread/_abort.js +9 -1
  121. package/dist-server/controllers/activity-thread/_abort.js.map +1 -1
  122. package/dist-server/controllers/activity-thread/check-authority.js +2 -3
  123. package/dist-server/controllers/activity-thread/check-authority.js.map +1 -1
  124. package/dist-server/controllers/activity-thread/delegate.js +9 -1
  125. package/dist-server/controllers/activity-thread/delegate.js.map +1 -1
  126. package/dist-server/controllers/activity-thread/end.js +9 -2
  127. package/dist-server/controllers/activity-thread/end.js.map +1 -1
  128. package/dist-server/controllers/activity-thread/restart.js +9 -1
  129. package/dist-server/controllers/activity-thread/restart.js.map +1 -1
  130. package/dist-server/controllers/activity-thread/save.js +7 -1
  131. package/dist-server/controllers/activity-thread/save.js.map +1 -1
  132. package/dist-server/controllers/activity-thread/start.js +8 -1
  133. package/dist-server/controllers/activity-thread/start.js.map +1 -1
  134. package/dist-server/controllers/activity-thread/submit.js +18 -4
  135. package/dist-server/controllers/activity-thread/submit.js.map +1 -1
  136. package/dist-server/controllers/common.js +5 -5
  137. package/dist-server/controllers/common.js.map +1 -1
  138. package/dist-server/routes.js +5 -2
  139. package/dist-server/routes.js.map +1 -1
  140. package/dist-server/service/activity/activity-mutation.js +43 -13
  141. package/dist-server/service/activity/activity-mutation.js.map +1 -1
  142. package/dist-server/service/activity/activity-query.js +3 -3
  143. package/dist-server/service/activity/activity-query.js.map +1 -1
  144. package/dist-server/service/activity-approval/activity-approval-subscription.js +3 -4
  145. package/dist-server/service/activity-approval/activity-approval-subscription.js.map +1 -1
  146. package/dist-server/service/activity-instance/activity-instance-query.js +4 -5
  147. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
  148. package/dist-server/service/activity-instance/activity-instance-subscription.js +3 -4
  149. package/dist-server/service/activity-instance/activity-instance-subscription.js.map +1 -1
  150. package/dist-server/service/activity-template/activity-template-mutation.js +25 -7
  151. package/dist-server/service/activity-template/activity-template-mutation.js.map +1 -1
  152. package/dist-server/service/activity-template/activity-template-query.js +1 -1
  153. package/dist-server/service/activity-template/activity-template-query.js.map +1 -1
  154. package/dist-server/service/activity-thread/activity-thread-subscription.js +3 -4
  155. package/dist-server/service/activity-thread/activity-thread-subscription.js.map +1 -1
  156. package/dist-server/service/installable-activity/installable-activity-mutation.js +19 -3
  157. package/dist-server/service/installable-activity/installable-activity-mutation.js.map +1 -1
  158. package/dist-server/tsconfig.tsbuildinfo +1 -1
  159. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"activity-instance-subscription.js","sourceRoot":"","sources":["../../../server/service/activity-instance/activity-instance-subscription.ts"],"names":[],"mappings":";;;;AAAA,+CAA2C;AAC3C,+CAA2D;AAE3D,yDAAgD;AAChD,iDAA6D;AAE7D,iEAAyD;AAGlD,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAuCvC,gBAAgB,CAAS,OAA+C;QACtE,OAAO,OAAO,CAAC,gBAAgB,CAAA;IACjC,CAAC;CACF,CAAA;AA1CY,oEAA4B;AAuCvC;IAtCC,IAAA,2BAAY,EAAC;QACZ,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;;YACrC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACtC,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACpC,CAAC;YAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;YACjF,CAAC;YAED,OAAO,IAAA,mBAAI,EACT,cAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,EACrC,IAAA,qBAAM,EAAC,KAAK,EAAE,OAA+C,EAAE,EAAE;gBAC/D,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAA;gBACpC,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAA;gBAErC,IAAI,QAAQ,MAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAA,EAAE,CAAC;oBAC5B,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,IAAI,gBAAgB,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;oBAC3C,OAAO,IAAI,CAAA;gBACb,CAAC;gBAED,kCAAkC;gBAClC,MAAM,aAAa,GAAS,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC;oBAC5D,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;oBACtB,SAAS,EAAE,CAAC,OAAO,CAAC;iBACrB,CAAC,CAAA;gBAEF,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,gBAAgB,CAAC,cAAc,CAAC,CAAA;YACxF,CAAC,CAAC,CACH,CAAA;QACH,CAAC;KACF,CAAC;IACgB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;;4CAAmD,uCAAgB;oEAE1F;uCAzCU,4BAA4B;IADxC,IAAA,uBAAQ,EAAC,uCAAgB,CAAC;GACd,4BAA4B,CA0CxC","sourcesContent":["import { filter, pipe } from 'graphql-yoga'\nimport { Resolver, Root, Subscription } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { getRepository, pubsub } from '@things-factory/shell'\n\nimport { ActivityInstance } from './activity-instance.js'\n\n@Resolver(ActivityInstance)\nexport class ActivityInstanceSubscription {\n @Subscription({\n subscribe: ({ args, context, info }) => {\n const { domain, user } = context.state\n const subdomain = domain?.subdomain\n\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n return pipe(\n pubsub.subscribe('activity-instance'),\n filter(async (payload: { activityInstance: ActivityInstance }) => {\n const { activityInstance } = payload\n const { domainId } = activityInstance\n\n if (domainId !== domain?.id) {\n return false\n }\n\n if (activityInstance.creatorId === user.id) {\n return true\n }\n\n // check if the user has that role\n const userWithRoles: User = await getRepository(User).findOne({\n where: { id: user.id },\n relations: ['roles']\n })\n\n return !!userWithRoles.roles.find(role => role.id === activityInstance.assigneeRoleId)\n })\n )\n }\n })\n activityInstance(@Root() payload: { activityInstance: ActivityInstance }): ActivityInstance {\n return payload.activityInstance\n }\n}\n"]}
1
+ {"version":3,"file":"activity-instance-subscription.js","sourceRoot":"","sources":["../../../server/service/activity-instance/activity-instance-subscription.ts"],"names":[],"mappings":";;;;AAAA,+CAA2C;AAC3C,+CAA2D;AAE3D,yDAAgD;AAChD,iDAA6D;AAE7D,iEAAyD;AAGlD,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAuCvC,gBAAgB,CAAS,OAA+C;QACtE,OAAO,OAAO,CAAC,gBAAgB,CAAA;IACjC,CAAC;CACF,CAAA;AA1CY,oEAA4B;AAuCvC;IAtCC,IAAA,2BAAY,EAAC;QACZ,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;YACrC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACtC,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,CAAA;YAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACpC,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;YACjF,CAAC;YAED,OAAO,IAAA,mBAAI,EACT,cAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,EACrC,IAAA,qBAAM,EAAC,KAAK,EAAE,OAA+C,EAAE,EAAE;gBAC/D,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAA;gBACpC,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAA;gBAErC,IAAI,QAAQ,KAAK,MAAM,EAAE,EAAE,EAAE,CAAC;oBAC5B,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,IAAI,gBAAgB,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;oBAC3C,OAAO,IAAI,CAAA;gBACb,CAAC;gBAED,kCAAkC;gBAClC,MAAM,aAAa,GAAS,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC;oBAC5D,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;oBACtB,SAAS,EAAE,CAAC,OAAO,CAAC;iBACrB,CAAC,CAAA;gBAEF,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,gBAAgB,CAAC,cAAc,CAAC,CAAA;YACxF,CAAC,CAAC,CACH,CAAA;QACH,CAAC;KACF,CAAC;IACgB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;;4CAAmD,uCAAgB;oEAE1F;uCAzCU,4BAA4B;IADxC,IAAA,uBAAQ,EAAC,uCAAgB,CAAC;GACd,4BAA4B,CA0CxC","sourcesContent":["import { filter, pipe } from 'graphql-yoga'\nimport { Resolver, Root, Subscription } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { getRepository, pubsub } from '@things-factory/shell'\n\nimport { ActivityInstance } from './activity-instance.js'\n\n@Resolver(ActivityInstance)\nexport class ActivityInstanceSubscription {\n @Subscription({\n subscribe: ({ args, context, info }) => {\n const { domain, user } = context.state\n const subdomain = domain?.subdomain\n\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n return pipe(\n pubsub.subscribe('activity-instance'),\n filter(async (payload: { activityInstance: ActivityInstance }) => {\n const { activityInstance } = payload\n const { domainId } = activityInstance\n\n if (domainId !== domain?.id) {\n return false\n }\n\n if (activityInstance.creatorId === user.id) {\n return true\n }\n\n // check if the user has that role\n const userWithRoles: User = await getRepository(User).findOne({\n where: { id: user.id },\n relations: ['roles']\n })\n\n return !!userWithRoles.roles.find(role => role.id === activityInstance.assigneeRoleId)\n })\n )\n }\n })\n activityInstance(@Root() payload: { activityInstance: ActivityInstance }): ActivityInstance {\n return payload.activityInstance\n }\n}\n"]}
@@ -10,7 +10,12 @@ const activity_template_type_js_1 = require("./activity-template-type.js");
10
10
  let ActivityTemplateMutation = class ActivityTemplateMutation {
11
11
  async createActivityTemplate(activityTemplate, context) {
12
12
  const { domain, user, tx } = context.state;
13
- const result = await tx.getRepository(activity_template_js_1.ActivityTemplate).save(Object.assign(Object.assign({}, activityTemplate), { domain, creator: user, updater: user }));
13
+ const result = await tx.getRepository(activity_template_js_1.ActivityTemplate).save({
14
+ ...activityTemplate,
15
+ domain,
16
+ creator: user,
17
+ updater: user
18
+ });
14
19
  if (activityTemplate.thumbnail) {
15
20
  await (0, attachment_base_1.createAttachment)(null, {
16
21
  attachment: {
@@ -28,7 +33,11 @@ let ActivityTemplateMutation = class ActivityTemplateMutation {
28
33
  const activityTemplate = await repository.findOne({
29
34
  where: { domain: { id: domain.id }, id }
30
35
  });
31
- const result = await repository.save(Object.assign(Object.assign(Object.assign({}, activityTemplate), patch), { updater: user }));
36
+ const result = await repository.save({
37
+ ...activityTemplate,
38
+ ...patch,
39
+ updater: user
40
+ });
32
41
  if (patch.thumbnail) {
33
42
  await (0, attachment_base_1.deleteAttachmentsByRef)(null, { refBys: [result.id] }, context);
34
43
  await (0, attachment_base_1.createAttachment)(null, {
@@ -50,7 +59,12 @@ let ActivityTemplateMutation = class ActivityTemplateMutation {
50
59
  if (_createRecords.length > 0) {
51
60
  for (let i = 0; i < _createRecords.length; i++) {
52
61
  const newRecord = _createRecords[i];
53
- const result = await activityTemplateRepo.save(Object.assign(Object.assign({}, newRecord), { domain, creator: user, updater: user }));
62
+ const result = await activityTemplateRepo.save({
63
+ ...newRecord,
64
+ domain,
65
+ creator: user,
66
+ updater: user
67
+ });
54
68
  if (newRecord.thumbnail) {
55
69
  await (0, attachment_base_1.createAttachment)(null, {
56
70
  attachment: {
@@ -60,14 +74,18 @@ let ActivityTemplateMutation = class ActivityTemplateMutation {
60
74
  }
61
75
  }, context);
62
76
  }
63
- results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
77
+ results.push({ ...result, cuFlag: '+' });
64
78
  }
65
79
  }
66
80
  if (_updateRecords.length > 0) {
67
81
  for (let i = 0; i < _updateRecords.length; i++) {
68
82
  const newRecord = _updateRecords[i];
69
83
  const activityTemplate = await activityTemplateRepo.findOneBy({ id: newRecord.id });
70
- const result = await activityTemplateRepo.save(Object.assign(Object.assign(Object.assign({}, activityTemplate), newRecord), { updater: user }));
84
+ const result = await activityTemplateRepo.save({
85
+ ...activityTemplate,
86
+ ...newRecord,
87
+ updater: user
88
+ });
71
89
  if (newRecord.thumbnail) {
72
90
  await (0, attachment_base_1.deleteAttachmentsByRef)(null, { refBys: [activityTemplate.id] }, context);
73
91
  await (0, attachment_base_1.createAttachment)(null, {
@@ -78,7 +96,7 @@ let ActivityTemplateMutation = class ActivityTemplateMutation {
78
96
  }
79
97
  }, context);
80
98
  }
81
- results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
99
+ results.push({ ...result, cuFlag: 'M' });
82
100
  }
83
101
  }
84
102
  return results;
@@ -103,7 +121,7 @@ let ActivityTemplateMutation = class ActivityTemplateMutation {
103
121
  await Promise.all(activityTemplates.map(async (activityTemplate) => {
104
122
  const createdActivityTemplate = await tx
105
123
  .getRepository(activity_template_js_1.ActivityTemplate)
106
- .save(Object.assign({ domain }, activityTemplate));
124
+ .save({ domain, ...activityTemplate });
107
125
  }));
108
126
  return true;
109
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"activity-template-mutation.js","sourceRoot":"","sources":["../../../server/service/activity-template/activity-template-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\n\nimport { ActivityTemplate } from './activity-template.js'\nimport { ActivityTemplatePatch, NewActivityTemplate } from './activity-template-type.js'\n\n@Resolver(ActivityTemplate)\nexport class ActivityTemplateMutation {\n @Directive('@transaction')\n @Mutation(returns => ActivityTemplate, { description: 'To create new ActivityTemplate' })\n async createActivityTemplate(\n @Arg('activityTemplate') activityTemplate: NewActivityTemplate,\n @Ctx() context: ResolverContext\n ): Promise<ActivityTemplate> {\n const { domain, user, tx } = context.state\n\n const result = await tx.getRepository(ActivityTemplate).save({\n ...activityTemplate,\n domain,\n creator: user,\n updater: user\n })\n\n if (activityTemplate.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: activityTemplate.thumbnail,\n refType: ActivityTemplate.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => ActivityTemplate, { description: 'To modify ActivityTemplate information' })\n async updateActivityTemplate(\n @Arg('id') id: string,\n @Arg('patch') patch: ActivityTemplatePatch,\n @Ctx() context: ResolverContext\n ): Promise<ActivityTemplate> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityTemplate)\n const activityTemplate = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n const result = await repository.save({\n ...activityTemplate,\n ...patch,\n updater: user\n })\n\n if (patch.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [result.id] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: patch.thumbnail,\n refType: ActivityTemplate.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => [ActivityTemplate], { description: \"To modify multiple ActivityTemplates' information\" })\n async updateMultipleActivityTemplate(\n @Arg('patches', type => [ActivityTemplatePatch]) patches: ActivityTemplatePatch[],\n @Ctx() context: ResolverContext\n ): Promise<ActivityTemplate[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const activityTemplateRepo = tx.getRepository(ActivityTemplate)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await activityTemplateRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n if (newRecord.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: newRecord.thumbnail,\n refType: ActivityTemplate.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const activityTemplate = await activityTemplateRepo.findOneBy({ id: newRecord.id })\n\n const result = await activityTemplateRepo.save({\n ...activityTemplate,\n ...newRecord,\n updater: user\n })\n\n if (newRecord.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [activityTemplate.id] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: newRecord.thumbnail,\n refType: 'activity-template',\n refBy: activityTemplate.id\n }\n },\n context\n )\n }\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete ActivityTemplate' })\n async deleteActivityTemplate(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ActivityTemplate).delete({ domain: { id: domain.id }, id })\n await deleteAttachmentsByRef(null, { refBys: [id] }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple ActivityTemplates' })\n async deleteActivityTemplates(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ActivityTemplate).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n await deleteAttachmentsByRef(null, { refBys: ids }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple ActivityTemplates' })\n async importActivityTemplates(\n @Arg('activityTemplates', type => [ActivityTemplatePatch]) activityTemplates: ActivityTemplatePatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n activityTemplates.map(async (activityTemplate: ActivityTemplatePatch) => {\n const createdActivityTemplate: ActivityTemplate = await tx\n .getRepository(ActivityTemplate)\n .save({ domain, ...activityTemplate })\n })\n )\n\n return true\n }\n}\n"]}
1
+ {"version":3,"file":"activity-template-mutation.js","sourceRoot":"","sources":["../../../server/service/activity-template/activity-template-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\n\nimport { ActivityTemplate } from './activity-template.js'\nimport { ActivityTemplatePatch, NewActivityTemplate } from './activity-template-type.js'\n\n@Resolver(ActivityTemplate)\nexport class ActivityTemplateMutation {\n @Directive('@transaction')\n @Mutation(returns => ActivityTemplate, { description: 'To create new ActivityTemplate' })\n async createActivityTemplate(\n @Arg('activityTemplate') activityTemplate: NewActivityTemplate,\n @Ctx() context: ResolverContext\n ): Promise<ActivityTemplate> {\n const { domain, user, tx } = context.state\n\n const result = await tx.getRepository(ActivityTemplate).save({\n ...activityTemplate,\n domain,\n creator: user,\n updater: user\n })\n\n if (activityTemplate.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: activityTemplate.thumbnail,\n refType: ActivityTemplate.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => ActivityTemplate, { description: 'To modify ActivityTemplate information' })\n async updateActivityTemplate(\n @Arg('id') id: string,\n @Arg('patch') patch: ActivityTemplatePatch,\n @Ctx() context: ResolverContext\n ): Promise<ActivityTemplate> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityTemplate)\n const activityTemplate = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n const result = await repository.save({\n ...activityTemplate,\n ...patch,\n updater: user\n })\n\n if (patch.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [result.id] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: patch.thumbnail,\n refType: ActivityTemplate.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => [ActivityTemplate], { description: \"To modify multiple ActivityTemplates' information\" })\n async updateMultipleActivityTemplate(\n @Arg('patches', type => [ActivityTemplatePatch]) patches: ActivityTemplatePatch[],\n @Ctx() context: ResolverContext\n ): Promise<ActivityTemplate[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const activityTemplateRepo = tx.getRepository(ActivityTemplate)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await activityTemplateRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n if (newRecord.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: newRecord.thumbnail,\n refType: ActivityTemplate.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const activityTemplate = await activityTemplateRepo.findOneBy({ id: newRecord.id })\n\n const result = await activityTemplateRepo.save({\n ...activityTemplate,\n ...newRecord,\n updater: user\n })\n\n if (newRecord.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [activityTemplate.id] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: newRecord.thumbnail,\n refType: 'activity-template',\n refBy: activityTemplate.id\n }\n },\n context\n )\n }\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete ActivityTemplate' })\n async deleteActivityTemplate(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ActivityTemplate).delete({ domain: { id: domain.id }, id })\n await deleteAttachmentsByRef(null, { refBys: [id] }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple ActivityTemplates' })\n async deleteActivityTemplates(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ActivityTemplate).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n await deleteAttachmentsByRef(null, { refBys: ids }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple ActivityTemplates' })\n async importActivityTemplates(\n @Arg('activityTemplates', type => [ActivityTemplatePatch]) activityTemplates: ActivityTemplatePatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n activityTemplates.map(async (activityTemplate: ActivityTemplatePatch) => {\n const createdActivityTemplate: ActivityTemplate = await tx\n .getRepository(ActivityTemplate)\n .save({ domain, ...activityTemplate })\n })\n )\n\n return true\n }\n}\n"]}
@@ -42,7 +42,7 @@ let ActivityTemplateQuery = class ActivityTemplateQuery {
42
42
  refBy: activityTemplate.id
43
43
  }
44
44
  });
45
- return attachment === null || attachment === void 0 ? void 0 : attachment.fullpath;
45
+ return attachment?.fullpath;
46
46
  }
47
47
  async domain(activityTemplate) {
48
48
  return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: activityTemplate.domainId });
@@ -1 +1 @@
1
- {"version":3,"file":"activity-template-query.js","sourceRoot":"","sources":["../../../server/service/activity-template/activity-template-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\nimport { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { ActivityModelItem } from '../activity/activity-model-type.js'\nimport { ActivityTemplate } from './activity-template.js'\nimport { ActivityTemplateList } from './activity-template-type.js'\n\n@Resolver(ActivityTemplate)\nexport class ActivityTemplateQuery {\n @Query(returns => ActivityTemplate!, { nullable: true, description: 'To fetch a ActivityTemplate' })\n async activityTemplate(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<ActivityTemplate> {\n const { domain } = context.state\n\n return await getRepository(ActivityTemplate).findOne({\n where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id }\n })\n }\n\n @Query(returns => ActivityTemplateList, { description: 'To fetch multiple ActivityTemplates' })\n async activityTemplates(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ActivityTemplateList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: getRepository(ActivityTemplate),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => [ActivityModelItem])\n async model(@Root() activityTemplate: ActivityTemplate): Promise<ActivityModelItem[]> {\n if (activityTemplate.model instanceof Array) {\n return activityTemplate.model.filter(model => model.name)\n }\n\n return []\n }\n\n @FieldResolver(type => String)\n async thumbnail(@Root() activityTemplate: ActivityTemplate): Promise<string | undefined> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: { id: activityTemplate.domainId },\n refType: ActivityTemplate.name,\n refBy: activityTemplate.id\n }\n })\n\n return attachment?.fullpath\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() activityTemplate: ActivityTemplate): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: activityTemplate.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() activityTemplate: ActivityTemplate): Promise<User> {\n return activityTemplate.updaterId && (await getRepository(User).findOneBy({ id: activityTemplate.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() activityTemplate: ActivityTemplate): Promise<User> {\n return activityTemplate.creatorId && (await getRepository(User).findOneBy({ id: activityTemplate.creatorId }))\n }\n}\n"]}
1
+ {"version":3,"file":"activity-template-query.js","sourceRoot":"","sources":["../../../server/service/activity-template/activity-template-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\nimport { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { ActivityModelItem } from '../activity/activity-model-type.js'\nimport { ActivityTemplate } from './activity-template.js'\nimport { ActivityTemplateList } from './activity-template-type.js'\n\n@Resolver(ActivityTemplate)\nexport class ActivityTemplateQuery {\n @Query(returns => ActivityTemplate!, { nullable: true, description: 'To fetch a ActivityTemplate' })\n async activityTemplate(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<ActivityTemplate> {\n const { domain } = context.state\n\n return await getRepository(ActivityTemplate).findOne({\n where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id }\n })\n }\n\n @Query(returns => ActivityTemplateList, { description: 'To fetch multiple ActivityTemplates' })\n async activityTemplates(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ActivityTemplateList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: getRepository(ActivityTemplate),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => [ActivityModelItem])\n async model(@Root() activityTemplate: ActivityTemplate): Promise<ActivityModelItem[]> {\n if (activityTemplate.model instanceof Array) {\n return activityTemplate.model.filter(model => model.name)\n }\n\n return []\n }\n\n @FieldResolver(type => String)\n async thumbnail(@Root() activityTemplate: ActivityTemplate): Promise<string | undefined> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: { id: activityTemplate.domainId },\n refType: ActivityTemplate.name,\n refBy: activityTemplate.id\n }\n })\n\n return attachment?.fullpath\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() activityTemplate: ActivityTemplate): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: activityTemplate.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() activityTemplate: ActivityTemplate): Promise<User> {\n return activityTemplate.updaterId && (await getRepository(User).findOneBy({ id: activityTemplate.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() activityTemplate: ActivityTemplate): Promise<User> {\n return activityTemplate.creatorId && (await getRepository(User).findOneBy({ id: activityTemplate.creatorId }))\n }\n}\n"]}
@@ -15,19 +15,18 @@ exports.ActivityThreadSubscription = ActivityThreadSubscription;
15
15
  tslib_1.__decorate([
16
16
  (0, type_graphql_1.Subscription)({
17
17
  subscribe: ({ args, context, info }) => {
18
- var _a;
19
18
  const { domain, user } = context.state;
20
- const subdomain = domain === null || domain === void 0 ? void 0 : domain.subdomain;
19
+ const subdomain = domain?.subdomain;
21
20
  if (!domain) {
22
21
  throw new Error('domain required');
23
22
  }
24
- if (!((_a = user.domains) === null || _a === void 0 ? void 0 : _a.find(d => d.subdomain === subdomain)) && !process.superUserGranted(domain, user)) {
23
+ if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {
25
24
  throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`);
26
25
  }
27
26
  return (0, graphql_yoga_1.pipe)(shell_1.pubsub.subscribe('activity-thread'), (0, graphql_yoga_1.filter)((payload) => {
28
27
  const { activityThread } = payload;
29
28
  const { domainId } = activityThread;
30
- if (domainId !== (domain === null || domain === void 0 ? void 0 : domain.id)) {
29
+ if (domainId !== domain?.id) {
31
30
  return false;
32
31
  }
33
32
  return activityThread.assigneeId === user.id;
@@ -1 +1 @@
1
- {"version":3,"file":"activity-thread-subscription.js","sourceRoot":"","sources":["../../../server/service/activity-thread/activity-thread-subscription.ts"],"names":[],"mappings":";;;;AAAA,+CAA2C;AAC3C,+CAA2D;AAE3D,iDAA8C;AAE9C,6DAAqD;AAG9C,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IA6BrC,cAAc,CAAS,OAA2C;QAChE,OAAO,OAAO,CAAC,cAAc,CAAA;IAC/B,CAAC;CACF,CAAA;AAhCY,gEAA0B;AA6BrC;IA5BC,IAAA,2BAAY,EAAC;QACZ,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;;YACrC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACtC,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACpC,CAAC;YAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;YACjF,CAAC;YAED,OAAO,IAAA,mBAAI,EACT,cAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,EACnC,IAAA,qBAAM,EAAC,CAAC,OAA2C,EAAE,EAAE;gBACrD,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;gBAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAA;gBAEnC,IAAI,QAAQ,MAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAA,EAAE,CAAC;oBAC5B,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,OAAO,cAAc,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAA;YAC9C,CAAC,CAAC,CACH,CAAA;QACH,CAAC;KACF,CAAC;IACc,mBAAA,IAAA,mBAAI,GAAE,CAAA;;;4CAA+C,mCAAc;gEAElF;qCA/BU,0BAA0B;IADtC,IAAA,uBAAQ,EAAC,mCAAc,CAAC;GACZ,0BAA0B,CAgCtC","sourcesContent":["import { filter, pipe } from 'graphql-yoga'\nimport { Resolver, Root, Subscription } from 'type-graphql'\n\nimport { pubsub } from '@things-factory/shell'\n\nimport { ActivityThread } from './activity-thread.js'\n\n@Resolver(ActivityThread)\nexport class ActivityThreadSubscription {\n @Subscription({\n subscribe: ({ args, context, info }) => {\n const { domain, user } = context.state\n const subdomain = domain?.subdomain\n\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n return pipe(\n pubsub.subscribe('activity-thread'),\n filter((payload: { activityThread: ActivityThread }) => {\n const { activityThread } = payload\n const { domainId } = activityThread\n\n if (domainId !== domain?.id) {\n return false\n }\n\n return activityThread.assigneeId === user.id\n })\n )\n }\n })\n activityThread(@Root() payload: { activityThread: ActivityThread }): ActivityThread {\n return payload.activityThread\n }\n}\n"]}
1
+ {"version":3,"file":"activity-thread-subscription.js","sourceRoot":"","sources":["../../../server/service/activity-thread/activity-thread-subscription.ts"],"names":[],"mappings":";;;;AAAA,+CAA2C;AAC3C,+CAA2D;AAE3D,iDAA8C;AAE9C,6DAAqD;AAG9C,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IA6BrC,cAAc,CAAS,OAA2C;QAChE,OAAO,OAAO,CAAC,cAAc,CAAA;IAC/B,CAAC;CACF,CAAA;AAhCY,gEAA0B;AA6BrC;IA5BC,IAAA,2BAAY,EAAC;QACZ,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;YACrC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACtC,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,CAAA;YAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACpC,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;YACjF,CAAC;YAED,OAAO,IAAA,mBAAI,EACT,cAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,EACnC,IAAA,qBAAM,EAAC,CAAC,OAA2C,EAAE,EAAE;gBACrD,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;gBAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAA;gBAEnC,IAAI,QAAQ,KAAK,MAAM,EAAE,EAAE,EAAE,CAAC;oBAC5B,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,OAAO,cAAc,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAA;YAC9C,CAAC,CAAC,CACH,CAAA;QACH,CAAC;KACF,CAAC;IACc,mBAAA,IAAA,mBAAI,GAAE,CAAA;;;4CAA+C,mCAAc;gEAElF;qCA/BU,0BAA0B;IADtC,IAAA,uBAAQ,EAAC,mCAAc,CAAC;GACZ,0BAA0B,CAgCtC","sourcesContent":["import { filter, pipe } from 'graphql-yoga'\nimport { Resolver, Root, Subscription } from 'type-graphql'\n\nimport { pubsub } from '@things-factory/shell'\n\nimport { ActivityThread } from './activity-thread.js'\n\n@Resolver(ActivityThread)\nexport class ActivityThreadSubscription {\n @Subscription({\n subscribe: ({ args, context, info }) => {\n const { domain, user } = context.state\n const subdomain = domain?.subdomain\n\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n return pipe(\n pubsub.subscribe('activity-thread'),\n filter((payload: { activityThread: ActivityThread }) => {\n const { activityThread } = payload\n const { domainId } = activityThread\n\n if (domainId !== domain?.id) {\n return false\n }\n\n return activityThread.assigneeId === user.id\n })\n )\n }\n })\n activityThread(@Root() payload: { activityThread: ActivityThread }): ActivityThread {\n return payload.activityThread\n }\n}\n"]}
@@ -16,10 +16,22 @@ let InstallableActivityMutation = class InstallableActivityMutation {
16
16
  name
17
17
  });
18
18
  if (!activity) {
19
- return await repository.save(Object.assign(Object.assign({}, installableActivity), { state: activity_js_1.ActivityStatus.Released, domain, creator: user, updater: user }));
19
+ return await repository.save({
20
+ ...installableActivity,
21
+ state: activity_js_1.ActivityStatus.Released,
22
+ domain,
23
+ creator: user,
24
+ updater: user
25
+ });
20
26
  }
21
27
  else {
22
- return await repository.save(Object.assign(Object.assign(Object.assign({}, activity), installableActivity), { state: activity_js_1.ActivityStatus.Released, domain, updater: user }));
28
+ return await repository.save({
29
+ ...activity,
30
+ ...installableActivity,
31
+ state: activity_js_1.ActivityStatus.Released,
32
+ domain,
33
+ updater: user
34
+ });
23
35
  }
24
36
  }
25
37
  async deactivateInstallableActivity(name, context) {
@@ -32,7 +44,11 @@ let InstallableActivityMutation = class InstallableActivityMutation {
32
44
  if (!activity) {
33
45
  return;
34
46
  }
35
- return await repository.save(Object.assign(Object.assign({}, activity), { state: activity_js_1.ActivityStatus.Deprecated, updater: user }));
47
+ return await repository.save({
48
+ ...activity,
49
+ state: activity_js_1.ActivityStatus.Deprecated,
50
+ updater: user
51
+ });
36
52
  }
37
53
  };
38
54
  exports.InstallableActivityMutation = InstallableActivityMutation;
@@ -1 +1 @@
1
- {"version":3,"file":"installable-activity-mutation.js","sourceRoot":"","sources":["../../../server/service/installable-activity/installable-activity-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AAEtE,qIAAmH;AACnH,yDAAkE;AAClE,uEAA+D;AAGxD,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAGhC,AAAN,KAAK,CAAC,2BAA2B,CAAc,IAAY,EAAS,OAAwB;QAC1F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,mBAAmB,GAAG,2DAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3D,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,sBAAQ,CAAC,CAAA;QAE7C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC;YAC1C,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;YACzB,IAAI;SACL,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,MAAM,UAAU,CAAC,IAAI,iCACtB,mBAA2B,KAC/B,KAAK,EAAE,4BAAc,CAAC,QAAQ,EAC9B,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,QAAQ,GACP,mBAA2B,KAC/B,KAAK,EAAE,4BAAc,CAAC,QAAQ,EAC9B,MAAM,EACN,OAAO,EAAE,IAAI,IACb,CAAA;QACJ,CAAC;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,6BAA6B,CAAc,IAAY,EAAS,OAAwB;QAC5F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,sBAAQ,CAAC,CAAA;QAE7C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC;YAC1C,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;YACzB,IAAI;SACL,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAM;QACR,CAAC;QAED,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,QAAQ,KACX,KAAK,EAAE,4BAAc,CAAC,UAAU,EAChC,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;CACF,CAAA;AArDY,kEAA2B;AAGhC;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,sBAAQ,EAAE,EAAE,WAAW,EAAE,8DAA8D,EAAE,CAAC;IAC5E,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;8EA2BlE;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,sBAAQ,EAAE,EAAE,WAAW,EAAE,gEAAgE,EAAE,CAAC;IAC5E,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;gFAkBpE;sCApDU,2BAA2B;IADvC,IAAA,uBAAQ,EAAC,6CAAmB,CAAC;GACjB,2BAA2B,CAqDvC","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\n\nimport { ActivityInstallations } from '../../controllers/activity-installation/activity-installation-controller.js'\nimport { Activity, ActivityStatus } from '../activity/activity.js'\nimport { InstallableActivity } from './installable-activity.js'\n\n@Resolver(InstallableActivity)\nexport class InstallableActivityMutation {\n @Directive('@transaction')\n @Mutation(returns => Activity, { description: 'To activate installable activity to Activity on given domain' })\n async activateInstallableActivity(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Activity> {\n const { domain, user, tx } = context.state\n const installableActivity = ActivityInstallations.get(name)\n const repository = tx.getRepository(Activity)\n\n const activity = await repository.findOneBy({\n domain: { id: domain.id },\n name\n })\n\n if (!activity) {\n return await repository.save({\n ...(installableActivity as any),\n state: ActivityStatus.Released,\n domain,\n creator: user,\n updater: user\n })\n } else {\n return await repository.save({\n ...activity,\n ...(installableActivity as any),\n state: ActivityStatus.Released,\n domain,\n updater: user\n })\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => Activity, { description: 'To deactivate installable activity to Activity on given domain' })\n async deactivateInstallableActivity(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Activity> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(Activity)\n\n const activity = await repository.findOneBy({\n domain: { id: domain.id },\n name\n })\n\n if (!activity) {\n return\n }\n\n return await repository.save({\n ...activity,\n state: ActivityStatus.Deprecated,\n updater: user\n })\n }\n}\n"]}
1
+ {"version":3,"file":"installable-activity-mutation.js","sourceRoot":"","sources":["../../../server/service/installable-activity/installable-activity-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AAEtE,qIAAmH;AACnH,yDAAkE;AAClE,uEAA+D;AAGxD,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAGhC,AAAN,KAAK,CAAC,2BAA2B,CAAc,IAAY,EAAS,OAAwB;QAC1F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,mBAAmB,GAAG,2DAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3D,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,sBAAQ,CAAC,CAAA;QAE7C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC;YAC1C,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;YACzB,IAAI;SACL,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC;gBAC3B,GAAI,mBAA2B;gBAC/B,KAAK,EAAE,4BAAc,CAAC,QAAQ;gBAC9B,MAAM;gBACN,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC;gBAC3B,GAAG,QAAQ;gBACX,GAAI,mBAA2B;gBAC/B,KAAK,EAAE,4BAAc,CAAC,QAAQ;gBAC9B,MAAM;gBACN,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,6BAA6B,CAAc,IAAY,EAAS,OAAwB;QAC5F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,sBAAQ,CAAC,CAAA;QAE7C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC;YAC1C,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;YACzB,IAAI;SACL,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAM;QACR,CAAC;QAED,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC;YAC3B,GAAG,QAAQ;YACX,KAAK,EAAE,4BAAc,CAAC,UAAU;YAChC,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AArDY,kEAA2B;AAGhC;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,sBAAQ,EAAE,EAAE,WAAW,EAAE,8DAA8D,EAAE,CAAC;IAC5E,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;8EA2BlE;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,sBAAQ,EAAE,EAAE,WAAW,EAAE,gEAAgE,EAAE,CAAC;IAC5E,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;gFAkBpE;sCApDU,2BAA2B;IADvC,IAAA,uBAAQ,EAAC,6CAAmB,CAAC;GACjB,2BAA2B,CAqDvC","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\n\nimport { ActivityInstallations } from '../../controllers/activity-installation/activity-installation-controller.js'\nimport { Activity, ActivityStatus } from '../activity/activity.js'\nimport { InstallableActivity } from './installable-activity.js'\n\n@Resolver(InstallableActivity)\nexport class InstallableActivityMutation {\n @Directive('@transaction')\n @Mutation(returns => Activity, { description: 'To activate installable activity to Activity on given domain' })\n async activateInstallableActivity(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Activity> {\n const { domain, user, tx } = context.state\n const installableActivity = ActivityInstallations.get(name)\n const repository = tx.getRepository(Activity)\n\n const activity = await repository.findOneBy({\n domain: { id: domain.id },\n name\n })\n\n if (!activity) {\n return await repository.save({\n ...(installableActivity as any),\n state: ActivityStatus.Released,\n domain,\n creator: user,\n updater: user\n })\n } else {\n return await repository.save({\n ...activity,\n ...(installableActivity as any),\n state: ActivityStatus.Released,\n domain,\n updater: user\n })\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => Activity, { description: 'To deactivate installable activity to Activity on given domain' })\n async deactivateInstallableActivity(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Activity> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(Activity)\n\n const activity = await repository.findOneBy({\n domain: { id: domain.id },\n name\n })\n\n if (!activity) {\n return\n }\n\n return await repository.save({\n ...activity,\n state: ActivityStatus.Deprecated,\n updater: user\n })\n }\n}\n"]}