voy al dto de createtwit
que se ve asi por ahora
import { IsString } from 'class-validator';
export class CreateTwitDto {
@IsString() // la propiedad debe existeir y ser de tipo strint
readonly menssage: string;
}
lo arreglo asi
import { IsObject, IsString } from 'class-validator';
import { User } from 'src/modules/users/entities';
export class CreateTwitDto {
@IsString() // la propiedad debe existeir y ser de tipo strint
readonly menssage: string;
// insercion en cascada
@IsObject()
readonly user: Partial<User>;
}
ahora en el servicio de twit deberé injectar el repository de usuario
quedando asi
import { Injectable, NotFoundException } from '@nestjs/common';
import { Twits } from './twits.entity';
import { CreateTwitDto } from './dto/create-twit.dto/create-twit.dto';
import { UddateTwitDto } from './dto/uddate-twit.dto/uddate-twit.dto';
import { Repository } from 'typeorm';
import { InjectRepository } from '@nestjs/typeorm';
import { PaginationQueryDto } from './dto';
import { User } from '../users/entities';
@Injectable()
export class TwitsService {
constructor(
@InjectRepository(Twits)
private readonly twitsRepository: Repository<Twits>,
@InjectRepository(User)
private readonly usersRepository: Repository<User>,
) {}
ahora modificaremos el metodo create
añado user como parametro tambien
async createTwit({ menssage, user }: CreateTwitDto): Promise<Twits> {
const twit: Twits = this.twitsRepository.create({ menssage, user });
return this.twitsRepository.save(twit);
}
ahora voy al modelo twit einserto la propiedad user
import { Module } from '@nestjs/common';
import { TwitsController } from './twits.controller';
import { TwitsService } from './twits.service';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Twits } from './twits.entity';
import { User } from '../users/entities';
@Module({
imports: [TypeOrmModule.forFeature([Twits, User])],
controllers: [TwitsController],
providers: [TwitsService],
})
export class TwitsModule {}
0 comentarios:
Publicar un comentario