@go-mondo/identity-sdk 0.0.2-beta.82 → 0.0.2-beta.83

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 (65) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/.tsbuildinfo/cjs.json +1 -1
  3. package/.tsbuildinfo/esm.json +1 -1
  4. package/CHANGELOG.md +7 -0
  5. package/dist/cjs/activity/resources.js +1 -1
  6. package/dist/cjs/activity/resources.test.js +5 -5
  7. package/dist/cjs/app/authorization/resources.js +2 -2
  8. package/dist/cjs/app/oauth/resources.js +2 -2
  9. package/dist/cjs/app/oidc/resources.js +4 -4
  10. package/dist/cjs/app/registration/resources.js +2 -2
  11. package/dist/cjs/app/registration/resources.test.js +5 -5
  12. package/dist/cjs/app/resources.js +5 -5
  13. package/dist/cjs/app/resources.test.js +5 -5
  14. package/dist/cjs/app/saml/resources.js +4 -4
  15. package/dist/cjs/association/resources.js +3 -3
  16. package/dist/cjs/authentication/sessions/resources.js +2 -2
  17. package/dist/cjs/authentication/settings/resources.js +2 -2
  18. package/dist/cjs/authentication/strategies/resources.js +5 -5
  19. package/dist/cjs/authorization/permissions/resources.js +5 -5
  20. package/dist/cjs/authorization/roles/resources.js +5 -5
  21. package/dist/cjs/common/index.d.ts +1 -0
  22. package/dist/cjs/common/index.d.ts.map +1 -1
  23. package/dist/cjs/common/resources/authorization.d.ts +18 -1
  24. package/dist/cjs/common/resources/authorization.d.ts.map +1 -1
  25. package/dist/cjs/common/resources/authorization.js +6 -0
  26. package/dist/cjs/common/resources/init.d.ts +5 -5
  27. package/dist/cjs/common/resources/init.d.ts.map +1 -1
  28. package/dist/cjs/common/resources/init.js +20 -14
  29. package/dist/cjs/common/resources/init.test.js +55 -31
  30. package/dist/cjs/common/resources/operations.d.ts +7 -7
  31. package/dist/cjs/common/resources/operations.d.ts.map +1 -1
  32. package/dist/cjs/common/resources/operations.js +35 -19
  33. package/dist/cjs/common/resources/operations.test.js +32 -2
  34. package/dist/cjs/customer/users/resources.js +5 -5
  35. package/dist/esm/activity/resources.js +1 -1
  36. package/dist/esm/activity/resources.test.js +5 -5
  37. package/dist/esm/app/authorization/resources.js +2 -2
  38. package/dist/esm/app/oauth/resources.js +2 -2
  39. package/dist/esm/app/oidc/resources.js +4 -4
  40. package/dist/esm/app/registration/resources.js +2 -2
  41. package/dist/esm/app/registration/resources.test.js +5 -5
  42. package/dist/esm/app/resources.js +5 -5
  43. package/dist/esm/app/resources.test.js +5 -5
  44. package/dist/esm/app/saml/resources.js +4 -4
  45. package/dist/esm/association/resources.js +3 -3
  46. package/dist/esm/authentication/sessions/resources.js +2 -2
  47. package/dist/esm/authentication/settings/resources.js +2 -2
  48. package/dist/esm/authentication/strategies/resources.js +5 -5
  49. package/dist/esm/authorization/permissions/resources.js +5 -5
  50. package/dist/esm/authorization/roles/resources.js +5 -5
  51. package/dist/esm/common/index.d.ts +1 -0
  52. package/dist/esm/common/index.d.ts.map +1 -1
  53. package/dist/esm/common/resources/authorization.d.ts +18 -1
  54. package/dist/esm/common/resources/authorization.d.ts.map +1 -1
  55. package/dist/esm/common/resources/authorization.js +5 -1
  56. package/dist/esm/common/resources/init.d.ts +5 -5
  57. package/dist/esm/common/resources/init.d.ts.map +1 -1
  58. package/dist/esm/common/resources/init.js +20 -14
  59. package/dist/esm/common/resources/init.test.js +56 -32
  60. package/dist/esm/common/resources/operations.d.ts +7 -7
  61. package/dist/esm/common/resources/operations.d.ts.map +1 -1
  62. package/dist/esm/common/resources/operations.js +35 -19
  63. package/dist/esm/common/resources/operations.test.js +32 -2
  64. package/dist/esm/customer/users/resources.js +5 -5
  65. package/package.json +1 -1
