@punks/backend-entity-manager 0.0.71 → 0.0.73

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 (328) hide show
  1. package/dist/cjs/index.js +793 -37
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/__test__/entity/foo.d.ts +7 -2
  4. package/dist/cjs/types/__test__/providers/typeorm/entity/foo.d.ts +14 -2
  5. package/dist/cjs/types/abstractions/actions.d.ts +21 -8
  6. package/dist/cjs/types/abstractions/adapters.d.ts +3 -2
  7. package/dist/cjs/types/abstractions/authorization.d.ts +6 -4
  8. package/dist/cjs/types/abstractions/commands.d.ts +11 -0
  9. package/dist/cjs/types/abstractions/errors.d.ts +3 -2
  10. package/dist/cjs/types/abstractions/index.d.ts +2 -1
  11. package/dist/cjs/types/abstractions/manager.d.ts +12 -9
  12. package/dist/cjs/types/abstractions/pipelines.d.ts +10 -0
  13. package/dist/cjs/types/abstractions/queries.d.ts +11 -1
  14. package/dist/cjs/types/abstractions/repository.d.ts +9 -5
  15. package/dist/cjs/types/actions/count.d.ts +8 -0
  16. package/dist/cjs/types/actions/deleteItems.d.ts +8 -0
  17. package/dist/cjs/types/actions/exists.d.ts +8 -0
  18. package/dist/cjs/types/authorization/allowAll.d.ts +1 -0
  19. package/dist/cjs/types/commands/deleteItems.d.ts +9 -0
  20. package/dist/cjs/types/concrete/index.d.ts +23 -17
  21. package/dist/cjs/types/index.d.ts +1 -0
  22. package/dist/cjs/types/integrations/repository/typeorm/queryBuilder.d.ts +4 -0
  23. package/dist/cjs/types/integrations/repository/typeorm/repository.d.ts +4 -4
  24. package/dist/cjs/types/platforms/nest/__test__/server/app/auth/auth.dto.d.ts +6 -14
  25. package/dist/cjs/types/platforms/nest/__test__/server/app/companies/company.actions.d.ts +2 -2
  26. package/dist/cjs/types/platforms/nest/__test__/server/app/divisions/division.actions.d.ts +2 -2
  27. package/dist/cjs/types/platforms/nest/__test__/server/app/organizations/organization.actions.d.ts +2 -2
  28. package/dist/cjs/types/platforms/nest/__test__/server/app/organizations/organization.controller.d.ts +5 -1
  29. package/dist/cjs/types/platforms/nest/__test__/server/app/organizations/templates/index.d.ts +2 -0
  30. package/dist/cjs/types/platforms/nest/__test__/server/app/organizations/templates/organization-register/index.d.ts +18 -0
  31. package/dist/cjs/types/platforms/nest/__test__/server/app/organizations/templates/organization-register/models.d.ts +17 -0
  32. package/dist/cjs/types/platforms/nest/__test__/server/app/roles/role.actions.d.ts +2 -2
  33. package/dist/cjs/types/platforms/nest/__test__/server/app/tenants/templates/index.d.ts +3 -0
  34. package/dist/cjs/types/platforms/nest/__test__/server/app/tenants/templates/instance-initialize/index.d.ts +11 -0
  35. package/dist/cjs/types/platforms/nest/__test__/server/app/tenants/templates/instance-initialize/models.d.ts +4 -0
  36. package/dist/cjs/types/platforms/nest/__test__/server/app/tenants/templates/tenant-initialize/index.d.ts +13 -0
  37. package/dist/cjs/types/platforms/nest/__test__/server/app/tenants/templates/tenant-initialize/models.d.ts +17 -0
  38. package/dist/cjs/types/platforms/nest/__test__/server/app/tenants/tenant.actions.d.ts +2 -2
  39. package/dist/cjs/types/platforms/nest/__test__/server/app/tenants/tenant.controller.d.ts +7 -1
  40. package/dist/cjs/types/platforms/nest/__test__/server/app/userGroupMembers/userGroupMember.actions.d.ts +2 -2
  41. package/dist/cjs/types/platforms/nest/__test__/server/app/userGroups/userGroup.actions.d.ts +2 -2
  42. package/dist/cjs/types/platforms/nest/__test__/server/app/userProfiles/userProfile.actions.d.ts +2 -2
  43. package/dist/cjs/types/platforms/nest/__test__/server/app/userRoles/userRole.actions.d.ts +2 -2
  44. package/dist/cjs/types/platforms/nest/__test__/server/app/users/user.actions.d.ts +2 -2
  45. package/dist/cjs/types/platforms/nest/__test__/server/entities/companies/company.adapter.d.ts +3 -3
  46. package/dist/cjs/types/platforms/nest/__test__/server/entities/companies/company.authentication.d.ts +1 -0
  47. package/dist/cjs/types/platforms/nest/__test__/server/entities/companies/company.manager.d.ts +2 -2
  48. package/dist/cjs/types/platforms/nest/__test__/server/entities/companies/company.models.d.ts +8 -3
  49. package/dist/cjs/types/platforms/nest/__test__/server/entities/divisions/division.adapter.d.ts +3 -3
  50. package/dist/cjs/types/platforms/nest/__test__/server/entities/divisions/division.authentication.d.ts +1 -0
  51. package/dist/cjs/types/platforms/nest/__test__/server/entities/divisions/division.manager.d.ts +2 -2
  52. package/dist/cjs/types/platforms/nest/__test__/server/entities/divisions/division.models.d.ts +8 -3
  53. package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/actions.d.ts +2 -2
  54. package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/authentication.d.ts +1 -0
  55. package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/manager.d.ts +2 -2
  56. package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/models.d.ts +13 -1
  57. package/dist/cjs/types/platforms/nest/__test__/server/entities/organizations/organization.adapter.d.ts +3 -3
  58. package/dist/cjs/types/platforms/nest/__test__/server/entities/organizations/organization.authentication.d.ts +1 -0
  59. package/dist/cjs/types/platforms/nest/__test__/server/entities/organizations/organization.manager.d.ts +2 -2
  60. package/dist/cjs/types/platforms/nest/__test__/server/entities/organizations/organization.models.d.ts +8 -3
  61. package/dist/cjs/types/platforms/nest/__test__/server/entities/roles/role.adapter.d.ts +3 -3
  62. package/dist/cjs/types/platforms/nest/__test__/server/entities/roles/role.authentication.d.ts +1 -0
  63. package/dist/cjs/types/platforms/nest/__test__/server/entities/roles/role.manager.d.ts +2 -2
  64. package/dist/cjs/types/platforms/nest/__test__/server/entities/roles/role.models.d.ts +8 -3
  65. package/dist/cjs/types/platforms/nest/__test__/server/entities/tenants/tenant.adapter.d.ts +3 -3
  66. package/dist/cjs/types/platforms/nest/__test__/server/entities/tenants/tenant.authentication.d.ts +1 -0
  67. package/dist/cjs/types/platforms/nest/__test__/server/entities/tenants/tenant.manager.d.ts +2 -2
  68. package/dist/cjs/types/platforms/nest/__test__/server/entities/tenants/tenant.models.d.ts +10 -3
  69. package/dist/cjs/types/platforms/nest/__test__/server/entities/userGroupMembers/userGroupMember.authentication.d.ts +1 -0
  70. package/dist/cjs/types/platforms/nest/__test__/server/entities/userGroupMembers/userGroupMember.manager.d.ts +2 -2
  71. package/dist/cjs/types/platforms/nest/__test__/server/entities/userGroupMembers/userGroupMember.models.d.ts +5 -0
  72. package/dist/cjs/types/platforms/nest/__test__/server/entities/userGroups/userGroup.adapter.d.ts +3 -3
  73. package/dist/cjs/types/platforms/nest/__test__/server/entities/userGroups/userGroup.authentication.d.ts +1 -0
  74. package/dist/cjs/types/platforms/nest/__test__/server/entities/userGroups/userGroup.manager.d.ts +2 -2
  75. package/dist/cjs/types/platforms/nest/__test__/server/entities/userGroups/userGroup.models.d.ts +8 -3
  76. package/dist/cjs/types/platforms/nest/__test__/server/entities/userProfiles/userProfile.adapter.d.ts +3 -3
  77. package/dist/cjs/types/platforms/nest/__test__/server/entities/userProfiles/userProfile.authentication.d.ts +1 -0
  78. package/dist/cjs/types/platforms/nest/__test__/server/entities/userProfiles/userProfile.manager.d.ts +2 -2
  79. package/dist/cjs/types/platforms/nest/__test__/server/entities/userProfiles/userProfile.models.d.ts +8 -3
  80. package/dist/cjs/types/platforms/nest/__test__/server/entities/userRoles/userRole.adapter.d.ts +3 -3
  81. package/dist/cjs/types/platforms/nest/__test__/server/entities/userRoles/userRole.authentication.d.ts +1 -0
  82. package/dist/cjs/types/platforms/nest/__test__/server/entities/userRoles/userRole.manager.d.ts +2 -2
  83. package/dist/cjs/types/platforms/nest/__test__/server/entities/userRoles/userRole.models.d.ts +8 -3
  84. package/dist/cjs/types/platforms/nest/__test__/server/entities/users/user.adapter.d.ts +3 -3
  85. package/dist/cjs/types/platforms/nest/__test__/server/entities/users/user.authentication.d.ts +1 -0
  86. package/dist/cjs/types/platforms/nest/__test__/server/entities/users/user.manager.d.ts +2 -2
  87. package/dist/cjs/types/platforms/nest/__test__/server/entities/users/user.models.d.ts +8 -3
  88. package/dist/cjs/types/platforms/nest/__test__/server/index.d.ts +1 -0
  89. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/index.d.ts +1 -1
  90. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/models/index.d.ts +9 -0
  91. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/processors/entity-auth/index.d.ts +1 -0
  92. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/providers/index.d.ts +5 -2
  93. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/providers/roles/index.d.ts +14 -0
  94. package/dist/cjs/types/platforms/nest/__test__/server/{app/auth/services/auth.userRoles.service.d.ts → infrastructure/authentication/providers/userRoles/index.d.ts} +6 -6
  95. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/providers/users/index.d.ts +23 -0
  96. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/roles/index.d.ts +14 -0
  97. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/types.d.ts +2 -1
  98. package/dist/cjs/types/platforms/nest/__test__/tests/ports.d.ts +9 -0
  99. package/dist/cjs/types/platforms/nest/authentication/entityAuthorizationMiddleware.d.ts +1 -0
  100. package/dist/cjs/types/platforms/nest/base/entityActions.d.ts +4 -3
  101. package/dist/cjs/types/platforms/nest/base/entityManager.d.ts +3 -2
  102. package/dist/cjs/types/platforms/nest/decorators/index.d.ts +1 -0
  103. package/dist/cjs/types/platforms/nest/decorators/pipelines.d.ts +4 -0
  104. package/dist/cjs/types/platforms/nest/decorators/symbols.d.ts +1 -0
  105. package/dist/cjs/types/platforms/nest/extensions/authentication/abstractions/index.d.ts +3 -2
  106. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/handlers.d.ts +3 -1
  107. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/index.d.ts +2 -0
  108. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-create/index.d.ts +14 -0
  109. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-create/types.d.ts +16 -0
  110. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-delete/index.d.ts +7 -0
  111. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-delete/types.d.ts +3 -0
  112. package/dist/cjs/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +8 -1
  113. package/dist/cjs/types/platforms/nest/index.d.ts +1 -0
  114. package/dist/cjs/types/platforms/nest/ioc/storage.d.ts +6 -0
  115. package/dist/cjs/types/platforms/nest/module.d.ts +6 -1
  116. package/dist/cjs/types/platforms/nest/pipelines/builder/concrete.d.ts +4 -0
  117. package/dist/cjs/types/platforms/nest/pipelines/builder/index.d.ts +7 -0
  118. package/dist/cjs/types/platforms/nest/pipelines/builder/types.d.ts +14 -0
  119. package/dist/cjs/types/platforms/nest/pipelines/index.d.ts +2 -0
  120. package/dist/cjs/types/platforms/nest/pipelines/providers.d.ts +3 -0
  121. package/dist/cjs/types/platforms/nest/pipelines/runner/index.d.ts +11 -0
  122. package/dist/cjs/types/platforms/nest/pipelines/template/errors.d.ts +6 -0
  123. package/dist/cjs/types/platforms/nest/pipelines/template/index.d.ts +22 -0
  124. package/dist/cjs/types/platforms/nest/pipelines/template/utils.d.ts +6 -0
  125. package/dist/cjs/types/platforms/nest/processors/initializer/index.d.ts +1 -0
  126. package/dist/cjs/types/platforms/nest/services/manager/index.d.ts +2 -2
  127. package/dist/cjs/types/platforms/nest/session/storage.d.ts +1 -1
  128. package/dist/cjs/types/providers/services.d.ts +31 -10
  129. package/dist/cjs/types/queries/count.d.ts +10 -0
  130. package/dist/cjs/types/queries/exists.d.ts +10 -0
  131. package/dist/cjs/types/symbols/ioc.d.ts +9 -0
  132. package/dist/cjs/types/templates/index.d.ts +1 -0
  133. package/dist/cjs/types/templates/pipelines/controller/index.d.ts +5 -0
  134. package/dist/cjs/types/templates/pipelines/converters/index.d.ts +5 -0
  135. package/dist/cjs/types/templates/pipelines/index.d.ts +1 -0
  136. package/dist/cjs/types/templates/pipelines/instance/index.d.ts +19 -0
  137. package/dist/{esm/types/templates/queryBuilder.d.ts → cjs/types/templates/queryBuilder/index.d.ts} +7 -3
  138. package/dist/cjs/types/testing/mocks/repository.d.ts +2 -2
  139. package/dist/cjs/types/types/index.d.ts +2 -0
  140. package/dist/cjs/types/types/objects.d.ts +4 -0
  141. package/dist/cjs/types/types/pipelines.d.ts +109 -0
  142. package/dist/esm/index.js +792 -38
  143. package/dist/esm/index.js.map +1 -1
  144. package/dist/esm/types/__test__/entity/foo.d.ts +7 -2
  145. package/dist/esm/types/__test__/providers/typeorm/entity/foo.d.ts +14 -2
  146. package/dist/esm/types/abstractions/actions.d.ts +21 -8
  147. package/dist/esm/types/abstractions/adapters.d.ts +3 -2
  148. package/dist/esm/types/abstractions/authorization.d.ts +6 -4
  149. package/dist/esm/types/abstractions/commands.d.ts +11 -0
  150. package/dist/esm/types/abstractions/errors.d.ts +3 -2
  151. package/dist/esm/types/abstractions/index.d.ts +2 -1
  152. package/dist/esm/types/abstractions/manager.d.ts +12 -9
  153. package/dist/esm/types/abstractions/pipelines.d.ts +10 -0
  154. package/dist/esm/types/abstractions/queries.d.ts +11 -1
  155. package/dist/esm/types/abstractions/repository.d.ts +9 -5
  156. package/dist/esm/types/actions/count.d.ts +8 -0
  157. package/dist/esm/types/actions/deleteItems.d.ts +8 -0
  158. package/dist/esm/types/actions/exists.d.ts +8 -0
  159. package/dist/esm/types/authorization/allowAll.d.ts +1 -0
  160. package/dist/esm/types/commands/deleteItems.d.ts +9 -0
  161. package/dist/esm/types/concrete/index.d.ts +23 -17
  162. package/dist/esm/types/index.d.ts +1 -0
  163. package/dist/esm/types/integrations/repository/typeorm/queryBuilder.d.ts +4 -0
  164. package/dist/esm/types/integrations/repository/typeorm/repository.d.ts +4 -4
  165. package/dist/esm/types/platforms/nest/__test__/server/app/auth/auth.dto.d.ts +6 -14
  166. package/dist/esm/types/platforms/nest/__test__/server/app/companies/company.actions.d.ts +2 -2
  167. package/dist/esm/types/platforms/nest/__test__/server/app/divisions/division.actions.d.ts +2 -2
  168. package/dist/esm/types/platforms/nest/__test__/server/app/organizations/organization.actions.d.ts +2 -2
  169. package/dist/esm/types/platforms/nest/__test__/server/app/organizations/organization.controller.d.ts +5 -1
  170. package/dist/esm/types/platforms/nest/__test__/server/app/organizations/templates/index.d.ts +2 -0
  171. package/dist/esm/types/platforms/nest/__test__/server/app/organizations/templates/organization-register/index.d.ts +18 -0
  172. package/dist/esm/types/platforms/nest/__test__/server/app/organizations/templates/organization-register/models.d.ts +17 -0
  173. package/dist/esm/types/platforms/nest/__test__/server/app/roles/role.actions.d.ts +2 -2
  174. package/dist/esm/types/platforms/nest/__test__/server/app/tenants/templates/index.d.ts +3 -0
  175. package/dist/esm/types/platforms/nest/__test__/server/app/tenants/templates/instance-initialize/index.d.ts +11 -0
  176. package/dist/esm/types/platforms/nest/__test__/server/app/tenants/templates/instance-initialize/models.d.ts +4 -0
  177. package/dist/esm/types/platforms/nest/__test__/server/app/tenants/templates/tenant-initialize/index.d.ts +13 -0
  178. package/dist/esm/types/platforms/nest/__test__/server/app/tenants/templates/tenant-initialize/models.d.ts +17 -0
  179. package/dist/esm/types/platforms/nest/__test__/server/app/tenants/templates/tenant-initialize/pipeline.test.d.ts +1 -0
  180. package/dist/esm/types/platforms/nest/__test__/server/app/tenants/tenant.actions.d.ts +2 -2
  181. package/dist/esm/types/platforms/nest/__test__/server/app/tenants/tenant.controller.d.ts +7 -1
  182. package/dist/esm/types/platforms/nest/__test__/server/app/userGroupMembers/userGroupMember.actions.d.ts +2 -2
  183. package/dist/esm/types/platforms/nest/__test__/server/app/userGroups/userGroup.actions.d.ts +2 -2
  184. package/dist/esm/types/platforms/nest/__test__/server/app/userProfiles/userProfile.actions.d.ts +2 -2
  185. package/dist/esm/types/platforms/nest/__test__/server/app/userRoles/userRole.actions.d.ts +2 -2
  186. package/dist/esm/types/platforms/nest/__test__/server/app/users/user.actions.d.ts +2 -2
  187. package/dist/esm/types/platforms/nest/__test__/server/entities/companies/company.adapter.d.ts +3 -3
  188. package/dist/esm/types/platforms/nest/__test__/server/entities/companies/company.authentication.d.ts +1 -0
  189. package/dist/esm/types/platforms/nest/__test__/server/entities/companies/company.manager.d.ts +2 -2
  190. package/dist/esm/types/platforms/nest/__test__/server/entities/companies/company.models.d.ts +8 -3
  191. package/dist/esm/types/platforms/nest/__test__/server/entities/divisions/division.adapter.d.ts +3 -3
  192. package/dist/esm/types/platforms/nest/__test__/server/entities/divisions/division.authentication.d.ts +1 -0
  193. package/dist/esm/types/platforms/nest/__test__/server/entities/divisions/division.manager.d.ts +2 -2
  194. package/dist/esm/types/platforms/nest/__test__/server/entities/divisions/division.models.d.ts +8 -3
  195. package/dist/esm/types/platforms/nest/__test__/server/entities/foo/actions.d.ts +2 -2
  196. package/dist/esm/types/platforms/nest/__test__/server/entities/foo/authentication.d.ts +1 -0
  197. package/dist/esm/types/platforms/nest/__test__/server/entities/foo/manager.d.ts +2 -2
  198. package/dist/esm/types/platforms/nest/__test__/server/entities/foo/models.d.ts +13 -1
  199. package/dist/esm/types/platforms/nest/__test__/server/entities/organizations/organization.adapter.d.ts +3 -3
  200. package/dist/esm/types/platforms/nest/__test__/server/entities/organizations/organization.authentication.d.ts +1 -0
  201. package/dist/esm/types/platforms/nest/__test__/server/entities/organizations/organization.manager.d.ts +2 -2
  202. package/dist/esm/types/platforms/nest/__test__/server/entities/organizations/organization.models.d.ts +8 -3
  203. package/dist/esm/types/platforms/nest/__test__/server/entities/roles/role.adapter.d.ts +3 -3
  204. package/dist/esm/types/platforms/nest/__test__/server/entities/roles/role.authentication.d.ts +1 -0
  205. package/dist/esm/types/platforms/nest/__test__/server/entities/roles/role.manager.d.ts +2 -2
  206. package/dist/esm/types/platforms/nest/__test__/server/entities/roles/role.models.d.ts +8 -3
  207. package/dist/esm/types/platforms/nest/__test__/server/entities/tenants/tenant.adapter.d.ts +3 -3
  208. package/dist/esm/types/platforms/nest/__test__/server/entities/tenants/tenant.authentication.d.ts +1 -0
  209. package/dist/esm/types/platforms/nest/__test__/server/entities/tenants/tenant.manager.d.ts +2 -2
  210. package/dist/esm/types/platforms/nest/__test__/server/entities/tenants/tenant.models.d.ts +10 -3
  211. package/dist/esm/types/platforms/nest/__test__/server/entities/userGroupMembers/userGroupMember.authentication.d.ts +1 -0
  212. package/dist/esm/types/platforms/nest/__test__/server/entities/userGroupMembers/userGroupMember.manager.d.ts +2 -2
  213. package/dist/esm/types/platforms/nest/__test__/server/entities/userGroupMembers/userGroupMember.models.d.ts +5 -0
  214. package/dist/esm/types/platforms/nest/__test__/server/entities/userGroups/userGroup.adapter.d.ts +3 -3
  215. package/dist/esm/types/platforms/nest/__test__/server/entities/userGroups/userGroup.authentication.d.ts +1 -0
  216. package/dist/esm/types/platforms/nest/__test__/server/entities/userGroups/userGroup.manager.d.ts +2 -2
  217. package/dist/esm/types/platforms/nest/__test__/server/entities/userGroups/userGroup.models.d.ts +8 -3
  218. package/dist/esm/types/platforms/nest/__test__/server/entities/userProfiles/userProfile.adapter.d.ts +3 -3
  219. package/dist/esm/types/platforms/nest/__test__/server/entities/userProfiles/userProfile.authentication.d.ts +1 -0
  220. package/dist/esm/types/platforms/nest/__test__/server/entities/userProfiles/userProfile.manager.d.ts +2 -2
  221. package/dist/esm/types/platforms/nest/__test__/server/entities/userProfiles/userProfile.models.d.ts +8 -3
  222. package/dist/esm/types/platforms/nest/__test__/server/entities/userRoles/userRole.adapter.d.ts +3 -3
  223. package/dist/esm/types/platforms/nest/__test__/server/entities/userRoles/userRole.authentication.d.ts +1 -0
  224. package/dist/esm/types/platforms/nest/__test__/server/entities/userRoles/userRole.manager.d.ts +2 -2
  225. package/dist/esm/types/platforms/nest/__test__/server/entities/userRoles/userRole.models.d.ts +8 -3
  226. package/dist/esm/types/platforms/nest/__test__/server/entities/users/user.adapter.d.ts +3 -3
  227. package/dist/esm/types/platforms/nest/__test__/server/entities/users/user.authentication.d.ts +1 -0
  228. package/dist/esm/types/platforms/nest/__test__/server/entities/users/user.manager.d.ts +2 -2
  229. package/dist/esm/types/platforms/nest/__test__/server/entities/users/user.models.d.ts +8 -3
  230. package/dist/esm/types/platforms/nest/__test__/server/index.d.ts +1 -0
  231. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/index.d.ts +1 -1
  232. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/models/index.d.ts +9 -0
  233. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/processors/entity-auth/index.d.ts +1 -0
  234. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/providers/index.d.ts +5 -2
  235. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/providers/roles/index.d.ts +14 -0
  236. package/dist/esm/types/platforms/nest/__test__/server/{app/auth/services/auth.userRoles.service.d.ts → infrastructure/authentication/providers/userRoles/index.d.ts} +6 -6
  237. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/providers/users/index.d.ts +23 -0
  238. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/roles/index.d.ts +14 -0
  239. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/types.d.ts +2 -1
  240. package/dist/esm/types/platforms/nest/__test__/tests/authentication/auth-api.test.d.ts +1 -0
  241. package/dist/esm/types/platforms/nest/__test__/tests/authentication/auth-guards.test.d.ts +1 -0
  242. package/dist/esm/types/platforms/nest/__test__/tests/authentication/auth-jwt.test.d.ts +1 -0
  243. package/dist/esm/types/platforms/nest/__test__/tests/base/crud-actions.test.d.ts +1 -0
  244. package/dist/esm/types/platforms/nest/__test__/tests/base/crud-api.test.d.ts +1 -0
  245. package/dist/esm/types/platforms/nest/__test__/tests/base/crud-operations.test.d.ts +1 -0
  246. package/dist/esm/types/platforms/nest/__test__/tests/base/seeder.test.d.ts +1 -0
  247. package/dist/esm/types/platforms/nest/__test__/tests/base/server-session.test.d.ts +1 -0
  248. package/dist/esm/types/platforms/nest/__test__/tests/pipelines/crud_pipeline_api.test.d.ts +1 -0
  249. package/dist/esm/types/platforms/nest/__test__/tests/pipelines/crud_pipeline_template.test.d.ts +1 -0
  250. package/dist/esm/types/platforms/nest/__test__/tests/pipelines/simple_pipeline.test.d.ts +1 -0
  251. package/dist/esm/types/platforms/nest/__test__/tests/ports.d.ts +9 -0
  252. package/dist/esm/types/platforms/nest/authentication/entityAuthorizationMiddleware.d.ts +1 -0
  253. package/dist/esm/types/platforms/nest/base/entityActions.d.ts +4 -3
  254. package/dist/esm/types/platforms/nest/base/entityManager.d.ts +3 -2
  255. package/dist/esm/types/platforms/nest/decorators/index.d.ts +1 -0
  256. package/dist/esm/types/platforms/nest/decorators/pipelines.d.ts +4 -0
  257. package/dist/esm/types/platforms/nest/decorators/symbols.d.ts +1 -0
  258. package/dist/esm/types/platforms/nest/extensions/authentication/abstractions/index.d.ts +3 -2
  259. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/handlers.d.ts +3 -1
  260. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/index.d.ts +2 -0
  261. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-create/index.d.ts +14 -0
  262. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-create/types.d.ts +16 -0
  263. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-delete/index.d.ts +7 -0
  264. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-delete/types.d.ts +3 -0
  265. package/dist/esm/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +8 -1
  266. package/dist/esm/types/platforms/nest/index.d.ts +1 -0
  267. package/dist/esm/types/platforms/nest/ioc/storage.d.ts +6 -0
  268. package/dist/esm/types/platforms/nest/module.d.ts +6 -1
  269. package/dist/esm/types/platforms/nest/pipelines/builder/concrete.d.ts +4 -0
  270. package/dist/esm/types/platforms/nest/pipelines/builder/index.d.ts +7 -0
  271. package/dist/esm/types/platforms/nest/pipelines/builder/types.d.ts +14 -0
  272. package/dist/esm/types/platforms/nest/pipelines/index.d.ts +2 -0
  273. package/dist/esm/types/platforms/nest/pipelines/providers.d.ts +3 -0
  274. package/dist/esm/types/platforms/nest/pipelines/runner/index.d.ts +11 -0
  275. package/dist/esm/types/platforms/nest/pipelines/template/errors.d.ts +6 -0
  276. package/dist/esm/types/platforms/nest/pipelines/template/index.d.ts +22 -0
  277. package/dist/esm/types/platforms/nest/pipelines/template/utils.d.ts +6 -0
  278. package/dist/esm/types/platforms/nest/processors/initializer/index.d.ts +1 -0
  279. package/dist/esm/types/platforms/nest/services/manager/index.d.ts +2 -2
  280. package/dist/esm/types/platforms/nest/session/storage.d.ts +1 -1
  281. package/dist/esm/types/providers/services.d.ts +31 -10
  282. package/dist/esm/types/queries/count.d.ts +10 -0
  283. package/dist/esm/types/queries/exists.d.ts +10 -0
  284. package/dist/esm/types/symbols/ioc.d.ts +9 -0
  285. package/dist/esm/types/templates/index.d.ts +1 -0
  286. package/dist/esm/types/templates/pipelines/controller/index.d.ts +5 -0
  287. package/dist/esm/types/templates/pipelines/converters/index.d.ts +5 -0
  288. package/dist/esm/types/templates/pipelines/index.d.ts +1 -0
  289. package/dist/esm/types/templates/pipelines/instance/index.d.ts +19 -0
  290. package/dist/{cjs/types/templates/queryBuilder.d.ts → esm/types/templates/queryBuilder/index.d.ts} +7 -3
  291. package/dist/esm/types/testing/mocks/repository.d.ts +2 -2
  292. package/dist/esm/types/types/index.d.ts +2 -0
  293. package/dist/esm/types/types/objects.d.ts +4 -0
  294. package/dist/esm/types/types/pipelines.d.ts +109 -0
  295. package/dist/index.d.ts +342 -69
  296. package/package.json +1 -1
  297. package/dist/cjs/types/platforms/nest/__test__/server/app/auth/services/auth.roles.service.d.ts +0 -12
  298. package/dist/cjs/types/platforms/nest/__test__/server/app/auth/services/auth.user.service.d.ts +0 -20
  299. package/dist/cjs/types/platforms/nest/__test__/server/app/auth/services/index.d.ts +0 -4
  300. package/dist/esm/types/platforms/nest/__test__/server/app/auth/services/auth.roles.service.d.ts +0 -12
  301. package/dist/esm/types/platforms/nest/__test__/server/app/auth/services/auth.user.service.d.ts +0 -20
  302. package/dist/esm/types/platforms/nest/__test__/server/app/auth/services/index.d.ts +0 -4
  303. /package/dist/cjs/types/__test__/base/{test-actions-plain.test.d.ts → actions-plain.test.d.ts} +0 -0
  304. /package/dist/cjs/types/__test__/base/{test-actions-with-converters.test.d.ts → actions-with-converters.test.d.ts} +0 -0
  305. /package/dist/cjs/types/__test__/base/{test-default-entity-manager.test.d.ts → default-entity-manager.test.d.ts} +0 -0
  306. /package/dist/cjs/types/__test__/providers/typeorm/{test-typeorm-actions.test.d.ts → typeorm-actions.test.d.ts} +0 -0
  307. /package/dist/cjs/types/platforms/nest/__test__/{tests/authentication/test_auth_api.test.d.ts → server/app/organizations/templates/organization-register/pipeline.test.d.ts} +0 -0
  308. /package/dist/cjs/types/platforms/nest/__test__/{tests/authentication/test_auth_guards.test.d.ts → server/app/tenants/templates/instance-initialize/pipeline.test.d.ts} +0 -0
  309. /package/dist/cjs/types/platforms/nest/__test__/{tests/authentication/test_auth_jwt.test.d.ts → server/app/tenants/templates/tenant-initialize/pipeline.test.d.ts} +0 -0
  310. /package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/providers/{auth-context → context}/index.d.ts +0 -0
  311. /package/dist/cjs/types/platforms/nest/__test__/tests/{base/test_crud_actions.test.d.ts → authentication/auth-api.test.d.ts} +0 -0
  312. /package/dist/cjs/types/platforms/nest/__test__/tests/{base/test_crud_api.test.d.ts → authentication/auth-guards.test.d.ts} +0 -0
  313. /package/dist/cjs/types/platforms/nest/__test__/tests/{base/test_crud_operations.test.d.ts → authentication/auth-jwt.test.d.ts} +0 -0
  314. /package/dist/cjs/types/platforms/nest/__test__/tests/base/{test_seeder.test.d.ts → crud-actions.test.d.ts} +0 -0
  315. /package/dist/cjs/types/platforms/nest/__test__/tests/base/{test_server_session.test.d.ts → crud-api.test.d.ts} +0 -0
  316. /package/dist/{esm/types/__test__/base/test-actions-plain.test.d.ts → cjs/types/platforms/nest/__test__/tests/base/crud-operations.test.d.ts} +0 -0
  317. /package/dist/{esm/types/__test__/base/test-actions-with-converters.test.d.ts → cjs/types/platforms/nest/__test__/tests/base/seeder.test.d.ts} +0 -0
  318. /package/dist/{esm/types/__test__/base/test-default-entity-manager.test.d.ts → cjs/types/platforms/nest/__test__/tests/base/server-session.test.d.ts} +0 -0
  319. /package/dist/{esm/types/__test__/providers/typeorm/test-typeorm-actions.test.d.ts → cjs/types/platforms/nest/__test__/tests/pipelines/crud_pipeline_api.test.d.ts} +0 -0
  320. /package/dist/{esm/types/platforms/nest/__test__/tests/authentication/test_auth_api.test.d.ts → cjs/types/platforms/nest/__test__/tests/pipelines/crud_pipeline_template.test.d.ts} +0 -0
  321. /package/dist/{esm/types/platforms/nest/__test__/tests/authentication/test_auth_guards.test.d.ts → cjs/types/platforms/nest/__test__/tests/pipelines/simple_pipeline.test.d.ts} +0 -0
  322. /package/dist/esm/types/{platforms/nest/__test__/tests/authentication/test_auth_jwt.test.d.ts → __test__/base/actions-plain.test.d.ts} +0 -0
  323. /package/dist/esm/types/{platforms/nest/__test__/tests/base/test_crud_actions.test.d.ts → __test__/base/actions-with-converters.test.d.ts} +0 -0
  324. /package/dist/esm/types/{platforms/nest/__test__/tests/base/test_crud_api.test.d.ts → __test__/base/default-entity-manager.test.d.ts} +0 -0
  325. /package/dist/esm/types/{platforms/nest/__test__/tests/base/test_crud_operations.test.d.ts → __test__/providers/typeorm/typeorm-actions.test.d.ts} +0 -0
  326. /package/dist/esm/types/platforms/nest/__test__/{tests/base/test_seeder.test.d.ts → server/app/organizations/templates/organization-register/pipeline.test.d.ts} +0 -0
  327. /package/dist/esm/types/platforms/nest/__test__/{tests/base/test_server_session.test.d.ts → server/app/tenants/templates/instance-initialize/pipeline.test.d.ts} +0 -0
  328. /package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/providers/{auth-context → context}/index.d.ts +0 -0
