import { BadRequestException, Injectable } from "@nestjs/common"; import { UserRepository } from "src/features/user/repositories"; import { UserLoginDto, UserRegisterDto } from "./dtos"; @Injectable() export class AuthService { constructor(private readonly userRepo: UserRepository) {} async registerUser(userRegisterDto: UserRegisterDto) { const user = await this.userRepo.retrieveByCellPhoneNumber( userRegisterDto.cellphoneNumber, ); if (!user) { // Create user + Send OTP and update database } // Send OTP to the cellphone number of user and update database // TODO: Create a mock otp for once we got no otp senders or development phase } async loginUser(userLoginDto: UserLoginDto) { const user = await this.userRepo.retrieveByCellPhoneNumber( userLoginDto.cellphoneNumber, ); if (!user) throw new BadRequestException("User does not exist"); // Generate token (access + refresh) and save inside the database, return them to the user } }