From 5c4d9af9cf0efee2ef3e4bffdc0db82dc7c04648 Mon Sep 17 00:00:00 2001 From: yassinedorbozgithub Date: Fri, 10 Jan 2025 08:32:40 +0100 Subject: [PATCH] fix: update the DTOs types naming --- api/src/chat/dto/conversation.dto.ts | 2 +- .../chat/repositories/conversation.repository.ts | 4 ++-- api/src/chat/services/conversation.service.ts | 4 ++-- api/src/user/dto/user.dto.ts | 2 +- api/src/user/repositories/user.repository.ts | 4 ++-- api/src/user/services/user.service.ts | 4 ++-- api/src/utils/generics/base-repository.ts | 4 ++-- api/src/utils/generics/base-service.ts | 16 ++++++++++++---- 8 files changed, 24 insertions(+), 16 deletions(-) diff --git a/api/src/chat/dto/conversation.dto.ts b/api/src/chat/dto/conversation.dto.ts index 9396f856..0bb2cb82 100644 --- a/api/src/chat/dto/conversation.dto.ts +++ b/api/src/chat/dto/conversation.dto.ts @@ -58,6 +58,6 @@ export class ConversationCreateDto { next?: string[]; } -export type ConversationCrudsDto = DtoConfig<{ +export type ConversationDTOCruds = DtoConfig<{ create: ConversationCreateDto; }>; diff --git a/api/src/chat/repositories/conversation.repository.ts b/api/src/chat/repositories/conversation.repository.ts index cc3c01a9..40429a65 100644 --- a/api/src/chat/repositories/conversation.repository.ts +++ b/api/src/chat/repositories/conversation.repository.ts @@ -13,7 +13,7 @@ import { Model } from 'mongoose'; import { BaseRepository } from '@/utils/generics/base-repository'; -import { ConversationCrudsDto } from '../dto/conversation.dto'; +import { ConversationDTOCruds } from '../dto/conversation.dto'; import { Conversation, CONVERSATION_POPULATE, @@ -26,7 +26,7 @@ export class ConversationRepository extends BaseRepository< Conversation, ConversationPopulate, ConversationFull, - ConversationCrudsDto + ConversationDTOCruds > { constructor( readonly eventEmitter: EventEmitter2, diff --git a/api/src/chat/services/conversation.service.ts b/api/src/chat/services/conversation.service.ts index 430e3166..4f791ea6 100644 --- a/api/src/chat/services/conversation.service.ts +++ b/api/src/chat/services/conversation.service.ts @@ -12,7 +12,7 @@ import EventWrapper from '@/channel/lib/EventWrapper'; import { LoggerService } from '@/logger/logger.service'; import { BaseService } from '@/utils/generics/base-service'; -import { ConversationCrudsDto } from '../dto/conversation.dto'; +import { ConversationDTOCruds } from '../dto/conversation.dto'; import { VIEW_MORE_PAYLOAD } from '../helpers/constants'; import { ConversationRepository } from '../repositories/conversation.repository'; import { Block, BlockFull } from '../schemas/block.schema'; @@ -32,7 +32,7 @@ export class ConversationService extends BaseService< Conversation, ConversationPopulate, ConversationFull, - ConversationCrudsDto + ConversationDTOCruds > { constructor( readonly repository: ConversationRepository, diff --git a/api/src/user/dto/user.dto.ts b/api/src/user/dto/user.dto.ts index f8800f42..bda90053 100644 --- a/api/src/user/dto/user.dto.ts +++ b/api/src/user/dto/user.dto.ts @@ -100,6 +100,6 @@ export class UserResetPasswordDto extends PickType(UserCreateDto, [ export class UserRequestResetDto extends PickType(UserCreateDto, ['email']) {} -export type UserCrudsDto = DtoConfig<{ +export type UserDTOCruds = DtoConfig<{ create: UserCreateDto; }>; diff --git a/api/src/user/repositories/user.repository.ts b/api/src/user/repositories/user.repository.ts index 2a87884f..4b372c17 100644 --- a/api/src/user/repositories/user.repository.ts +++ b/api/src/user/repositories/user.repository.ts @@ -20,7 +20,7 @@ import { import { BaseRepository } from '@/utils/generics/base-repository'; import { TFilterQuery } from '@/utils/types/filter.types'; -import { UserCrudsDto, UserEditProfileDto } from '../dto/user.dto'; +import { UserDTOCruds, UserEditProfileDto } from '../dto/user.dto'; import { User, USER_POPULATE, @@ -35,7 +35,7 @@ export class UserRepository extends BaseRepository< User, UserPopulate, UserFull, - UserCrudsDto + UserDTOCruds > { constructor( readonly eventEmitter: EventEmitter2, diff --git a/api/src/user/services/user.service.ts b/api/src/user/services/user.service.ts index d1cca1c5..294a822f 100644 --- a/api/src/user/services/user.service.ts +++ b/api/src/user/services/user.service.ts @@ -10,7 +10,7 @@ import { Injectable } from '@nestjs/common'; import { BaseService } from '@/utils/generics/base-service'; -import { UserCrudsDto } from '../dto/user.dto'; +import { UserDTOCruds } from '../dto/user.dto'; import { UserRepository } from '../repositories/user.repository'; import { User, UserFull, UserPopulate } from '../schemas/user.schema'; @@ -19,7 +19,7 @@ export class UserService extends BaseService< User, UserPopulate, UserFull, - UserCrudsDto + UserDTOCruds > { constructor(readonly repository: UserRepository) { super(repository); diff --git a/api/src/utils/generics/base-repository.ts b/api/src/utils/generics/base-repository.ts index f16eac79..9de85f8c 100644 --- a/api/src/utils/generics/base-repository.ts +++ b/api/src/utils/generics/base-repository.ts @@ -71,7 +71,7 @@ export abstract class BaseRepository< T extends FlattenMaps, P extends string = never, TFull extends Omit = never, - DTO extends DtoProps = unknown, + DTOCruds extends DtoProps = unknown, U = Omit, D = Document, > { @@ -456,7 +456,7 @@ export abstract class BaseRepository< return await this.model.countDocuments(criteria).exec(); } - async create(dto: DtoInfer): Promise { + async create(dto: DtoInfer): Promise { const doc = await this.model.create(dto); return plainToClass( diff --git a/api/src/utils/generics/base-service.ts b/api/src/utils/generics/base-service.ts index 01fe33d3..652fd0a4 100644 --- a/api/src/utils/generics/base-service.ts +++ b/api/src/utils/generics/base-service.ts @@ -23,10 +23,10 @@ export abstract class BaseService< T extends BaseSchema, P extends string = never, TFull extends Omit = never, - DTO extends DtoProps = unknown, + DTOCruds extends DtoProps = unknown, > { constructor( - protected readonly repository: BaseRepository, + protected readonly repository: BaseRepository, ) {} getRepository() { @@ -145,7 +145,11 @@ export abstract class BaseService< } async create< - D extends DtoInfer>, + D extends DtoInfer< + DtoOperations.Create, + DTOCruds, + Omit + >, >(dto: D): Promise { try { return await this.repository.create(dto); @@ -160,7 +164,11 @@ export abstract class BaseService< } async findOneOrCreate< - D extends DtoInfer>, + D extends DtoInfer< + DtoOperations.Create, + DTOCruds, + Omit + >, >(criteria: string | TFilterQuery, dto: D): Promise { const result = await this.findOne(criteria); if (!result) {