@@ -95,16 +95,46 @@ describe('Common Resources - Operations', () => {
95
95
  }));
96
96
  });
97
97
  test('should handle authorization errors', async () => {
98
- mockFetch.mockResolvedValueOnce({
98
+ const unauthorizedResponse = {
99
99
  ok: false,
100
100
  status: 401,
101
101
  json: () => Promise.resolve({
102
102
  error: 'unauthorized',
103
103
  error_description: 'Invalid token',
104
104
  }),
105
- });
105
+ };
106
+ mockFetch
107
+ .mockResolvedValueOnce(unauthorizedResponse)
108
+ .mockResolvedValueOnce(unauthorizedResponse);
106
109
  await expect(getItemWithAuthorization(testUrl, mockAuthorization)).rejects.toThrow(HttpError);
107
110
  });
111
+ test('should retry once with refresh when authorization fails', async () => {
112
+ const mockData = { id: 1, name: 'Refreshed Item' };
113
+ mockFetch
114
+ .mockResolvedValueOnce({
115
+ ok: false,
116
+ status: 401,
117
+ json: () => Promise.resolve({
118
+ error: 'unauthorized',
119
+ error_description: 'Expired token',
120
+ }),
121
+ })
122
+ .mockResolvedValueOnce({
123
+ ok: true,
124
+ json: () => Promise.resolve(mockData),
125
+ });
126
+ const result = await getItemWithAuthorization(testUrl, mockAuthorization);
127
+ expect(result).toEqual(mockData);
128
+ expect(mockFetch).toHaveBeenCalledTimes(2);
129
+ expect(mockAuthorization).toHaveBeenNthCalledWith(1, expect.objectContaining({
130
+ method: 'GET',
131
+ headers: expect.any(Headers),
132
+ }));
133
+ expect(mockAuthorization).toHaveBeenNthCalledWith(2, expect.objectContaining({
134
+ method: 'GET',
135
+ headers: expect.any(Headers),
136
+ }), { refresh: true });
137
+ });
108
138
  test('should log debug information', async () => {
109
139
  mockFetch.mockResolvedValueOnce({
110
140
  ok: true,
@@ -32,17 +32,17 @@ export class UserResources {
32
32
  }
33
33
  export async function listUsers(instance, pagination) {
34
34
  const url = addPaginationToURL(new URL(UserResources.buildPath(), instance.config.host), pagination);
35
- return PaginationCollectionSchema(UserSchema).parse(await listItemsWithAuthorization(url, instance.authorizer));
35
+ return PaginationCollectionSchema(UserSchema).parse(await listItemsWithAuthorization(url, instance.authorize));
36
36
  }
37
37
  export async function getUser(instance, id) {
38
- return UserSchema.parse(await getItemWithAuthorization(new URL(UserResources.buildPath(id), instance.config.host), instance.authorizer));
38
+ return UserSchema.parse(await getItemWithAuthorization(new URL(UserResources.buildPath(id), instance.config.host), instance.authorize));
39
39
  }
40
40
  export async function insertUser(instance, item) {
41
- return UserSchema.parse(await postItemWithAuthorization(new URL(UserResources.buildPath(), instance.config.host), instance.authorizer, InsertUserPayloadSchema.parse(item)));
41
+ return UserSchema.parse(await postItemWithAuthorization(new URL(UserResources.buildPath(), instance.config.host), instance.authorize, InsertUserPayloadSchema.parse(item)));
42
42
  }
43
43
  export async function updateUser(instance, id, item) {
44
- return UserSchema.parse(await patchItemWithAuthorization(new URL(UserResources.buildPath(id), instance.config.host), instance.authorizer, UpdateUserPayloadSchema.parse(item)));
44
+ return UserSchema.parse(await patchItemWithAuthorization(new URL(UserResources.buildPath(id), instance.config.host), instance.authorize, UpdateUserPayloadSchema.parse(item)));
45
45
  }
46
46
  export async function deleteUser(instance, id) {
47
- return UserSchema.parse(await deleteItemWithAuthorization(new URL(UserResources.buildPath(id), instance.config.host), instance.authorizer));
47
+ return UserSchema.parse(await deleteItemWithAuthorization(new URL(UserResources.buildPath(id), instance.config.host), instance.authorize));
48
48
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@go-mondo/identity-sdk",
3
- "version": "0.0.2-beta.82",
3
+ "version": "0.0.2-beta.83",
4
4
  "type": "module",
5
5
  "description": "A node SDK for Mondo Identity",
6
6
  "license": "MIT",