@rockster/core 0.0.4 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/access/access.module.js +3 -7
  2. package/access/access.module.js.map +1 -1
  3. package/access/constants.d.ts +2 -0
  4. package/access/constants.js +6 -0
  5. package/access/constants.js.map +1 -0
  6. package/access/controllers/controllers.d.ts +2 -1
  7. package/access/controllers/controllers.js +3 -1
  8. package/access/controllers/controllers.js.map +1 -1
  9. package/access/controllers/scope-access-profile.controller.d.ts +17 -0
  10. package/access/controllers/scope-access-profile.controller.js +111 -0
  11. package/access/controllers/scope-access-profile.controller.js.map +1 -0
  12. package/access/controllers/scope-group-user.controller.d.ts +11 -4
  13. package/access/controllers/scope-group-user.controller.js +57 -9
  14. package/access/controllers/scope-group-user.controller.js.map +1 -1
  15. package/access/controllers/scope-group.controller.d.ts +8 -5
  16. package/access/controllers/scope-group.controller.js +66 -12
  17. package/access/controllers/scope-group.controller.js.map +1 -1
  18. package/access/controllers/scope-owner.controller.d.ts +3 -2
  19. package/access/controllers/scope-owner.controller.js +18 -4
  20. package/access/controllers/scope-owner.controller.js.map +1 -1
  21. package/access/controllers/scope-user.controller.d.ts +2 -2
  22. package/access/controllers/scope-user.controller.js +19 -5
  23. package/access/controllers/scope-user.controller.js.map +1 -1
  24. package/access/decorators/context-params.decorator.d.ts +2 -0
  25. package/access/decorators/context-params.decorator.js +13 -0
  26. package/access/decorators/context-params.decorator.js.map +1 -0
  27. package/access/decorators/index.d.ts +2 -0
  28. package/access/decorators/index.js +19 -0
  29. package/access/decorators/index.js.map +1 -0
  30. package/access/decorators/scope-context-id-resolver.decorator.d.ts +10 -0
  31. package/access/decorators/scope-context-id-resolver.decorator.js +22 -0
  32. package/access/decorators/scope-context-id-resolver.decorator.js.map +1 -0
  33. package/access/entities/entities.d.ts +3 -1
  34. package/access/entities/entities.js +4 -0
  35. package/access/entities/entities.js.map +1 -1
  36. package/access/entities/index.d.ts +2 -0
  37. package/access/entities/index.js +2 -0
  38. package/access/entities/index.js.map +1 -1
  39. package/access/entities/scope-access-profile-key.d.ts +6 -0
  40. package/access/entities/scope-access-profile-key.js +40 -0
  41. package/access/entities/scope-access-profile-key.js.map +1 -0
  42. package/access/entities/scope-access-profile.d.ts +6 -0
  43. package/access/entities/scope-access-profile.js +37 -0
  44. package/access/entities/scope-access-profile.js.map +1 -0
  45. package/access/entities/scope-group.d.ts +3 -0
  46. package/access/entities/scope-group.js +16 -0
  47. package/access/entities/scope-group.js.map +1 -1
  48. package/access/functions/assert-context-admin-access.d.ts +15 -0
  49. package/access/functions/assert-context-admin-access.js +62 -0
  50. package/access/functions/assert-context-admin-access.js.map +1 -0
  51. package/access/functions/assert-master-or-owner.d.ts +9 -0
  52. package/access/functions/assert-master-or-owner.js +40 -0
  53. package/access/functions/assert-master-or-owner.js.map +1 -0
  54. package/access/functions/assert-scope-action-access.d.ts +32 -0
  55. package/access/functions/assert-scope-action-access.js +189 -0
  56. package/access/functions/assert-scope-action-access.js.map +1 -0
  57. package/access/functions/build-scope-resolver-initial-data.d.ts +4 -0
  58. package/access/functions/build-scope-resolver-initial-data.js +17 -0
  59. package/access/functions/build-scope-resolver-initial-data.js.map +1 -0
  60. package/access/functions/describe-action-scope.d.ts +9 -0
  61. package/access/functions/describe-action-scope.js +27 -0
  62. package/access/functions/describe-action-scope.js.map +1 -0
  63. package/access/functions/index.d.ts +5 -0
  64. package/access/functions/index.js +5 -0
  65. package/access/functions/index.js.map +1 -1
  66. package/access/functions/init-scope-service-executors.d.ts +3 -0
  67. package/access/functions/init-scope-service-executors.js +38 -0
  68. package/access/functions/init-scope-service-executors.js.map +1 -0
  69. package/access/functions/normalize-scope-keys.d.ts +4 -0
  70. package/access/functions/normalize-scope-keys.js +17 -0
  71. package/access/functions/normalize-scope-keys.js.map +1 -0
  72. package/access/functions/register-scope.d.ts +16 -5
  73. package/access/functions/register-scope.js +57 -45
  74. package/access/functions/register-scope.js.map +1 -1
  75. package/access/functions/resolve-scope-context-id.d.ts +9 -0
  76. package/access/functions/resolve-scope-context-id.js +71 -0
  77. package/access/functions/resolve-scope-context-id.js.map +1 -0
  78. package/access/functions/warn-if-public.d.ts +12 -0
  79. package/access/functions/warn-if-public.js +20 -0
  80. package/access/functions/warn-if-public.js.map +1 -0
  81. package/access/index.d.ts +2 -0
  82. package/access/index.js +2 -0
  83. package/access/index.js.map +1 -1
  84. package/access/interfaces/index.d.ts +1 -0
  85. package/access/interfaces/index.js +1 -0
  86. package/access/interfaces/index.js.map +1 -1
  87. package/access/interfaces/resolve-scope-context-id.d.ts +21 -0
  88. package/access/interfaces/resolve-scope-context-id.js +3 -0
  89. package/access/interfaces/resolve-scope-context-id.js.map +1 -0
  90. package/access/interfaces/scope-service-registry.d.ts +16 -1
  91. package/access/interfaces/scope-service.d.ts +6 -7
  92. package/access/models/scope-access-profile-keys-update.d.ts +5 -0
  93. package/access/models/scope-access-profile-keys-update.js +27 -0
  94. package/access/models/scope-access-profile-keys-update.js.map +1 -0
  95. package/access/models/scope-group-apply-access-profile.d.ts +6 -0
  96. package/access/models/scope-group-apply-access-profile.js +32 -0
  97. package/access/models/scope-group-apply-access-profile.js.map +1 -0
  98. package/access/models/scope-user-mapped.d.ts +1 -0
  99. package/access/models/scope-user-mapped.js +6 -0
  100. package/access/models/scope-user-mapped.js.map +1 -1
  101. package/access/models/scope-user.js +4 -2
  102. package/access/models/scope-user.js.map +1 -1
  103. package/access/queries/scope-access-profile.query.d.ts +1 -0
  104. package/access/queries/scope-access-profile.query.js +10 -0
  105. package/access/queries/scope-access-profile.query.js.map +1 -0
  106. package/access/queries/scope-group.query.js +9 -2
  107. package/access/queries/scope-group.query.js.map +1 -1
  108. package/access/services/index.d.ts +1 -0
  109. package/access/services/index.js +1 -0
  110. package/access/services/index.js.map +1 -1
  111. package/access/services/scope-access-profile.service.d.ts +13 -0
  112. package/access/services/scope-access-profile.service.js +75 -0
  113. package/access/services/scope-access-profile.service.js.map +1 -0
  114. package/access/services/scope-access.service.js +4 -2
  115. package/access/services/scope-access.service.js.map +1 -1
  116. package/access/services/scope-group-user.service.js +2 -2
  117. package/access/services/scope-group-user.service.js.map +1 -1
  118. package/access/services/scope-group.service.d.ts +10 -0
  119. package/access/services/scope-group.service.js +38 -1
  120. package/access/services/scope-group.service.js.map +1 -1
  121. package/access/services/scope-owner.service.d.ts +3 -0
  122. package/access/services/scope-owner.service.js +26 -1
  123. package/access/services/scope-owner.service.js.map +1 -1
  124. package/command/services/post-action-builder.js +19 -17
  125. package/command/services/post-action-builder.js.map +1 -1
  126. package/command/services/remove-action-builder.js +30 -22
  127. package/command/services/remove-action-builder.js.map +1 -1
  128. package/controllers/interfaces/controller-property.d.ts +7 -1
  129. package/controllers/services/default-action-builder.js +12 -30
  130. package/controllers/services/default-action-builder.js.map +1 -1
  131. package/controllers/services/restful-action-builder.js +25 -1
  132. package/controllers/services/restful-action-builder.js.map +1 -1
  133. package/core/contexts/request-context.d.ts +5 -0
  134. package/core/contexts/request-context.js +6 -0
  135. package/core/contexts/request-context.js.map +1 -0
  136. package/core/core.controller.js +6 -1
  137. package/core/core.controller.js.map +1 -1
  138. package/core/interfaces/action-docs.d.ts +15 -0
  139. package/core/interfaces/request-context.d.ts +5 -0
  140. package/core/services/request-router.js +2 -1
  141. package/core/services/request-router.js.map +1 -1
  142. package/database/database.controller.d.ts +1 -3
  143. package/database/database.controller.js +1 -5
  144. package/database/database.controller.js.map +1 -1
  145. package/database/decorators/protect-entity.decorator.d.ts +1 -0
  146. package/database/decorators/protect-entity.decorator.js +2 -3
  147. package/database/decorators/protect-entity.decorator.js.map +1 -1
  148. package/database/decorators/protected-entity.decorator.d.ts +1 -0
  149. package/database/decorators/protected-entity.decorator.js +2 -16
  150. package/database/decorators/protected-entity.decorator.js.map +1 -1
  151. package/database/functions/inject-repository-handle.js +4 -3
  152. package/database/functions/inject-repository-handle.js.map +1 -1
  153. package/database/interfaces/entity-object.d.ts +0 -6
  154. package/database/interfaces/index.d.ts +0 -1
  155. package/database/interfaces/index.js +0 -1
  156. package/database/interfaces/index.js.map +1 -1
  157. package/database/interfaces/repository.d.ts +8 -8
  158. package/docs/docs.module.js +3 -1
  159. package/docs/docs.module.js.map +1 -1
  160. package/docs/migrations/1747584000000-CreateDocsTables.d.ts +5 -0
  161. package/docs/migrations/1747584000000-CreateDocsTables.js +90 -0
  162. package/docs/migrations/1747584000000-CreateDocsTables.js.map +1 -0
  163. package/docs/migrations/migrations.d.ts +2 -0
  164. package/docs/migrations/migrations.js +8 -0
  165. package/docs/migrations/migrations.js.map +1 -0
  166. package/global.d.ts +2 -0
  167. package/global.js +1 -0
  168. package/global.js.map +1 -1
  169. package/index.d.ts +2 -1
  170. package/index.js +2 -1
  171. package/index.js.map +1 -1
  172. package/jobs/jobs.controller.d.ts +2 -0
  173. package/jobs/jobs.controller.js +20 -16
  174. package/jobs/jobs.controller.js.map +1 -1
  175. package/package.json +70 -70
  176. package/query/functions/add-join.js +2 -13
  177. package/query/functions/add-join.js.map +1 -1
  178. package/query/functions/create-query-builder.js +0 -10
  179. package/query/functions/create-query-builder.js.map +1 -1
  180. package/query/functions/execute-query.js +34 -0
  181. package/query/functions/execute-query.js.map +1 -1
  182. package/query/functions/load-properties.js +73 -5
  183. package/query/functions/load-properties.js.map +1 -1
  184. package/query/services/query-action-builder.js +12 -18
  185. package/query/services/query-action-builder.js.map +1 -1
  186. package/remote-logs/dtos/index.d.ts +2 -0
  187. package/remote-logs/dtos/index.js +19 -0
  188. package/remote-logs/dtos/index.js.map +1 -0
  189. package/remote-logs/dtos/remote-log-hooks.dto.d.ts +72 -0
  190. package/remote-logs/dtos/remote-log-hooks.dto.js +280 -0
  191. package/remote-logs/dtos/remote-log-hooks.dto.js.map +1 -0
  192. package/remote-logs/dtos/remote-log-search.dto.d.ts +34 -0
  193. package/remote-logs/dtos/remote-log-search.dto.js +146 -0
  194. package/remote-logs/dtos/remote-log-search.dto.js.map +1 -0
  195. package/remote-logs/environment.d.ts +4 -0
  196. package/remote-logs/environment.js +5 -0
  197. package/remote-logs/environment.js.map +1 -0
  198. package/remote-logs/index.d.ts +3 -0
  199. package/remote-logs/index.js +20 -0
  200. package/remote-logs/index.js.map +1 -0
  201. package/remote-logs/interfaces/index.d.ts +1 -0
  202. package/remote-logs/interfaces/index.js +18 -0
  203. package/remote-logs/interfaces/index.js.map +1 -0
  204. package/remote-logs/interfaces/remote-logs-module-options.d.ts +8 -0
  205. package/remote-logs/interfaces/remote-logs-module-options.js +3 -0
  206. package/remote-logs/interfaces/remote-logs-module-options.js.map +1 -0
  207. package/remote-logs/remote-logs-hooks.controller.d.ts +60 -0
  208. package/remote-logs/remote-logs-hooks.controller.js +331 -0
  209. package/remote-logs/remote-logs-hooks.controller.js.map +1 -0
  210. package/remote-logs/remote-logs.controller.d.ts +8 -0
  211. package/remote-logs/remote-logs.controller.js +41 -0
  212. package/remote-logs/remote-logs.controller.js.map +1 -0
  213. package/remote-logs/remote-logs.module.d.ts +12 -0
  214. package/remote-logs/remote-logs.module.js +107 -0
  215. package/remote-logs/remote-logs.module.js.map +1 -0
  216. package/remote-logs/services/opensearch.service.d.ts +13 -0
  217. package/remote-logs/services/opensearch.service.js +167 -0
  218. package/remote-logs/services/opensearch.service.js.map +1 -0
  219. package/security/auth.controller.js +4 -4
  220. package/security/auth.controller.js.map +1 -1
  221. package/security/functions/add-protected.d.ts +2 -2
  222. package/security/functions/add-protected.js +8 -5
  223. package/security/functions/add-protected.js.map +1 -1
  224. package/security/functions/create-authentication-interceptor.d.ts +44 -0
  225. package/security/functions/create-authentication-interceptor.js +114 -0
  226. package/security/functions/create-authentication-interceptor.js.map +1 -0
  227. package/security/functions/find-auth-context.d.ts +1 -2
  228. package/security/functions/find-auth-context.js +6 -11
  229. package/security/functions/find-auth-context.js.map +1 -1
  230. package/security/index.d.ts +1 -0
  231. package/security/index.js +1 -0
  232. package/security/index.js.map +1 -1
  233. package/security/interfaces/authorization-schema.d.ts +3 -1
  234. package/security/services/authorization.service.d.ts +5 -3
  235. package/security/services/authorization.service.js +56 -37
  236. package/security/services/authorization.service.js.map +1 -1
  237. package/storage/services/routes.service.js +1 -1
  238. package/storage/services/routes.service.js.map +1 -1
  239. package/tasks/constants.d.ts +3 -0
  240. package/tasks/constants.js +2 -1
  241. package/tasks/constants.js.map +1 -1
  242. package/tasks/controllers/task.controller.d.ts +3 -2
  243. package/tasks/controllers/task.controller.js +11 -40
  244. package/tasks/controllers/task.controller.js.map +1 -1
  245. package/tasks/decorators/index.d.ts +1 -0
  246. package/tasks/decorators/index.js +1 -0
  247. package/tasks/decorators/index.js.map +1 -1
  248. package/tasks/decorators/task-payload.decorator.d.ts +1 -0
  249. package/tasks/decorators/task-payload.decorator.js +12 -0
  250. package/tasks/decorators/task-payload.decorator.js.map +1 -0
  251. package/tasks/decorators/task.decorator.js +3 -0
  252. package/tasks/decorators/task.decorator.js.map +1 -1
  253. package/tasks/functions/compile-all-task-post-hooks.d.ts +1 -0
  254. package/tasks/functions/compile-all-task-post-hooks.js +27 -0
  255. package/tasks/functions/compile-all-task-post-hooks.js.map +1 -0
  256. package/tasks/functions/compile-task-hook-handle.d.ts +6 -0
  257. package/tasks/functions/compile-task-hook-handle.js +67 -0
  258. package/tasks/functions/compile-task-hook-handle.js.map +1 -0
  259. package/tasks/functions/create-task-hook.d.ts +9 -0
  260. package/tasks/functions/create-task-hook.js +13 -0
  261. package/tasks/functions/create-task-hook.js.map +1 -0
  262. package/tasks/functions/create-task-message-post.js +2 -0
  263. package/tasks/functions/create-task-message-post.js.map +1 -1
  264. package/tasks/functions/register-task-post-hook-interceptors.d.ts +3 -0
  265. package/tasks/functions/register-task-post-hook-interceptors.js +86 -0
  266. package/tasks/functions/register-task-post-hook-interceptors.js.map +1 -0
  267. package/tasks/functions/run-task-post-hooks.d.ts +11 -0
  268. package/tasks/functions/run-task-post-hooks.js +18 -0
  269. package/tasks/functions/run-task-post-hooks.js.map +1 -0
  270. package/tasks/functions/task-message-operations.d.ts +18 -0
  271. package/tasks/functions/task-message-operations.js +100 -0
  272. package/tasks/functions/task-message-operations.js.map +1 -0
  273. package/tasks/functions/validate-task-payload.d.ts +2 -0
  274. package/tasks/functions/validate-task-payload.js +19 -0
  275. package/tasks/functions/validate-task-payload.js.map +1 -0
  276. package/tasks/hook-constants.d.ts +2 -0
  277. package/tasks/hook-constants.js +6 -0
  278. package/tasks/hook-constants.js.map +1 -0
  279. package/tasks/index.d.ts +3 -0
  280. package/tasks/index.js +3 -0
  281. package/tasks/index.js.map +1 -1
  282. package/tasks/interfaces/compiled-task-post-hooks.d.ts +17 -0
  283. package/tasks/interfaces/compiled-task-post-hooks.js +3 -0
  284. package/tasks/interfaces/compiled-task-post-hooks.js.map +1 -0
  285. package/tasks/interfaces/index.d.ts +3 -0
  286. package/tasks/interfaces/index.js +3 -0
  287. package/tasks/interfaces/index.js.map +1 -1
  288. package/tasks/interfaces/task-hook.d.ts +16 -0
  289. package/tasks/interfaces/task-hook.js +8 -0
  290. package/tasks/interfaces/task-hook.js.map +1 -0
  291. package/tasks/interfaces/task-object.d.ts +4 -0
  292. package/tasks/interfaces/task-post-hook.d.ts +2 -0
  293. package/{database/interfaces/protector.js → tasks/interfaces/task-post-hook.js} +1 -1
  294. package/tasks/interfaces/task-post-hook.js.map +1 -0
  295. package/tasks/interfaces/task-settings.d.ts +5 -0
  296. package/tasks/services/task-runner.service.d.ts +24 -3
  297. package/tasks/services/task-runner.service.js +66 -28
  298. package/tasks/services/task-runner.service.js.map +1 -1
  299. package/translations/controllers/translation.controller.d.ts +3 -1
  300. package/translations/controllers/translation.controller.js +17 -3
  301. package/translations/controllers/translation.controller.js.map +1 -1
  302. package/translations/services/translations.service.d.ts +1 -0
  303. package/translations/services/translations.service.js +25 -6
  304. package/translations/services/translations.service.js.map +1 -1
  305. package/translations/services/translator.service.d.ts +1 -0
  306. package/translations/services/translator.service.js +6 -0
  307. package/translations/services/translator.service.js.map +1 -1
  308. package/database/functions/use-protector.d.ts +0 -2
  309. package/database/functions/use-protector.js +0 -11
  310. package/database/functions/use-protector.js.map +0 -1
  311. package/database/interfaces/protector.d.ts +0 -51
  312. package/database/interfaces/protector.js.map +0 -1
  313. package/database/services/protect-builder.d.ts +0 -60
  314. package/database/services/protect-builder.js +0 -524
  315. package/database/services/protect-builder.js.map +0 -1
  316. package/security/functions/add-protect.d.ts +0 -2
  317. package/security/functions/add-protect.js +0 -11
  318. package/security/functions/add-protect.js.map +0 -1
