import { Body, Controller, Get, Param, Post, Req, UseGuards } from '@nestjs/common';
import { DepenseService } from './depense.service';
import { AuthGuard } from '@nestjs/passport';
import { Request } from 'express';
import { MotifDto } from './dto/motifDto';
import { DepenseDto } from './dto/depenseDto';

@Controller('depense')
export class DepenseController {
    constructor(private readonly depenseService: DepenseService){}

    @UseGuards(AuthGuard("jwt"))
    @Post('create-motif')
    createMotif(@Req() request: Request, @Body() motifDto: MotifDto){
        console.log(request)
        const fastFoodId = request.user['fastFoodId']
        return this.depenseService.createMotif(motifDto,+fastFoodId)
    }

    @UseGuards(AuthGuard("jwt"))
    @Get('get-motifs')
    getMotifs(@Req() request: Request){
        console.log(request)
        const fastFoodId = request.user['fastFoodId']
        return this.depenseService.getMotifByFastFood(fastFoodId)
    }

    @UseGuards(AuthGuard("jwt"))
    @Post('create-depense')
    createDepense(@Req() request: Request, @Body() depenseDto: DepenseDto){
        console.log(request)
        const fastFoodId = request.user['fastFoodId']
        const userId = request.user['id']
        return this.depenseService.createDepense(depenseDto, +fastFoodId, +userId)
    }

    @UseGuards(AuthGuard("jwt"))
    @Get('get-depenses/:page/:size')
    getDepenses(@Req() request: Request, @Param('page')page: number=0, @Param('size') size:number=10){
        console.log(request)
        const fastFoodId = request.user['fastFoodId']
        return this.depenseService.getDepenseByFastFood(fastFoodId, +size, +page)
    }
}
