diff --git a/webapp/packages/core-authentication/src/RolesResource.ts b/webapp/packages/core-authentication/src/RolesResource.ts index 19dacbdc95..935d64681d 100644 --- a/webapp/packages/core-authentication/src/RolesResource.ts +++ b/webapp/packages/core-authentication/src/RolesResource.ts @@ -9,18 +9,18 @@ import { injectable } from '@cloudbeaver/core-di'; import { GraphQLService, - AdminRoleInfo, CachedMapResource, ResourceKey, resourceKeyList, ResourceKeyList, - ResourceKeyUtils + ResourceKeyUtils, + AdminRoleInfoFragment } from '@cloudbeaver/core-sdk'; import { MetadataMap } from '@cloudbeaver/core-utils'; const NEW_ROLE_SYMBOL = Symbol('new-role'); -export type RoleInfo = Pick; +export type RoleInfo = AdminRoleInfoFragment; type NewRole = RoleInfo & { [NEW_ROLE_SYMBOL]: boolean; timestamp: number }; @injectable() diff --git a/webapp/packages/core-sdk/src/queries/authentication/Roles/createRole.gql b/webapp/packages/core-sdk/src/queries/authentication/Roles/createRole.gql index fe77261760..72fc091327 100644 --- a/webapp/packages/core-sdk/src/queries/authentication/Roles/createRole.gql +++ b/webapp/packages/core-sdk/src/queries/authentication/Roles/createRole.gql @@ -1,8 +1,5 @@ query createRole($roleId: ID!, $roleName: String, $description: String ) { role: createRole(roleId: $roleId, roleName: $roleName, description: $description) { - roleId, - roleName, - description, - #rolePermissions + ...AdminRoleInfo } } \ No newline at end of file diff --git a/webapp/packages/core-sdk/src/queries/authentication/Roles/getRolesList.gql b/webapp/packages/core-sdk/src/queries/authentication/Roles/getRolesList.gql index ca3407a2fe..8768413470 100644 --- a/webapp/packages/core-sdk/src/queries/authentication/Roles/getRolesList.gql +++ b/webapp/packages/core-sdk/src/queries/authentication/Roles/getRolesList.gql @@ -1,8 +1,5 @@ query getRolesList($roleId: ID) { roles: listRoles(roleId: $roleId) { - roleId - roleName - description - # rolePermissions + ...AdminRoleInfo } } \ No newline at end of file diff --git a/webapp/packages/core-sdk/src/queries/authentication/Roles/updateRole.gql b/webapp/packages/core-sdk/src/queries/authentication/Roles/updateRole.gql index e827a8ce64..a35a5ba5f7 100644 --- a/webapp/packages/core-sdk/src/queries/authentication/Roles/updateRole.gql +++ b/webapp/packages/core-sdk/src/queries/authentication/Roles/updateRole.gql @@ -1,8 +1,5 @@ query updateRole($roleId: ID!, $roleName: String, $description: String ) { role: updateRole(roleId: $roleId, roleName: $roleName, description: $description) { - roleId, - roleName, - description, - # rolePermissions + ...AdminRoleInfo } } \ No newline at end of file diff --git a/webapp/packages/core-sdk/src/queries/fragments/AdminRoleInfo.gql b/webapp/packages/core-sdk/src/queries/fragments/AdminRoleInfo.gql new file mode 100644 index 0000000000..96d091863e --- /dev/null +++ b/webapp/packages/core-sdk/src/queries/fragments/AdminRoleInfo.gql @@ -0,0 +1,5 @@ +fragment AdminRoleInfo on AdminRoleInfo { + roleId + roleName + description +} \ No newline at end of file diff --git a/webapp/packages/core-sdk/src/sdk.ts b/webapp/packages/core-sdk/src/sdk.ts index 7f73c24225..8738d72d07 100644 --- a/webapp/packages/core-sdk/src/sdk.ts +++ b/webapp/packages/core-sdk/src/sdk.ts @@ -1116,7 +1116,7 @@ export type CreateRoleQueryVariables = Exact<{ description?: Maybe; }>; -export interface CreateRoleQuery { role: Pick } +export interface CreateRoleQuery { role: AdminRoleInfoFragment } export type DeleteRoleQueryVariables = Exact<{ roleId: Scalars['ID']; @@ -1128,7 +1128,7 @@ export type GetRolesListQueryVariables = Exact<{ roleId?: Maybe; }>; -export interface GetRolesListQuery { roles: Array>> } +export interface GetRolesListQuery { roles: Array> } export type UpdateRoleQueryVariables = Exact<{ roleId: Scalars['ID']; @@ -1136,7 +1136,7 @@ export type UpdateRoleQueryVariables = Exact<{ description?: Maybe; }>; -export interface UpdateRoleQuery { role: Pick } +export interface UpdateRoleQuery { role: AdminRoleInfoFragment } export type AuthChangeLocalPasswordQueryVariables = Exact<{ oldPassword: Scalars['String']; @@ -1569,6 +1569,8 @@ export type NavGetStructContainersQueryVariables = Exact<{ export interface NavGetStructContainersQuery { navGetStructContainers: { catalogList: Array>; schemaList: Array> } } +export type AdminRoleInfoFragment = Pick; + export type AdminUserInfoFragment = ( Pick & { origins: ObjectOriginInfoFragment[] } @@ -1870,6 +1872,13 @@ export type SqlResultCloseMutationVariables = Exact<{ export interface SqlResultCloseMutation { result: Mutation['sqlResultClose'] } +export const AdminRoleInfoFragmentDoc = ` + fragment AdminRoleInfo on AdminRoleInfo { + roleId + roleName + description +} + `; export const ObjectOriginInfoFragmentDoc = ` fragment ObjectOriginInfo on ObjectOrigin { type @@ -2102,12 +2111,10 @@ export const CreateRoleDocument = ` roleName: $roleName description: $description ) { - roleId - roleName - description + ...AdminRoleInfo } } - `; + ${AdminRoleInfoFragmentDoc}`; export const DeleteRoleDocument = ` query deleteRole($roleId: ID!) { deleteRole(roleId: $roleId) @@ -2116,12 +2123,10 @@ export const DeleteRoleDocument = ` export const GetRolesListDocument = ` query getRolesList($roleId: ID) { roles: listRoles(roleId: $roleId) { - roleId - roleName - description + ...AdminRoleInfo } } - `; + ${AdminRoleInfoFragmentDoc}`; export const UpdateRoleDocument = ` query updateRole($roleId: ID!, $roleName: String, $description: String) { role: updateRole( @@ -2129,12 +2134,10 @@ export const UpdateRoleDocument = ` roleName: $roleName description: $description ) { - roleId - roleName - description + ...AdminRoleInfo } } - `; + ${AdminRoleInfoFragmentDoc}`; export const AuthChangeLocalPasswordDocument = ` query authChangeLocalPassword($oldPassword: String!, $newPassword: String!) { authChangeLocalPassword(oldPassword: $oldPassword, newPassword: $newPassword) diff --git a/webapp/packages/core-utils/src/isMapsEqual.ts b/webapp/packages/core-utils/src/isMapsEqual.ts index 2b886d9a3a..6ead9e44dd 100644 --- a/webapp/packages/core-utils/src/isMapsEqual.ts +++ b/webapp/packages/core-utils/src/isMapsEqual.ts @@ -12,8 +12,7 @@ export function isMapsEqual(map1: Map, map2: Map): boolean { } for (const [key, value] of map1) { - const val = map2.get(key); - if (val !== value || (val === undefined && !map2.has(key))) { + if (!map2.has(key) || map2.get(key) !== value) { return false; } }