@@ -3,4 +3,4 @@
3
3
  import { AsyncLocalStorage } from "async_hooks";
4
4
  import { Request, Response } from "express";
5
5
  import { AppSession } from "./session";
6
- export declare const asyncLocalStorage: AsyncLocalStorage<AppSession<Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, Response<any, Record<string, any>>>>;
6
+ export declare const sessionStorage: AsyncLocalStorage<AppSession<Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, Response<any, Record<string, any>>>>;
@@ -1,17 +1,18 @@
1
1
  import { IAuthenticationContext, IAuthenticationContextProvider, IEmailProvider, IEmailTemplatesCollection, IEventLog, IEventsTracker } from "../abstractions";
2
- import { IEntitiesSearchAction, IEntityActions, IEntityCreateAction, IEntityDeleteAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction } from "../abstractions/actions";
2
+ import { IEntitiesCountAction, IEntitiesDeleteAction, IEntitiesSearchAction, IEntityActions, IEntityCreateAction, IEntityDeleteAction, IEntityExistsAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction } from "../abstractions/actions";
3
3
  import { IEntityAdapter } from "../abstractions/adapters";
4
4
  import { IEntityAuthorizationMiddleware } from "../abstractions/authorization";
5
- import { IEntityCreateCommand, IEntityDeleteCommand, IEntityUpdateCommand, IEntityUpsertCommand } from "../abstractions/commands";
5
+ import { IEntitiesDeleteCommand, IEntitiesDeleteParameters, IEntityCreateCommand, IEntityDeleteCommand, IEntityUpdateCommand, IEntityUpsertCommand } from "../abstractions/commands";
6
6
  import { SortingType } from "../abstractions/common";
