* Add cron to message queue interfaces * Add command to launch cron job * Add command to stop cron job * Update clean inactive workspaces job * Add react-email * WIP * Fix import error * Rename services * Update logging * Update email template * Update email template * Add Base Email template * Move to proper place * Remove test files * Update logo * Add email theme * Revert "Remove test files" This reverts commit fe062dd05166b95125cf99f2165cc20efb6c275a. * Add email theme 2 * Revert "Revert "Remove test files"" This reverts commit 6c6471273ad765788f2eaf5a5614209edfb965ce. * Revert "Revert "Revert "Remove test files""" This reverts commit f851333c24e9cfe3f425c9cbbd1e079efce5c3dd. * Revert "Revert "Revert "Revert "Remove test files"""" This reverts commit 7838e19e88e269026e24803f26cd52b467b4ef36. * Fix theme * Reorganize files * Update clean inactive workspaces job * Use env variable to define inactive days * Remove FROM variable * Use feature flag * Fix cron command * Remove useless variable * Reorganize files * Refactor some code * Update email template * Update email object * Remove verbose log * Code review returns * Code review returns * Simplify handle * Code review returns * Review --------- Co-authored-by: Charles Bochet <charles@twenty.com>
56 lines
1.3 KiB
TypeScript
56 lines
1.3 KiB
TypeScript
import { Field, ID, ObjectType } from '@nestjs/graphql';
|
|
|
|
import {
|
|
Entity,
|
|
Unique,
|
|
PrimaryGeneratedColumn,
|
|
Column,
|
|
CreateDateColumn,
|
|
UpdateDateColumn,
|
|
ManyToOne,
|
|
} from 'typeorm';
|
|
import { IDField } from '@ptc-org/nestjs-query-graphql';
|
|
|
|
import { Workspace } from 'src/core/workspace/workspace.entity';
|
|
|
|
export enum FeatureFlagKeys {
|
|
IsRelationFieldTypeEnabled = 'IS_RELATION_FIELD_TYPE_ENABLED',
|
|
IsMessagingEnabled = 'IS_MESSAGING_ENABLED',
|
|
IsNoteCreateImagesEnabled = 'IS_NOTE_CREATE_IMAGES_ENABLED',
|
|
IsSelectFieldTypeEnabled = 'IS_SELECT_FIELD_TYPE_ENABLED',
|
|
IsRatingFieldTypeEnabled = 'IS_RATING_FIELD_TYPE_ENABLED',
|
|
IsWorkspaceCleanable = 'IS_WORKSPACE_CLEANABLE',
|
|
}
|
|
|
|
@Entity({ name: 'featureFlag', schema: 'core' })
|
|
@ObjectType('FeatureFlag')
|
|
@Unique('IndexOnKeyAndWorkspaceIdUnique', ['key', 'workspaceId'])
|
|
export class FeatureFlagEntity {
|
|
@IDField(() => ID)
|
|
@PrimaryGeneratedColumn('uuid')
|
|
id: string;
|
|
|
|
@Field()
|
|
@Column({ nullable: false, type: 'text' })
|
|
key: FeatureFlagKeys;
|
|
|
|
@Field()
|
|
@Column({ nullable: false, type: 'uuid' })
|
|
workspaceId: string;
|
|
|
|
@ManyToOne(() => Workspace, (workspace) => workspace.featureFlags, {
|
|
onDelete: 'CASCADE',
|
|
})
|
|
workspace: Workspace;
|
|
|
|
@Field()
|
|
@Column({ nullable: false })
|
|
value: boolean;
|
|
|
|
@CreateDateColumn()
|
|
createdAt: Date;
|
|
|
|
@UpdateDateColumn()
|
|
updatedAt: Date;
|
|
}
|