Skip to content

Commit 1827a80

Browse files
authored
Add support for legacy org id (#34)
* ensure to also parse legacy_org_id and map it to legacyOrgId * add legacyOrgId to the OrgMemberInfoClass
1 parent 5f9a145 commit 1827a80

File tree

5 files changed

+15
-2
lines changed

5 files changed

+15
-2
lines changed

src/api.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,8 @@ export function parseJsonConvertingSnakeToCamel(str: string): AuthenticationInfo
182182
this.lastActiveAt = value
183183
} else if (key === "legacy_user_id") {
184184
this.legacyUserId = value
185+
} else if (key === "legacy_org_id") {
186+
this.legacyOrgId = value
185187
} else if (key === "impersonator_user") {
186188
this.impersonatorUserId = value
187189
} else if (key === "org_role_structure") {

src/org.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export type OrgMemberInfo = {
1111
userInheritedRolesPlusCurrentRole: string[]
1212
userPermissions: string[]
1313
userAssignedAdditionalRoles: string[]
14+
legacyOrgId?: string
1415
}
1516
export type OrgIdToOrgMemberInfo = {
1617
[orgId: string]: OrgMemberInfo

src/tests/index.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,14 +112,15 @@ test("client parses user correctly", async () => {
112112

113113
test("client parses org information correctly", async () => {
114114
const expiresAtSeconds = INITIAL_TIME_SECONDS + 60 * 30
115-
const apiOrgIdToOrgMemberInfo = {
115+
const apiOrgIdToOrgMemberInfo: ApiOrgIdToOrgMemberInfo = {
116116
"922c5c21-be96-484f-9383-ee532dd79d02": {
117117
org_id: "922c5c21-be96-484f-9383-ee532dd79d02",
118118
org_name: "ninetwotwo",
119119
url_safe_org_name: "ninetwotwo",
120120
user_role: "Owner",
121121
inherited_user_roles_plus_current_role: ["Owner", "Admin", "Member"],
122122
user_permissions: ["View", "Edit", "Delete", "ManageAccess"],
123+
legacy_org_id: "ce126279-48a2-4fc4-a9e5-da62a33d1b11"
123124
},
124125
"fcdb21f0-b1b6-426f-b83c-6cf4b903d737": {
125126
org_id: "fcdb21f0-b1b6-426f-b83c-6cf4b903d737",
@@ -146,6 +147,7 @@ test("client parses org information correctly", async () => {
146147
userAssignedRole: "Owner",
147148
userInheritedRolesPlusCurrentRole: ["Owner", "Admin", "Member"],
148149
userPermissions: ["View", "Edit", "Delete", "ManageAccess"],
150+
legacyOrgId: "ce126279-48a2-4fc4-a9e5-da62a33d1b11"
149151
},
150152
"fcdb21f0-b1b6-426f-b83c-6cf4b903d737": {
151153
orgId: "fcdb21f0-b1b6-426f-b83c-6cf4b903d737",
@@ -457,6 +459,7 @@ export type ApiOrgMemberInfo = {
457459
user_role: string
458460
inherited_user_roles_plus_current_role: string[]
459461
user_permissions: string[]
462+
legacy_org_id?: string
460463
}
461464
export type ApiOrgIdToOrgMemberInfo = {
462465
[org_id: string]: ApiOrgMemberInfo

src/user.test.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ const mockUserOrgInfo = new OrgMemberInfoClass(
88
"mock-org-name",
99
"Admin",
1010
["Admin", "Member"],
11-
["user::create", "user::delete"]
11+
["user::create", "user::delete"],
12+
"mockLegacyOrgId"
1213
)
1314

1415
const mockUser = new UserClass(
@@ -110,6 +111,7 @@ const mockUserOrgInfoMultiRole = new OrgMemberInfoClass(
110111
"Role A",
111112
["Role A"],
112113
["user::create", "user::delete"],
114+
"mockLegacyOrgId",
113115
OrgRoleStructure.MultiRole,
114116
["Role B", "Role C"],
115117
)

src/user.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ export interface OrgIdToOrgMemberInfoClass {
177177
export class OrgMemberInfoClass {
178178
public orgId: string
179179
public orgName: string
180+
public legacyOrgId?: string
180181
public orgMetadata: { [key: string]: any }
181182
public urlSafeOrgName: string
182183
public orgRoleStructure: OrgRoleStructure
@@ -194,11 +195,13 @@ export class OrgMemberInfoClass {
194195
userAssignedRole: string,
195196
userInheritedRolesPlusCurrentRole: string[],
196197
userPermissions: string[],
198+
legacyOrgId?: string,
197199
orgRoleStructure?: OrgRoleStructure,
198200
userAssignedAdditionalRoles?: string[]
199201
) {
200202
this.orgId = orgId
201203
this.orgName = orgName
204+
this.legacyOrgId = legacyOrgId
202205
this.orgMetadata = orgMetadata
203206
this.urlSafeOrgName = urlSafeOrgName
204207
this.orgRoleStructure = orgRoleStructure ?? OrgRoleStructure.SingleRole
@@ -245,6 +248,7 @@ export class OrgMemberInfoClass {
245248
obj.userAssignedRole,
246249
obj.userInheritedRolesPlusCurrentRole,
247250
obj.userPermissions,
251+
obj.legacyOrgId,
248252
obj.orgRoleStructure,
249253
obj.userAssignedAdditionalRoles
250254
)
@@ -274,6 +278,7 @@ export function convertOrgIdToOrgMemberInfo(
274278
orgMemberInfo.userAssignedRole,
275279
orgMemberInfo.userInheritedRolesPlusCurrentRole,
276280
orgMemberInfo.userPermissions,
281+
orgMemberInfo.legacyOrgId,
277282
orgMemberInfo.orgRoleStructure,
278283
orgMemberInfo.userAssignedAdditionalRoles
279284
)

0 commit comments

Comments
 (0)