@jskit-ai/users-core 0.1.31 → 0.1.33

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 (55) hide show
  1. package/package.descriptor.mjs +21 -19
  2. package/package.json +6 -6
  3. package/src/server/UsersCoreServiceProvider.js +1 -3
  4. package/src/server/accountNotifications/accountNotificationsService.js +3 -3
  5. package/src/server/accountNotifications/registerAccountNotifications.js +1 -1
  6. package/src/server/accountPreferences/accountPreferencesService.js +3 -3
  7. package/src/server/accountPreferences/registerAccountPreferences.js +1 -1
  8. package/src/server/accountProfile/accountProfileActions.js +8 -2
  9. package/src/server/accountProfile/accountProfileService.js +10 -10
  10. package/src/server/accountProfile/avatarService.js +26 -67
  11. package/src/server/accountProfile/avatarStorageService.js +14 -95
  12. package/src/server/accountProfile/bootAccountProfileRoutes.js +13 -15
  13. package/src/server/accountProfile/registerAccountProfile.js +2 -2
  14. package/src/server/accountSecurity/accountSecurityService.js +3 -3
  15. package/src/server/accountSecurity/registerAccountSecurity.js +1 -1
  16. package/src/server/common/contributors/workspaceActionContextContributor.js +24 -17
  17. package/src/server/common/formatters/workspaceFormatter.js +2 -2
  18. package/src/server/common/registerCommonRepositories.js +3 -3
  19. package/src/server/common/repositories/{userProfilesRepository.js → usersRepository.js} +7 -7
  20. package/src/server/common/repositories/workspaceInvitesRepository.js +2 -2
  21. package/src/server/common/repositories/workspaceMembershipsRepository.js +9 -9
  22. package/src/server/common/repositories/workspacesRepository.js +2 -2
  23. package/src/server/common/services/accountContextService.js +4 -4
  24. package/src/server/common/services/authProfileSyncService.js +15 -15
  25. package/src/server/common/services/workspaceContextService.js +3 -3
  26. package/src/server/common/validators/authenticatedUserValidator.js +2 -2
  27. package/src/server/registerWorkspaceBootstrap.js +1 -1
  28. package/src/server/registerWorkspaceCore.js +5 -2
  29. package/src/server/workspaceBootstrapContributor.js +6 -6
  30. package/src/server/workspaceMembers/bootWorkspaceMembers.js +2 -2
  31. package/src/server/workspaceMembers/workspaceMembersActions.js +2 -2
  32. package/src/server/workspaceMembers/workspaceMembersService.js +11 -11
  33. package/src/server/workspacePendingInvitations/workspacePendingInvitationsService.js +1 -1
  34. package/src/shared/resources/workspaceMembersResource.js +11 -11
  35. package/src/shared/resources/workspacePendingInvitationsResource.js +2 -2
  36. package/src/shared/resources/workspaceResource.js +2 -2
  37. package/src/shared/roles.js +37 -12
  38. package/templates/config/roles.js +27 -0
  39. package/templates/migrations/users_core_initial.cjs +5 -5
  40. package/test/authProfileSyncService.test.js +8 -8
  41. package/test/avatarService.test.js +6 -6
  42. package/test/roles.test.js +90 -5
  43. package/test/usersRouteRequestInputValidator.test.js +4 -4
  44. package/test/workspaceActionContextContributor.test.js +107 -14
  45. package/test/workspaceAuthPolicyContextResolver.test.js +2 -2
  46. package/test/workspaceBootstrapContributor.test.js +8 -8
  47. package/test/workspaceInvitesRepository.test.js +3 -3
  48. package/test/workspaceMembersService.test.js +14 -12
  49. package/test/workspacePendingInvitationsResource.test.js +2 -2
  50. package/test/workspacePendingInvitationsService.test.js +3 -3
  51. package/test/workspaceService.test.js +22 -18
  52. package/test/workspaceSettingsResource.test.js +4 -2
  53. package/src/server/accountProfile/registerAvatarMultipartSupport.js +0 -40
  54. package/templates/config/workspaceRoles.js +0 -30
  55. package/test/registerAvatarMultipartSupport.test.js +0 -63
@@ -1,63 +0,0 @@
1
- import test from "node:test";
2
- import assert from "node:assert/strict";
3
- import { registerAvatarMultipartSupport } from "../src/server/accountProfile/registerAvatarMultipartSupport.js";
4
-
5
- function createAppStub({ hasFastify = true, fastify = null } = {}) {
6
- const resolvedFastify =
7
- fastify ||
8
- {
9
- register: async () => {},
10
- hasContentTypeParser: () => false
11
- };
12
-
13
- return {
14
- has(token) {
15
- if (token === "jskit.fastify") {
16
- return hasFastify;
17
- }
18
- return false;
19
- },
20
- make(token) {
21
- if (token === "jskit.fastify") {
22
- return resolvedFastify;
23
- }
24
- return null;
25
- }
26
- };
27
- }
28
-
29
- test("registerAvatarMultipartSupport returns early when Fastify is not available", async () => {
30
- const app = createAppStub({ hasFastify: false });
31
- await assert.doesNotReject(async () => registerAvatarMultipartSupport(app));
32
- });
33
-
34
- test("registerAvatarMultipartSupport registers multipart parser only once", async () => {
35
- let registerCount = 0;
36
- const fastify = {
37
- register: async () => {
38
- registerCount += 1;
39
- },
40
- hasContentTypeParser: () => false
41
- };
42
- const app = createAppStub({ fastify });
43
-
44
- await registerAvatarMultipartSupport(app);
45
- await registerAvatarMultipartSupport(app);
46
-
47
- assert.equal(registerCount, 1);
48
- });
49
-
50
- test("registerAvatarMultipartSupport skips registration when parser already exists", async () => {
51
- let registerCount = 0;
52
- const fastify = {
53
- register: async () => {
54
- registerCount += 1;
55
- },
56
- hasContentTypeParser: (contentType) => String(contentType || "").trim().toLowerCase() === "multipart"
57
- };
58
- const app = createAppStub({ fastify });
59
-
60
- await registerAvatarMultipartSupport(app);
61
-
62
- assert.equal(registerCount, 0);
63
- });