@rockster/core 0.0.2 → 0.0.4

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 (295) hide show
  1. package/access/access.module.d.ts +11 -0
  2. package/access/access.module.js +60 -0
  3. package/access/access.module.js.map +1 -0
  4. package/access/controllers/controllers.d.ts +6 -0
  5. package/access/controllers/controllers.js +16 -0
  6. package/access/controllers/controllers.js.map +1 -0
  7. package/access/controllers/scope-group-user.controller.d.ts +13 -0
  8. package/access/controllers/scope-group-user.controller.js +84 -0
  9. package/access/controllers/scope-group-user.controller.js.map +1 -0
  10. package/access/controllers/scope-group.controller.d.ts +19 -0
  11. package/access/controllers/scope-group.controller.js +123 -0
  12. package/access/controllers/scope-group.controller.js.map +1 -0
  13. package/access/controllers/scope-key.controller.d.ts +7 -0
  14. package/access/controllers/scope-key.controller.js +45 -0
  15. package/access/controllers/scope-key.controller.js.map +1 -0
  16. package/access/controllers/scope-owner.controller.d.ts +8 -0
  17. package/access/controllers/scope-owner.controller.js +66 -0
  18. package/access/controllers/scope-owner.controller.js.map +1 -0
  19. package/access/controllers/scope-user.controller.d.ts +14 -0
  20. package/access/controllers/scope-user.controller.js +95 -0
  21. package/access/controllers/scope-user.controller.js.map +1 -0
  22. package/access/entities/entities.d.ts +6 -0
  23. package/access/entities/entities.js +18 -0
  24. package/access/entities/entities.js.map +1 -0
  25. package/access/entities/index.d.ts +5 -0
  26. package/access/entities/index.js +22 -0
  27. package/access/entities/index.js.map +1 -0
  28. package/access/entities/scope-access.d.ts +9 -0
  29. package/access/entities/scope-access.js +58 -0
  30. package/access/entities/scope-access.js.map +1 -0
  31. package/access/entities/scope-group-user.d.ts +7 -0
  32. package/access/entities/scope-group-user.js +47 -0
  33. package/access/entities/scope-group-user.js.map +1 -0
  34. package/access/entities/scope-group.d.ts +9 -0
  35. package/access/entities/scope-group.js +56 -0
  36. package/access/entities/scope-group.js.map +1 -0
  37. package/access/entities/scope-key.d.ts +5 -0
  38. package/access/entities/scope-key.js +35 -0
  39. package/access/entities/scope-key.js.map +1 -0
  40. package/access/entities/scope-owner.d.ts +7 -0
  41. package/access/entities/scope-owner.js +45 -0
  42. package/access/entities/scope-owner.js.map +1 -0
  43. package/access/env.d.ts +10 -0
  44. package/access/env.js +10 -0
  45. package/access/env.js.map +1 -0
  46. package/access/functions/get-context-id-service.d.ts +1 -0
  47. package/access/functions/get-context-id-service.js +8 -0
  48. package/access/functions/get-context-id-service.js.map +1 -0
  49. package/access/functions/get-is-owner.d.ts +1 -0
  50. package/access/functions/get-is-owner.js +8 -0
  51. package/access/functions/get-is-owner.js.map +1 -0
  52. package/access/functions/get-user-keys.d.ts +2 -0
  53. package/access/functions/get-user-keys.js +10 -0
  54. package/access/functions/get-user-keys.js.map +1 -0
  55. package/access/functions/index.d.ts +3 -0
  56. package/access/functions/index.js +20 -0
  57. package/access/functions/index.js.map +1 -0
  58. package/access/functions/register-scope.d.ts +8 -0
  59. package/access/functions/register-scope.js +82 -0
  60. package/access/functions/register-scope.js.map +1 -0
  61. package/access/index.d.ts +5 -0
  62. package/access/index.js +22 -0
  63. package/access/index.js.map +1 -0
  64. package/access/interfaces/index.d.ts +2 -0
  65. package/access/interfaces/index.js +19 -0
  66. package/access/interfaces/index.js.map +1 -0
  67. package/access/interfaces/scope-service-registry.d.ts +6 -0
  68. package/access/interfaces/scope-service-registry.js +3 -0
  69. package/access/interfaces/scope-service-registry.js.map +1 -0
  70. package/access/interfaces/scope-service.d.ts +12 -0
  71. package/access/interfaces/scope-service.js +3 -0
  72. package/access/interfaces/scope-service.js.map +1 -0
  73. package/access/models/scope-context.d.ts +4 -0
  74. package/access/models/scope-context.js +27 -0
  75. package/access/models/scope-context.js.map +1 -0
  76. package/access/models/scope-keys-update.d.ts +7 -0
  77. package/access/models/scope-keys-update.js +38 -0
  78. package/access/models/scope-keys-update.js.map +1 -0
  79. package/access/models/scope-owner.d.ts +5 -0
  80. package/access/models/scope-owner.js +32 -0
  81. package/access/models/scope-owner.js.map +1 -0
  82. package/access/models/scope-user-mapped.d.ts +8 -0
  83. package/access/models/scope-user-mapped.js +42 -0
  84. package/access/models/scope-user-mapped.js.map +1 -0
  85. package/access/models/scope-user.d.ts +9 -0
  86. package/access/models/scope-user.js +49 -0
  87. package/access/models/scope-user.js.map +1 -0
  88. package/access/queries/scope-group-user.query.d.ts +1 -0
  89. package/access/queries/scope-group-user.query.js +26 -0
  90. package/access/queries/scope-group-user.query.js.map +1 -0
  91. package/access/queries/scope-group.query.d.ts +1 -0
  92. package/access/queries/scope-group.query.js +12 -0
  93. package/access/queries/scope-group.query.js.map +1 -0
  94. package/access/services/index.d.ts +6 -0
  95. package/access/services/index.js +23 -0
  96. package/access/services/index.js.map +1 -0
  97. package/access/services/scope-access.service.d.ts +11 -0
  98. package/access/services/scope-access.service.js +87 -0
  99. package/access/services/scope-access.service.js.map +1 -0
  100. package/access/services/scope-group-user.service.d.ts +8 -0
  101. package/access/services/scope-group-user.service.js +49 -0
  102. package/access/services/scope-group-user.service.js.map +1 -0
  103. package/access/services/scope-group.service.d.ts +7 -0
  104. package/access/services/scope-group.service.js +38 -0
  105. package/access/services/scope-group.service.js.map +1 -0
  106. package/access/services/scope-key.service.d.ts +9 -0
  107. package/access/services/scope-key.service.js +52 -0
  108. package/access/services/scope-key.service.js.map +1 -0
  109. package/access/services/scope-owner.service.d.ts +7 -0
  110. package/access/services/scope-owner.service.js +35 -0
  111. package/access/services/scope-owner.service.js.map +1 -0
  112. package/access/services/scope-service.d.ts +10 -0
  113. package/access/services/scope-service.js +52 -0
  114. package/access/services/scope-service.js.map +1 -0
  115. package/command/functions/execute-post.js +5 -7
  116. package/command/functions/execute-post.js.map +1 -1
  117. package/command/services/post-action-builder.js +2 -0
  118. package/command/services/post-action-builder.js.map +1 -1
  119. package/command/services/remove-action-builder.js +2 -0
  120. package/command/services/remove-action-builder.js.map +1 -1
  121. package/common/entities/base-entity.js +2 -0
  122. package/common/entities/base-entity.js.map +1 -1
  123. package/common/interfaces/enum/object-type.d.ts +2 -1
  124. package/common/interfaces/enum/object-type.js +1 -0
  125. package/common/interfaces/enum/object-type.js.map +1 -1
  126. package/controllers/constants/controller-transaction.d.ts +2 -0
  127. package/controllers/constants/controller-transaction.js +6 -0
  128. package/controllers/constants/controller-transaction.js.map +1 -0
  129. package/controllers/controller.controller.d.ts +1 -1
  130. package/controllers/controller.controller.js +4 -4
  131. package/controllers/controller.controller.js.map +1 -1
  132. package/controllers/decorators/controller.decorator.js +8 -0
  133. package/controllers/decorators/controller.decorator.js.map +1 -1
  134. package/controllers/decorators/index.d.ts +1 -0
  135. package/controllers/decorators/index.js +1 -0
  136. package/controllers/decorators/index.js.map +1 -1
  137. package/controllers/decorators/transaction.decorator.d.ts +7 -0
  138. package/controllers/decorators/transaction.decorator.js +23 -0
  139. package/controllers/decorators/transaction.decorator.js.map +1 -0
  140. package/controllers/interfaces/controller-object.d.ts +1 -0
  141. package/controllers/interfaces/controller-options.d.ts +1 -0
  142. package/controllers/interfaces/controller-property.d.ts +3 -0
  143. package/controllers/services/default-action-builder.js +32 -0
  144. package/controllers/services/default-action-builder.js.map +1 -1
  145. package/core/core.controller.d.ts +1 -0
  146. package/core/core.controller.js +9 -1
  147. package/core/core.controller.js.map +1 -1
  148. package/core/functions/create-interceptor.js +2 -2
  149. package/core/functions/create-interceptor.js.map +1 -1
  150. package/core/functions/resolve-action-transactional.d.ts +3 -0
  151. package/core/functions/resolve-action-transactional.js +10 -0
  152. package/core/functions/resolve-action-transactional.js.map +1 -0
  153. package/core/interfaces/action-def.d.ts +2 -5
  154. package/core/interfaces/action-handle.d.ts +5 -0
  155. package/core/interfaces/action-handle.js +3 -0
  156. package/core/interfaces/action-handle.js.map +1 -0
  157. package/core/interfaces/core-options.d.ts +1 -0
  158. package/core/interfaces/interceptor.d.ts +1 -1
  159. package/core/interfaces/object.d.ts +3 -2
  160. package/core/interfaces/request-context.d.ts +2 -2
  161. package/core/services/request-executor.d.ts +8 -0
  162. package/core/services/request-executor.js +88 -0
  163. package/core/services/request-executor.js.map +1 -1
  164. package/core/services/request-router.js +3 -3
  165. package/core/services/request-router.js.map +1 -1
  166. package/database/decorators/entity.decorator.d.ts +3 -1
  167. package/database/decorators/entity.decorator.js +14 -5
  168. package/database/decorators/entity.decorator.js.map +1 -1
  169. package/database/decorators/external-column.decorator.d.ts +17 -0
  170. package/database/decorators/external-column.decorator.js +30 -0
  171. package/database/decorators/external-column.decorator.js.map +1 -0
  172. package/database/decorators/index.d.ts +1 -0
  173. package/database/decorators/index.js +1 -0
  174. package/database/decorators/index.js.map +1 -1
  175. package/database/decorators/relation.decorator.d.ts +2 -2
  176. package/database/decorators/relation.decorator.js.map +1 -1
  177. package/database/extensions/select-query-builder.d.ts +1 -5
  178. package/database/extensions/select-query-builder.js.map +1 -1
  179. package/database/functions/find-relation.d.ts +2 -1
  180. package/database/functions/find-relation.js +3 -3
  181. package/database/functions/find-relation.js.map +1 -1
  182. package/database/functions/generate-entity-id.d.ts +2 -0
  183. package/database/functions/{generate-id.js → generate-entity-id.js} +3 -3
  184. package/database/functions/generate-entity-id.js.map +1 -0
  185. package/database/functions/get-relations.d.ts +1 -1
  186. package/database/functions/use-protector.js +1 -1
  187. package/database/functions/use-protector.js.map +1 -1
  188. package/database/functions/use-transaction.d.ts +1 -0
  189. package/database/functions/use-transaction.js +2 -6
  190. package/database/functions/use-transaction.js.map +1 -1
  191. package/database/interfaces/entity-dto-object.d.ts +7 -0
  192. package/database/interfaces/entity-dto-object.js +3 -0
  193. package/database/interfaces/entity-dto-object.js.map +1 -0
  194. package/database/interfaces/entity-property.d.ts +12 -0
  195. package/database/interfaces/path.d.ts +6 -2
  196. package/database/interfaces/virtual-select.d.ts +4 -0
  197. package/database/interfaces/virtual-select.js +3 -0
  198. package/database/interfaces/virtual-select.js.map +1 -0
  199. package/database/services/protect-builder.d.ts +3 -2
  200. package/database/services/protect-builder.js +2 -2
  201. package/database/services/protect-builder.js.map +1 -1
  202. package/database/services/repository.service.d.ts +1 -1
  203. package/database/services/repository.service.js +3 -6
  204. package/database/services/repository.service.js.map +1 -1
  205. package/docs/queries/docs-controller-action.query.d.ts +1 -1
  206. package/docs/queries/docs-controller.query.d.ts +1 -1
  207. package/docs/queries/docs-model.query.d.ts +1 -1
  208. package/docs/queries/docs-model.query.js +1 -1
  209. package/docs/queries/docs-model.query.js.map +1 -1
  210. package/docs/queries/docs-version.query.d.ts +1 -1
  211. package/docs/services/docs-version.service.js +6 -3
  212. package/docs/services/docs-version.service.js.map +1 -1
  213. package/forms/queries/form.query.d.ts +1 -1
  214. package/forms/queries/property.query.d.ts +1 -1
  215. package/global.js +1 -1
  216. package/global.js.map +1 -1
  217. package/http/http.controller.d.ts +2 -0
  218. package/http/http.controller.js +3 -2
  219. package/http/http.controller.js.map +1 -1
  220. package/index.d.ts +3 -1
  221. package/index.js +2 -6
  222. package/index.js.map +1 -1
  223. package/jobs/jobs.controller.js +2 -0
  224. package/jobs/jobs.controller.js.map +1 -1
  225. package/package.json +7 -6
  226. package/query/functions/add-join.js +8 -5
  227. package/query/functions/add-join.js.map +1 -1
  228. package/query/functions/collect-external-column-owners.d.ts +10 -0
  229. package/query/functions/collect-external-column-owners.js +100 -0
  230. package/query/functions/collect-external-column-owners.js.map +1 -0
  231. package/query/functions/create-query-builder.js +47 -18
  232. package/query/functions/create-query-builder.js.map +1 -1
  233. package/query/functions/create-query-cache-hash.d.ts +16 -0
  234. package/query/functions/create-query-cache-hash.js +70 -0
  235. package/query/functions/create-query-cache-hash.js.map +1 -0
  236. package/query/functions/create-query.d.ts +8 -3
  237. package/query/functions/create-query.js +12 -9
  238. package/query/functions/create-query.js.map +1 -1
  239. package/query/functions/describe-query-filter.js +3 -2
  240. package/query/functions/describe-query-filter.js.map +1 -1
  241. package/query/functions/execute-query.js +55 -9
  242. package/query/functions/execute-query.js.map +1 -1
  243. package/query/functions/expand-select-with-external-dependencies.d.ts +9 -0
  244. package/query/functions/expand-select-with-external-dependencies.js +34 -0
  245. package/query/functions/expand-select-with-external-dependencies.js.map +1 -0
  246. package/query/functions/external-column-owner-path.d.ts +5 -0
  247. package/query/functions/external-column-owner-path.js +18 -0
  248. package/query/functions/external-column-owner-path.js.map +1 -0
  249. package/query/functions/get-entity-object-class.d.ts +2 -0
  250. package/query/functions/get-entity-object-class.js +12 -0
  251. package/query/functions/get-entity-object-class.js.map +1 -0
  252. package/query/functions/get-native-select.js +3 -0
  253. package/query/functions/get-native-select.js.map +1 -1
  254. package/query/functions/load-properties.d.ts +20 -2
  255. package/query/functions/load-properties.js +119 -37
  256. package/query/functions/load-properties.js.map +1 -1
  257. package/query/functions/map-query-property-to-column-name.js +1 -1
  258. package/query/functions/map-query-property-to-column-name.js.map +1 -1
  259. package/query/functions/query-structure-cache.d.ts +24 -0
  260. package/query/functions/query-structure-cache.js +66 -0
  261. package/query/functions/query-structure-cache.js.map +1 -0
  262. package/query/interfaces/query.d.ts +44 -1
  263. package/query/services/query-action-builder.d.ts +4 -1
  264. package/query/services/query-action-builder.js +32 -12
  265. package/query/services/query-action-builder.js.map +1 -1
  266. package/security/env.js.map +1 -1
  267. package/security/requests/security.request.js +1 -1
  268. package/security/requests/security.request.js.map +1 -1
  269. package/tasks/decorators/task.decorator.js +3 -2
  270. package/tasks/decorators/task.decorator.js.map +1 -1
  271. package/tasks/functions/{create-task-message-receptor.d.ts → create-task-message-post.d.ts} +1 -1
  272. package/tasks/functions/{create-task-message-receptor.js → create-task-message-post.js} +8 -3
  273. package/tasks/functions/create-task-message-post.js.map +1 -0
  274. package/tasks/interfaces/task-object.d.ts +2 -2
  275. package/tasks/interfaces/task-post-intercept.d.ts +1 -8
  276. package/tasks/interfaces/task-runner.d.ts +2 -1
  277. package/tasks/interfaces/task-settings.d.ts +2 -0
  278. package/tasks/services/task-runner.service.js +5 -3
  279. package/tasks/services/task-runner.service.js.map +1 -1
  280. package/translations/controllers/translation.controller.js +12 -9
  281. package/translations/controllers/translation.controller.js.map +1 -1
  282. package/translations/functions/create-translation-values.js +2 -5
  283. package/translations/functions/create-translation-values.js.map +1 -1
  284. package/translations/migrations/1723760669185-CreateTranslationTables.js +3 -3
  285. package/translations/migrations/1723760669185-CreateTranslationTables.js.map +1 -1
  286. package/translations/queries/translation-config.query.d.ts +1 -1
  287. package/translations/queries/translation-values.query.d.ts +1 -1
  288. package/translations/queries/translation-values.query.js +1 -1
  289. package/translations/queries/translation-values.query.js.map +1 -1
  290. package/translations/translations.controller.d.ts +1 -1
  291. package/translations/translations.controller.js +4 -4
  292. package/translations/translations.controller.js.map +1 -1
  293. package/database/functions/generate-id.d.ts +0 -2
  294. package/database/functions/generate-id.js.map +0 -1
  295. package/tasks/functions/create-task-message-receptor.js.map +0 -1
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./scope-service-registry"), exports);
18
+ __exportStar(require("./scope-service"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"./","sources":["access/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,kDAAgC"}
@@ -0,0 +1,6 @@
1
+ import { Instantiable } from "@rockster/common";
2
+ import { IScopeService } from "./scope-service";
3
+ export interface IScopeServiceRegistry {
4
+ Service: Instantiable<IScopeService<any>>;
5
+ instance?: IScopeService<any>;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=scope-service-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-service-registry.js","sourceRoot":"./","sources":["access/interfaces/scope-service-registry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { IScopeUserMapped } from "@rockster/common/access";
2
+ import { IRequestValues } from "@rockster/common";
3
+ import { GetConditionCallbackResult } from "../../database/interfaces/path";
4
+ import { SelectQueryBuilder } from "../../database/extensions/select-query-builder";
5
+ export interface IScopeService<TCurrentSession> {
6
+ joinUser(rootAlias: string, contextId: string, queryBuilder: SelectQueryBuilder<IScopeUserMapped>): GetConditionCallbackResult;
7
+ onAction(values: IRequestValues<TCurrentSession>): string | Promise<string>;
8
+ onQuery(values: IRequestValues<TCurrentSession>): string | Promise<string>;
9
+ onPostCreate(values: IRequestValues<TCurrentSession>): string | Promise<string>;
10
+ onPostModify(values: IRequestValues<TCurrentSession>): string | Promise<string>;
11
+ onRestful(values: IRequestValues<TCurrentSession>): string | Promise<string>;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=scope-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-service.js","sourceRoot":"./","sources":["access/interfaces/scope-service.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export declare class ScopeContext {
2
+ $contextName: string;
3
+ $contextId: string;
4
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ScopeContext = void 0;
13
+ const class_pipe_1 = require("@rockster/class-pipe");
14
+ class ScopeContext {
15
+ }
16
+ exports.ScopeContext = ScopeContext;
17
+ __decorate([
18
+ (0, class_pipe_1.IsRequired)(),
19
+ (0, class_pipe_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], ScopeContext.prototype, "$contextName", void 0);
22
+ __decorate([
23
+ (0, class_pipe_1.IsOptional)(),
24
+ (0, class_pipe_1.IsString)(),
25
+ __metadata("design:type", String)
26
+ ], ScopeContext.prototype, "$contextId", void 0);
27
+ //# sourceMappingURL=scope-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-context.js","sourceRoot":"./","sources":["access/models/scope-context.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAwE;AAExE,MAAa,YAAY;CASxB;AATD,oCASC;AALE;IAFC,IAAA,uBAAU,GAAE;IACZ,IAAA,qBAAQ,GAAE;;kDACU;AAIrB;IAFC,IAAA,uBAAU,GAAE;IACZ,IAAA,qBAAQ,GAAE;;gDACQ"}
@@ -0,0 +1,7 @@
1
+ import { IScopeKeysUpdate } from '@rockster/common/access';
2
+ export declare class ScopeKeysUpdate implements IScopeKeysUpdate {
3
+ contextId: string;
4
+ contextName: string;
5
+ targetId: string;
6
+ keys: string[];
7
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ScopeKeysUpdate = void 0;
13
+ const class_pipe_1 = require("@rockster/class-pipe");
14
+ class ScopeKeysUpdate {
15
+ }
16
+ exports.ScopeKeysUpdate = ScopeKeysUpdate;
17
+ __decorate([
18
+ (0, class_pipe_1.IsOptional)(),
19
+ (0, class_pipe_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], ScopeKeysUpdate.prototype, "contextId", void 0);
22
+ __decorate([
23
+ (0, class_pipe_1.IsRequired)(),
24
+ (0, class_pipe_1.IsString)(),
25
+ __metadata("design:type", String)
26
+ ], ScopeKeysUpdate.prototype, "contextName", void 0);
27
+ __decorate([
28
+ (0, class_pipe_1.IsRequired)(),
29
+ (0, class_pipe_1.IsString)(),
30
+ __metadata("design:type", String)
31
+ ], ScopeKeysUpdate.prototype, "targetId", void 0);
32
+ __decorate([
33
+ (0, class_pipe_1.IsRequired)(),
34
+ (0, class_pipe_1.IsString)(),
35
+ (0, class_pipe_1.IsArray)(),
36
+ __metadata("design:type", Array)
37
+ ], ScopeKeysUpdate.prototype, "keys", void 0);
38
+ //# sourceMappingURL=scope-keys-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-keys-update.js","sourceRoot":"./","sources":["access/models/scope-keys-update.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAiF;AAGjF,MAAa,eAAe;CAkB3B;AAlBD,0CAkBC;AAdE;IAFC,IAAA,uBAAU,GAAE;IACZ,IAAA,qBAAQ,GAAE;;kDACO;AAIlB;IAFC,IAAA,uBAAU,GAAE;IACZ,IAAA,qBAAQ,GAAE;;oDACS;AAIpB;IAFC,IAAA,uBAAU,GAAE;IACZ,IAAA,qBAAQ,GAAE;;iDACM;AAKjB;IAHC,IAAA,uBAAU,GAAE;IACZ,IAAA,qBAAQ,GAAE;IACV,IAAA,oBAAO,GAAE;;6CACK"}
@@ -0,0 +1,5 @@
1
+ export declare class ScopeOwner {
2
+ contextName: string;
3
+ userId: string;
4
+ contextId?: string;
5
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ScopeOwner = void 0;
13
+ const class_pipe_1 = require("@rockster/class-pipe");
14
+ class ScopeOwner {
15
+ }
16
+ exports.ScopeOwner = ScopeOwner;
17
+ __decorate([
18
+ (0, class_pipe_1.IsRequired)(),
19
+ (0, class_pipe_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], ScopeOwner.prototype, "contextName", void 0);
22
+ __decorate([
23
+ (0, class_pipe_1.IsRequired)(),
24
+ (0, class_pipe_1.IsString)(),
25
+ __metadata("design:type", String)
26
+ ], ScopeOwner.prototype, "userId", void 0);
27
+ __decorate([
28
+ (0, class_pipe_1.IsOptional)(),
29
+ (0, class_pipe_1.IsString)(),
30
+ __metadata("design:type", String)
31
+ ], ScopeOwner.prototype, "contextId", void 0);
32
+ //# sourceMappingURL=scope-owner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-owner.js","sourceRoot":"./","sources":["access/models/scope-owner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAwE;AAExE,MAAa,UAAU;CAatB;AAbD,gCAaC;AATE;IAFC,IAAA,uBAAU,GAAE;IACZ,IAAA,qBAAQ,GAAE;;+CACS;AAIpB;IAFC,IAAA,uBAAU,GAAE;IACZ,IAAA,qBAAQ,GAAE;;0CACI;AAIf;IAFC,IAAA,uBAAU,GAAE;IACZ,IAAA,qBAAQ,GAAE;;6CACQ"}
@@ -0,0 +1,8 @@
1
+ import { IScopeUserMapped } from "@rockster/common/access";
2
+ export declare class ScopeUserMapped implements IScopeUserMapped {
3
+ id: string;
4
+ name: string;
5
+ email: string;
6
+ imageUrl?: string;
7
+ active?: boolean;
8
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ScopeUserMapped = void 0;
13
+ const class_pipe_1 = require("@rockster/class-pipe");
14
+ class ScopeUserMapped {
15
+ }
16
+ exports.ScopeUserMapped = ScopeUserMapped;
17
+ __decorate([
18
+ (0, class_pipe_1.Expose)(),
19
+ (0, class_pipe_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], ScopeUserMapped.prototype, "id", void 0);
22
+ __decorate([
23
+ (0, class_pipe_1.Expose)(),
24
+ (0, class_pipe_1.IsString)(),
25
+ __metadata("design:type", String)
26
+ ], ScopeUserMapped.prototype, "name", void 0);
27
+ __decorate([
28
+ (0, class_pipe_1.Expose)(),
29
+ (0, class_pipe_1.IsString)(),
30
+ __metadata("design:type", String)
31
+ ], ScopeUserMapped.prototype, "email", void 0);
32
+ __decorate([
33
+ (0, class_pipe_1.Expose)(),
34
+ (0, class_pipe_1.IsString)(),
35
+ __metadata("design:type", String)
36
+ ], ScopeUserMapped.prototype, "imageUrl", void 0);
37
+ __decorate([
38
+ (0, class_pipe_1.Expose)(),
39
+ (0, class_pipe_1.IsBoolean)(),
40
+ __metadata("design:type", Boolean)
41
+ ], ScopeUserMapped.prototype, "active", void 0);
42
+ //# sourceMappingURL=scope-user-mapped.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-user-mapped.js","sourceRoot":"./","sources":["access/models/scope-user-mapped.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAmE;AAGnE,MAAa,eAAe;CAsB3B;AAtBD,0CAsBC;AAjBE;IAFC,IAAA,mBAAM,GAAE;IACR,IAAA,qBAAQ,GAAE;;2CACA;AAIX;IAFC,IAAA,mBAAM,GAAE;IACR,IAAA,qBAAQ,GAAE;;6CACE;AAIb;IAFC,IAAA,mBAAM,GAAE;IACR,IAAA,qBAAQ,GAAE;;8CACG;AAId;IAFC,IAAA,mBAAM,GAAE;IACR,IAAA,qBAAQ,GAAE;;iDACO;AAIlB;IAFC,IAAA,mBAAM,GAAE;IACR,IAAA,sBAAS,GAAE;;+CACK"}
@@ -0,0 +1,9 @@
1
+ import { IScopeAccess, IScopeGroup, IScopeUser } from "@rockster/common/access";
2
+ export declare class ScopeUser implements IScopeUser {
3
+ isOwner?: boolean;
4
+ userId: string;
5
+ contextName: string;
6
+ contextId?: string;
7
+ groups?: IScopeGroup[];
8
+ keys?: IScopeAccess[];
9
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ScopeUser = void 0;
13
+ const class_pipe_1 = require("@rockster/class-pipe");
14
+ const scope_group_1 = require("../entities/scope-group");
15
+ const scope_key_1 = require("../entities/scope-key");
16
+ class ScopeUser {
17
+ }
18
+ exports.ScopeUser = ScopeUser;
19
+ __decorate([
20
+ (0, class_pipe_1.Expose)(),
21
+ (0, class_pipe_1.IsBoolean)(),
22
+ __metadata("design:type", Boolean)
23
+ ], ScopeUser.prototype, "isOwner", void 0);
24
+ __decorate([
25
+ (0, class_pipe_1.Expose)(),
26
+ (0, class_pipe_1.IsString)(),
27
+ __metadata("design:type", String)
28
+ ], ScopeUser.prototype, "userId", void 0);
29
+ __decorate([
30
+ (0, class_pipe_1.Expose)(),
31
+ (0, class_pipe_1.IsString)(),
32
+ __metadata("design:type", String)
33
+ ], ScopeUser.prototype, "contextName", void 0);
34
+ __decorate([
35
+ (0, class_pipe_1.Expose)(),
36
+ (0, class_pipe_1.IsString)(),
37
+ __metadata("design:type", String)
38
+ ], ScopeUser.prototype, "contextId", void 0);
39
+ __decorate([
40
+ (0, class_pipe_1.Expose)(),
41
+ (0, class_pipe_1.IsType)(() => scope_group_1.ScopeGroup),
42
+ __metadata("design:type", Array)
43
+ ], ScopeUser.prototype, "groups", void 0);
44
+ __decorate([
45
+ (0, class_pipe_1.Expose)(),
46
+ (0, class_pipe_1.IsType)(() => scope_key_1.ScopeKey),
47
+ __metadata("design:type", Array)
48
+ ], ScopeUser.prototype, "keys", void 0);
49
+ //# sourceMappingURL=scope-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-user.js","sourceRoot":"./","sources":["access/models/scope-user.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAK8B;AAM9B,yDAAqD;AACrD,qDAAiD;AAEjD,MAAa,SAAS;CAyBrB;AAzBD,8BAyBC;AArBE;IAFC,IAAA,mBAAM,GAAE;IACR,IAAA,sBAAS,GAAE;;0CACM;AAIlB;IAFC,IAAA,mBAAM,GAAE;IACR,IAAA,qBAAQ,GAAE;;yCACI;AAIf;IAFC,IAAA,mBAAM,GAAE;IACR,IAAA,qBAAQ,GAAE;;8CACS;AAIpB;IAFC,IAAA,mBAAM,GAAE;IACR,IAAA,qBAAQ,GAAE;;4CACQ;AAInB;IAFC,IAAA,mBAAM,GAAE;IACR,IAAA,mBAAM,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;;yCACF;AAIvB;IAFC,IAAA,mBAAM,GAAE;IACR,IAAA,mBAAM,EAAC,GAAG,EAAE,CAAC,oBAAQ,CAAC;;uCACD"}
@@ -0,0 +1 @@
1
+ export declare const ScopeGroupUserQuery: import("../../query/functions/create-query").QueryDecoratorFactory;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScopeGroupUserQuery = void 0;
4
+ const create_query_1 = require("../../query/functions/create-query");
5
+ const scope_group_user_1 = require("../entities/scope-group-user");
6
+ const env_1 = require("../env");
7
+ const scope_context_1 = require("../models/scope-context");
8
+ const scope_user_mapped_1 = require("../models/scope-user-mapped");
9
+ exports.ScopeGroupUserQuery = (0, create_query_1.createQuery)({
10
+ alias: 'scopeGroupUser',
11
+ target: () => scope_group_user_1.ScopeGroupUser,
12
+ context: () => scope_context_1.ScopeContext,
13
+ paths: {
14
+ user: (0, create_query_1.joinOne)({
15
+ alias: 'user',
16
+ target: () => scope_user_mapped_1.ScopeUserMapped,
17
+ condition: (queryBuilder, queryContent) => {
18
+ const contextId = queryContent.context.$contextId;
19
+ const contextName = queryContent.context.$contextName;
20
+ const service = env_1.env.scopeServiceRegistry.get(contextName);
21
+ return service.instance.joinUser('"scopeGroupUser"', contextId, queryBuilder);
22
+ }
23
+ })
24
+ }
25
+ });
26
+ //# sourceMappingURL=scope-group-user.query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-group-user.query.js","sourceRoot":"./","sources":["access/queries/scope-group-user.query.ts"],"names":[],"mappings":";;;AAAA,qEAA0E;AAC1E,mEAA8D;AAC9D,gCAA6B;AAC7B,2DAAuD;AACvD,mEAA8D;AAEjD,QAAA,mBAAmB,GAAG,IAAA,0BAAW,EAAC;IAC5C,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,GAAG,EAAE,CAAC,iCAAc;IAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,4BAAY;IAC3B,KAAK,EAAE;QACJ,IAAI,EAAE,IAAA,sBAAO,EAAC;YACX,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,GAAG,EAAE,CAAC,mCAAe;YAC7B,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE;gBACvC,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;gBAClD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC;gBACtD,MAAM,OAAO,GAAG,SAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YACjF,CAAC;SACH,CAAC;KACJ;CACH,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const ScopeGroupQuery: import("../../query/functions/create-query").QueryDecoratorFactory;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScopeGroupQuery = void 0;
4
+ const create_query_1 = require("../../query/functions/create-query");
5
+ const scope_group_1 = require("../entities/scope-group");
6
+ const scope_context_1 = require("../models/scope-context");
7
+ exports.ScopeGroupQuery = (0, create_query_1.createQuery)({
8
+ alias: 'scopeGroup',
9
+ target: () => scope_group_1.ScopeGroup,
10
+ context: () => scope_context_1.ScopeContext
11
+ });
12
+ //# sourceMappingURL=scope-group.query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-group.query.js","sourceRoot":"./","sources":["access/queries/scope-group.query.ts"],"names":[],"mappings":";;;AAAA,qEAAiE;AACjE,yDAAqD;AACrD,2DAAuD;AAE1C,QAAA,eAAe,GAAG,IAAA,0BAAW,EAAC;IACxC,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,GAAG,EAAE,CAAC,wBAAU;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC,4BAAY;CAC7B,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './scope-access.service';
2
+ export * from './scope-group-user.service';
3
+ export * from './scope-group.service';
4
+ export * from './scope-key.service';
5
+ export * from './scope-owner.service';
6
+ export * from './scope-service';
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./scope-access.service"), exports);
18
+ __exportStar(require("./scope-group-user.service"), exports);
19
+ __exportStar(require("./scope-group.service"), exports);
20
+ __exportStar(require("./scope-key.service"), exports);
21
+ __exportStar(require("./scope-owner.service"), exports);
22
+ __exportStar(require("./scope-service"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"./","sources":["access/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,6DAA2C;AAC3C,wDAAsC;AACtC,sDAAoC;AACpC,wDAAsC;AACtC,kDAAgC"}
@@ -0,0 +1,11 @@
1
+ import { RepositoryService } from "../../database/services/repository.service";
2
+ import { IScopeAccess } from "@rockster/common/access";
3
+ import { Repository } from "../../database/interfaces/repository";
4
+ export declare class ScopeAccessService extends RepositoryService<IScopeAccess> {
5
+ protected repository: Repository<IScopeAccess>;
6
+ protected noCtxQuery: string;
7
+ protected withCtxQuery: string;
8
+ getAllUserKeys(userId: string): Promise<string[]>;
9
+ getKeysWithCtx(contextId: string, userId: string): Promise<string[]>;
10
+ updateKeys(type: 'group' | 'user', contextName: string, contextId: string, targetId: string, keys: string[]): Promise<void>;
11
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ScopeAccessService = void 0;
13
+ const class_injector_1 = require("@rockster/class-injector");
14
+ const repository_service_1 = require("../../database/services/repository.service");
15
+ const inject_repository_decorator_1 = require("../../database/decorators/inject-repository.decorator");
16
+ const scope_access_1 = require("../entities/scope-access");
17
+ const generate_entity_id_1 = require("../../database/functions/generate-entity-id");
18
+ let ScopeAccessService = class ScopeAccessService extends repository_service_1.RepositoryService {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.noCtxQuery = `
22
+ select distinct sa.key
23
+ from scope_access sa
24
+ where sa.key is not null
25
+ and sa.user_id = $1
26
+
27
+ union
28
+
29
+ select distinct sa.key
30
+ from scope_access sa
31
+ join scope_group_user sgu
32
+ on sgu.group_id = sa.group_id
33
+ where sa.key is not null
34
+ and sgu.user_id = $1;
35
+ `;
36
+ this.withCtxQuery = `
37
+ select distinct sa.key
38
+ from scope_access sa
39
+ where sa.key is not null
40
+ and sa.user_id = $1
41
+ and sa.context_id = $2
42
+
43
+ union
44
+
45
+ select distinct sa.key
46
+ from scope_access sa
47
+ join scope_group_user sgu
48
+ on sgu.group_id = sa.group_id
49
+ where sa.key is not null
50
+ and sgu.user_id = $1
51
+ and sa.context_id = $2;
52
+ `;
53
+ }
54
+ async getAllUserKeys(userId) {
55
+ const rows = await this.repository.query(this.noCtxQuery, [userId]);
56
+ return rows.map(r => r.k);
57
+ }
58
+ async getKeysWithCtx(contextId, userId) {
59
+ const rows = await this.repository.query(this.withCtxQuery, [userId, contextId]);
60
+ return rows.map(r => r.k);
61
+ }
62
+ async updateKeys(type, contextName, contextId, targetId, keys) {
63
+ const keyName = type === 'group' ? 'groupId' : 'userId';
64
+ await this.repository.delete({
65
+ [keyName]: targetId,
66
+ contextId,
67
+ contextName
68
+ });
69
+ const accessKeys = keys.map(key => ({
70
+ id: (0, generate_entity_id_1.generateEntityId)(scope_access_1.ScopeAccess),
71
+ [keyName]: targetId,
72
+ contextName: contextName,
73
+ contextId: contextId,
74
+ key: key
75
+ }));
76
+ await this.repository.save(accessKeys);
77
+ }
78
+ };
79
+ exports.ScopeAccessService = ScopeAccessService;
80
+ __decorate([
81
+ (0, inject_repository_decorator_1.InjectRepository)(() => scope_access_1.ScopeAccess),
82
+ __metadata("design:type", Object)
83
+ ], ScopeAccessService.prototype, "repository", void 0);
84
+ exports.ScopeAccessService = ScopeAccessService = __decorate([
85
+ (0, class_injector_1.Injectable)()
86
+ ], ScopeAccessService);
87
+ //# sourceMappingURL=scope-access.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-access.service.js","sourceRoot":"./","sources":["access/services/scope-access.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAAsD;AACtD,mFAA+E;AAE/E,uGAAyF;AAEzF,2DAAuD;AACvD,oFAA+E;AAGxE,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,sCAA+B;IAAhE;;QAKM,eAAU,GAAG;;;;;;;;;;;;;;IActB,CAAC;QAEQ,iBAAY,GAAG;;;;;;;;;;;;;;;;IAgBxB,CAAC;IA6CL,CAAC;IA3CE,KAAK,CAAC,cAAc,CAAC,MAAc;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CACrC,IAAI,CAAC,UAAU,EACf,CAAC,MAAM,CAAC,CACV,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,MAAc;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CACrC,IAAI,CAAC,YAAY,EACjB,CAAC,MAAM,EAAE,SAAS,CAAC,CACrB,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,UAAU,CACb,IAAsB,EACtB,WAAmB,EACnB,SAAiB,EACjB,QAAgB,EAChB,IAAc;QAEd,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAExD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC1B,CAAC,OAAO,CAAC,EAAE,QAAQ;YACnB,SAAS;YACT,WAAW;SACb,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,IAAA,qCAAgB,EAAC,0BAAW,CAAC;YACjC,CAAC,OAAO,CAAC,EAAE,QAAQ;YACnB,WAAW,EAAE,WAAW;YACxB,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE,GAAG;SACO,CAAA,CAAC,CAAC;QAEpB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;CACH,CAAA;AAlFY,gDAAkB;AAGlB;IADT,IAAA,8CAAgB,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC;;sDACW;6BAHrC,kBAAkB;IAD9B,IAAA,2BAAU,GAAE;GACA,kBAAkB,CAkF9B"}
@@ -0,0 +1,8 @@
1
+ import { RepositoryService } from "../../database/services/repository.service";
2
+ import { IScopeGroupUser } from "@rockster/common/access";
3
+ import { Repository } from "../../database/interfaces/repository";
4
+ export declare class ScopeGroupUserService extends RepositoryService<IScopeGroupUser> {
5
+ protected repository: Repository<IScopeGroupUser>;
6
+ addIfNotExists(groupId: string, userId: string): Promise<IScopeGroupUser>;
7
+ byContext(userId: string, contextName: string, contextId?: string): Promise<IScopeGroupUser[]>;
8
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ScopeGroupUserService = void 0;
13
+ const class_injector_1 = require("@rockster/class-injector");
14
+ const repository_service_1 = require("../../database/services/repository.service");
15
+ const inject_repository_decorator_1 = require("../../database/decorators/inject-repository.decorator");
16
+ const scope_group_user_1 = require("../entities/scope-group-user");
17
+ const generate_entity_id_1 = require("../../database/functions/generate-entity-id");
18
+ const scope_group_1 = require("../entities/scope-group");
19
+ let ScopeGroupUserService = class ScopeGroupUserService extends repository_service_1.RepositoryService {
20
+ async addIfNotExists(groupId, userId) {
21
+ const groupUser = await this.repository.findOneBy({ groupId, userId });
22
+ if (groupUser)
23
+ return groupUser;
24
+ return this.repository.save({
25
+ id: (0, generate_entity_id_1.generateEntityId)(scope_group_user_1.ScopeGroupUser),
26
+ groupId: groupId,
27
+ userId: userId
28
+ });
29
+ }
30
+ async byContext(userId, contextName, contextId) {
31
+ return this
32
+ .repository
33
+ .createQueryBuilder('scopeGroupUser')
34
+ .leftJoin(scope_group_1.ScopeGroup, 'scopeGroup')
35
+ .where(`"scopeGroup".context_name = '${contextName}'
36
+ AND "scopeGroupUser".user_id = '${userId}'
37
+ ${!contextId ? '' : `"scopeGroup".context_id = '${contextId}'`}`)
38
+ .getMany();
39
+ }
40
+ };
41
+ exports.ScopeGroupUserService = ScopeGroupUserService;
42
+ __decorate([
43
+ (0, inject_repository_decorator_1.InjectRepository)(() => scope_group_user_1.ScopeGroupUser),
44
+ __metadata("design:type", Object)
45
+ ], ScopeGroupUserService.prototype, "repository", void 0);
46
+ exports.ScopeGroupUserService = ScopeGroupUserService = __decorate([
47
+ (0, class_injector_1.Injectable)()
48
+ ], ScopeGroupUserService);
49
+ //# sourceMappingURL=scope-group-user.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-group-user.service.js","sourceRoot":"./","sources":["access/services/scope-group-user.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAAsD;AACtD,mFAA+E;AAE/E,uGAAyF;AAEzF,mEAA8D;AAC9D,oFAA+E;AAC/E,yDAAqD;AAG9C,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,sCAAkC;IAK1E,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAc;QACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACzB,EAAE,EAAE,IAAA,qCAAgB,EAAC,iCAAc,CAAC;YACpC,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,MAAM;SAChB,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,WAAmB,EAAE,SAAkB;QACpE,OAAO,IAAI;aACP,UAAU;aACV,kBAAkB,CAAC,gBAAgB,CAAC;aACpC,QAAQ,CACN,wBAAU,EACV,YAAY,CACd;aACA,KAAK,CAAC,gCAAgC,WAAW;8CACb,MAAM;cACtC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,8BAA8B,SAAS,GAAG,EAAE,CAAC;aACnE,OAAO,EAAE,CAAC;IACjB,CAAC;CACH,CAAA;AA5BY,sDAAqB;AAGrB;IADT,IAAA,8CAAgB,EAAC,GAAG,EAAE,CAAC,iCAAc,CAAC;;yDACW;gCAHxC,qBAAqB;IADjC,IAAA,2BAAU,GAAE;GACA,qBAAqB,CA4BjC"}
@@ -0,0 +1,7 @@
1
+ import { RepositoryService } from "../../database/services/repository.service";
2
+ import { IScopeGroup } from "@rockster/common/access";
3
+ import { Repository } from "../../database/interfaces/repository";
4
+ export declare class ScopeGroupService extends RepositoryService<IScopeGroup> {
5
+ protected repository: Repository<IScopeGroup>;
6
+ getUserGroups(userId: string, contextName: string, contextId?: string): Promise<IScopeGroup[]>;
7
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ScopeGroupService = void 0;
13
+ const class_injector_1 = require("@rockster/class-injector");
14
+ const repository_service_1 = require("../../database/services/repository.service");
15
+ const inject_repository_decorator_1 = require("../../database/decorators/inject-repository.decorator");
16
+ const scope_group_1 = require("../entities/scope-group");
17
+ const scope_group_user_1 = require("../entities/scope-group-user");
18
+ let ScopeGroupService = class ScopeGroupService extends repository_service_1.RepositoryService {
19
+ async getUserGroups(userId, contextName, contextId) {
20
+ return this
21
+ .repository
22
+ .createQueryBuilder('scopeGroup')
23
+ .leftJoin(scope_group_user_1.ScopeGroupUser, 'scopeGroupUser', '"scopeGroup".id = "scopeGroupUser".group_id')
24
+ .where(`"scopeGroupUser".user_id = '${userId}'
25
+ AND "scopeGroup".context_name = '${contextName}'
26
+ ${!contextId ? '' : `AND "scopeGroup".context_id = '${contextId}'`}`)
27
+ .getMany();
28
+ }
29
+ };
30
+ exports.ScopeGroupService = ScopeGroupService;
31
+ __decorate([
32
+ (0, inject_repository_decorator_1.InjectRepository)(() => scope_group_1.ScopeGroup),
33
+ __metadata("design:type", Object)
34
+ ], ScopeGroupService.prototype, "repository", void 0);
35
+ exports.ScopeGroupService = ScopeGroupService = __decorate([
36
+ (0, class_injector_1.Injectable)()
37
+ ], ScopeGroupService);
38
+ //# sourceMappingURL=scope-group.service.js.map