import { Controller, Post, Body, UseGuards, Request, Logger, } from '@nestjs/common'; import { JwtAuthGuard } from 'src/common/guards/jwt-auth.guard'; import { AttendancePayload } from 'src/interface/interface'; import { AttendanceService } from 'src/services/attendance.service'; @Controller('attendance') export class AttendanceController { private logger: Logger = new Logger(`Attendance Controller`) private service: AttendanceService constructor(attendanceService: AttendanceService) { this.service = attendanceService } @UseGuards(JwtAuthGuard) @Post() submitAttendance( @Request() req, @Body() body: AttendancePayload ) { const user = req.user; // ← comes from the token const { date } = body; this.service.emit({ name: user.name, date: date }) return { message: `Attendance received for ${user.name} on ${new Date(date).toDateString()}`, user: { id: user.sub, name: user.name, email: user.email, }, }; } }