25 lines
775 B
TypeScript
25 lines
775 B
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { InjectRepository } from '@nestjs/typeorm';
|
|
import { User } from './user.entity';
|
|
import { Repository } from 'typeorm';
|
|
|
|
@Injectable()
|
|
export class UserService {
|
|
constructor(
|
|
@InjectRepository(User)
|
|
private readonly userRepository: Repository<User>,
|
|
) { }
|
|
|
|
async findOne(options: Partial<Pick<User, 'userId' | 'username' | 'phone' | 'email'>>): Promise<User | null> {
|
|
if (Object.keys(options).length === 0) {
|
|
return null;
|
|
}
|
|
return this.userRepository.findOne({ where: options });
|
|
}
|
|
|
|
async create(user: Partial<User>): Promise<User> {
|
|
const newUser = this.userRepository.create(user);
|
|
return this.userRepository.save(newUser);
|
|
}
|
|
}
|