7
7
  import { IConnectorsConfiguration, IEntityConnectorDeleteManager, IEntityConnectorSyncManager } from "../abstractions/connectors";
8
8
  import { IEntityConverter } from "../abstractions/converters";
9
9
  import { IEntityEventsManager, IEventEmitter } from "../abstractions/events";
10
10
  import { IEntityManager } from "../abstractions/manager";
11
- import { IEntitiesQueryBuilder, IEntitiesSearchQuery, IEntityFacets, IEntityGetQuery } from "../abstractions/queries";
11
+ import { IPipelinesController } from "../abstractions/pipelines";
12
+ import { IEntitiesCountQuery, IEntitiesQueryBuilder, IEntitiesSearchQuery, IEntityExistsQuery, IEntityFacets, IEntityGetQuery } from "../abstractions/queries";
12
13
  import { IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IReplicasConfiguration } from "../abstractions/replication";
13
14
  import { IEntityRepository } from "../abstractions/repository";
14
- import { IEntitySearchParameters } from "../abstractions/searchParameters";
15
+ import { IEntitySearchParameters, ISearchFilters } from "../abstractions/searchParameters";
15
16
  import { ServiceLocator } from "../ioc";
16
17
  export declare class EntityServiceLocator<TEntity, TEntityId> {
17
18
  private readonly services;
@@ -19,8 +20,8 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
19
20
  constructor(services: EntitiesServiceLocator, entityName: string);
20
21
  getRootServices(): EntitiesServiceLocator;
21
22
  resolveAuthenticationContextProvider<TAuthenticationContextProvider extends IAuthenticationContextProvider<TUserContext>, TUserContext>(): TAuthenticationContextProvider;
22
- resolveEntityManager(): IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, any>;
23
- resolveEntityActions(): IEntityActions<TEntity, TEntityId, unknown, unknown, unknown, unknown, any, any, unknown, any>;
23
+ resolveEntityManager(): IEntityManager<TEntity, unknown, unknown, unknown, any, any, any, unknown, any>;
24
+ resolveEntityActions(): IEntityActions<TEntity, TEntityId, unknown, unknown, unknown, unknown, any, any, any, unknown, any>;
24
25
  resolveRepository<TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(): IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>;
25
26
  resolveEventsManager(): IEntityEventsManager<TEntity, TEntityId>;
26
27
  resolveReplicaSyncManager(): IEntityReplicaSyncManager<TEntity>;
@@ -33,17 +34,23 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
33
34
  resolveAdapter<TEntityCreateData, TEntityUpdateData>(): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
34
35
  resolveAuthorizationMiddleware<TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
35
36
  resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
37
+ resolveExistsQuery<TEntityFilters extends ISearchFilters>(): IEntityExistsQuery<TEntity, TEntityFilters>;
38
+ resolveCountQuery<TEntityFilters extends ISearchFilters>(): IEntitiesCountQuery<TEntity, TEntityFilters>;
36
39
  resolveSearchQuery<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
37
40
  resolveCreateCommand<TEntityCreateData>(): IEntityCreateCommand<TEntity, TEntityCreateData>;
38
41
  resolveUpdateCommand<TEntityUpdateData>(): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
39
42
  resolveUpsertCommand<TEntityUpdateData>(): IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>;
40
43
  resolveDeleteCommand<TEntityId>(): IEntityDeleteCommand<TEntity, TEntityId>;
44
+ resolveDeleteItemsCommand<TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting>(): IEntitiesDeleteCommand<TEntity, TEntitiesDeleteParameters, TSorting>;
41
45
  resolveGetAction<TEntityId, TEntityDto>(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
46
+ resolveExistsAction<TEntityFilters extends ISearchFilters>(): IEntityExistsAction<TEntity, TEntityFilters>;
47
+ resolveCountAction<TEntityFilters extends ISearchFilters>(): IEntitiesCountAction<TEntity, TEntityFilters>;
42
48
  resolveSearchAction<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
43
49
  resolveCreateAction<TEntityCreateData, TEntityDto>(): IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>;
44
50
  resolveUpdateAction<TEntityUpdateData, TEntityDto>(): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
45
51
  resolveUpsertAction<TEntityUpdateData, TEntityDto>(): IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
46
52
  resolveDeleteAction(): IEntityDeleteAction<TEntity, TEntityId>;
53
+ resolveDeleteItemsAction<TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting>(): IEntitiesDeleteAction<TEntity, TEntitiesDeleteParameters, TSorting>;
47
54
  resolveQueryBuilder<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext>(): IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets, TUserContext>;
48
55
  getEntityName(): string;
49
56
  }
@@ -59,12 +66,14 @@ export declare class EntitiesServiceLocator {
59
66
  registerEventsTracker<TEventsTracker extends IEventsTracker<TEventLog>, TEventLog extends IEventLog<unknown>>(instance: TEventsTracker): void;
60
67
  resolveEmailTemplatesCollection(): IEmailTemplatesCollection;
61
68
  registerEmailTemplatesCollection(instance: IEmailTemplatesCollection): void;
69
+ resolvePipelinesController(): IPipelinesController;
70
+ registerPipelinesController(instance: IPipelinesController): void;
62
71
  resolveAuthenticationContextProvider<TAuthenticationContextProvider extends IAuthenticationContextProvider<TUserContext>, TUserContext>(): TAuthenticationContextProvider;
63
72
  registerAuthenticationContextProvider<TAuthenticationContextProvider extends IAuthenticationContextProvider<TUserContext>, TUserContext>(instance: TAuthenticationContextProvider): void;
64
- resolveEntityManager<TEntity>(entityName: string): IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, any>;
65
- registerEntityManager<TEntity>(entityName: string, instance: IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, any>): void;
66
- resolveEntityActions<TEntity>(entityName: string): IEntityActions<TEntity, unknown, unknown, unknown, unknown, unknown, any, any, unknown, any>;
67
- registerEntityActions<TEntity>(entityName: string, instance: IEntityActions<TEntity, unknown, unknown, unknown, unknown, unknown, any, any, unknown, any>): void;
73
+ resolveEntityManager<TEntity>(entityName: string): IEntityManager<TEntity, unknown, unknown, unknown, any, any, any, unknown, any>;
74
+ registerEntityManager<TEntity>(entityName: string, instance: IEntityManager<TEntity, unknown, unknown, unknown, any, any, any, unknown, any>): void;
75
+ resolveEntityActions<TEntity>(entityName: string): IEntityActions<TEntity, unknown, unknown, unknown, unknown, unknown, any, any, any, unknown, any>;
76
+ registerEntityActions<TEntity>(entityName: string, instance: IEntityActions<TEntity, unknown, unknown, unknown, unknown, unknown, any, any, any, unknown, any>): void;
68
77
  resolveRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(entityName: string): IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>;
69
78
  registerRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(entityName: string, instance: IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>): void;
70
79
  resolveEventsManager<TEntity, TEntityId>(entityName: string): IEntityEventsManager<TEntity, TEntityId>;
@@ -91,16 +100,26 @@ export declare class EntitiesServiceLocator {
91
100
  registerGetQuery<TEntity, TEntityId>(entityName: string, instance: IEntityGetQuery<TEntity, TEntityId>): void;
92
101
  resolveSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
93
102
  registerSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string, instance: IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>): void;
103
+ resolveExistsQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntityExistsQuery<TEntity, TEntityFilters>;
104
+ registerExistsQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntityExistsQuery<TEntity, TEntityFilters>): void;
105
+ resolveCountQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntitiesCountQuery<TEntity, TEntityFilters>;
106
+ registerCountQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntitiesCountQuery<TEntity, TEntityFilters>): void;
94
107
  resolveCreateCommand<TEntity, TEntityCreateData>(entityName: string): IEntityCreateCommand<TEntity, TEntityCreateData>;
