File

src/partnership/partnership.controller.ts

Prefix

partnership

Index

Methods

Methods

deletePartNership
deletePartNership(params: IsParameterWithIdOfTable)
Decorators :
@Delete(':id')
Parameters :
Name Type Optional
params IsParameterWithIdOfTable No
Returns : any
getPartnership
getPartnership()
Decorators :
@Public()
@Get()
Returns : any
getPartnershipByIdOrSlug
getPartnershipByIdOrSlug(params)
Decorators :
@Public()
@Get('search/:id')
Parameters :
Name Optional
params No
Returns : any
Async getThreeRandomsPartnership
getThreeRandomsPartnership()
Decorators :
@Public()
@Get('random')
Returns : Promise<any>
savePartnership
savePartnership(modelPartnership: PartnershipValidation)
Decorators :
@UseInterceptors(undefined)
@Post()
Parameters :
Name Type Optional
modelPartnership PartnershipValidation No
Returns : any
updatePartnership
updatePartnership(modelPartnership: PartnershipValidation, params)
Decorators :
@UseInterceptors(undefined)
@Put(':id')
Parameters :
Name Type Optional
modelPartnership PartnershipValidation No
params No
Returns : any
import { Body, Controller, Get, Param, Post, Put, UseInterceptors,Delete } from '@nestjs/common';
import { PartnershipService } from './partnership.service';
import { FileInterceptor } from '@nestjs/platform-express';
import { PartnershipValidation } from 'src/database/validation/partnership-validation';
import { IsParameterWithIdOfTable } from 'src/database/validation/parameter-validation';
import { Public } from 'src/auth/auth.controller';
import { generateRandomnumber } from 'src/utils/utils';
import { SkipThrottle } from '@nestjs/throttler';

@SkipThrottle()
@Controller('partnership')
export class PartnershipController {
    constructor(private partnershipService:PartnershipService){}
    
    //Exponer punto para el listado de todas los Partnerships
    @Public()
    @Get()
    getPartnership():any{
        return this.partnershipService.findAllPartnerships();
    }

    //Exponer punto para obtener un registro por su id o slug de la tabla Partnership
    @Public()
    @Get('search/:id')
    getPartnershipByIdOrSlug(@Param() params):any{
      const isNumeric = n => !isNaN(n);
      let parameter = { name:"", value:params.id}
      isNumeric(params.id) ? parameter.name = "id": parameter.name = "slug";
      return this.partnershipService.findPartnershipsByIdorSlug(parameter);
    }

    //Exponer punto para obtener 3 registros aleatorios
    @Public()
    @Get('random')
    async getThreeRandomsPartnership():Promise<any>{
        /*const totalRows = await this.partnershipService.getTotalRows();
        const aleatoryRows = generateRandomnumber(totalRows,4)
        return this.partnershipService.getFourRandomRows(aleatoryRows)*/
        return this.partnershipService.findAllPartnerships();
    }

    //Exponer punto para almacenamiento de un nuevo Partnership
    @UseInterceptors(FileInterceptor(''))
    @Post()
    savePartnership(@Body() modelPartnership:PartnershipValidation):any{
        return this.partnershipService.savePartnership(modelPartnership);
    }

    //Exponer punto para actualizar un Partnership mediante su id
    @UseInterceptors(FileInterceptor(''))
    @Put(':id')
    updatePartnership(@Body() modelPartnership:PartnershipValidation, @Param() params):any{
        return this.partnershipService.updatePartnership(params.id, modelPartnership);
    }

    //Metodo generador de numeros aleatorios
    /*generateRandomnumber(total:number){
        const nums = [];
        while(nums.length !== 4) {
            nums.push(Math.floor(Math.random() * total) + 1);
        }
        return nums;
    }*/

    //Exponer punto para remover una partnership mediante su id    
    @Delete(':id')
    deletePartNership(@Param() params:IsParameterWithIdOfTable){
        return this.partnershipService.deletePartNership(params.id);
    }





}

results matching ""

    No results matching ""