Added user controller and getUser method

This commit is contained in:
2023-11-18 02:02:46 +03:00
parent a8db05fb03
commit e466e55bef
4 changed files with 62 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
import { Injectable, Logger } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { User } from 'libs/database/user.entity';
import { Repository } from 'typeorm';
import { IGetUser } from './user.dto';
@Injectable()
export class UserService {
private readonly logger: Logger = new Logger(UserService.name);
constructor(@InjectRepository(User) private userRepository: Repository<User>) {}
async getUser(data: IGetUser) {
try {
this.logger.debug(`[admin.getUser] data: ${JSON.stringify(data)}`);
let user = await this.userRepository.findOne({
where: { id: data.id },
});
if (!user) {
user = await this.userRepository.save({ id: data.id, user_name: data.username });
this.logger.log(`User ${data.id} created`);
}
return user;
} catch (error) {
this.logger.log(`[getUser] ${JSON.stringify({ error })}`);
}
}
}