ÿØÿà JFIF H H ÿÛ C GIF89;
| System: Linux srv913213 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 Current Path : /var/www/talentgenesis_admin_backend/src/admin/ |
| Current File : /var/www/talentgenesis_admin_backend/src/admin/admin.controller.ts |
import {
Controller,
Get,
Post,
Body,
Patch,
Param,
Delete,
Req,
BadRequestException,
Put,
UseGuards,
} from '@nestjs/common';
import { AdminService } from './admin.service';
import {
CreateAdminDto,
Data,
LoginAdminDto,
RefreshTokenDto,
} from './dto/admin.dto';
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
import {
ChangePasswordDto,
ForgotPasswordDto,
ResetPasswordDto,
} from './dto/forgetpassword.dto';
import { AuthGuard } from 'src/guards/auth.guard';
import { Roles } from 'src/decorators/role.decorator';
import { TokenUpdateDto } from './dto/fcm-token.dto';
@ApiTags('Admin')
@Controller('admin')
export class AdminController {
constructor(private readonly adminService: AdminService) {}
@Post('/register')
create(@Body() createAdminDto: CreateAdminDto, @Req() request: Request) {
return this.adminService.create(createAdminDto, request);
}
@Post('/login')
login(@Body() loginAdminDto: LoginAdminDto, @Req() request: Request) {
return this.adminService.login(loginAdminDto, request);
}
@Post('/forgot-password')
forgotPassword(
@Body() forgotPasswordDto: ForgotPasswordDto,
@Req() req: Request,
) {
return this.adminService.forgetpassword(forgotPasswordDto.email, req);
}
@Post('reset-token')
public async findOneUser(
// @Param('token') token: string,
@Body() resetPasswordDto: ResetPasswordDto,
@Req() req: Request,
): Promise<any> {
return await this.adminService.findByIdTest( resetPasswordDto, req);
}
@Post('refresh-token')
async refreshToken(
@Body() refreshTokenDto: RefreshTokenDto,
@Req() req: Request,
) {
return await this.adminService.refreshToken(refreshTokenDto, req);
}
@ApiBearerAuth()
@UseGuards(AuthGuard)
@Post('/change_password')
@Roles('change_password')
async changePassword(
@Body() changePasswordDto: ChangePasswordDto,
@Req() request: Request,
) {
const id = request['user'].user_id;
return await this.adminService.updateByPassword(id, changePasswordDto, request);
}
@ApiBearerAuth()
@UseGuards(AuthGuard)
@Roles('admin_logout')
@Post('/logout')
async logout(
@Req() request: Request,
) {
const id = request['user'].user_id;
return await this.adminService.logoutAdmin(id, request);
}
@Post('/encrypt')
encrypt(@Body() data: Data, @Req() request: Request) {
return this.adminService.encrypt(data, request);
}
@Post('/decrypt')
decrypt(@Body() data: Data, @Req() request: Request) {
return this.adminService.decrypt(data, request);
}
}