lint: migrate prettier to oxfmt (#20783)
Most changes are `implements` being unwrapped this is not a oxfmt regression Prettier in 3.7 (we're on 3.1) changed this behaviour prettier blog [post](https://prettier.io/blog/2025/11/27/3.7.0#change-18094) This unifies our linting tooling --------- Co-authored-by: github-actions <github-actions@twenty.com> Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
+1
-3
@@ -11,9 +11,7 @@ import type { SignedFileOutput } from 'src/engine/api/common/common-args-process
|
||||
import { type FileUrlService } from 'src/engine/core-modules/file/file-url/file-url.service';
|
||||
import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type';
|
||||
|
||||
export class FilesFieldQueryResultGetterHandler
|
||||
implements QueryResultGetterHandlerInterface
|
||||
{
|
||||
export class FilesFieldQueryResultGetterHandler implements QueryResultGetterHandlerInterface {
|
||||
constructor(private readonly fileUrlService: FileUrlService) {}
|
||||
|
||||
async handle(
|
||||
|
||||
+1
-3
@@ -30,9 +30,7 @@ const parseBlocknoteJsonSafely = (
|
||||
}
|
||||
};
|
||||
|
||||
export class RichTextFieldQueryResultGetterHandler
|
||||
implements QueryResultGetterHandlerInterface
|
||||
{
|
||||
export class RichTextFieldQueryResultGetterHandler implements QueryResultGetterHandlerInterface {
|
||||
constructor(private readonly fileUrlService: FileUrlService) {}
|
||||
|
||||
async handle(
|
||||
|
||||
+3
-3
@@ -34,9 +34,9 @@ export interface GraphQLContext extends YogaDriverServerContext<'express'> {
|
||||
}
|
||||
|
||||
@Injectable()
|
||||
export class GraphQLConfigService
|
||||
implements GqlOptionsFactory<YogaDriverConfig<'express'>>
|
||||
{
|
||||
export class GraphQLConfigService implements GqlOptionsFactory<
|
||||
YogaDriverConfig<'express'>
|
||||
> {
|
||||
constructor(
|
||||
private readonly exceptionHandlerService: ExceptionHandlerService,
|
||||
private readonly twentyConfigService: TwentyConfigService,
|
||||
|
||||
+1
-3
@@ -7,9 +7,7 @@ import { type FileUrlService } from 'src/engine/core-modules/file/file-url/file-
|
||||
import { extractFileIdFromUrl } from 'src/engine/core-modules/file/files-field/utils/extract-file-id-from-url.util';
|
||||
import { type WorkspaceMemberWorkspaceEntity } from 'src/modules/workspace-member/standard-objects/workspace-member.workspace-entity';
|
||||
|
||||
export class WorkspaceMemberQueryResultGetterHandler
|
||||
implements QueryResultGetterHandlerInterface
|
||||
{
|
||||
export class WorkspaceMemberQueryResultGetterHandler implements QueryResultGetterHandlerInterface {
|
||||
constructor(private readonly fileUrlService: FileUrlService) {}
|
||||
|
||||
async handle(
|
||||
|
||||
+1
-3
@@ -17,9 +17,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class CreateManyResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class CreateManyResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.CREATE_MANY;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -16,9 +16,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class CreateOneResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class CreateOneResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.CREATE_ONE;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -17,9 +17,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class DeleteManyResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class DeleteManyResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.DELETE_MANY;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -16,9 +16,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class DeleteOneResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class DeleteOneResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.DELETE_ONE;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -17,9 +17,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class DestroyManyResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class DestroyManyResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.DESTROY_MANY;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -16,9 +16,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class DestroyOneResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class DestroyOneResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.DESTROY_ONE;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -17,9 +17,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class FindDuplicatesResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class FindDuplicatesResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.FIND_DUPLICATES;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -17,9 +17,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class FindManyResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class FindManyResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.FIND_MANY;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -16,9 +16,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class FindOneResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class FindOneResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.FIND_ONE;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -17,9 +17,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class GroupByResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class GroupByResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.GROUP_BY;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -16,9 +16,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class MergeManyResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class MergeManyResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.MERGE_MANY;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -17,9 +17,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class RestoreManyResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class RestoreManyResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.RESTORE_MANY;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -16,9 +16,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class RestoreOneResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class RestoreOneResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.RESTORE_ONE;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -17,9 +17,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class UpdateManyResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class UpdateManyResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.UPDATE_MANY;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -16,9 +16,7 @@ import { RESOLVER_METHOD_NAMES } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { createQueryRunnerContext } from 'src/engine/api/graphql/workspace-resolver-builder/utils/create-query-runner-context.util';
|
||||
|
||||
@Injectable()
|
||||
export class UpdateOneResolverFactory
|
||||
implements WorkspaceResolverBuilderFactoryInterface
|
||||
{
|
||||
export class UpdateOneResolverFactory implements WorkspaceResolverBuilderFactoryInterface {
|
||||
public static methodName = RESOLVER_METHOD_NAMES.UPDATE_ONE;
|
||||
|
||||
constructor(
|
||||
|
||||
+1
-3
@@ -16,9 +16,7 @@ import {
|
||||
import { type WorkspaceAuthContext } from 'src/engine/core-modules/auth/types/workspace-auth-context.type';
|
||||
|
||||
@WorkspaceQueryHook(`*.createMany`)
|
||||
export class CreatedByCreateManyPreQueryHook
|
||||
implements WorkspacePreQueryHookInstance
|
||||
{
|
||||
export class CreatedByCreateManyPreQueryHook implements WorkspacePreQueryHookInstance {
|
||||
constructor(
|
||||
private readonly actorFromAuthContextService: ActorFromAuthContextService,
|
||||
) {}
|
||||
|
||||
+1
-3
@@ -16,9 +16,7 @@ import {
|
||||
import { type WorkspaceAuthContext } from 'src/engine/core-modules/auth/types/workspace-auth-context.type';
|
||||
|
||||
@WorkspaceQueryHook(`*.createOne`)
|
||||
export class CreatedByCreateOnePreQueryHook
|
||||
implements WorkspacePreQueryHookInstance
|
||||
{
|
||||
export class CreatedByCreateOnePreQueryHook implements WorkspacePreQueryHookInstance {
|
||||
constructor(
|
||||
private readonly actorFromAuthContextService: ActorFromAuthContextService,
|
||||
) {}
|
||||
|
||||
+1
-3
@@ -16,9 +16,7 @@ import {
|
||||
import { type WorkspaceAuthContext } from 'src/engine/core-modules/auth/types/workspace-auth-context.type';
|
||||
|
||||
@WorkspaceQueryHook(`*.updateMany`)
|
||||
export class UpdatedByUpdateManyPreQueryHook
|
||||
implements WorkspacePreQueryHookInstance
|
||||
{
|
||||
export class UpdatedByUpdateManyPreQueryHook implements WorkspacePreQueryHookInstance {
|
||||
constructor(
|
||||
private readonly actorFromAuthContextService: ActorFromAuthContextService,
|
||||
) {}
|
||||
|
||||
+1
-3
@@ -16,9 +16,7 @@ import {
|
||||
import { type WorkspaceAuthContext } from 'src/engine/core-modules/auth/types/workspace-auth-context.type';
|
||||
|
||||
@WorkspaceQueryHook(`*.updateOne`)
|
||||
export class UpdatedByUpdateOnePreQueryHook
|
||||
implements WorkspacePreQueryHookInstance
|
||||
{
|
||||
export class UpdatedByUpdateOnePreQueryHook implements WorkspacePreQueryHookInstance {
|
||||
constructor(
|
||||
private readonly actorFromAuthContextService: ActorFromAuthContextService,
|
||||
) {}
|
||||
|
||||
+3
-3
@@ -5,9 +5,9 @@ import {
|
||||
|
||||
import { type AppTokenEntity } from 'src/engine/core-modules/app-token/app-token.entity';
|
||||
|
||||
export class BeforeCreateOneAppToken<T extends AppTokenEntity>
|
||||
implements BeforeCreateOneHook<T>
|
||||
{
|
||||
export class BeforeCreateOneAppToken<
|
||||
T extends AppTokenEntity,
|
||||
> implements BeforeCreateOneHook<T> {
|
||||
async run(
|
||||
instance: CreateOneInputType<T>,
|
||||
// oxlint-disable-next-line @typescripttypescript/no-explicit-any
|
||||
|
||||
+1
-3
@@ -5,9 +5,7 @@ import { formatDateTimeForClickHouse } from 'src/database/clickHouse/clickHouse.
|
||||
import { type ApplicationLogEntry } from 'src/engine/core-modules/application-logs/interfaces/application-log-entry.interface';
|
||||
import { type ApplicationLogDriverInterface } from 'src/engine/core-modules/application-logs/interfaces/application-log-driver.interface';
|
||||
|
||||
export class ClickHouseApplicationLogDriver
|
||||
implements ApplicationLogDriverInterface
|
||||
{
|
||||
export class ClickHouseApplicationLogDriver implements ApplicationLogDriverInterface {
|
||||
private readonly logger = new Logger(ClickHouseApplicationLogDriver.name);
|
||||
|
||||
constructor(private readonly clickHouseService: ClickHouseService) {}
|
||||
|
||||
+1
-3
@@ -3,9 +3,7 @@ import { Logger } from '@nestjs/common';
|
||||
import { type ApplicationLogDriverInterface } from 'src/engine/core-modules/application-logs/interfaces/application-log-driver.interface';
|
||||
import { type ApplicationLogEntry } from 'src/engine/core-modules/application-logs/interfaces/application-log-entry.interface';
|
||||
|
||||
export class ConsoleApplicationLogDriver
|
||||
implements ApplicationLogDriverInterface
|
||||
{
|
||||
export class ConsoleApplicationLogDriver implements ApplicationLogDriverInterface {
|
||||
private readonly logger = new Logger(ConsoleApplicationLogDriver.name);
|
||||
|
||||
async writeLogs(entries: ApplicationLogEntry[]): Promise<void> {
|
||||
|
||||
+1
-3
@@ -1,8 +1,6 @@
|
||||
import { type ApplicationLogDriverInterface } from 'src/engine/core-modules/application-logs/interfaces/application-log-driver.interface';
|
||||
|
||||
export class DisabledApplicationLogDriver
|
||||
implements ApplicationLogDriverInterface
|
||||
{
|
||||
export class DisabledApplicationLogDriver implements ApplicationLogDriverInterface {
|
||||
async writeLogs(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
+1
-3
@@ -12,9 +12,7 @@ import {
|
||||
} from 'src/engine/core-modules/graphql/utils/graphql-errors.util';
|
||||
|
||||
@Catch(ApplicationVariableEntityException)
|
||||
export class ApplicationVariableEntityExceptionFilter
|
||||
implements ExceptionFilter
|
||||
{
|
||||
export class ApplicationVariableEntityExceptionFilter implements ExceptionFilter {
|
||||
catch(exception: ApplicationVariableEntityException) {
|
||||
switch (exception.code) {
|
||||
case ApplicationVariableEntityExceptionCode.APPLICATION_VARIABLE_NOT_FOUND:
|
||||
|
||||
+7
-14
@@ -128,8 +128,7 @@ describe('SignInUpService workspace-creation policy', () => {
|
||||
} = createSignInUpServiceForTests();
|
||||
|
||||
mockConfigurationValues.IS_MULTIWORKSPACE_ENABLED = true;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS =
|
||||
false;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS = false;
|
||||
mockWorkspaceRepository.count.mockResolvedValue(0);
|
||||
mockUserRepository.count.mockResolvedValue(0);
|
||||
jest
|
||||
@@ -157,8 +156,7 @@ describe('SignInUpService workspace-creation policy', () => {
|
||||
} = createSignInUpServiceForTests();
|
||||
|
||||
mockConfigurationValues.IS_MULTIWORKSPACE_ENABLED = true;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS =
|
||||
true;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS = true;
|
||||
mockWorkspaceRepository.count.mockResolvedValue(0);
|
||||
mockUserRepository.count.mockResolvedValue(0);
|
||||
jest
|
||||
@@ -186,8 +184,7 @@ describe('SignInUpService workspace-creation policy', () => {
|
||||
} = createSignInUpServiceForTests();
|
||||
|
||||
mockConfigurationValues.IS_MULTIWORKSPACE_ENABLED = true;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS =
|
||||
false;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS = false;
|
||||
mockWorkspaceRepository.count.mockResolvedValue(1);
|
||||
mockUserRepository.count.mockResolvedValue(1);
|
||||
jest
|
||||
@@ -215,8 +212,7 @@ describe('SignInUpService workspace-creation policy', () => {
|
||||
} = createSignInUpServiceForTests();
|
||||
|
||||
mockConfigurationValues.IS_MULTIWORKSPACE_ENABLED = true;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS =
|
||||
false;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS = false;
|
||||
mockWorkspaceRepository.count.mockResolvedValue(0);
|
||||
mockUserRepository.count.mockResolvedValue(1);
|
||||
jest
|
||||
@@ -240,8 +236,7 @@ describe('SignInUpService workspace-creation policy', () => {
|
||||
createSignInUpServiceForTests();
|
||||
|
||||
mockConfigurationValues.IS_MULTIWORKSPACE_ENABLED = true;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS =
|
||||
true;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS = true;
|
||||
mockWorkspaceRepository.count.mockResolvedValue(1);
|
||||
|
||||
const nonAdminExistingUser = {
|
||||
@@ -265,8 +260,7 @@ describe('SignInUpService workspace-creation policy', () => {
|
||||
createSignInUpServiceForTests();
|
||||
|
||||
mockConfigurationValues.IS_MULTIWORKSPACE_ENABLED = false;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS =
|
||||
false;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS = false;
|
||||
mockWorkspaceRepository.count.mockResolvedValue(1);
|
||||
|
||||
await expect(
|
||||
@@ -288,8 +282,7 @@ describe('SignInUpService workspace-creation policy', () => {
|
||||
createSignInUpServiceForTests();
|
||||
|
||||
mockConfigurationValues.IS_MULTIWORKSPACE_ENABLED = false;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS =
|
||||
false;
|
||||
mockConfigurationValues.IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS = false;
|
||||
mockWorkspaceRepository.count.mockResolvedValue(1);
|
||||
jest
|
||||
.spyOn((service as any).userService, 'findUserByEmail')
|
||||
|
||||
+2
-4
@@ -26,8 +26,7 @@ export interface UserWorkspaceAuthContext extends BaseWorkspaceAuthContext {
|
||||
workspaceMember: NonNullable<RawAuthContext['workspaceMember']>;
|
||||
}
|
||||
|
||||
export interface ApplicationWorkspaceAuthContext
|
||||
extends BaseWorkspaceAuthContext {
|
||||
export interface ApplicationWorkspaceAuthContext extends BaseWorkspaceAuthContext {
|
||||
type: 'application';
|
||||
application: NonNullable<RawAuthContext['application']>;
|
||||
}
|
||||
@@ -36,8 +35,7 @@ export interface SystemWorkspaceAuthContext extends BaseWorkspaceAuthContext {
|
||||
type: 'system';
|
||||
}
|
||||
|
||||
export interface PendingActivationUserWorkspaceAuthContext
|
||||
extends BaseWorkspaceAuthContext {
|
||||
export interface PendingActivationUserWorkspaceAuthContext extends BaseWorkspaceAuthContext {
|
||||
type: 'pendingActivationUser';
|
||||
userWorkspaceId: NonNullable<RawAuthContext['userWorkspaceId']>;
|
||||
user: NonNullable<RawAuthContext['user']>;
|
||||
|
||||
+2
-3
@@ -4,9 +4,8 @@ import { fastDeepEqual } from 'twenty-shared/utils';
|
||||
import { type BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity';
|
||||
|
||||
export const objectRecordChangedProperties = <
|
||||
PRecord extends Partial<
|
||||
ObjectRecord | BaseWorkspaceEntity
|
||||
> = Partial<ObjectRecord>,
|
||||
PRecord extends Partial<ObjectRecord | BaseWorkspaceEntity> =
|
||||
Partial<ObjectRecord>,
|
||||
>(
|
||||
oldRecord: PRecord,
|
||||
newRecord: PRecord,
|
||||
|
||||
+1
-3
@@ -3,9 +3,7 @@ import { type ExceptionHandlerOptions } from 'src/engine/core-modules/exception-
|
||||
|
||||
import { type ExceptionHandlerDriverInterface } from 'src/engine/core-modules/exception-handler/interfaces';
|
||||
|
||||
export class ExceptionHandlerConsoleDriver
|
||||
implements ExceptionHandlerDriverInterface
|
||||
{
|
||||
export class ExceptionHandlerConsoleDriver implements ExceptionHandlerDriverInterface {
|
||||
captureExceptions(
|
||||
// oxlint-disable-next-line @typescripttypescript/no-explicit-any
|
||||
exceptions: ReadonlyArray<any>,
|
||||
|
||||
+1
-3
@@ -12,9 +12,7 @@ import { type ExceptionHandlerDriverInterface } from 'src/engine/core-modules/ex
|
||||
import { MessageImportDriverException } from 'src/modules/messaging/message-import-manager/drivers/exceptions/message-import-driver.exception';
|
||||
import { CustomException } from 'src/utils/custom-exception';
|
||||
|
||||
export class ExceptionHandlerSentryDriver
|
||||
implements ExceptionHandlerDriverInterface
|
||||
{
|
||||
export class ExceptionHandlerSentryDriver implements ExceptionHandlerDriverInterface {
|
||||
captureExceptions(
|
||||
// oxlint-disable-next-line @typescripttypescript/no-explicit-any
|
||||
exceptions: ReadonlyArray<any>,
|
||||
|
||||
+1
-3
@@ -5,9 +5,7 @@ import { type ExceptionHandlerOptions } from 'src/engine/core-modules/exception-
|
||||
import { type ExceptionHandlerDriverInterface } from 'src/engine/core-modules/exception-handler/interfaces';
|
||||
|
||||
@Injectable()
|
||||
export class ExceptionHandlerMockService
|
||||
implements ExceptionHandlerDriverInterface
|
||||
{
|
||||
export class ExceptionHandlerMockService implements ExceptionHandlerDriverInterface {
|
||||
captureExceptions(
|
||||
// oxlint-disable-next-line @typescripttypescript/no-explicit-any
|
||||
exceptions: readonly any[],
|
||||
|
||||
+1
-3
@@ -12,9 +12,7 @@ import { GraphQLError } from 'graphql';
|
||||
* and leave it to the GraphQL layer to handle the error.
|
||||
*/
|
||||
@Catch(GraphQLError)
|
||||
export class PreventNestToAutoLogGraphqlErrorsFilter
|
||||
implements ExceptionFilter
|
||||
{
|
||||
export class PreventNestToAutoLogGraphqlErrorsFilter implements ExceptionFilter {
|
||||
catch(exception: GraphQLError, _host: ArgumentsHost) {
|
||||
return exception;
|
||||
}
|
||||
|
||||
+1
-3
@@ -10,9 +10,7 @@ import {
|
||||
} from 'class-validator';
|
||||
|
||||
@ValidatorConstraint({ async: false })
|
||||
export class IsX509CertificateConstraint
|
||||
implements ValidatorConstraintInterface
|
||||
{
|
||||
export class IsX509CertificateConstraint implements ValidatorConstraintInterface {
|
||||
// oxlint-disable-next-line @typescripttypescript/no-explicit-any
|
||||
validate(value: any) {
|
||||
if (typeof value !== 'string') {
|
||||
|
||||
+1
-3
@@ -13,9 +13,7 @@ import {
|
||||
} from 'src/engine/core-modules/twenty-config/twenty-config.exception';
|
||||
|
||||
@Catch(ConfigVariableException)
|
||||
export class ConfigVariableGraphqlApiExceptionFilter
|
||||
implements ExceptionFilter
|
||||
{
|
||||
export class ConfigVariableGraphqlApiExceptionFilter implements ExceptionFilter {
|
||||
catch(exception: ConfigVariableException) {
|
||||
switch (exception.code) {
|
||||
case ConfigVariableExceptionCode.VARIABLE_NOT_FOUND:
|
||||
|
||||
+1
-3
@@ -7,6 +7,4 @@
|
||||
* |___/
|
||||
*/
|
||||
|
||||
export const TWENTY_NEXT_VERSIONS = [
|
||||
'2.9.0',
|
||||
] as const;
|
||||
export const TWENTY_NEXT_VERSIONS = ['2.9.0'] as const;
|
||||
|
||||
+1
-3
@@ -33,9 +33,7 @@ export const handleWorkflowTriggerException = (
|
||||
};
|
||||
|
||||
@Catch(WorkflowTriggerException)
|
||||
export class WorkflowTriggerGraphqlApiExceptionFilter
|
||||
implements ExceptionFilter
|
||||
{
|
||||
export class WorkflowTriggerGraphqlApiExceptionFilter implements ExceptionFilter {
|
||||
catch(exception: WorkflowTriggerException) {
|
||||
handleWorkflowTriggerException(exception);
|
||||
}
|
||||
|
||||
+1
-3
@@ -26,9 +26,7 @@ export const handleWorkflowVersionEdgeException = (
|
||||
};
|
||||
|
||||
@Catch(WorkflowVersionEdgeException)
|
||||
export class WorkflowVersionEdgeGraphqlApiExceptionFilter
|
||||
implements ExceptionFilter
|
||||
{
|
||||
export class WorkflowVersionEdgeGraphqlApiExceptionFilter implements ExceptionFilter {
|
||||
catch(exception: WorkflowVersionEdgeException) {
|
||||
handleWorkflowVersionEdgeException(exception);
|
||||
}
|
||||
|
||||
+1
-3
@@ -30,9 +30,7 @@ export const handleWorkflowVersionStepException = (
|
||||
};
|
||||
|
||||
@Catch(WorkflowVersionStepException)
|
||||
export class WorkflowVersionStepGraphqlApiExceptionFilter
|
||||
implements ExceptionFilter
|
||||
{
|
||||
export class WorkflowVersionStepGraphqlApiExceptionFilter implements ExceptionFilter {
|
||||
catch(exception: WorkflowVersionStepException) {
|
||||
handleWorkflowVersionStepException(exception);
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ export class NoImpersonationGuard implements CanActivate {
|
||||
|
||||
const isCurrentlyImpersonating = Boolean(
|
||||
request?.impersonationContext?.impersonatorUserWorkspaceId &&
|
||||
request?.impersonationContext?.impersonatedUserWorkspaceId,
|
||||
request?.impersonationContext?.impersonatedUserWorkspaceId,
|
||||
);
|
||||
|
||||
if (isCurrentlyImpersonating) {
|
||||
|
||||
+1
-3
@@ -10,9 +10,7 @@ import { type Observable, catchError } from 'rxjs';
|
||||
import { calendarChannelGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/calendar-channel/utils/calendar-channel-graphql-api-exception-handler.util';
|
||||
|
||||
@Injectable()
|
||||
export class CalendarChannelGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
export class CalendarChannelGraphqlApiExceptionInterceptor implements NestInterceptor {
|
||||
intercept(
|
||||
_context: ExecutionContext,
|
||||
next: CallHandler,
|
||||
|
||||
+1
-3
@@ -10,9 +10,7 @@ import { type Observable, catchError } from 'rxjs';
|
||||
import { commandMenuItemGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/command-menu-item/utils/command-menu-item-graphql-api-exception-handler.util';
|
||||
|
||||
@Injectable()
|
||||
export class CommandMenuItemGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
export class CommandMenuItemGraphqlApiExceptionInterceptor implements NestInterceptor {
|
||||
intercept(
|
||||
_context: ExecutionContext,
|
||||
next: CallHandler,
|
||||
|
||||
+1
-3
@@ -10,9 +10,7 @@ import { type Observable, catchError } from 'rxjs';
|
||||
import { connectedAccountGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/connected-account/utils/connected-account-graphql-api-exception-handler.util';
|
||||
|
||||
@Injectable()
|
||||
export class ConnectedAccountGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
export class ConnectedAccountGraphqlApiExceptionInterceptor implements NestInterceptor {
|
||||
intercept(
|
||||
_context: ExecutionContext,
|
||||
next: CallHandler,
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@ import { type APP_LOCALES } from 'twenty-shared/translations';
|
||||
import { FieldMetadataStandardOverridesProperties } from 'src/engine/metadata-modules/field-metadata/types/field-metadata-standard-overrides-properties.type';
|
||||
|
||||
@ObjectType('StandardOverrides')
|
||||
export class FieldStandardOverridesDTO
|
||||
implements Partial<Record<FieldMetadataStandardOverridesProperties, unknown>>
|
||||
{
|
||||
export class FieldStandardOverridesDTO implements Partial<
|
||||
Record<FieldMetadataStandardOverridesProperties, unknown>
|
||||
> {
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
@Field(() => String, { nullable: true })
|
||||
|
||||
+2
-2
@@ -57,8 +57,8 @@ import { ViewSortEntity } from 'src/engine/metadata-modules/view-sort/entities/v
|
||||
])
|
||||
@Index('IDX_FIELD_METADATA_WORKSPACE_ID', ['workspaceId'])
|
||||
export class FieldMetadataEntity<
|
||||
TFieldMetadataType extends FieldMetadataType = FieldMetadataType,
|
||||
>
|
||||
TFieldMetadataType extends FieldMetadataType = FieldMetadataType,
|
||||
>
|
||||
extends SyncableEntity
|
||||
implements Required<FieldMetadataEntity>
|
||||
{
|
||||
|
||||
+1
-3
@@ -10,9 +10,7 @@ import { type Observable, catchError } from 'rxjs';
|
||||
import { fieldMetadataGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/field-metadata/utils/field-metadata-graphql-api-exception-handler.util';
|
||||
|
||||
@Injectable()
|
||||
export class FieldMetadataGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
export class FieldMetadataGraphqlApiExceptionInterceptor implements NestInterceptor {
|
||||
// oxlint-disable-next-line @typescripttypescript/no-explicit-any
|
||||
intercept(_context: ExecutionContext, next: CallHandler): Observable<any> {
|
||||
return next
|
||||
|
||||
+1
-3
@@ -11,9 +11,7 @@ import {
|
||||
|
||||
@Catch(FlatEntityMapsException)
|
||||
@Injectable()
|
||||
export class FlatEntityMapsGraphqlApiExceptionFilter
|
||||
implements ExceptionFilter
|
||||
{
|
||||
export class FlatEntityMapsGraphqlApiExceptionFilter implements ExceptionFilter {
|
||||
catch(exception: FlatEntityMapsException) {
|
||||
switch (exception.code) {
|
||||
case FlatEntityMapsExceptionCode.RELATION_UNIVERSAL_IDENTIFIER_NOT_FOUND:
|
||||
|
||||
+4
-4
@@ -15,10 +15,10 @@ type IsUniversalMappedProperty<
|
||||
|
||||
export type FlatEntityUpdate<
|
||||
T extends AllMetadataName,
|
||||
MetadataPropertyConfig = (typeof ALL_ENTITY_PROPERTIES_CONFIGURATION_BY_METADATA_NAME)[T],
|
||||
TComparedKeys extends
|
||||
keyof MetadataPropertyConfig = MetadataEntityComparablePropertyName<T> &
|
||||
keyof MetadataPropertyConfig,
|
||||
MetadataPropertyConfig =
|
||||
(typeof ALL_ENTITY_PROPERTIES_CONFIGURATION_BY_METADATA_NAME)[T],
|
||||
TComparedKeys extends keyof MetadataPropertyConfig =
|
||||
MetadataEntityComparablePropertyName<T> & keyof MetadataPropertyConfig,
|
||||
> = Partial<
|
||||
Pick<
|
||||
MetadataFlatEntity<T>,
|
||||
|
||||
+2
-4
@@ -55,10 +55,8 @@ type ResolvedUniversalIdentifiers<
|
||||
|
||||
export const resolveEntityRelationUniversalIdentifiers = <
|
||||
T extends AllMetadataName,
|
||||
TProvidedKeys extends Extract<
|
||||
MetadataManyToOneJoinColumn<T>,
|
||||
string
|
||||
> = Extract<MetadataManyToOneJoinColumn<T>, string>,
|
||||
TProvidedKeys extends Extract<MetadataManyToOneJoinColumn<T>, string> =
|
||||
Extract<MetadataManyToOneJoinColumn<T>, string>,
|
||||
>({
|
||||
metadataName,
|
||||
foreignKeyValues,
|
||||
|
||||
+4
-1
@@ -1,5 +1,8 @@
|
||||
import { defineFrontComponent } from 'twenty-sdk/define';
|
||||
import { useFrontComponentExecutionContext, useUserId } from 'twenty-sdk/front-component';
|
||||
import {
|
||||
useFrontComponentExecutionContext,
|
||||
useUserId,
|
||||
} from 'twenty-sdk/front-component';
|
||||
import { useState } from 'react';
|
||||
|
||||
const HelloWorld = () => {
|
||||
|
||||
+4
-1
@@ -1,5 +1,8 @@
|
||||
import { defineFrontComponent } from 'twenty-sdk/define';
|
||||
import { enqueueSnackbar, unmountFrontComponent } from 'twenty-sdk/front-component';
|
||||
import {
|
||||
enqueueSnackbar,
|
||||
unmountFrontComponent,
|
||||
} from 'twenty-sdk/front-component';
|
||||
import { useEffect } from 'react';
|
||||
|
||||
const ShowNotification = () => {
|
||||
|
||||
+1
-3
@@ -10,9 +10,7 @@ import { type Observable, catchError } from 'rxjs';
|
||||
import { frontComponentGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/front-component/utils/front-component-graphql-api-exception-handler.util';
|
||||
|
||||
@Injectable()
|
||||
export class FrontComponentGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
export class FrontComponentGraphqlApiExceptionInterceptor implements NestInterceptor {
|
||||
intercept(
|
||||
_context: ExecutionContext,
|
||||
next: CallHandler,
|
||||
|
||||
+1
-3
@@ -15,9 +15,7 @@ import { IndexMetadataEntity } from 'src/engine/metadata-modules/index-metadata/
|
||||
import type { WorkspaceEntity } from 'src/engine/core-modules/workspace/workspace.entity';
|
||||
|
||||
@Entity({ name: 'indexFieldMetadata', schema: 'core' })
|
||||
export class IndexFieldMetadataEntity
|
||||
implements Required<IndexFieldMetadataEntity>
|
||||
{
|
||||
export class IndexFieldMetadataEntity implements Required<IndexFieldMetadataEntity> {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id: string;
|
||||
|
||||
|
||||
+1
-3
@@ -10,9 +10,7 @@ import { type Observable, catchError } from 'rxjs';
|
||||
import { messageChannelGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/message-channel/utils/message-channel-graphql-api-exception-handler.util';
|
||||
|
||||
@Injectable()
|
||||
export class MessageChannelGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
export class MessageChannelGraphqlApiExceptionInterceptor implements NestInterceptor {
|
||||
intercept(
|
||||
_context: ExecutionContext,
|
||||
next: CallHandler,
|
||||
|
||||
+1
-3
@@ -10,9 +10,7 @@ import { type Observable, catchError } from 'rxjs';
|
||||
import { messageFolderGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/message-folder/utils/message-folder-graphql-api-exception-handler.util';
|
||||
|
||||
@Injectable()
|
||||
export class MessageFolderGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
export class MessageFolderGraphqlApiExceptionInterceptor implements NestInterceptor {
|
||||
intercept(
|
||||
_context: ExecutionContext,
|
||||
next: CallHandler,
|
||||
|
||||
+1
-3
@@ -10,9 +10,7 @@ import { type Observable, catchError } from 'rxjs';
|
||||
import { navigationMenuItemGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/navigation-menu-item/utils/navigation-menu-item-graphql-api-exception-handler.util';
|
||||
|
||||
@Injectable()
|
||||
export class NavigationMenuItemGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
export class NavigationMenuItemGraphqlApiExceptionInterceptor implements NestInterceptor {
|
||||
intercept(
|
||||
_context: ExecutionContext,
|
||||
next: CallHandler,
|
||||
|
||||
+1
-3
@@ -10,9 +10,7 @@ import { type Observable, catchError } from 'rxjs';
|
||||
import { objectMetadataGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/object-metadata/utils/object-metadata-graphql-api-exception-handler.util';
|
||||
|
||||
@Injectable()
|
||||
export class ObjectMetadataGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
export class ObjectMetadataGraphqlApiExceptionInterceptor implements NestInterceptor {
|
||||
// oxlint-disable-next-line @typescripttypescript/no-explicit-any
|
||||
intercept(_context: ExecutionContext, next: CallHandler): Observable<any> {
|
||||
return next
|
||||
|
||||
+1
-3
@@ -29,9 +29,7 @@ import { RatioAggregateConfigDTO } from 'src/engine/metadata-modules/page-layout
|
||||
import { WidgetConfigurationType } from 'src/engine/metadata-modules/page-layout-widget/enums/widget-configuration-type.type';
|
||||
|
||||
@ObjectType('AggregateChartConfiguration')
|
||||
export class AggregateChartConfigurationDTO
|
||||
implements AggregateChartConfiguration
|
||||
{
|
||||
export class AggregateChartConfigurationDTO implements AggregateChartConfiguration {
|
||||
@Field(() => WidgetConfigurationType)
|
||||
@IsIn([WidgetConfigurationType.AGGREGATE_CHART])
|
||||
@IsNotEmpty()
|
||||
|
||||
+1
-3
@@ -6,9 +6,7 @@ import { type FieldRichTextConfiguration } from 'twenty-shared/types';
|
||||
import { WidgetConfigurationType } from 'src/engine/metadata-modules/page-layout-widget/enums/widget-configuration-type.type';
|
||||
|
||||
@ObjectType('FieldRichTextConfiguration')
|
||||
export class FieldRichTextConfigurationDTO
|
||||
implements FieldRichTextConfiguration
|
||||
{
|
||||
export class FieldRichTextConfigurationDTO implements FieldRichTextConfiguration {
|
||||
@Field(() => WidgetConfigurationType)
|
||||
@IsIn([WidgetConfigurationType.FIELD_RICH_TEXT])
|
||||
@IsNotEmpty()
|
||||
|
||||
+1
-3
@@ -10,9 +10,7 @@ import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/
|
||||
import { WidgetConfigurationType } from 'src/engine/metadata-modules/page-layout-widget/enums/widget-configuration-type.type';
|
||||
|
||||
@ObjectType('FrontComponentConfiguration')
|
||||
export class FrontComponentConfigurationDTO
|
||||
implements FrontComponentConfiguration
|
||||
{
|
||||
export class FrontComponentConfigurationDTO implements FrontComponentConfiguration {
|
||||
@Field(() => WidgetConfigurationType)
|
||||
@IsIn([WidgetConfigurationType.FRONT_COMPONENT])
|
||||
@IsNotEmpty()
|
||||
|
||||
+1
-3
@@ -8,9 +8,7 @@ import { RichTextBodyDTO } from 'src/engine/metadata-modules/page-layout-widget/
|
||||
import { WidgetConfigurationType } from 'src/engine/metadata-modules/page-layout-widget/enums/widget-configuration-type.type';
|
||||
|
||||
@ObjectType('StandaloneRichTextConfiguration')
|
||||
export class StandaloneRichTextConfigurationDTO
|
||||
implements StandaloneRichTextConfiguration
|
||||
{
|
||||
export class StandaloneRichTextConfigurationDTO implements StandaloneRichTextConfiguration {
|
||||
@Field(() => WidgetConfigurationType)
|
||||
@IsIn([WidgetConfigurationType.STANDALONE_RICH_TEXT])
|
||||
@IsNotEmpty()
|
||||
|
||||
+1
-3
@@ -6,9 +6,7 @@ import { type WorkflowVersionConfiguration } from 'twenty-shared/types';
|
||||
import { WidgetConfigurationType } from 'src/engine/metadata-modules/page-layout-widget/enums/widget-configuration-type.type';
|
||||
|
||||
@ObjectType('WorkflowVersionConfiguration')
|
||||
export class WorkflowVersionConfigurationDTO
|
||||
implements WorkflowVersionConfiguration
|
||||
{
|
||||
export class WorkflowVersionConfigurationDTO implements WorkflowVersionConfiguration {
|
||||
@Field(() => WidgetConfigurationType)
|
||||
@IsIn([WidgetConfigurationType.WORKFLOW_VERSION])
|
||||
@IsNotEmpty()
|
||||
|
||||
+3
-3
@@ -44,9 +44,9 @@ export type PageLayoutWidgetOverrides = {
|
||||
)
|
||||
@Index('IDX_PAGE_LAYOUT_WIDGET_OBJECT_METADATA_ID', ['objectMetadataId'])
|
||||
export class PageLayoutWidgetEntity<
|
||||
TWidgetConfigurationType extends
|
||||
WidgetConfigurationType = WidgetConfigurationType,
|
||||
>
|
||||
TWidgetConfigurationType extends WidgetConfigurationType =
|
||||
WidgetConfigurationType,
|
||||
>
|
||||
extends OverridableEntity<PageLayoutWidgetOverrides>
|
||||
implements Required<PageLayoutWidgetEntity>
|
||||
{
|
||||
|
||||
+1
-3
@@ -6,9 +6,7 @@ import { RowLevelPermissionPredicateException } from 'src/engine/metadata-module
|
||||
import { rowLevelPermissionPredicateGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/row-level-permission-predicate/utils/row-level-permission-predicate-graphql-api-exception-handler.util';
|
||||
|
||||
@Catch(RowLevelPermissionPredicateException)
|
||||
export class RowLevelPermissionPredicateGraphqlApiExceptionFilter
|
||||
implements ExceptionFilter
|
||||
{
|
||||
export class RowLevelPermissionPredicateGraphqlApiExceptionFilter implements ExceptionFilter {
|
||||
catch(exception: RowLevelPermissionPredicateException) {
|
||||
return rowLevelPermissionPredicateGraphqlApiExceptionHandler(exception);
|
||||
}
|
||||
|
||||
+1
-3
@@ -5,9 +5,7 @@ import { type NextFunction, type Request, type Response } from 'express';
|
||||
import { MiddlewareService } from 'src/engine/middlewares/middleware.service';
|
||||
|
||||
@Injectable()
|
||||
export class GraphQLHydrateRequestFromTokenMiddleware
|
||||
implements NestMiddleware
|
||||
{
|
||||
export class GraphQLHydrateRequestFromTokenMiddleware implements NestMiddleware {
|
||||
constructor(private readonly middlewareService: MiddlewareService) {}
|
||||
|
||||
async use(req: Request, res: Response, next: NextFunction) {
|
||||
|
||||
+1
-3
@@ -16,9 +16,7 @@ import {
|
||||
|
||||
@Injectable()
|
||||
@Catch(WorkspaceMigrationRunnerException)
|
||||
export class WorkspaceMigrationRunnerRestApiExceptionFilter
|
||||
implements ExceptionFilter
|
||||
{
|
||||
export class WorkspaceMigrationRunnerRestApiExceptionFilter implements ExceptionFilter {
|
||||
constructor(
|
||||
private readonly httpExceptionHandlerService: HttpExceptionHandlerService,
|
||||
) {}
|
||||
|
||||
+1
-3
@@ -18,9 +18,7 @@ import { workspaceMigrationRunnerExceptionFormatter } from 'src/engine/workspace
|
||||
import { WorkspaceMigrationRunnerException } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/exceptions/workspace-migration-runner.exception';
|
||||
|
||||
@Injectable()
|
||||
export class WorkspaceMigrationGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
export class WorkspaceMigrationGraphqlApiExceptionInterceptor implements NestInterceptor {
|
||||
intercept(context: ExecutionContext, next: CallHandler): Observable<unknown> {
|
||||
return next.handle().pipe(
|
||||
catchError((error) => {
|
||||
|
||||
+4
-4
@@ -16,10 +16,10 @@ type ExtractPropertyToCompare<
|
||||
|
||||
export type MetadataUniversalFlatEntityPropertiesToCompare<
|
||||
T extends AllMetadataName,
|
||||
MetadataConfig = (typeof ALL_ENTITY_PROPERTIES_CONFIGURATION_BY_METADATA_NAME)[T],
|
||||
TComparedKeys extends
|
||||
keyof MetadataConfig = MetadataEntityComparablePropertyName<T> &
|
||||
keyof MetadataConfig,
|
||||
MetadataConfig =
|
||||
(typeof ALL_ENTITY_PROPERTIES_CONFIGURATION_BY_METADATA_NAME)[T],
|
||||
TComparedKeys extends keyof MetadataConfig =
|
||||
MetadataEntityComparablePropertyName<T> & keyof MetadataConfig,
|
||||
> = {
|
||||
[P in TComparedKeys]: ExtractPropertyToCompare<MetadataConfig, P>;
|
||||
}[TComparedKeys] &
|
||||
|
||||
+4
-4
@@ -21,8 +21,8 @@ export type UniversalSyncableFlatEntity = Omit<
|
||||
export type UniversalFlatEntityExtraProperties<
|
||||
TEntity extends SyncableEntity,
|
||||
// Required to be passed for narrowed type
|
||||
TMetadataName extends
|
||||
AllMetadataName = FromMetadataEntityToMetadataName<TEntity>,
|
||||
TMetadataName extends AllMetadataName =
|
||||
FromMetadataEntityToMetadataName<TEntity>,
|
||||
> = AddSuffixToEntityOneToManyProperties<TEntity, 'universalIdentifiers'> &
|
||||
AddSuffixToEntityManyToOneProperties<
|
||||
TEntity,
|
||||
@@ -40,8 +40,8 @@ export type UniversalFlatEntityExtraProperties<
|
||||
|
||||
export type UniversalFlatEntityFrom<
|
||||
TEntity extends SyncableEntity,
|
||||
TMetadataName extends
|
||||
AllMetadataName = FromMetadataEntityToMetadataName<TEntity>,
|
||||
TMetadataName extends AllMetadataName =
|
||||
FromMetadataEntityToMetadataName<TEntity>,
|
||||
> = Omit<
|
||||
TEntity,
|
||||
| 'applicationId'
|
||||
|
||||
+2
-2
@@ -3,8 +3,8 @@ import { type WidgetConfigurationType } from 'src/engine/metadata-modules/page-l
|
||||
import { type UniversalFlatEntityFrom } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-entity-from.type';
|
||||
|
||||
export type UniversalFlatPageLayoutWidget<
|
||||
TWidgetConfigurationType extends
|
||||
WidgetConfigurationType = WidgetConfigurationType,
|
||||
TWidgetConfigurationType extends WidgetConfigurationType =
|
||||
WidgetConfigurationType,
|
||||
> = UniversalFlatEntityFrom<
|
||||
PageLayoutWidgetEntity<TWidgetConfigurationType>,
|
||||
'pageLayoutWidget'
|
||||
|
||||
+4
-4
@@ -7,14 +7,14 @@ import {
|
||||
} from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type';
|
||||
|
||||
export type AllUniversalWorkspaceMigrationAction<
|
||||
TActionType extends
|
||||
WorkspaceMigrationActionType = WorkspaceMigrationActionType,
|
||||
TActionType extends WorkspaceMigrationActionType =
|
||||
WorkspaceMigrationActionType,
|
||||
TMetadataName extends AllMetadataName = AllMetadataName,
|
||||
> = MetadataUniversalWorkspaceMigrationAction<TMetadataName, TActionType>;
|
||||
|
||||
export type AllFlatWorkspaceMigrationAction<
|
||||
TActionType extends
|
||||
WorkspaceMigrationActionType = WorkspaceMigrationActionType,
|
||||
TActionType extends WorkspaceMigrationActionType =
|
||||
WorkspaceMigrationActionType,
|
||||
TMetadataName extends AllMetadataName = AllMetadataName,
|
||||
> = MetadataFlatWorkspaceMigrationAction<TMetadataName, TActionType>;
|
||||
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
import { type AllUniversalWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/types/workspace-migration-action-common';
|
||||
|
||||
export type WorkspaceMigration<
|
||||
TActions extends
|
||||
AllUniversalWorkspaceMigrationAction = AllUniversalWorkspaceMigrationAction,
|
||||
TActions extends AllUniversalWorkspaceMigrationAction =
|
||||
AllUniversalWorkspaceMigrationAction,
|
||||
> = {
|
||||
actions: TActions[];
|
||||
applicationUniversalIdentifier: string;
|
||||
|
||||
+2
-5
@@ -64,11 +64,8 @@ export abstract class BaseWorkspaceMigrationRunnerActionHandlerService<
|
||||
TActionType,
|
||||
TMetadataName
|
||||
>,
|
||||
TFlatAction extends
|
||||
AllFlatWorkspaceMigrationAction = AllFlatWorkspaceMigrationAction<
|
||||
TActionType,
|
||||
TMetadataName
|
||||
>,
|
||||
TFlatAction extends AllFlatWorkspaceMigrationAction =
|
||||
AllFlatWorkspaceMigrationAction<TActionType, TMetadataName>,
|
||||
> {
|
||||
public actionType: TActionType;
|
||||
public metadataName: TMetadataName;
|
||||
|
||||
+1
-3
@@ -17,9 +17,7 @@ import {
|
||||
import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type';
|
||||
|
||||
@Injectable()
|
||||
export class WorkspaceMigrationRunnerActionHandlerRegistryService
|
||||
implements OnModuleInit
|
||||
{
|
||||
export class WorkspaceMigrationRunnerActionHandlerRegistryService implements OnModuleInit {
|
||||
private readonly actionHandlers = new Map<
|
||||
WorkspaceMigrationActionHandlerKey,
|
||||
InstanceType<typeof BaseWorkspaceMigrationRunnerActionHandlerService>
|
||||
|
||||
+2
-2
@@ -30,8 +30,8 @@ export type UpdateMetadataEventDiff<
|
||||
|
||||
export type UpdateMetadataEvent<
|
||||
T extends AllMetadataName,
|
||||
TProperties extends
|
||||
MetadataUniversalFlatEntityPropertiesToCompare<T> = MetadataUniversalFlatEntityPropertiesToCompare<T>,
|
||||
TProperties extends MetadataUniversalFlatEntityPropertiesToCompare<T> =
|
||||
MetadataUniversalFlatEntityPropertiesToCompare<T>,
|
||||
> = BaseMetadataEvent<
|
||||
T,
|
||||
{
|
||||
|
||||
+2
-2
@@ -19,8 +19,8 @@ export type WorkspaceMigrationActionRunnerArgs<
|
||||
|
||||
export type WorkspaceMigrationActionRunnerContext<
|
||||
TFlatAction extends AllFlatWorkspaceMigrationAction,
|
||||
TUniversalAction extends
|
||||
AllUniversalWorkspaceMigrationAction = AllUniversalWorkspaceMigrationAction,
|
||||
TUniversalAction extends AllUniversalWorkspaceMigrationAction =
|
||||
AllUniversalWorkspaceMigrationAction,
|
||||
> = WorkspaceMigrationActionRunnerArgs<TUniversalAction> & {
|
||||
flatAction: TFlatAction;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user