95
108
  registerCreateCommand<TEntity, TEntityCreateData>(entityName: string, instance: IEntityCreateCommand<TEntity, TEntityCreateData>): void;
96
109
  resolveUpdateCommand<TEntity, TEntityId, TEntityUpdateData>(entityName: string): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
97
110
  registerUpdateCommand<TEntity, TEntityId, TEntityUpdateData>(entityName: string, instance: IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>): void;
98
111
  resolveUpsertCommand<TEntity, TEntityId, TEntityUpdateData>(entityName: string): IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>;
99
112
  registerUpsertCommand<TEntity, TEntityId, TEntityUpdateData>(entityName: string, instance: IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>): void;
113
+ resolveDeleteItemsCommand<TEntity, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting>(entityName: string): IEntitiesDeleteCommand<TEntity, TEntitiesDeleteParameters, TSorting>;
114
+ registerDeleteItemsCommand<TEntity, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting>(entityName: string, instance: IEntitiesDeleteCommand<TEntity, TEntitiesDeleteParameters, TSorting>): void;
100
115
  resolveDeleteCommand<TEntity, TEntityId>(entityName: string): IEntityDeleteCommand<TEntity, TEntityId>;
101
116
  registerDeleteCommand<TEntity, TEntityId>(entityName: string, instance: IEntityDeleteCommand<TEntity, TEntityId>): void;
