| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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,
- },
- };
- }
- }
|