6129444c5c
* Wip * WIP * Removed concole log * Add relations to workspace init (#2511) * Add relations to workspace init * remove logs * update prefill * add missing isSystem * comment relation fields * Migrate v2 core models to graphql schema (#2509) * migrate v2 core models to graphql schema * Migrate to new workspace member schema * Continue work * migrated-main * Finished accountOwner nested field integration on companies * Introduce bug * Fix --------- Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com> Co-authored-by: Weiko <corentin@twenty.com>
72 lines
2.0 KiB
TypeScript
72 lines
2.0 KiB
TypeScript
import { InjectRepository } from '@nestjs/typeorm';
|
|
|
|
import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm';
|
|
import { Repository } from 'typeorm';
|
|
|
|
import { assert } from 'src/utils/assert';
|
|
import { UserV2 } from 'src/coreV2/user/user.entity';
|
|
|
|
export class UserService extends TypeOrmQueryService<UserV2> {
|
|
constructor(
|
|
@InjectRepository(UserV2)
|
|
private readonly userRepository: Repository<UserV2>,
|
|
) {
|
|
super(userRepository);
|
|
}
|
|
|
|
async deleteUser({
|
|
workspaceId: _workspaceId,
|
|
userId,
|
|
}: {
|
|
workspaceId: string;
|
|
userId: string;
|
|
}) {
|
|
// const { workspaceMember, refreshToken } = this.prismaService.client;
|
|
|
|
// const queryRunner =
|
|
// this.userRepository.manager.connection.createQueryRunner();
|
|
// await queryRunner.connect();
|
|
|
|
const user = await this.userRepository.findBy({ id: userId });
|
|
assert(user, 'User not found');
|
|
|
|
// FIXME: Workspace entity is not defined
|
|
// const workspace = await queryRunner.manager.findOneBy(Workspace, {
|
|
// id: userId,
|
|
// });
|
|
// assert(workspace, 'Workspace not found');
|
|
|
|
// const workSpaceMembers = await queryRunner.manager.findBy(WorkspaceMember, {
|
|
// workspaceId,
|
|
// });
|
|
|
|
// const isLastMember =
|
|
// workSpaceMembers.length === 1 && workSpaceMembers[0].userId === userId;
|
|
|
|
// if (isLastMember) {
|
|
// // FIXME: workspaceService is not defined
|
|
// await this.workspaceService.deleteWorkspace({
|
|
// workspaceId,
|
|
// });
|
|
// } else {
|
|
// await queryRunner.startTransaction();
|
|
|
|
// // FIXME: these other entities are not defined
|
|
// await queryRunner.manager.delete(WorkspaceMember, {
|
|
// userId,
|
|
// });
|
|
// await queryRunner.manager.delete(RefreshToken, {
|
|
// userId,
|
|
// });
|
|
// await queryRunner.manager.delete(User, {
|
|
// id: userId,
|
|
// });
|
|
// await queryRunner.commitTransaction();
|
|
|
|
// await queryRunner.release();
|
|
// }
|
|
|
|
return user;
|
|
}
|
|
}
|