import { Controller, Get, Body, Param, Put, Patch } from '@nestjs/common'; import { ShareMetadataService } from './share-metadata.service'; import { Authenticated } from 'src/decorators/authentication.decorator'; import { RequestUser, User } from 'src/decorators/user.decorator'; import { PackTheMetadata } from 'src/utils/PackTheMetadata'; import { CreateShareMetadataDto, UpdateShareMetadataDto } from './dto/create-share-metadata.dto'; @Controller('share') @Authenticated() export class ShareMetadataController { constructor(private readonly shareMetadataService: ShareMetadataService) {} @Put('/') findOrcreate(@Body() data: CreateShareMetadataDto, @User() user: RequestUser) { const metadata = PackTheMetadata(user); return this.shareMetadataService.create(data, metadata); } @Patch('/') updateShareType(@Body() data: UpdateShareMetadataDto, @User() user: RequestUser) { const metadata = PackTheMetadata(user); return this.shareMetadataService.updateShare(data, metadata); } @Get('/:id') get(@Param('id') id: string, @User() user: RequestUser) { const metadata = PackTheMetadata(user); return this.shareMetadataService.get(id, metadata); } }