@@ -1,7 +1,17 @@
1
1
  import { RepositoryService } from "../../database/services/repository.service";
2
2
  import { IScopeGroup } from "@rockster/common/access";
3
3
  import { Repository } from "../../database/interfaces/repository";
4
+ import { ScopeAccessProfileService } from "./scope-access-profile.service";
5
+ import { ScopeAccessService } from "./scope-access.service";
4
6
  export declare class ScopeGroupService extends RepositoryService<IScopeGroup> {
7
+ protected readonly scopeAccessProfileService: ScopeAccessProfileService;
8
+ protected readonly scopeAccessService: ScopeAccessService;
5
9
  protected repository: Repository<IScopeGroup>;
10
+ constructor(scopeAccessProfileService: ScopeAccessProfileService, scopeAccessService: ScopeAccessService);
11
+ /**
12
+ * Applies the group's linked access profile keys for the given context
13
+ * (filtered by scope_key.context_name), merging with existing group keys.
14
+ */
15
+ applyAccessProfileToGroupContext(groupId: string, contextName: string, contextId: string): Promise<string[]>;
6
16
  getUserGroups(userId: string, contextName: string, contextId?: string): Promise<IScopeGroup[]>;
7
17
  }
@@ -15,7 +15,42 @@ const repository_service_1 = require("../../database/services/repository.service
15
15
  const inject_repository_decorator_1 = require("../../database/decorators/inject-repository.decorator");
16
16
  const scope_group_1 = require("../entities/scope-group");
17
17
  const scope_group_user_1 = require("../entities/scope-group-user");
18
+ const scope_access_profile_service_1 = require("./scope-access-profile.service");
19
+ const scope_access_service_1 = require("./scope-access.service");
20
+ const normalize_scope_keys_1 = require("../functions/normalize-scope-keys");
18
21
  let ScopeGroupService = class ScopeGroupService extends repository_service_1.RepositoryService {
22
+ constructor(scopeAccessProfileService, scopeAccessService) {
23
+ super();
24
+ this.scopeAccessProfileService = scopeAccessProfileService;
25
+ this.scopeAccessService = scopeAccessService;
26
+ }
27
+ /**
28
+ * Applies the group's linked access profile keys for the given context
29
+ * (filtered by scope_key.context_name), merging with existing group keys.
30
+ */
31
+ async applyAccessProfileToGroupContext(groupId, contextName, contextId) {
32
+ const group = await this.repository.findOneBy({ id: groupId });
33
+ if (!group?.scopeAccessProfileId) {
34
+ return [];
35
+ }
36
+ const profileKeys = await this.scopeAccessProfileService.getKeysForContext(group.scopeAccessProfileId, contextName);
37
+ if (!profileKeys.length) {
38
+ return [];
39
+ }
40
+ const existingRows = await this.scopeAccessService.getMany({
41
+ where: {
42
+ groupId,
43
+ contextName,
44
+ contextId,
45
+ },
46
+ });
47
+ const existingKeys = existingRows
48
+ .map((row) => row.key)
49
+ .filter((key) => Boolean(key));
50
+ const mergedKeys = (0, normalize_scope_keys_1.normalizeScopeKeys)([...existingKeys, ...profileKeys]);
51
+ await this.scopeAccessService.updateKeys("group", contextName, contextId, groupId, mergedKeys);
52
+ return mergedKeys;
53
+ }
19
54
  async getUserGroups(userId, contextName, contextId) {
20
55
  return this
21
56
  .repository
@@ -33,6 +68,8 @@ __decorate([
33
68
  __metadata("design:type", Object)
34
69
  ], ScopeGroupService.prototype, "repository", void 0);
35
70
  exports.ScopeGroupService = ScopeGroupService = __decorate([
36
- (0, class_injector_1.Injectable)()
71
+ (0, class_injector_1.Injectable)(),
72
+ __metadata("design:paramtypes", [scope_access_profile_service_1.ScopeAccessProfileService,
73
+ scope_access_service_1.ScopeAccessService])
37
74
  ], ScopeGroupService);
38
75
  //# sourceMappingURL=scope-group.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope-group.service.js","sourceRoot":"./","sources":["access/services/scope-group.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAAsD;AACtD,mFAA+E;AAE/E,uGAAyF;AAEzF,yDAAqD;AACrD,mEAA8D;AAGvD,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,sCAA8B;IAKlE,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,WAAmB,EAAE,SAAkB;QACxE,OAAO,IAAI;aACP,UAAU;aACV,kBAAkB,CAAC,YAAY,CAAC;aAChC,QAAQ,CACN,iCAAc,EACd,gBAAgB,EAChB,6CAA6C,CAC/C;aACA,KAAK,CAAC,+BAA+B,MAAM;+CACN,WAAW;cAC5C,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kCAAkC,SAAS,GAAG,EAAE,CAAC;aACvE,OAAO,EAAE,CAAC;IACjB,CAAC;CACH,CAAA;AAnBY,8CAAiB;AAGjB;IADT,IAAA,8CAAgB,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;;qDACW;4BAHpC,iBAAiB;IAD7B,IAAA,2BAAU,GAAE;GACA,iBAAiB,CAmB7B"}
1
+ {"version":3,"file":"scope-group.service.js","sourceRoot":"./","sources":["access/services/scope-group.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAAsD;AACtD,mFAA+E;AAE/E,uGAAyF;AAEzF,yDAAqD;AACrD,mEAA8D;AAC9D,iFAA2E;AAC3E,iEAA4D;AAC5D,4EAAuE;AAGhE,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,sCAA8B;IAKlE,YACsB,yBAAoD,EACpD,kBAAsC;QAEzD,KAAK,EAAE,CAAC;QAHW,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,uBAAkB,GAAlB,kBAAkB,CAAoB;IAG5D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gCAAgC,CACnC,OAAe,EACf,WAAmB,EACnB,SAAiB;QAEjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,oBAAoB,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACb,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CACvE,KAAK,CAAC,oBAAoB,EAC1B,WAAW,CACb,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACb,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACxD,KAAK,EAAE;gBACJ,OAAO;gBACP,WAAW;gBACX,SAAS;aACX;SACH,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,YAAY;aAC7B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;aACrB,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjD,MAAM,UAAU,GAAG,IAAA,yCAAkB,EAAC,CAAC,GAAG,YAAY,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;QAEzE,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CACrC,OAAO,EACP,WAAW,EACX,SAAS,EACT,OAAO,EACP,UAAU,CACZ,CAAC;QAEF,OAAO,UAAU,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,WAAmB,EAAE,SAAkB;QACxE,OAAO,IAAI;aACP,UAAU;aACV,kBAAkB,CAAC,YAAY,CAAC;aAChC,QAAQ,CACN,iCAAc,EACd,gBAAgB,EAChB,6CAA6C,CAC/C;aACA,KAAK,CAAC,+BAA+B,MAAM;+CACN,WAAW;cAC5C,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kCAAkC,SAAS,GAAG,EAAE,CAAC;aACvE,OAAO,EAAE,CAAC;IACjB,CAAC;CACH,CAAA;AA1EY,8CAAiB;AAGjB;IADT,IAAA,8CAAgB,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;;qDACW;4BAHpC,iBAAiB;IAD7B,IAAA,2BAAU,GAAE;qCAOuC,wDAAyB;QAChC,yCAAkB;GAPlD,iBAAiB,CA0E7B"}
@@ -4,4 +4,7 @@ import { Repository } from "../../database/interfaces/repository";
4
4
  export declare class ScopeOwnerService extends RepositoryService<IScopeOwner> {
5
5
  protected repository: Repository<IScopeOwner>;
6
6
  getIsOwner(contextName: string, userId: string, contextId?: string): Promise<boolean>;
7
+ findOwnerUserIds(contextName: string, contextId: string | undefined, userIds: string[]): Promise<Set<string>>;
8
+ /** True when the user owns any context (used to gate global IAM resources). */
9
+ getHasAnyOwnership(userId: string): Promise<boolean>;
7
10
  }
@@ -14,15 +14,40 @@ const class_injector_1 = require("@rockster/class-injector");
14
14
  const repository_service_1 = require("../../database/services/repository.service");
15
15
  const inject_repository_decorator_1 = require("../../database/decorators/inject-repository.decorator");
16
16
  const scope_owner_1 = require("../entities/scope-owner");
17
+ const typeorm_1 = require("typeorm");
17
18
  let ScopeOwnerService = class ScopeOwnerService extends repository_service_1.RepositoryService {
18
19
  async getIsOwner(contextName, userId, contextId) {
20
+ const normalizedContextId = contextId == null || contextId === "" ? undefined : contextId;
19
21
  const exists = await this.repository.findOneBy({
20
- contextId: contextId,
22
+ contextId: normalizedContextId,
21
23
  contextName: contextName,
22
24
  userId: userId
23
25
  });
24
26
  return !!exists;
25
27
  }
28
+ async findOwnerUserIds(contextName, contextId, userIds) {
29
+ if (!userIds.length) {
30
+ return new Set();
31
+ }
32
+ const normalizedContextId = contextId == null || contextId === "" ? undefined : contextId;
33
+ const where = {
34
+ contextName,
35
+ userId: (0, typeorm_1.In)(userIds),
36
+ };
37
+ if (normalizedContextId != null) {
38
+ where.contextId = normalizedContextId;
39
+ }
40
+ const owners = await this.repository.find({
41
+ where,
42
+ select: ['userId'],
43
+ });
44
+ return new Set(owners.map((owner) => owner.userId));
45
+ }
46
+ /** True when the user owns any context (used to gate global IAM resources). */
47
+ async getHasAnyOwnership(userId) {
48
+ const exists = await this.repository.findOneBy({ userId });
49
+ return !!exists;
50
+ }
26
51
  };
27
52
  exports.ScopeOwnerService = ScopeOwnerService;
28
53
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"scope-owner.service.js","sourceRoot":"./","sources":["access/services/scope-owner.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAAsD;AACtD,mFAA+E;AAE/E,uGAAyF;AAEzF,yDAAqD;AAG9C,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,sCAA8B;IAKlE,KAAK,CAAC,UAAU,CACb,WAAmB,EACnB,MAAc,EACd,SAAkB;QAElB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAC5C,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,OAAO,CAAC,CAAC,MAAM,CAAC;IACnB,CAAC;CACH,CAAA;AAlBY,8CAAiB;AAGjB;IADT,IAAA,8CAAgB,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;;qDACW;4BAHpC,iBAAiB;IAD7B,IAAA,2BAAU,GAAE;GACA,iBAAiB,CAkB7B"}
1
+ {"version":3,"file":"scope-owner.service.js","sourceRoot":"./","sources":["access/services/scope-owner.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAAsD;AACtD,mFAA+E;AAE/E,uGAAyF;AAEzF,yDAAqD;AACrD,qCAA6B;AAGtB,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,sCAA8B;IAKlE,KAAK,CAAC,UAAU,CACb,WAAmB,EACnB,MAAc,EACd,SAAkB;QAElB,MAAM,mBAAmB,GACtB,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAEjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAC5C,SAAS,EAAE,mBAAmB;YAC9B,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,OAAO,CAAC,CAAC,MAAM,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,gBAAgB,CACnB,WAAmB,EACnB,SAA6B,EAC7B,OAAiB;QAEjB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,IAAI,GAAG,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,mBAAmB,GACtB,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAEjE,MAAM,KAAK,GAA4B;YACpC,WAAW;YACX,MAAM,EAAE,IAAA,YAAE,EAAC,OAAO,CAAC;SACrB,CAAC;QAEF,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YAC/B,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAAC;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACvC,KAAK;YACL,MAAM,EAAE,CAAC,QAAQ,CAAC;SACpB,CAAC,CAAC;QAEH,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,CAAC,MAAM,CAAC;IACnB,CAAC;CACH,CAAA;AAxDY,8CAAiB;AAGjB;IADT,IAAA,8CAAgB,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;;qDACW;4BAHpC,iBAAiB;IAD7B,IAAA,2BAAU,GAAE;GACA,iBAAiB,CAwD7B"}
@@ -15,7 +15,9 @@ const resolve_action_transactional_1 = require("../../core/functions/resolve-act
15
15
  const constants_1 = require("../constants");
16
16
  const constants_2 = require("../../controllers/constants");
17
17
  const database_1 = require("../../database");
18
- const use_protector_1 = require("../../database/functions/use-protector");
18
+ const assert_scope_action_access_1 = require("../../access/functions/assert-scope-action-access");
19
+ const warn_if_public_1 = require("../../access/functions/warn-if-public");
20
+ const describe_action_scope_1 = require("../../access/functions/describe-action-scope");
19
21
  const constants_3 = require("../../web-socket/constants");
20
22
  const global_1 = require("../../global");
21
23
  const docs_1 = require("@rockster/common/docs");
@@ -40,6 +42,7 @@ let PostActionBuilder = class PostActionBuilder {
40
42
  const isSecure = !property.public;
41
43
  const name = property.name || property.propertyKey;
42
44
  const path = (0, core_1.getActionPath)(object.alias, name);
45
+ (0, warn_if_public_1.warnIfPublic)(path, property);
43
46
  this.beforeInterceptors[path] =
44
47
  (0, core_1.createExecuteInterceptors)([core_1.commonInterceptor.onBeforeExecute], object, property);
45
48
  this.afterInterceptors[path] =
@@ -122,6 +125,8 @@ let PostActionBuilder = class PostActionBuilder {
122
125
  path: path,
123
126
  description: property.description,
124
127
  isSecure: isSecure,
128
+ authenticated: property.authenticated,
129
+ keys: (0, describe_action_scope_1.describeActionScopeKeys)(property),
125
130
  payload: property.data,
126
131
  response: property.data,
127
132
  hasResponse: true,
@@ -156,6 +161,19 @@ let PostActionBuilder = class PostActionBuilder {
156
161
  // End After Interceptor
157
162
  }
158
163
  async onBefore(pending, context, property) {
164
+ const groups = property.exposeGroups ?? [];
165
+ const payload = context.request[pending.requestRef];
166
+ const idProperty = (0, database_1.getIdProperty)(property.data);
167
+ const idValue = payload?.[idProperty.propertyKey];
168
+ const postType = !idValue ? 'create' : 'modify';
169
+ await (0, assert_scope_action_access_1.assertScopeActionAccess)({
170
+ property,
171
+ slot: postType === "create" ? "create" : "modify",
172
+ pending,
173
+ context,
174
+ postType,
175
+ entityId: idValue != null ? String(idValue) : undefined,
176
+ });
159
177
  // Before Validation Interceptor
160
178
  await this
161
179
  .beforeValidationInterceptors[pending.path]({
@@ -164,13 +182,7 @@ let PostActionBuilder = class PostActionBuilder {
164
182
  property: property
165
183
  });
166
184
  // End Before Validation Interceptor
167
- const groups = property.exposeGroups ?? [];
168
- const payload = context.request[pending.requestRef];
169
- const idProperty = (0, database_1.getIdProperty)(property.data);
170
- const idValue = payload[idProperty.propertyKey];
171
- const postType = !idValue ? 'create' : 'modify';
172
185
  const sanitized = {};
173
- const protector = (0, use_protector_1.useProtector)(property.data);
174
186
  const errors = await (0, class_pipe_1.validate)(property.data, payload, sanitized, {
175
187
  groups: postType === 'modify'
176
188
  ? [global_1.actionGroups.modify, ...groups]
@@ -198,16 +210,6 @@ let PostActionBuilder = class PostActionBuilder {
198
210
  errors.target = pending.requestRef;
199
211
  throw errors;
200
212
  }
201
- if (context.isAuthenticated && protector) {
202
- if (postType === 'modify') {
203
- await protector
204
- .canModify(context.session?.userId, payload, context.entityManager);
205
- }
206
- else {
207
- await protector
208
- .canCreate(context.session?.userId, payload, context.entityManager);
209
- }
210
- }
211
213
  const postContent = {
212
214
  idProperty: idProperty.propertyKey,
213
215
  data: property.content?.strict
@@ -1 +1 @@
1
- {"version":3,"file":"post-action-builder.js","sourceRoot":"./","sources":["command/services/post-action-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-action-builder.js","sourceRoot":"./","sources":["command/services/post-action-builder.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,9 @@ const resolve_action_transactional_1 = require("../../core/functions/resolve-act
15
15
  const constants_1 = require("../constants");
16
16
  const constants_2 = require("../../controllers/constants");
17
17
  const database_1 = require("../../database");
18
- const use_protector_1 = require("../../database/functions/use-protector");
18
+ const assert_scope_action_access_1 = require("../../access/functions/assert-scope-action-access");
19
+ const warn_if_public_1 = require("../../access/functions/warn-if-public");
20
+ const describe_action_scope_1 = require("../../access/functions/describe-action-scope");
19
21
  const use_repository_1 = require("../../database/functions/use-repository");
20
22
  const class_pipe_1 = require("@rockster/class-pipe");
21
23
  const executed_response_1 = require("../../common/models/executed-response");
@@ -39,6 +41,7 @@ let RemoveActionBuilder = class RemoveActionBuilder {
39
41
  const isSecure = !property.public;
40
42
  const name = property.name || property.propertyKey;
41
43
  const path = (0, core_1.getActionPath)(object.alias, name);
44
+ (0, warn_if_public_1.warnIfPublic)(path, property);
42
45
  this.beforeInterceptors[path] =
43
46
  (0, core_1.createExecuteInterceptors)([core_1.commonInterceptor.onBeforeExecute], object, property);
44
47
  this.afterInterceptors[path] =
@@ -80,6 +83,8 @@ let RemoveActionBuilder = class RemoveActionBuilder {
80
83
  path: path,
81
84
  description: property.description,
82
85
  isSecure: isSecure,
86
+ authenticated: property.authenticated,
87
+ keys: (0, describe_action_scope_1.describeActionScopeKeys)(property),
83
88
  payload: property.data,
84
89
  response: Response,
85
90
  hasResponse: property.hasResponse,
@@ -135,31 +140,34 @@ let RemoveActionBuilder = class RemoveActionBuilder {
135
140
  // End Before Validation Interceptor
136
141
  const idProperty = (0, database_1.getIdProperty)(property.data);
137
142
  const idValue = context.request[pending.requestRef];
138
- const protector = (0, use_protector_1.useProtector)(property.data);
139
- if (protector) {
140
- await protector
141
- .canRemove(context.session?.userId, idValue, context.entityManager);
142
- }
143
- else {
144
- const invalidError = new common_1.BadRequestError({
145
- message: `invalid id value [${idValue}]`
143
+ const scopeSlot = property.keys?.has("remove") ? "remove" : "default";
144
+ await (0, assert_scope_action_access_1.assertScopeActionAccess)({
145
+ property,
146
+ slot: scopeSlot,
147
+ pending,
148
+ context,
149
+ entityId: idValue != null ? String(idValue) : undefined,
150
+ });
151
+ const invalidError = new common_1.BadRequestError({
152
+ message: `invalid id value [${idValue}]`
153
+ });
154
+ try {
155
+ const repository = context.entityManager
156
+ ? context.entityManager.getRepository(property.data)
157
+ : (0, use_repository_1.useRepository)(property.data);
158
+ const stored = await repository.findOneBy({
159
+ [idProperty.propertyKey]: idValue
146
160
  });
147
- try {
148
- const repository = context.entityManager
149
- ? context.entityManager.getRepository(property.data)
150
- : (0, use_repository_1.useRepository)(property.data);
151
- const stored = await repository
152
- .findOneBy({
153
- [idProperty.propertyKey]: idValue
154
- });
155
- if (!stored) {
156
- throw invalidError;
157
- }
158
- }
159
- catch (error) {
161
+ if (!stored) {
160
162
  throw invalidError;
161
163
  }
162
164
  }
165
+ catch (error) {
166
+ if (error instanceof common_1.BadRequestError) {
167
+ throw error;
168
+ }
169
+ throw invalidError;
170
+ }
163
171
  const removeContent = {
164
172
  target: property.data,
165
173
  idProperty: idProperty.propertyKey,
@@ -1 +1 @@
1
- {"version":3,"file":"remove-action-builder.js","sourceRoot":"./","sources":["command/services/remove-action-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remove-action-builder.js","sourceRoot":"./","sources":["command/services/remove-action-builder.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,12 @@ export interface IControllerProperty extends IProperty {
8
8
  type: PropertyType.request;
9
9
  name?: string;
10
10
  public?: boolean;
11
+ /**
12
+ * Marks an endpoint that skips the default auth service but authenticates via
13
+ * a special strategy (see `createAuthenticationInterceptor`). Suppresses the
14
+ * `[PUBLIC]` warning and is surfaced in the docs as a custom auth requirement.
15
+ */
16
+ authenticated?: boolean;
11
17
  data?: Instantiable;
12
18
  description?: string;
13
19
  hasResponse?: boolean;
@@ -32,6 +38,6 @@ export interface IControllerProperty extends IProperty {
32
38
  fullPath?: string;
33
39
  exposeGroups?: string[];
34
40
  validateGroups?: string[];
35
- keys?: Map<string, IScopeKey>;
41
+ keys?: Map<string, IScopeKey[]>;
36
42
  useTransaction?: boolean;
37
43
  }
@@ -13,9 +13,9 @@ const core_1 = require("../../core");
13
13
  const resolve_action_transactional_1 = require("../../core/functions/resolve-action-transactional");
14
14
  const class_pipe_1 = require("@rockster/class-pipe");
15
15
  const constants_1 = require("../constants");
16
- const common_1 = require("@rockster/common");
17
- const get_user_keys_1 = require("../../access/functions/get-user-keys");
18
- const get_is_owner_1 = require("../../access/functions/get-is-owner");
16
+ const assert_scope_action_access_1 = require("../../access/functions/assert-scope-action-access");
17
+ const warn_if_public_1 = require("../../access/functions/warn-if-public");
18
+ const describe_action_scope_1 = require("../../access/functions/describe-action-scope");
19
19
  const executed_response_1 = require("../../common/models/executed-response");
20
20
  const request_status_1 = require("../../common/interfaces/enum/request-status");
21
21
  const web_socket_1 = require("../../web-socket");
@@ -38,6 +38,7 @@ let DefaultActionBuilder = class DefaultActionBuilder {
38
38
  const isSecure = !property.public;
39
39
  const name = property.name || property.propertyKey;
40
40
  const path = (0, core_1.getActionPath)(object.alias, name);
41
+ (0, warn_if_public_1.warnIfPublic)(path, property);
41
42
  this.beforeInterceptors[path] =
42
43
  (0, core_1.createExecuteInterceptors)([core_1.commonInterceptor.onBeforeExecute], object, property);
43
44
  this.afterInterceptors[path] =
@@ -85,6 +86,8 @@ let DefaultActionBuilder = class DefaultActionBuilder {
85
86
  description: property.description,
86
87
  isResponseArray: property.isResponseArray,
87
88
  isSecure: isSecure,
89
+ authenticated: property.authenticated,
90
+ keys: (0, describe_action_scope_1.describeActionScopeKeys)(property),
88
91
  payload: Payload,
89
92
  response: Response,
90
93
  };
@@ -136,33 +139,12 @@ let DefaultActionBuilder = class DefaultActionBuilder {
136
139
  }, true);
137
140
  }
138
141
  async onBefore(pending, context, property) {
139
- if (property.keys?.has("default")) {
140
- const key = property.keys.get("default");
141
- if (key.contextName === "workspace") {
142
- const userId = context.session?.userId;
143
- if (!userId) {
144
- throw new common_1.UnauthorizedError();
145
- }
146
- const raw = context.request[pending.requestRef];
147
- const wid = raw?.workspaceId;
148
- if (wid == null || String(wid).trim() === "") {
149
- throw new common_1.ForbiddenError({
150
- message: "workspaceId is required for this action",
151
- });
152
- }
153
- const contextId = String(wid);
154
- const isOwner = await (0, get_is_owner_1.getIsOwner)(key.contextName, userId, contextId);
155
- if (!isOwner) {
156
- const userKeys = await (0, get_user_keys_1.getUserKeys)(userId, contextId);
157
- if (!userKeys.includes(key.name)) {
158
- throw new common_1.ForbiddenError({
159
- message: "Action require permissions to execute",
160
- requirements: [key.name],
161
- });
162
- }
163
- }
164
- }
165
- }
142
+ await (0, assert_scope_action_access_1.assertScopeActionAccess)({
143
+ property,
144
+ slot: "default",
145
+ pending,
146
+ context,
147
+ });
166
148
  if (property.data) {
167
149
  const sanitized = {};
168
150
  const payload = context
@@ -1 +1 @@
1
- {"version":3,"file":"default-action-builder.js","sourceRoot":"./","sources":["controllers/services/default-action-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-action-builder.js","sourceRoot":"./","sources":["controllers/services/default-action-builder.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,9 @@ const class_pipe_1 = require("@rockster/class-pipe");
25
25
  const web_socket_1 = require("../../web-socket");
26
26
  const use_auth_1 = require("../../security/functions/use-auth");
27
27
  const docs_1 = require("@rockster/common/docs");
28
+ const assert_scope_action_access_1 = require("../../access/functions/assert-scope-action-access");
29
+ const warn_if_public_1 = require("../../access/functions/warn-if-public");
30
+ const describe_action_scope_1 = require("../../access/functions/describe-action-scope");
28
31
  let RestfulActionBuilder = class RestfulActionBuilder {
29
32
  constructor(httpController) {
30
33
  this.httpController = httpController;
@@ -48,6 +51,7 @@ let RestfulActionBuilder = class RestfulActionBuilder {
48
51
  const onAfterExecute = (0, create_interceptor_1.createExecuteInterceptors)(onAfterExecuteFilter, object, property);
49
52
  const httpMethod = property.httpMethod;
50
53
  property.fullPath = !fullPath.startsWith('/') ? `/${fullPath}` : fullPath;
54
+ (0, warn_if_public_1.warnIfPublic)(`${httpMethod} ${property.fullPath}`, property);
51
55
  this.createActionsDocs(object, property);
52
56
  this.httpController.addRoute(httpMethod, property.fullPath, async (req, res) => {
53
57
  try {
@@ -56,6 +60,24 @@ let RestfulActionBuilder = class RestfulActionBuilder {
56
60
  session = await (0, use_auth_1.useAuth)().httpInterceptor(req);
57
61
  if (req.isWs)
58
62
  session = req.session;
63
+ // Restful routes (@Get/@Post…) enforce scope keys here — the
64
+ // action/query/command builders do it via assertScopeActionAccess
65
+ // too, but those run on the /request pipeline, not on REST routes.
66
+ if (property.keys && property.keys.size > 0) {
67
+ await (0, assert_scope_action_access_1.assertScopeActionAccess)({
68
+ property,
69
+ slot: "default",
70
+ requestPayload: {
71
+ ...(req.params ?? {}),
72
+ ...(req.query ?? {}),
73
+ ...(req.body ?? {}),
74
+ },
75
+ context: {
76
+ session,
77
+ entityManager: undefined,
78
+ },
79
+ });
80
+ }
59
81
  const initialData = {
60
82
  [constants_1.SESSION_KEY]: session,
61
83
  [constants_1.REQUEST_KEY]: req,
@@ -101,7 +123,7 @@ let RestfulActionBuilder = class RestfulActionBuilder {
101
123
  });
102
124
  }
103
125
  catch (error) {
104
- const code = error.httpCode || common_1.HttpStatus.internalServerError;
126
+ const code = (error.httpCode ?? error.status) || common_1.HttpStatus.internalServerError;
105
127
  const body = code === common_1.HttpStatus.internalServerError ? null : error;
106
128
  res.status(code).json(body);
107
129
  core.options?.onRequestError?.apply(this, [error]);
@@ -120,6 +142,8 @@ let RestfulActionBuilder = class RestfulActionBuilder {
120
142
  exposeGroups: property.exposeGroups,
121
143
  validateGroups: property.validateGroups,
122
144
  isSecure: !property.public,
145
+ authenticated: property.authenticated,
146
+ keys: (0, describe_action_scope_1.describeActionScopeKeys)(property),
123
147
  description: property.description,
124
148
  headers: property.fromHeaders,
125
149
  headersNames: property.fromHeadersFields,
@@ -1 +1 @@
1
- {"version":3,"file":"restful-action-builder.js","sourceRoot":"./","sources":["controllers/services/restful-action-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restful-action-builder.js","sourceRoot":"./","sources":["controllers/services/restful-action-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { AsyncLocalStorage } from "async_hooks";
2
+ import { IRequestContext } from "../interfaces/request-context";
3
+ export declare const requestContextStore: AsyncLocalStorage<IRequestContext<{
4
+ userId: string;
5
+ }>>;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requestContextStore = void 0;
4
+ const async_hooks_1 = require("async_hooks");
5
+ exports.requestContextStore = new async_hooks_1.AsyncLocalStorage();
6
+ //# sourceMappingURL=request-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-context.js","sourceRoot":"./","sources":["core/contexts/request-context.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAGnC,QAAA,mBAAmB,GAAG,IAAI,+BAAiB,EAAmB,CAAC"}