payment.controller.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import {
  2. Controller,
  3. Post,
  4. Body,
  5. UseGuards,
  6. Request,
  7. Logger,
  8. } from '@nestjs/common';
  9. import { JwtAuthGuard } from 'src/common/guards/jwt-auth.guard';
  10. import { PaymentPayload } from 'src/interface/interface';
  11. import { PaymentService } from 'src/services/payment.service';
  12. @Controller('payment')
  13. export class PaymentController {
  14. private logger: Logger = new Logger(`Payment Controller`)
  15. private service: PaymentService
  16. constructor(attendanceService: PaymentService) {
  17. this.service = attendanceService
  18. }
  19. @UseGuards(JwtAuthGuard)
  20. @Post()
  21. submitAttendance(
  22. @Request() req,
  23. @Body() body: PaymentPayload
  24. ) {
  25. const user = req.user; // ← comes from the token
  26. const { date } = body;
  27. this.service.emit({ name: user.name, date: date, verified: body.verified})
  28. return {
  29. message: `Payment received for ${user.name} on ${new Date(date).toDateString()}`,
  30. user: {
  31. id: user.sub,
  32. name: user.name,
  33. email: user.email,
  34. },
  35. };
  36. }
  37. }