Skip to content

Commit

Permalink
fix import + use WORKSPACE_MEMBERS instead of WORKSPACE_USERS
Browse files Browse the repository at this point in the history
  • Loading branch information
ijreilly committed Feb 24, 2025
1 parent 4d50500 commit c37792c
Show file tree
Hide file tree
Showing 17 changed files with 33 additions and 35 deletions.
2 changes: 1 addition & 1 deletion packages/twenty-front/src/generated/graphql.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1611,7 +1611,7 @@ export enum SettingsPermissions {
ROLES = 'ROLES',
SECURITY = 'SECURITY',
WORKSPACE = 'WORKSPACE',
WORKSPACE_USERS = 'WORKSPACE_USERS'
WORKSPACE_MEMBERS = 'WORKSPACE_MEMBERS'
}

export type SetupOidcSsoInput = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import { Route, Routes } from 'react-router-dom';
import { SettingsProtectedRouteWrapper } from '@/settings/components/SettingsProtectedRouteWrapper';
import { SettingsSkeletonLoader } from '@/settings/components/SettingsSkeletonLoader';
import { SettingsPath } from '@/types/SettingsPath';
import { SettingsPermissions } from 'twenty-shared';
import { FeatureFlagKey } from '~/generated-metadata/graphql';
import { SettingsPermissions } from '~/generated/graphql';

