Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | 3x 8x | import { UserDTO } from "@/modules/api/user/user.dto"; import { Services } from "@/types/Constants"; import { Inject } from "@nestjs/common"; import { UserEntity } from "../entities"; import { PrismaService } from "../prisma/Prisma.service"; import type { IAPIUserRepository } from "./interfaces/IAPIUserRepository"; export class APIUserRepository implements IAPIUserRepository { public constructor(@Inject(Services.Prisma) private readonly prisma: PrismaService) {} public async get(userId: string): Promise<UserEntity> { return await this.prisma.user.findFirst({ where: { id: userId, }, include: { APIUser: true, Settings: true, }, }); } public async create(userDTO: UserDTO): Promise<UserEntity> { return await this.prisma.user.create({ data: { id: userDTO.id, Settings: { create: {}, }, APIUser: { create: { email: userDTO.email, accessToken: userDTO.accessToken, }, }, }, include: { APIUser: true, Settings: true, }, }); } public async update(userDTO: UserDTO): Promise<UserEntity> { return await this.prisma.user.update({ where: { id: userDTO.id }, data: { APIUser: { update: { email: userDTO.email, accessToken: userDTO.accessToken, }, }, }, include: { APIUser: true, Settings: true, }, }); } } |