Files
twenty/server/src/coreV2/user/services/user.service.ts
T
Charles Bochet 6129444c5c [WIP] Whole FE migrated (#2517)
* 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>
2023-11-15 15:46:06 +01:00

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;
}
}