const SettingsAccountsCalendars = lazy(() =>
import('~/pages/settings/accounts/SettingsAccountsCalendars').then(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ import { ViewType } from '@/views/types/ViewType';
import { useCallback, useContext } from 'react';
import { useLocation } from 'react-router-dom';
import { useSetRecoilState } from 'recoil';
import { isDefined, SettingsPermissions } from 'twenty-shared';
import { isDefined } from 'twenty-shared';
import { IconEyeOff, IconSettings } from 'twenty-ui';
import { SettingsPermissions } from '~/generated/graphql';
import { useNavigateSettings } from '~/hooks/useNavigateSettings';

type UseRecordGroupActionsParams = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,12 @@ import { renderHook } from '@testing-library/react';
import { ReactNode } from 'react';
import { MemoryRouter } from 'react-router-dom';
import { MutableSnapshot, RecoilRoot } from 'recoil';
import { SettingsPermissions } from 'twenty-shared';
import { Billing, FeatureFlagKey, OnboardingStatus } from '~/generated/graphql';
import {
Billing,
FeatureFlagKey,
OnboardingStatus,
SettingsPermissions,
} from '~/generated/graphql';

import { currentUserState } from '@/auth/states/currentUserState';
import { billingState } from '@/client-config/states/billingState';
Expand Down Expand Up @@ -57,7 +61,7 @@ describe('useSettingsNavigationItems', () => {
it('should hide workspace settings when no permissions', () => {
(useSettingsPermissionMap as jest.Mock).mockImplementation(() => ({
[SettingsPermissions.WORKSPACE]: false,
[SettingsPermissions.WORKSPACE_USERS]: false,
[SettingsPermissions.WORKSPACE_MEMBERS]: false,
[SettingsPermissions.DATA_MODEL]: false,
[SettingsPermissions.API_KEYS_AND_WEBHOOKS]: false,
[SettingsPermissions.ROLES]: false,
Expand All @@ -78,7 +82,7 @@ describe('useSettingsNavigationItems', () => {
it('should show workspace settings when has permissions', () => {
(useSettingsPermissionMap as jest.Mock).mockImplementation(() => ({
[SettingsPermissions.WORKSPACE]: true,
[SettingsPermissions.WORKSPACE_USERS]: true,
[SettingsPermissions.WORKSPACE_MEMBERS]: true,
[SettingsPermissions.DATA_MODEL]: true,
[SettingsPermissions.API_KEYS_AND_WEBHOOKS]: true,
[SettingsPermissions.ROLES]: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ import {
} from 'twenty-ui';

import { SettingsPath } from '@/types/SettingsPath';
import { SettingsPermissions } from 'twenty-shared';
import { FeatureFlagKey } from '~/generated-metadata/graphql';
import { SettingsPermissions } from '~/generated/graphql';

import { currentUserState } from '@/auth/states/currentUserState';
import { billingState } from '@/client-config/states/billingState';
Expand Down Expand Up @@ -111,7 +111,7 @@ const useSettingsNavigationItems = (): SettingsNavigationSection[] => {
label: t`Members`,
path: SettingsPath.WorkspaceMembersPage,
Icon: IconUsers,
isHidden: !permissionMap[SettingsPermissions.WORKSPACE_USERS],
isHidden: !permissionMap[SettingsPermissions.WORKSPACE_MEMBERS],
},
{
label: t`Billing`,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { currentUserWorkspaceState } from '@/auth/states/currentUserWorkspaceState';
import { useRecoilValue } from 'recoil';
import { SettingsPermissions } from 'twenty-shared';
import { SettingsPermissions } from '~/generated/graphql';

export const useHasSettingsPermission = (
settingsPermission?: SettingsPermissions,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { currentUserWorkspaceState } from '@/auth/states/currentUserWorkspaceState';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
import { useRecoilValue } from 'recoil';
import { SettingsPermissions } from 'twenty-shared';
import { FeatureFlagKey } from '~/generated-metadata/graphql';
import { SettingsPermissions } from '~/generated/graphql';
import { buildRecordFromKeysWithSameValue } from '~/utils/array/buildRecordFromKeysWithSameValue';

export const useSettingsPermissionMap = (): Record<
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import {
IconTrashX,
Section,
} from 'twenty-ui';
import { Role, SettingsPermissions } from '~/generated-metadata/graphql';
import { Role } from '~/generated-metadata/graphql';
import { SettingsPermissions } from '~/generated/graphql';
import { RolePermissionsObjectsTableHeader } from '~/pages/settings/roles/components/RolePermissionsObjectsTableHeader';
import { RolePermissionsSettingsTableHeader } from '~/pages/settings/roles/components/RolePermissionsSettingsTableHeader';
import { RolePermissionsSettingsTableRow } from '~/pages/settings/roles/components/RolePermissionsSettingsTableRow';
Expand Down Expand Up @@ -81,7 +82,7 @@ export const RolePermissions = ({ role }: RolePermissionsProps) => {
value: role.canUpdateAllSettings,
},
{
key: SettingsPermissions.WORKSPACE_USERS,
key: SettingsPermissions.WORKSPACE_MEMBERS,
label: 'Workspace Users',
type: 'Members',
value: role.canUpdateAllSettings,
Expand Down
2 changes: 1 addition & 1 deletion packages/twenty-front/src/testing/mock-data/users.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ export const mockedUserData: MockedUser = {
workspaceMember: mockedWorkspaceMemberData,
currentWorkspace: mockCurrentWorkspace,
currentUserWorkspace: {
settingsPermissions: [SettingsPermissions.WORKSPACE_USERS],
settingsPermissions: [SettingsPermissions.WORKSPACE_MEMBERS],
},
locale: 'en',
workspaces: [{ workspace: mockCurrentWorkspace }],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import {
capitalize,
isObjectRecordUnderObjectRecordsPermissions,
PermissionsOnAllObjectRecords,
SettingsPermissions,
} from 'twenty-shared';
import { DataSource, ObjectLiteral } from 'typeorm';

Expand Down Expand Up @@ -35,6 +34,7 @@ import {
} from 'src/engine/core-modules/auth/auth.exception';
import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum';
import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service';
import { SettingsPermissions } from 'src/engine/metadata-modules/permissions/constants/settings-permissions.constants';
import {
PermissionsException,
PermissionsExceptionCode,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Args, Context, Mutation, Query, Resolver } from '@nestjs/graphql';
import { InjectRepository } from '@nestjs/typeorm';

import omit from 'lodash.omit';
import { SOURCE_LOCALE, SettingsPermissions } from 'twenty-shared';
import { SOURCE_LOCALE } from 'twenty-shared';
import { Repository } from 'typeorm';

import { ApiKeyTokenInput } from 'src/engine/core-modules/auth/dto/api-key-token.input';
Expand Down Expand Up @@ -50,6 +50,7 @@ import { OriginHeader } from 'src/engine/decorators/auth/origin-header.decorator
import { SettingsPermissionsGuard } from 'src/engine/guards/settings-permissions.guard';
import { UserAuthGuard } from 'src/engine/guards/user-auth.guard';
import { WorkspaceAuthGuard } from 'src/engine/guards/workspace-auth.guard';
import { SettingsPermissions } from 'src/engine/metadata-modules/permissions/constants/settings-permissions.constants';
import { PermissionsGraphqlApiExceptionFilter } from 'src/engine/metadata-modules/permissions/utils/permissions-graphql-api-exception.filter';

import { GetAuthTokensFromLoginTokenInput } from './dto/get-auth-tokens-from-login-token.input';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
import { Field, ObjectType, registerEnumType } from '@nestjs/graphql';

import { IDField } from '@ptc-org/nestjs-query-graphql';
import {
PermissionsOnAllObjectRecords,
SettingsPermissions,
} from 'twenty-shared';
import { PermissionsOnAllObjectRecords } from 'twenty-shared';
import {
Column,
CreateDateColumn,
Expand All @@ -23,6 +20,7 @@ import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/
import { TwoFactorMethod } from 'src/engine/core-modules/two-factor-method/two-factor-method.entity';
import { User } from 'src/engine/core-modules/user/user.entity';
import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity';
import { SettingsPermissions } from 'src/engine/metadata-modules/permissions/constants/settings-permissions.constants';

registerEnumType(SettingsPermissions, {
name: 'SettingsPermissions',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,7 @@ import crypto from 'crypto';

import { GraphQLJSONObject } from 'graphql-type-json';
import { FileUpload, GraphQLUpload } from 'graphql-upload';
import {
PermissionsOnAllObjectRecords,
SettingsPermissions,
} from 'twenty-shared';
import { PermissionsOnAllObjectRecords } from 'twenty-shared';
import { In, Repository } from 'typeorm';

import { SupportDriver } from 'src/engine/core-modules/environment/interfaces/support.interface';
Expand Down Expand Up @@ -51,6 +48,7 @@ import { AuthUser } from 'src/engine/decorators/auth/auth-user.decorator';
import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorator';
import { OriginHeader } from 'src/engine/decorators/auth/origin-header.decorator';
import { WorkspaceAuthGuard } from 'src/engine/guards/workspace-auth.guard';
import { SettingsPermissions } from 'src/engine/metadata-modules/permissions/constants/settings-permissions.constants';
import { PermissionsService } from 'src/engine/metadata-modules/permissions/permissions.service';
import { RoleDTO } from 'src/engine/metadata-modules/role/dtos/role.dto';
import { UserRoleService } from 'src/engine/metadata-modules/user-role/user-role.service';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { SendInvitationsInput } from './dtos/send-invitations.input';

@UseGuards(
WorkspaceAuthGuard,
SettingsPermissionsGuard(SettingsPermissions.WORKSPACE_USERS),
SettingsPermissionsGuard(SettingsPermissions.WORKSPACE_MEMBERS),
)
@UseFilters(PermissionsGraphqlApiExceptionFilter)
@Resolver()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,7 @@ import { InjectRepository } from '@nestjs/typeorm';
import assert from 'assert';

import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm';
import {
isDefined,
SettingsPermissions,
WorkspaceActivationStatus,
} from 'twenty-shared';
import { isDefined, WorkspaceActivationStatus } from 'twenty-shared';
import { Repository } from 'typeorm';

import { BillingEntitlementKey } from 'src/engine/core-modules/billing/enums/billing-entitlement-key.enum';
Expand Down Expand Up @@ -37,6 +33,7 @@ import {
WorkspaceExceptionCode,
} from 'src/engine/core-modules/workspace/workspace.exception';
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
import { SettingsPermissions } from 'src/engine/metadata-modules/permissions/constants/settings-permissions.constants';
import {
PermissionsException,
PermissionsExceptionCode,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export enum SettingsPermissions {
API_KEYS_AND_WEBHOOKS = 'API_KEYS_AND_WEBHOOKS',
WORKSPACE = 'WORKSPACE',
WORKSPACE_USERS = 'WORKSPACE_USERS',
WORKSPACE_MEMBERS = 'WORKSPACE_MEMBERS',
ROLES = 'ROLES',
DATA_MODEL = 'DATA_MODEL',
ADMIN_PANEL = 'ADMIN_PANEL',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import { Injectable } from '@nestjs/common';

import {
PermissionsOnAllObjectRecords,
SettingsPermissions,
} from 'twenty-shared';
import { PermissionsOnAllObjectRecords } from 'twenty-shared';

import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service';
import { SettingsPermissions } from 'src/engine/metadata-modules/permissions/constants/settings-permissions.constants';
import {
PermissionsException,
PermissionsExceptionCode,
Expand Down

0 comments on commit c37792c

Please sign in to comment.