102
117
  resolveGetAction<TEntity, TEntityId, TEntityDto>(entityName: string): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
103
118
  registerGetAction<TEntity, TEntityId, TEntityDto>(entityName: string, instance: IEntityGetAction<TEntity, TEntityId, TEntityDto>): void;
119
+ resolveExistsAction<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntityExistsAction<TEntity, TEntityFilters>;
120
+ registerExistsAction<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntityExistsAction<TEntity, TEntityFilters>): void;
121
+ resolveCountAction<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntitiesCountAction<TEntity, TEntityFilters>;
122
+ registerCountAction<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntitiesCountAction<TEntity, TEntityFilters>): void;
104
123
  resolveSearchAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
105
124
  registerSearchAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string, instance: IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>): void;
106
125
  resolveCreateAction<TEntity, TEntityCreateData, TEntityDto>(entityName: string): IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>;
@@ -111,6 +130,8 @@ export declare class EntitiesServiceLocator {
111
130
  registerUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>(entityName: string, instance: IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>): void;
112
131
  resolveDeleteAction<TEntity, TEntityId>(entityName: string): IEntityDeleteAction<TEntity, TEntityId>;
113
132
  registerDeleteAction<TEntity, TEntityId>(entityName: string, instance: IEntityDeleteAction<TEntity, TEntityId>): void;
133
+ resolveDeleteItemsAction<TEntity, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting>(entityName: string): IEntitiesDeleteAction<TEntity, TEntitiesDeleteParameters, TSorting>;
134
+ registerDeleteItemsAction<TEntity, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting>(entityName: string, instance: IEntitiesDeleteAction<TEntity, TEntitiesDeleteParameters, TSorting>): void;
114
135
  resolveQueryBuilder<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext>(entityName: string): IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets, TUserContext>;
115
136
  registerQueryBuilder<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext>(entityName: string, instance: IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets, TUserContext>): void;
116
137
  }
