cceeb6ed4d
## Context - All flatEntity should extend SyncableEntity - SyncableEntity should now have applicationId and application relation - Fix syncApp deletion, should now properly use migration v2 to delete syncable entities
100 lines
2.5 KiB
TypeScript
100 lines
2.5 KiB
TypeScript
import { Field, HideField, InputType } from '@nestjs/graphql';
|
|
|
|
import {
|
|
IsBoolean,
|
|
IsEnum,
|
|
IsNotEmpty,
|
|
IsNumber,
|
|
IsOptional,
|
|
IsString,
|
|
IsUUID,
|
|
} from 'class-validator';
|
|
|
|
import { AggregateOperations } from 'src/engine/api/graphql/graphql-query-runner/constants/aggregate-operations.constant';
|
|
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
|
|
import { IsValidMetadataName } from 'src/engine/decorators/metadata/is-valid-metadata-name.decorator';
|
|
import { ViewCalendarLayout } from 'src/engine/metadata-modules/view/enums/view-calendar-layout.enum';
|
|
import { ViewKey } from 'src/engine/metadata-modules/view/enums/view-key.enum';
|
|
import { ViewOpenRecordIn } from 'src/engine/metadata-modules/view/enums/view-open-record-in';
|
|
import { ViewType } from 'src/engine/metadata-modules/view/enums/view-type.enum';
|
|
|
|
@InputType()
|
|
export class CreateViewInput {
|
|
@IsOptional()
|
|
@IsUUID()
|
|
@Field(() => UUIDScalarType, { nullable: true })
|
|
id?: string;
|
|
|
|
@IsString()
|
|
@IsNotEmpty()
|
|
@IsValidMetadataName()
|
|
@Field({ nullable: false })
|
|
name: string;
|
|
|
|
@IsUUID()
|
|
@Field(() => UUIDScalarType, { nullable: false })
|
|
objectMetadataId: string;
|
|
|
|
@IsEnum(ViewType)
|
|
@Field(() => ViewType, { nullable: true, defaultValue: ViewType.TABLE })
|
|
type?: ViewType;
|
|
|
|
@IsOptional()
|
|
@IsEnum(ViewKey)
|
|
@Field(() => ViewKey, { nullable: true })
|
|
key?: ViewKey;
|
|
|
|
@IsString()
|
|
@Field({ nullable: false })
|
|
icon: string;
|
|
|
|
@IsOptional()
|
|
@IsNumber()
|
|
@Field({ nullable: true, defaultValue: 0 })
|
|
position?: number;
|
|
|
|
@IsOptional()
|
|
@IsBoolean()
|
|
@Field({ nullable: true, defaultValue: false })
|
|
isCompact?: boolean;
|
|
|
|
@IsOptional()
|
|
@IsEnum(ViewOpenRecordIn)
|
|
@Field(() => ViewOpenRecordIn, {
|
|
nullable: true,
|
|
defaultValue: ViewOpenRecordIn.SIDE_PANEL,
|
|
})
|
|
openRecordIn?: ViewOpenRecordIn;
|
|
|
|
@IsOptional()
|
|
@IsEnum(AggregateOperations)
|
|
@Field(() => AggregateOperations, { nullable: true })
|
|
kanbanAggregateOperation?: AggregateOperations;
|
|
|
|
@IsOptional()
|
|
@IsUUID()
|
|
@Field(() => UUIDScalarType, { nullable: true })
|
|
kanbanAggregateOperationFieldMetadataId?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
@Field({ nullable: true })
|
|
anyFieldFilterValue?: string;
|
|
|
|
@IsOptional()
|
|
@IsEnum(ViewCalendarLayout)
|
|
@Field(() => ViewCalendarLayout, { nullable: true })
|
|
calendarLayout?: ViewCalendarLayout;
|
|
|
|
@IsOptional()
|
|
@IsUUID()
|
|
@Field(() => UUIDScalarType, { nullable: true })
|
|
calendarFieldMetadataId?: string;
|
|
|
|
@HideField()
|
|
universalIdentifier?: string;
|
|
|
|
@HideField()
|
|
applicationId?: string;
|
|
}
|