@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.
- package/.release-please-manifest.json +1 -1
- package/.tsbuildinfo/cjs.json +1 -1
- package/.tsbuildinfo/esm.json +1 -1
- package/CHANGELOG.md +7 -0
- package/dist/cjs/activity/resources.js +1 -1
- package/dist/cjs/activity/resources.test.js +5 -5
- package/dist/cjs/app/authorization/resources.js +2 -2
- package/dist/cjs/app/oauth/resources.js +2 -2
- package/dist/cjs/app/oidc/resources.js +4 -4
- package/dist/cjs/app/registration/resources.js +2 -2
- package/dist/cjs/app/registration/resources.test.js +5 -5
- package/dist/cjs/app/resources.js +5 -5
- package/dist/cjs/app/resources.test.js +5 -5
- package/dist/cjs/app/saml/resources.js +4 -4
- package/dist/cjs/association/resources.js +3 -3
- package/dist/cjs/authentication/sessions/resources.js +2 -2
- package/dist/cjs/authentication/settings/resources.js +2 -2
- package/dist/cjs/authentication/strategies/resources.js +5 -5
- package/dist/cjs/authorization/permissions/resources.js +5 -5
- package/dist/cjs/authorization/roles/resources.js +5 -5
- package/dist/cjs/common/index.d.ts +1 -0
- package/dist/cjs/common/index.d.ts.map +1 -1
- package/dist/cjs/common/resources/authorization.d.ts +18 -1
- package/dist/cjs/common/resources/authorization.d.ts.map +1 -1
- package/dist/cjs/common/resources/authorization.js +6 -0
- package/dist/cjs/common/resources/init.d.ts +5 -5
- package/dist/cjs/common/resources/init.d.ts.map +1 -1
- package/dist/cjs/common/resources/init.js +20 -14
- package/dist/cjs/common/resources/init.test.js +55 -31
- package/dist/cjs/common/resources/operations.d.ts +7 -7
- package/dist/cjs/common/resources/operations.d.ts.map +1 -1
- package/dist/cjs/common/resources/operations.js +35 -19
- package/dist/cjs/common/resources/operations.test.js +32 -2
- package/dist/cjs/customer/users/resources.js +5 -5
- package/dist/esm/activity/resources.js +1 -1
- package/dist/esm/activity/resources.test.js +5 -5
- package/dist/esm/app/authorization/resources.js +2 -2
- package/dist/esm/app/oauth/resources.js +2 -2
- package/dist/esm/app/oidc/resources.js +4 -4
- package/dist/esm/app/registration/resources.js +2 -2
- package/dist/esm/app/registration/resources.test.js +5 -5
- package/dist/esm/app/resources.js +5 -5
- package/dist/esm/app/resources.test.js +5 -5
- package/dist/esm/app/saml/resources.js +4 -4
- package/dist/esm/association/resources.js +3 -3
- package/dist/esm/authentication/sessions/resources.js +2 -2
- package/dist/esm/authentication/settings/resources.js +2 -2
- package/dist/esm/authentication/strategies/resources.js +5 -5
- package/dist/esm/authorization/permissions/resources.js +5 -5
- package/dist/esm/authorization/roles/resources.js +5 -5
- package/dist/esm/common/index.d.ts +1 -0
- package/dist/esm/common/index.d.ts.map +1 -1
- package/dist/esm/common/resources/authorization.d.ts +18 -1
- package/dist/esm/common/resources/authorization.d.ts.map +1 -1
- package/dist/esm/common/resources/authorization.js +5 -1
- package/dist/esm/common/resources/init.d.ts +5 -5
- package/dist/esm/common/resources/init.d.ts.map +1 -1
- package/dist/esm/common/resources/init.js +20 -14
- package/dist/esm/common/resources/init.test.js +56 -32
- package/dist/esm/common/resources/operations.d.ts +7 -7
- package/dist/esm/common/resources/operations.d.ts.map +1 -1
- package/dist/esm/common/resources/operations.js +35 -19
- package/dist/esm/common/resources/operations.test.js +32 -2
- package/dist/esm/customer/users/resources.js +5 -5
- 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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
47
|
+
return UserSchema.parse(await deleteItemWithAuthorization(new URL(UserResources.buildPath(id), instance.config.host), instance.authorize));
|
|
48
48
|
}
|