import { Body, Controller, Delete, Post, Res, UseGuards } from "@nestjs/common";
import { UserDevicesService } from "./user-devices.service";
import { UserAuthGuard } from "src/users/auth/user.auth.guard";
import { UserDecorator } from "src/common/decorator";
import { RegisterDeviceDto } from "./dto/register-device.dto";
import { Response } from "express";

@Controller("user-devices")
@UseGuards(UserAuthGuard)
export class UserDevicesController {
  constructor(private readonly userDevicesService: UserDevicesService) {}

  @Post("register")
  async registerDevice(
    @UserDecorator() user: any,
    @Body() body: RegisterDeviceDto,
    @Res() res: Response,
  ) {
    await this.userDevicesService.registerDevice(
      res,
      user._id,
      body.fcmToken,
      body.platform,
    );

  
  }

  @Delete("delete")
  async deleteDevice(
     @Res() res: Response,
    @UserDecorator() user: any,
    @Body("fcmToken") fcmToken: string,
  ) {
    await this.userDevicesService.deleteDevice(  res,user._id, fcmToken);
    
  }
}
