[permissions] Rename enum SettingsFeatures --> SettingsPermissions (#10389)

This commit is contained in:
Marie
2025-02-21 17:04:30 +01:00
committed by GitHub
parent bf92860d19
commit 50bd91262f
31 changed files with 119 additions and 109 deletions

View File

@ -13,7 +13,7 @@ import {
Resolver,
} from '@nestjs/graphql';
import { FieldMetadataType, SettingsFeatures } from 'twenty-shared';
import { FieldMetadataType, SettingsPermissions } from 'twenty-shared';
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';
@ -72,7 +72,7 @@ export class FieldMetadataResolver {
);
}
@UseGuards(SettingsPermissionsGuard(SettingsFeatures.DATA_MODEL))
@UseGuards(SettingsPermissionsGuard(SettingsPermissions.DATA_MODEL))
@Mutation(() => FieldMetadataDTO)
async createOneField(
@Args('input') input: CreateOneFieldMetadataInput,
@ -88,7 +88,7 @@ export class FieldMetadataResolver {
}
}
@UseGuards(SettingsPermissionsGuard(SettingsFeatures.DATA_MODEL))
@UseGuards(SettingsPermissionsGuard(SettingsPermissions.DATA_MODEL))
@Mutation(() => FieldMetadataDTO)
async updateOneField(
@Args('input') input: UpdateOneFieldMetadataInput,
@ -104,7 +104,7 @@ export class FieldMetadataResolver {
}
}
@UseGuards(SettingsPermissionsGuard(SettingsFeatures.DATA_MODEL))
@UseGuards(SettingsPermissionsGuard(SettingsPermissions.DATA_MODEL))
@Mutation(() => FieldMetadataDTO)
async deleteOneField(
@Args('input') input: DeleteOneFieldInput,

View File

@ -7,7 +7,7 @@ import {
PagingStrategies,
} from '@ptc-org/nestjs-query-graphql';
import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm';
import { SettingsFeatures } from 'twenty-shared';
import { SettingsPermissions } from 'twenty-shared';
import { TypeORMModule } from 'src/database/typeorm/typeorm.module';
import { FeatureFlag } from 'src/engine/core-modules/feature-flag/feature-flag.entity';
@ -78,7 +78,7 @@ import { UpdateObjectPayload } from './dtos/update-object.input';
},
create: {
many: { disabled: true },
guards: [SettingsPermissionsGuard(SettingsFeatures.DATA_MODEL)],
guards: [SettingsPermissionsGuard(SettingsPermissions.DATA_MODEL)],
},
update: { disabled: true },
delete: { disabled: true },

View File

