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:
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user