From 760b4ff15888756484fdbaaa79828e1a3c9b1a17 Mon Sep 17 00:00:00 2001 From: Ben Stoltz Date: Wed, 4 Oct 2023 11:26:21 -0400 Subject: [PATCH] fix: properly deserialize trustedOrgs from context (#1256) --- package-lock.json | 2 +- packages/common/src/ArcGISContextManager.ts | 6 ++++++ packages/common/test/ArcGISContextManager.test.ts | 11 +++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 03c9243e9a9..fb3a46b1558 100644 --- a/package-lock.json +++ b/package-lock.json @@ -64981,7 +64981,7 @@ }, "packages/common": { "name": "@esri/hub-common", - "version": "14.23.0", + "version": "14.26.0", "license": "Apache-2.0", "dependencies": { "abab": "^2.0.5", diff --git a/packages/common/src/ArcGISContextManager.ts b/packages/common/src/ArcGISContextManager.ts index 1f3da7747be..b9bc6c54f0c 100644 --- a/packages/common/src/ArcGISContextManager.ts +++ b/packages/common/src/ArcGISContextManager.ts @@ -245,6 +245,12 @@ export class ArcGISContextManager { if (state.properties) { opts.properties = state.properties; } + if (state.trustedOrgIds) { + opts.trustedOrgIds = state.trustedOrgIds; + } + if (state.trustedOrgs) { + opts.trustedOrgs = state.trustedOrgs; + } } } else { // if the session is expired, we can still carry forward the portalUrl diff --git a/packages/common/test/ArcGISContextManager.test.ts b/packages/common/test/ArcGISContextManager.test.ts index ca9f4f9b833..85b0f3437b6 100644 --- a/packages/common/test/ArcGISContextManager.test.ts +++ b/packages/common/test/ArcGISContextManager.test.ts @@ -219,6 +219,8 @@ const serializedContext = { properties: { foo: "bar", }, + trustedOrgIds: ["FAKEID", "FOTHERID"], + trustedOrgs: onlinePartneredOrgResponse.trustedOrgs, }; const validSerializedContext = cloneObject(serializedContext); @@ -597,6 +599,13 @@ describe("ArcGISContext:", () => { validSerializedContext.currentUser ); expect(mgr.context.session.token).toEqual(validSession.token); + // trusted orgs/ids + expect(mgr.context.trustedOrgIds).toEqual( + validSerializedContext.trustedOrgIds + ); + expect(mgr.context.trustedOrgs).toEqual( + validSerializedContext.trustedOrgs + ); }); it("can deserialize sparse, valid context", async () => { const selfSpy = spyOn(portalModule, "getSelf").and.callFake(() => { @@ -612,6 +621,8 @@ describe("ArcGISContext:", () => { delete sparseValidContext.currentUser; delete sparseValidContext.portal; delete sparseValidContext.properties; + delete sparseValidContext.trustedOrgIds; + delete sparseValidContext.trustedOrgs; const serialized = unicodeToBase64(JSON.stringify(sparseValidContext)); const mgr = await ArcGISContextManager.deserialize(serialized!);