@ -8,7 +8,7 @@ import {
Resolver,
} from '@nestjs/graphql';
import { SettingsFeatures } from 'twenty-shared';
import { SettingsPermissions } from 'twenty-shared';
import { I18nContext } from 'src/engine/core-modules/i18n/types/i18n-context.type';
import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity';
@ -73,7 +73,7 @@ export class ObjectMetadataResolver {
);
}
@UseGuards(SettingsPermissionsGuard(SettingsFeatures.DATA_MODEL))
@UseGuards(SettingsPermissionsGuard(SettingsPermissions.DATA_MODEL))
@Mutation(() => ObjectMetadataDTO)
async deleteOneObject(
@Args('input') input: DeleteOneObjectInput,
@ -89,7 +89,7 @@ export class ObjectMetadataResolver {
}
}
@UseGuards(SettingsPermissionsGuard(SettingsFeatures.DATA_MODEL))
@UseGuards(SettingsPermissionsGuard(SettingsPermissions.DATA_MODEL))
@Mutation(() => ObjectMetadataDTO)
async updateOneObject(
@Args('input') input: UpdateOneObjectInput,

View File

@ -1,6 +1,9 @@
import { Injectable } from '@nestjs/common';
import { PermissionsOnAllObjectRecords, SettingsFeatures } from 'twenty-shared';
import {
PermissionsOnAllObjectRecords,
SettingsPermissions,
} from 'twenty-shared';
import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service';
import {
@ -25,7 +28,7 @@ export class PermissionsService {
userWorkspaceId: string;
workspaceId: string;
}): Promise<{
settingsPermissions: Record<SettingsFeatures, boolean>;
settingsPermissions: Record<SettingsPermissions, boolean>;
objectRecordsPermissions: Record<PermissionsOnAllObjectRecords, boolean>;
}> {
const [roleOfUserWorkspace] = await this.userRoleService
@ -41,12 +44,12 @@ export class PermissionsService {
hasPermissionOnSettingFeature = true;
}
const settingsPermissionsMap = Object.keys(SettingsFeatures).reduce(
const settingsPermissionsMap = Object.keys(SettingsPermissions).reduce(
(acc, feature) => ({
...acc,
[feature]: hasPermissionOnSettingFeature,
}),
{} as Record<SettingsFeatures, boolean>,
{} as Record<SettingsPermissions, boolean>,
);
const objectRecordsPermissionsMap: Record<
@ -76,7 +79,7 @@ export class PermissionsService {
}: {
userWorkspaceId: string;
workspaceId: string;
_setting: SettingsFeatures;
_setting: SettingsPermissions;
}): Promise<boolean> {
const [roleOfUserWorkspace] = await this.userRoleService
.getRolesByUserWorkspaces({

View File

@ -5,7 +5,7 @@ import {
PagingStrategies,
} from '@ptc-org/nestjs-query-graphql';
import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm';
import { SettingsFeatures } from 'twenty-shared';
import { SettingsPermissions } from 'twenty-shared';
import { FeatureFlagModule } from 'src/engine/core-modules/feature-flag/feature-flag.module';
import { SettingsPermissionsGuard } from 'src/engine/guards/settings-permissions.guard';
@ -57,7 +57,7 @@ import { RelationMetadataDTO } from './dtos/relation-metadata.dto';
pagingStrategy: PagingStrategies.CURSOR,
create: {
many: { disabled: true },
guards: [SettingsPermissionsGuard(SettingsFeatures.DATA_MODEL)],
guards: [SettingsPermissionsGuard(SettingsPermissions.DATA_MODEL)],
},
update: { disabled: true },
delete: { disabled: true },

View File

@ -1,7 +1,7 @@
import { UseFilters, UseGuards } from '@nestjs/common';
import { Args, Mutation, Resolver } from '@nestjs/graphql';
import { SettingsFeatures } from 'twenty-shared';
import { SettingsPermissions } from 'twenty-shared';
import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity';
import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorator';
@ -21,7 +21,7 @@ export class RelationMetadataResolver {
private readonly relationMetadataService: RelationMetadataService,
) {}
@UseGuards(SettingsPermissionsGuard(SettingsFeatures.DATA_MODEL))
@UseGuards(SettingsPermissionsGuard(SettingsPermissions.DATA_MODEL))
@Mutation(() => RelationMetadataDTO)
async deleteOneRelation(
@Args('input') input: DeleteOneRelationInput,

View File

@ -8,7 +8,7 @@ import {
Resolver,
} from '@nestjs/graphql';
import { isDefined, SettingsFeatures } from 'twenty-shared';
import { isDefined, SettingsPermissions } from 'twenty-shared';
import { UserWorkspaceService } from 'src/engine/core-modules/user-workspace/user-workspace.service';
import { WorkspaceMember } from 'src/engine/core-modules/user/dtos/workspace-member.dto';
@ -22,7 +22,7 @@ import { UserRoleService } from 'src/engine/metadata-modules/user-role/user-role
import { WorkspaceMemberWorkspaceEntity } from 'src/modules/workspace-member/standard-objects/workspace-member.workspace-entity';
@Resolver(() => RoleDTO)
@UseGuards(SettingsPermissionsGuard(SettingsFeatures.ROLES))
@UseGuards(SettingsPermissionsGuard(SettingsPermissions.ROLES))
@UseFilters(PermissionsGraphqlApiExceptionFilter)
export class RoleResolver {
constructor(