import {
    BadRequestException,
    Body,
    Controller,
    Get,
    Param,
    Query,
    Req,
    UseGuards,
} from "@nestjs/common";
import { CylinderClientService } from "./cylinder-client.service";
import { Public } from "src/common/decorators/public.decorator";
import { getPaginationOptions } from "src/common/lib/pagination-helper";

@Controller("cylinder-client")
export class CylinderClientController {
    constructor(
        private readonly cylinderclientService: CylinderClientService,
    ) { }

    @Get()
    findAll(@Query('page') page:number,@Query('per_page') per_page:number,@Query('q') query:string){
        return this.cylinderclientService.findAll(page,per_page,query)
    }

    @Get("search")
    searchCylinderclient(
        @Query("q") query: string,
        @Query("limit") limit?: string,
        @Query("page") page?: string
    ) {
        const pageNumber = parseInt(page ?? "1");
        const perPage = parseInt(limit ?? "10");
        return this.cylinderclientService.searchCylinderClient(query, pageNumber, perPage);
    }

    @Get(':id')
    find(@Query("limit") limit?: string, @Query("page") page?: string, @Query("movement") movement?: string, @Param("id") id?: string) {

        const pageNumber = parseInt(page ?? "1");
        const perPage = parseInt(limit ?? "10");
        return this.cylinderclientService.findAll(pageNumber, perPage, movement, id);
    }

    // @Public()
    // @Get("cylinder/:cylinderId")
    // findLogsForCylinder(@Param("cylinderId") cylinderId: string) {
    //     return this.cylinderclientService.findLogsForCylinder(cylinderId);
    // }





    // @Get(":id")    
    // findOne(@Param("id") id: string) {
    //     return this.cylinderclientService.findOne(id);
    // }   


}