feat: migration can be applied on a specific schema & some enhancements (#2998)

* fix: remove old metadata seed files

* feat: wip standard to core relation

* fix: lint

* fix: merge

* fix: remove debug files

* feat: add feature flag for core object metadata

* fix: remove debug

* feat: always disable the standard core relation

* fix: missing feature flag

* fix: remove debug

* fix: feature flag doesn't seems to disable relation

* fix: delete .vscode folder, change this in another PR

* Update packages/twenty-server/src/workspace/workspace-sync-metadata/reflective-metadata.factory.ts

Co-authored-by: Weiko <corentin@twenty.com>

* Update packages/twenty-server/src/workspace/workspace-sync-metadata/reflective-metadata.factory.ts

Co-authored-by: Weiko <corentin@twenty.com>

* Update packages/twenty-server/src/workspace/workspace-sync-metadata/workspace-sync.metadata.service.ts

Co-authored-by: Weiko <corentin@twenty.com>

* fix: remove optional fields from metadata entities

* fix: renamed variable

* fix: put back CursorScalarType

* fix: delete test command

* fix: remove unused workspace standard migration command

* fix: drop core object metadata declaration

* fix: rename variable

* fix: drop creation of core datasource

* fix: remove feature flag

* fix: drop support of standard to core relations

* feat: add user email field on workspace-member standard object

* fix: update seed accordingly

* fix: missing remove command file

* fix: datasource label should remain nullable

* fix: better asserts

* Remove unused code

* Remove unused code

---------

Co-authored-by: Weiko <corentin@twenty.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Jérémy M
2023-12-21 19:15:05 +01:00
committed by GitHub
parent 3234134a30
commit d532f22fbb
112 changed files with 714 additions and 6381 deletions

View File

@ -2,8 +2,8 @@ import { Field, ID, ObjectType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
@ObjectType('UserWorkspaceMemberName')
export class UserWorkspaceMemberName {
@ObjectType('FullName')
export class FullName {
@Field({ nullable: false })
firstName: string;
@ -11,13 +11,13 @@ export class UserWorkspaceMemberName {
lastName: string;
}
@ObjectType('UserWorkspaceMember')
export class UserWorkspaceMember {
@ObjectType('WorkspaceMember')
export class WorkspaceMember {
@IDField(() => ID)
id: string;
@Field(() => UserWorkspaceMemberName)
name: UserWorkspaceMemberName;
@Field(() => FullName)
name: FullName;
@Field({ nullable: false })
colorScheme: string;

View File

@ -5,7 +5,7 @@ import { Repository } from 'typeorm';
import { assert } from 'src/utils/assert';
import { User } from 'src/core/user/user.entity';
import { UserWorkspaceMember } from 'src/core/user/dtos/workspace-member.dto';
import { WorkspaceMember } from 'src/core/user/dtos/workspace-member.dto';
import { DataSourceService } from 'src/metadata/data-source/data-source.service';
import { TypeORMService } from 'src/database/typeorm/typeorm.service';
@ -35,7 +35,7 @@ export class UserService extends TypeOrmQueryService<User> {
assert(workspaceMembers.length === 1, 'WorkspaceMember not found');
const userWorkspaceMember = new UserWorkspaceMember();
const userWorkspaceMember = new WorkspaceMember();
userWorkspaceMember.id = workspaceMembers[0].id;
userWorkspaceMember.colorScheme = workspaceMembers[0].colorScheme;

View File

@ -13,7 +13,7 @@ import { IDField } from '@ptc-org/nestjs-query-graphql';
import { RefreshToken } from 'src/core/refresh-token/refresh-token.entity';
import { Workspace } from 'src/core/workspace/workspace.entity';
import { UserWorkspaceMember } from 'src/core/user/dtos/workspace-member.dto';
import { WorkspaceMember } from 'src/core/user/dtos/workspace-member.dto';
@Entity({ name: 'user', schema: 'core' })
@ObjectType('User')
@ -73,6 +73,6 @@ export class User {
})
refreshTokens: RefreshToken[];
@Field(() => UserWorkspaceMember, { nullable: false })
workspaceMember: UserWorkspaceMember;
@Field(() => WorkspaceMember, { nullable: false })
workspaceMember: WorkspaceMember;
}

View File

@ -22,7 +22,7 @@ import { FileUploadService } from 'src/core/file/services/file-upload.service';
import { assert } from 'src/utils/assert';
import { JwtAuthGuard } from 'src/guards/jwt.auth.guard';
import { User } from 'src/core/user/user.entity';
import { UserWorkspaceMember } from 'src/core/user/dtos/workspace-member.dto';
import { WorkspaceMember } from 'src/core/user/dtos/workspace-member.dto';
import { UserService } from './services/user.service';
@ -54,10 +54,10 @@ export class UserResolver {
return user;
}
@ResolveField(() => UserWorkspaceMember, {
@ResolveField(() => WorkspaceMember, {
nullable: false,
})
async workspaceMember(@Parent() user: User): Promise<UserWorkspaceMember> {
async workspaceMember(@Parent() user: User): Promise<WorkspaceMember> {
return this.userService.loadWorkspaceMember(user);
}