ÿØÿà 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/notification/ |
| Current File : /var/www/talentgenesis_admin_backend/src/notification/notification.controller.ts |
import { Controller, Get, Post, Body, Patch, Param, Delete, UseGuards, Put, Req, BadRequestException,HttpException, Query } from '@nestjs/common';
import { FirebaseService } from './notification.service';
import { ApiBearerAuth, ApiQuery, ApiTags } from '@nestjs/swagger';
import { AuthGuard } from 'src/guards/auth.guard';
import { NotificationDto, UpdateFcmToken } from './dto/notification.dto';
import { StatusDto } from './dto/read-status.dto';
import { Roles } from 'src/decorators/role.decorator';
@ApiTags('Notifications')
@ApiBearerAuth()
@UseGuards(AuthGuard)
@Controller('push')
export class PushNotificationController {
constructor(private readonly firebaseService: FirebaseService) {}
@Get('/mobile/notification-list')
@Roles('mobile_notification_list')
public async mobileNotification(@Req() request: Request) {
const userData=request['user'].user_id;
return await this.firebaseService.findAllMobileNotifications(userData);
}
@Get('/admin/notification-list')
@Roles('notification_view')
public async findAll() {
return await this.firebaseService.findAllAdminNotifications();
}
@Put('/read-unread')
@Roles('read_unread')
public async statusChange(
@Body() statusUpdate: StatusDto,@Req() request:Request
): Promise<any> {
try {
return await this.firebaseService.statusChange(statusUpdate,request);
} catch (err) {
throw new BadRequestException(err, 'Error: User not updated!');
}
}
@Post('mobile/mark-all-read')
@Roles('mobile_markallread')
public async markAllMobile(@Req() request:Request
): Promise<any> {
try {
const id = request['user'].user_id;
return await this.firebaseService.markAllMobile(id);
} catch (err) {
throw new BadRequestException(err, 'Error: User not updated!');
}
}
@Roles('notification_list')
@Post('admin/mark-all-read')
public async markAllNotificationAdmin(@Req() request:Request
): Promise<any> {
try {
const id = request['user'].user_id;
return await this.firebaseService.markAllAdmin(id);
} catch (err) {
throw new BadRequestException(err, 'Error: User not updated!');
}
}
@ApiBearerAuth()
@UseGuards(AuthGuard)
@Roles('mobile_updatefcmtoken')
@Post('/mobile/updatefcmtoken')
updatefcmtoken(@Body() fcmUpdateDto: UpdateFcmToken, @Req() request: Request) {
const userData=request['user'].user_id;
return this.firebaseService.updatefcmtoken(fcmUpdateDto, request,userData);
}
@ApiBearerAuth()
@UseGuards(AuthGuard)
@Roles('admin_updatefcm')
@Post('/admin/updatefcmtoken')
updatefcmtokenadmin(@Body() fcmUpdateDto: UpdateFcmToken, @Req() request: Request) {
const userData=request['user'].user_id;
return this.firebaseService.updatefcmtokenadmin(fcmUpdateDto, request,userData);
}
// @Roles('notification_list')
// @Get('/admin/notification-list')
// @ApiQuery({ name: 'offset', required: false })
// @ApiQuery({ name: 'limit', required: false })
// @ApiQuery({ name: 'fromDate', required: false })
// @ApiQuery({ name: 'toDate', required: false })
// @ApiQuery({ name: 'status', required: false })
// async findAllTest(
// @Query('offset') offset,
// @Query('limit') limit,
// @Req() request: Request,
// @Query('fromDate') fromDate = '',
// @Query('toDate') toDate = '',
// @Query('status') status = [] ,
// ) {
// limit = limit ? limit : 10;
// offset = offset ? offset : 1;
// return this.firebaseService.findAllAdminNotificationList(
// offset,
// limit,
// fromDate,
// toDate,
// status,
// request
// );
// }
}