@@ -0,0 +1,10 @@
1
+ import { ISearchFilters } from "../abstractions";
2
+ import { IEntitiesCountQuery } from "../abstractions/queries";
3
+ import { EntityServiceLocator } from "../providers/services";
4
+ export declare class EntitiesCountQuery<TEntity, TEntityFilters extends ISearchFilters, TUserContext> implements IEntitiesCountQuery<TEntity, TEntityFilters> {
5
+ private readonly services;
6
+ constructor(services: EntityServiceLocator<TEntity, unknown>);
7
+ execute(filters: TEntityFilters): Promise<number>;
8
+ private getContext;
9
+ private authorizeSearch;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { ISearchFilters } from "../abstractions";
2
+ import { IEntityExistsQuery } from "../abstractions/queries";
3
+ import { EntityServiceLocator } from "../providers/services";
4
+ export declare class EntityExistsQuery<TEntity, TEntityFilters extends ISearchFilters, TUserContext> implements IEntityExistsQuery<TEntity, TEntityFilters> {
5
+ private readonly services;
6
+ constructor(services: EntityServiceLocator<TEntity, unknown>);
7
+ execute(filters: TEntityFilters): Promise<boolean>;
8
+ private getContext;
9
+ private authorizeSearch;
10
+ }
@@ -1,6 +1,9 @@
1
1
  export declare const EntityServices: {
2
2
  Actions: {
3
3
  IEntityGetAction: string;
4
+ IEntityExistsAction: string;
5
+ IEntitiesCountAction: string;
6
+ IEntitiesDeleteAction: string;
4
7
  IEntitiesSearchAction: string;
5
8
  IEntityCreateAction: string;
6
9
  IEntityUpdateAction: string;
@@ -17,6 +20,7 @@ export declare const EntityServices: {
17
20
  IEntityUpsertCommand: string;
18
21
  IEntityMergeCommand: string;
19
22
  IEntityDeleteCommand: string;
23
+ IEntitiesDeleteCommand: string;
20
24
  };
21
25
  Converters: {
22
26
  IEntityAdapter: string;
@@ -31,6 +35,8 @@ export declare const EntityServices: {
31
35
  IEntityEventsManager: string;
32
36
  };
33
37
  Queries: {
38
+ IEntityCountQuery: string;
39
+ IEntityExistsQuery: string;
34
40
  IEntityGetQuery: string;
35
41
  IEntitiesSearchQuery: string;
36
42
  IEntitiesQueryBuilder: string;
@@ -60,4 +66,7 @@ export declare const GlobalServices: {
60
66
  IEmailProvider: string;
61
67
  IEmailTemplatesCollection: string;
62
68
  };
69
+ Pipelines: {
70
+ IPipelineController: string;
71
+ };
63
72
  };
@@ -1 +1,2 @@
1
+ export * from "./pipelines";
1
2
  export { QueryBuilderBase } from "./queryBuilder";
@@ -0,0 +1,5 @@
1
+ import { IPipelineInstance, IPipelinesController } from "../../../abstractions/pipelines";
2
+ import { PipelineDefinition } from "../../../types";
3
+ export declare class PipelineController implements IPipelinesController {
4
+ createInstance<TInput, TOutput, TContext>(definition: PipelineDefinition<TInput, TOutput, TContext>, input: TInput, context: TContext): Promise<IPipelineInstance<TInput, TOutput, TContext>>;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { PipelineErrorType, PipelineOperationError, PipelineOperationResult, PipelineStepErrorType, PipelineStepResult } from "../../../types";
2
+ export declare const toPipelineOperationError: (error: Error) => PipelineOperationError;
3
+ export declare const getStepOutput: <TStepInput, TStepOutput>(result: PipelineStepResult<TStepInput, TStepOutput>) => TStepOutput | undefined;
4
+ export declare const getOperationOutput: <TStepInput, TStepOutput>(result: PipelineOperationResult<TStepInput, TStepOutput>) => TStepOutput | undefined;
5
+ export declare const mapPipelineErrorType: (stepError: PipelineStepErrorType) => PipelineErrorType;
@@ -0,0 +1 @@
1
+ export { PipelineController } from "./controller";
@@ -0,0 +1,19 @@
1
+ import { IPipelineInstance } from "../../../abstractions/pipelines";
2
+ import { PipelineDefinition, PipelineResult } from "../../../types";
3
+ export declare class PipelineInstance<TPipelineInput, TPipelineOutput, TContext> implements IPipelineInstance<TPipelineInput, TPipelineOutput, TContext> {
4
+ private readonly definition;
5
+ private readonly input;
6
+ private readonly context;
7
+ private status;
8
+ constructor(definition: PipelineDefinition<TPipelineInput, TPipelineOutput, TContext>, input: TPipelineInput, context: TContext);
9
+ execute(): Promise<PipelineResult<TPipelineInput, TPipelineOutput>>;
10
+ private buildInitialStepState;
11
+ private buildNextStepState;
12
+ private rollbackSteps;
13
+ private rollbackStep;
14
+ private validateStepPrecondition;
15
+ private executeStep;
16
+ private executeOperation;
17
+ private rollbackOperations;
18
+ private rollbackOperation;
19
+ }
@@ -1,7 +1,11 @@
1
- import { IAuthenticationContext, IEntitiesQueryBuilder, IEntityFacets, IEntitySearchParameters, ISearchRequestPaging } from "../abstractions";
2
- import { SortingType } from "../abstractions/common";
3
- import { IEntitiesSearchResults, IEntitiesSearchResultsPaging } from "../models";
1
+ import { IAuthenticationContext, IEntitiesQueryBuilder, IEntityFacets, IEntitySearchParameters, ISearchRequestPaging } from "../../abstractions";
2
+ import { SortingType } from "../../abstractions/common";
3
+ import { IEntitiesDeleteResult } from "../../abstractions/repository";
4
+ import { IEntitiesSearchResults, IEntitiesSearchResultsPaging } from "../../models";
4
5
  export declare abstract class QueryBuilderBase<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext> implements IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets, TUserContext> {
6
+ abstract exists(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<boolean>;
7
+ abstract count(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<number>;
8
+ abstract delete(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<IEntitiesDeleteResult>;
5
9
  abstract search(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
6
10
  protected getIndexBasedPagingResult({ paging, totResults, currentPageResults, }: {
7
11
  paging?: ISearchRequestPaging<number>;
@@ -1,5 +1,5 @@
1
1
  import { FilterExpression } from "../../abstractions/filters";
2
- import { IEntityRepository } from "../../abstractions/repository";
2
+ import { IEntitiesDeleteResult, IEntityRepository } from "../../abstractions/repository";
3
3
  export declare class InMemoryRepository<TEntity> implements IEntityRepository<TEntity, string, FilterExpression<TEntity>, FilterExpression<TEntity>, FilterExpression<TEntity>, FilterExpression<TEntity>> {
4
4
  private entities;
5
5
  exists(id: string): Promise<boolean>;
@@ -11,7 +11,7 @@ export declare class InMemoryRepository<TEntity> implements IEntityRepository<TE
11
11
  count(condition: FilterExpression<TEntity>): Promise<number>;
12
12
  findById(id: string[]): Promise<TEntity[]>;
13
13
  delete(id: string): Promise<void>;
14
- deleteBy(condition: FilterExpression<TEntity>): Promise<void>;
14
+ deleteBy(condition: FilterExpression<TEntity>): Promise<IEntitiesDeleteResult>;
15
15
  create(entity: TEntity): Promise<TEntity>;
16
16
  update(id: string, entity: Partial<TEntity>): Promise<TEntity>;
17
17
  updateBy(entity: Partial<TEntity>, condition: FilterExpression<TEntity>): Promise<TEntity[]>;
@@ -0,0 +1,2 @@
1
+ export * from "./objects";
2
+ export * from "./pipelines";
@@ -0,0 +1,4 @@
1
+ export type DeepPartial<T> = {
2
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
3
+ };
4
+ export type NonNullable<T> = T;
@@ -0,0 +1,109 @@
1
+ export type PipelineStepState<TPipelineInput, TContext, TStepInput> = {
2
+ context: TContext;
3
+ stepInput: TStepInput;
4
+ pipelineInput: TPipelineInput;
5
+ previousStep?: PipelineCompletedStepState<TPipelineInput, TContext, any, TStepInput>;
6
+ };
7
+ export type PipelineCompletedStepState<TPipelineInput, TContext, TStepInput, TStepOutput> = PipelineStepState<TPipelineInput, TContext, TStepInput> & {
8
+ stepOutput?: TStepOutput;
9
+ };
10
+ export type PipelineCurrentStepState<TPipelineInput, TContext, TStepInput> = PipelineStepState<TPipelineInput, TContext, TStepInput> & {};
11
+ export type OperationDefinition<TOperationInput, TOperationOutput, TCurrentStepInput, TPipelineInput, TContext> = {
12
+ name: string;
13
+ action: (input: TOperationInput, state: PipelineCurrentStepState<TPipelineInput, TContext, TCurrentStepInput>) => Promise<TOperationOutput> | TOperationOutput;
14
+ precondition?: (input: TOperationInput, state: PipelineCurrentStepState<TPipelineInput, TContext, TCurrentStepInput>) => Promise<boolean> | boolean;
15
+ };
16
+ export type RollbackOperationDefinition<TOperationInput, TOperationOutput, TCurrentStepInput, TPipelineInput, TContext> = {
17
+ name: string;
18
+ action: (input: TOperationInput, output: TOperationOutput, state: PipelineCurrentStepState<TPipelineInput, TContext, TCurrentStepInput>) => Promise<void> | void;
19
+ };
20
+ export type PipelineStepOperation<TOperationInput, TOperationOutput, TCurrentStepInput, TPipelineInput, TContext> = {
21
+ name: string;
22
+ operation: OperationDefinition<TOperationInput, TOperationOutput, TCurrentStepInput, TPipelineInput, TContext>;
23
+ rollbackOperations?: RollbackOperationDefinition<TOperationInput, TOperationOutput, TCurrentStepInput, TPipelineInput, TContext>[];
24
+ };
25
+ export type PipelineStep<TStepInput, TStepOutput, TPipelineInput, TContext> = {
26
+ name: string;
27
+ operations: PipelineStepOperation<TStepInput, TStepOutput, TStepInput, TPipelineInput, TContext>[];
28
+ outputsReducer?: (results: unknown[]) => TStepOutput;
29
+ };
30
+ export type PipelineDefinition<TPipelineInput, TPipelineOutput, TContext> = {
31
+ steps: PipelineStep<unknown, unknown, TPipelineInput, TContext>[];
32
+ };
33
+ export type PipelineOperationError = {
34
+ message: string;
35
+ exception?: Error;
36
+ };
37
+ export type PipelineOperationResult<TOperationInput, TOperationOutput> = {
38
+ input: TOperationInput;
39
+ } & ({
40
+ type: "success";
41
+ output: TOperationOutput;
42
+ } | {
43
+ type: "preconditionFailed";
44
+ } | {
45
+ type: "error" | "rollbackCompleted";
46
+ error: PipelineOperationError;
47
+ } | {
48
+ type: "rollbackFailed";
49
+ rollbackError: PipelineOperationError;
50
+ error: PipelineOperationError;
51
+ });
52
+ export type PipelineOperationResultType = PipelineOperationResult<unknown, unknown>["type"];
53
+ export type PipelineOperationRollbackResult = {
54
+ type: "success" | "skipped";
55
+ } | {
56
+ type: "error";
57
+ error: PipelineOperationError;
58
+ };
59
+ export type PipelineOperationRollbackResultType = PipelineOperationRollbackResult["type"];
60
+ export declare enum PipelineStepErrorType {
61
+ FailedPrecondition = "failedPrecondition",
62
+ OperationError = "operationError",
63
+ RollbackError = "rollbackError",
64
+ GenericError = "genericError"
65
+ }
66
+ export type PipelineStepResult<TStepInput, TStepOutput> = {
67
+ input: TStepInput;
68
+ operationResults: PipelineOperationResult<unknown, unknown>[];
69
+ } & ({
70
+ type: "success";
71
+ output: TStepOutput;
72
+ } | {
73
+ type: "error";
74
+ errorType: PipelineStepErrorType;
75
+ });
76
+ export type PipelineStepResultType = PipelineStepResult<unknown, unknown>["type"];
77
+ export type PipelineStepRollbackResult = {} & ({
78
+ type: "success";
79
+ } | {
80
+ type: "error";
81
+ });
82
+ export type PipelineStepRollbackResultType = PipelineStepRollbackResult["type"];
83
+ export declare enum PipelineErrorType {
84
+ FailedPrecondition = "failedPrecondition",
85
+ OperationError = "operationError",
86
+ RollbackError = "rollbackError",
87
+ Unauthorized = "unauthorized",
88
+ GenericError = "genericError"
89
+ }
90
+ export type PipelineResult<TPipelineInput, TPipelineOutput> = {
91
+ stepResults: PipelineStepResult<unknown, unknown>[];
92
+ input: TPipelineInput;
93
+ } & ({
94
+ type: "success";
95
+ output: TPipelineOutput;
96
+ } | {
97
+ type: "error";
98
+ errorType: PipelineErrorType;
99
+ exception?: Error;
100
+ output?: TPipelineOutput;
101
+ });
102
+ export type PipelineResultType = PipelineResult<unknown, unknown>["type"];
103
+ export declare enum PipelineStatus {
104
+ Initializing = "initializing",
105
+ Running = "running",
106
+ RollbackInProgress = "rollbackInProgress",
107
+ Completed = "completed",
108
+ Failed = "failed"
109
+ }