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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | 3x 8x 8x | import { Services } from "@/types/Constants"; import { Inject, Logger } from "@nestjs/common"; import { User } from "discord.js"; import { UserEntity } from "../entities"; import { PrismaService } from "../prisma/Prisma.service"; import { DatabaseStatus } from "../types"; import type { IUserRepository } from "./interfaces"; export class UserRepository implements IUserRepository { public constructor(@Inject(Services.Prisma) private readonly prisma: PrismaService) {} private readonly logger = new Logger(UserRepository.name); public async get(userId: string): Promise<UserEntity> { return await this.prisma.user.findUnique({ where: { id: userId }, include: { Settings: true, APIUser: true, }, }); } public async create(user: User): Promise<{ callback: UserEntity | void; status: DatabaseStatus }> { let status = DatabaseStatus.Created; const callback = await this.prisma.user .create({ data: { id: user.id, Settings: { create: {}, }, APIUser: { create: { accessToken: "", email: "", }, }, }, include: { Settings: true, }, }) .catch((err) => { this.logger.error(err); status = DatabaseStatus.Error; }); this.logger.log(`${user.username} Configuration Created on Database`); return { callback, status, }; } public async update(user: User): Promise<UserEntity> { return await this.prisma.user.update({ where: { id: user.id }, data: {}, include: { Settings: true, APIUser: true, }, }); } public async delete(user: User): Promise<UserEntity> { return await this.prisma.user.delete({ where: { id: user.id }, include: { Settings: true, APIUser: true, }, }); } } |