Compare commits

..

2 Commits

Author SHA1 Message Date
Kallesh B S
3eb495b007 auth clssification last pay bug fix 2025-09-17 10:06:59 +05:30
Kallesh B S
18c7a2799e api added 2025-09-15 14:39:44 +05:30
8 changed files with 35 additions and 57 deletions

View File

@ -8,12 +8,11 @@ import { ConfigModule } from '@nestjs/config';
import { MailModule } from './mail/mail.module'; import { MailModule } from './mail/mail.module';
import { PaypalModule } from './paypal/paypal.module'; import { PaypalModule } from './paypal/paypal.module';
import { PgModule } from './pg/pg.module'; import { PgModule } from './pg/pg.module';
import { CommonModule } from './common/common.module';
@Module({ @Module({
imports: [ imports: [
ConfigModule.forRoot({ isGlobal: true }), PgModule, ConfigModule.forRoot({ isGlobal: true }), PgModule,
AuthModule, DbModule, OracleModule, MailModule, PaypalModule, CommonModule AuthModule, DbModule, OracleModule, MailModule, PaypalModule
], ],
controllers: [], controllers: [],
providers: [], providers: [],

View File

@ -10,17 +10,17 @@ import { Roles } from 'src/decorators/roles.decorator';
import { JwtAuthGuard } from 'src/guards/jwt-auth.guard'; import { JwtAuthGuard } from 'src/guards/jwt-auth.guard';
@ApiTags('Auth') @ApiTags('Auth')
@Controller() @Controller("1")
export class AuthController { export class AuthController {
constructor( constructor(
private readonly authService: AuthService, private readonly authService: AuthService,
) { } ) { }
@Post('1/login') @Post('login')
@HttpCode(200) @HttpCode(200)
async loginClient(@Body() body: AuthLoginOnlyDTO, @Res({ passthrough: true }) res: Response, @Req() req: Request) { async loginClient(@Body() body: AuthLoginOnlyDTO, @Res({ passthrough: true }) res: Response, @Req() req: Request) {
let k: any = await this.authService.loginUser(body.P_EMAILADDR.toLowerCase(), body.P_PASSWORD, body.P_APPLICATIONNAME, req, 1); let k: any = await this.authService.loginUser(body.P_EMAILADDR.toLowerCase(), body.P_PASSWORD, body.P_APPLICATIONNAME, req);
if (k.access_token) { if (k.access_token) {
res.cookie('access_token', k.access_token, { res.cookie('access_token', k.access_token, {
@ -42,15 +42,9 @@ export class AuthController {
} }
// @UseGuards(RegisterGuard) // @UseGuards(RegisterGuard)
@Post('1/register') @Post('register')
async register(@Body() body: AuthLoginDTO) { async register(@Body() body: AuthLoginDTO) {
return this.authService.registerUser(body, 1); return this.authService.registerUser(body);
}
@UseGuards(RegisterGuard)
@Put('1/forgot-password')
async forgotPassword(@Body() body: AuthLoginDTO, @Req() req: Request) {
return this.authService.forgotPassword(body, req);
} }
@UseInterceptors(LogoutInterceptor) @UseInterceptors(LogoutInterceptor)
@ -74,6 +68,12 @@ export class AuthController {
res.json({ ...rst }) res.json({ ...rst })
} }
@UseGuards(RegisterGuard)
@Put('forgot-password')
async forgotPassword(@Body() body: AuthLoginDTO, @Req() req: Request) {
return this.authService.forgotPassword(body, req);
}
@Get('refresh-tokens') @Get('refresh-tokens')
async getTokenFromRefreshToken(@Req() req: Request, @Res({ passthrough: true }) res: Response) { async getTokenFromRefreshToken(@Req() req: Request, @Res({ passthrough: true }) res: Response) {
let k: any = await this.authService.getTokenFromRefreshToken(req) let k: any = await this.authService.getTokenFromRefreshToken(req)

View File

@ -6,10 +6,9 @@ import { ConfigService } from '@nestjs/config';
import { JwtService } from '@nestjs/jwt'; import { JwtService } from '@nestjs/jwt';
import { OracleModule } from 'src/oracle/oracle.module'; import { OracleModule } from 'src/oracle/oracle.module';
import { MailModule } from 'src/mail/mail.module'; import { MailModule } from 'src/mail/mail.module';
import { PgModule } from 'src/pg/pg.module';
@Module({ @Module({
imports: [DbModule,MailModule, forwardRef(() => OracleModule), forwardRef(() => PgModule)], imports: [DbModule,MailModule, forwardRef(() => OracleModule)],
providers: [ providers: [
AuthService, AuthService,
{ {

View File

@ -11,10 +11,9 @@ import { UnauthorizedException } from 'src/exceptions/unauthorized.exception';
import { ConflictException } from 'src/exceptions/conflict.exception'; import { ConflictException } from 'src/exceptions/conflict.exception';
import { BadRequestException } from 'src/exceptions/badRequest.exception'; import { BadRequestException } from 'src/exceptions/badRequest.exception';
import { JwtService } from '@nestjs/jwt'; import { JwtService } from '@nestjs/jwt';
import { UserMaintenanceService } from 'src/oracle/user-maintenance/user-maintenance.service';
import { v4 as uuidv4 } from 'uuid'; import { v4 as uuidv4 } from 'uuid';
import { MailService } from 'src/mail/mail.service'; import { MailService } from 'src/mail/mail.service';
import { UserMaintenanceService as OracleUserMaintenanceService } from 'src/oracle/user-maintenance/user-maintenance.service';
import { UserMaintenanceService as PgUserMaintenanceService } from 'src/pg/user-maintenance/user-maintenance.service';
interface DecodedToken { interface DecodedToken {
@ -45,8 +44,7 @@ export class AuthService {
private readonly oracleDBService: OracleDBService, private readonly oracleDBService: OracleDBService,
private readonly configService: ConfigService, private readonly configService: ConfigService,
private readonly mailService: MailService, private readonly mailService: MailService,
private readonly oracleUserMaintenanceService: OracleUserMaintenanceService, private readonly userMaintenanceService: UserMaintenanceService,
private readonly pgUserMaintenanceService: PgUserMaintenanceService,
@Inject("REGISTER_SIGN_JWT") readonly REGISTER_SIGN_JWT: JwtService, @Inject("REGISTER_SIGN_JWT") readonly REGISTER_SIGN_JWT: JwtService,
@Inject("REGISTER_VERIFY_JWT") readonly REGISTER_VERIFY_JWT: JwtService @Inject("REGISTER_VERIFY_JWT") readonly REGISTER_VERIFY_JWT: JwtService
) { ) {
@ -247,7 +245,7 @@ export class AuthService {
return verified; return verified;
} }
async loginUser(username: string, password: string, applicationName: string, req: Request, dbtype: number): Promise<any> { async loginUser(username: string, password: string, applicationName: string, req: Request): Promise<any> {
const access_token = req.cookies?.access_token; const access_token = req.cookies?.access_token;
const refresh_token = req.cookies?.refresh_token; const refresh_token = req.cookies?.refresh_token;
@ -262,14 +260,7 @@ export class AuthService {
try { try {
const userSession = await this.getUserSession(username) const userSession = await this.getUserSession(username)
let emailVerifyResponse: any; const emailVerifyResponse: any = await this.userMaintenanceService.ValidateEmail({ P_EMAILADDR: username })
if (dbtype === 1) {
emailVerifyResponse = await this.oracleUserMaintenanceService.ValidateEmail({ P_EMAILADDR: username })
}
else if (dbtype === 2) {
emailVerifyResponse = await this.pgUserMaintenanceService.ValidateEmail({ P_EMAILADDR: username })
}
if (Array.isArray(emailVerifyResponse) && emailVerifyResponse[0].ERRORMESG) { if (Array.isArray(emailVerifyResponse) && emailVerifyResponse[0].ERRORMESG) {
throw new BadRequestException(); throw new BadRequestException();
@ -279,9 +270,9 @@ export class AuthService {
if (Array.isArray(emailVerifyResponse) && !emailVerifyResponse[0].ERRORMESG) { if (Array.isArray(emailVerifyResponse) && !emailVerifyResponse[0].ERRORMESG) {
switch (emailVerifyResponse[0].SOURCE) { switch (emailVerifyResponse[0].SOURCE) {
case "USCIB": ROLE = dbtype === 1 ? 'ua' : dbtype === 2 ? 'pua' : ''; break; case "USCIB": ROLE = 'ua'; break;
case "SP": ROLE = dbtype === 1 ? 'sa' : dbtype === 2 ? 'psa' : ''; break; case "SP": ROLE = 'sa'; break;
case "CLIENT": ROLE = dbtype === 1 ? 'ca' : dbtype === 2 ? 'pca' : ''; break; case "CLIENT": ROLE = 'ca'; break;
} }
} }
@ -447,6 +438,7 @@ export class AuthService {
} }
} }
async forgotPassword(body: AuthLoginDTO, req: Request) { async forgotPassword(body: AuthLoginDTO, req: Request) {
let det = await req['user']; let det = await req['user'];
@ -520,21 +512,13 @@ export class AuthService {
} }
} }
async registerUser(body: AuthLoginDTO, dbtype: number) { async registerUser(body: AuthLoginDTO) {
// let det = await req['user']; // let det = await req['user'];
// if (det?.email !== body.P_EMAILADDR) { // if (det?.email !== body.P_EMAILADDR) {
// throw new BadRequestException(); // throw new BadRequestException();
// } // }
let emailVerifyResponse: any; const emailVerifyResponse: any = await this.userMaintenanceService.ValidateEmail({ P_EMAILADDR: body.P_EMAILADDR })
if (dbtype === 1) {
emailVerifyResponse = await this.oracleUserMaintenanceService.ValidateEmail({ P_EMAILADDR: body.P_EMAILADDR })
}
else if (dbtype === 2) {
emailVerifyResponse = await this.pgUserMaintenanceService.ValidateEmail({ P_EMAILADDR: body.P_EMAILADDR })
}
if (Array.isArray(emailVerifyResponse) && emailVerifyResponse[0].ERRORMESG) { if (Array.isArray(emailVerifyResponse) && emailVerifyResponse[0].ERRORMESG) {
throw new BadRequestException(); throw new BadRequestException();
@ -585,9 +569,9 @@ export class AuthService {
if (Array.isArray(emailVerifyResponse) && !emailVerifyResponse[0].ERRORMESG) { if (Array.isArray(emailVerifyResponse) && !emailVerifyResponse[0].ERRORMESG) {
switch (emailVerifyResponse[0].SOURCE) { switch (emailVerifyResponse[0].SOURCE) {
case "USCIB": ROLE = dbtype === 1 ? 'ua' : dbtype === 2 ? 'pua' : ''; break; case "USCIB": ROLE = 'ua'; break;
case "SP": ROLE = dbtype === 1 ? 'sa' : dbtype === 2 ? 'psa' : ''; break; case "SP": ROLE = 'sa'; break;
case "CLIENT": ROLE = dbtype === 1 ? 'ca' : dbtype === 2 ? 'pca' : ''; break; case "CLIENT": ROLE = 'ca'; break;
} }
} }
@ -734,6 +718,8 @@ export class AuthService {
} }
} }
async getTokenFromRefreshToken(req: Request) { async getTokenFromRefreshToken(req: Request) {
const refreshToken = req.cookies['refresh_token']; const refreshToken = req.cookies['refresh_token'];

View File

@ -7,6 +7,6 @@ import { AuthModule } from 'src/auth/auth.module';
imports: [forwardRef(() => AuthModule)], imports: [forwardRef(() => AuthModule)],
controllers: [UserMaintenanceController], controllers: [UserMaintenanceController],
providers: [UserMaintenanceService], providers: [UserMaintenanceService],
exports: [UserMaintenanceService] exports: [UserMaintenanceService, AuthModule]
}) })
export class UserMaintenanceModule { } export class UserMaintenanceModule { }

View File

@ -1,14 +1,11 @@
import { Global, Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { ParamTableModule } from './param-table/param-table.module'; import { ParamTableModule } from './param-table/param-table.module';
import { DbModule } from 'src/db/db.module'; import { DbModule } from 'src/db/db.module';
import { UscibManagedSpModule } from './uscib-managed-sp/uscib-managed-sp.module'; import { UscibManagedSpModule } from './uscib-managed-sp/uscib-managed-sp.module';
import { UserMaintenanceModule } from './user-maintenance/user-maintenance.module'; import { UserMaintenanceModule } from './user-maintenance/user-maintenance.module';
import { ManageFeeModule } from './manage-fee/manage-fee.module'; import { ManageFeeModule } from './manage-fee/manage-fee.module';
@Global()
@Module({ @Module({
imports: [DbModule, ParamTableModule, UscibManagedSpModule, UserMaintenanceModule, ManageFeeModule], imports: [DbModule, ParamTableModule, UscibManagedSpModule, UserMaintenanceModule, ManageFeeModule],
providers: [],
exports: [UserMaintenanceModule]
}) })
export class PgModule { } export class PgModule { }

View File

@ -1,12 +1,9 @@
import { forwardRef, Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { UserMaintenanceController } from './user-maintenance.controller'; import { UserMaintenanceController } from './user-maintenance.controller';
import { UserMaintenanceService } from './user-maintenance.service'; import { UserMaintenanceService } from './user-maintenance.service';
import { AuthModule } from 'src/auth/auth.module';
@Module({ @Module({
imports: [forwardRef(() => AuthModule)],
controllers: [UserMaintenanceController], controllers: [UserMaintenanceController],
providers: [UserMaintenanceService], providers: [UserMaintenanceService]
exports: [UserMaintenanceService]
}) })
export class UserMaintenanceModule { } export class UserMaintenanceModule {}

View File

@ -1,4 +1,4 @@
import { forwardRef, Inject, Injectable, Logger } from '@nestjs/common'; import { Injectable, Logger } from '@nestjs/common';
import { CreateClientLoginsDTO, CreateSPLoginsDTO, CreateUSCIBLoginsDTO, EMAIL_DTO, SPID_CLIENTID_DTO, SPID_DTO, SPID_EMAIL_DTO, USERID_DTO } from 'src/dto/property.dto'; import { CreateClientLoginsDTO, CreateSPLoginsDTO, CreateUSCIBLoginsDTO, EMAIL_DTO, SPID_CLIENTID_DTO, SPID_DTO, SPID_EMAIL_DTO, USERID_DTO } from 'src/dto/property.dto';
import { checkPgUserDefinedErrors, handlePgError, releasePgClient, ResponseStatus } from 'src/utils/helper'; import { checkPgUserDefinedErrors, handlePgError, releasePgClient, ResponseStatus } from 'src/utils/helper';
@ -15,7 +15,7 @@ export class UserMaintenanceService {
constructor( constructor(
private readonly pgDBService: PgDBService, private readonly pgDBService: PgDBService,
@Inject(forwardRef(() => AuthService)) // @Inject(forwardRef(() => AuthService))
private readonly authService: AuthService private readonly authService: AuthService
) { } ) { }