I am trying to get a user instance based on id
(same happens for other attributes such as email
. Inside the Service, this is my code:
@Injectable()
export class UserService {
@InjectRepository(User)
private readonly repository: Repository<User>;
async findOne(id: number): Promise<User> {
const user = await this.repository.findOne(id);
return user;
}
}
and my User entity is:
@Entity()
export class User {
@PrimaryGeneratedColumn()
public id: number;
@Column({ type: 'varchar', length: 120 })
public name: string;
@Column({ type: 'varchar', length: 120 })
public email: string;
}
The problem is that I always get this error:
src/api/user/user.service.ts - error TS2559: Type 'number' has no properties in common with type 'FindOneOptions<User>'.
Other methods such as getAll
work just fine:
public getAllUsers(): Promise<User[]> {
return this.repository.find();
}
are you using the latest version of typeorm
? Then downgrade it to [email protected]
because @nestjs/[email protected]
might not support the latest one yet. You can read the changes of [email protected]
here: https://github.com/typeorm/typeorm/releases/tag/0.3.0