import { Controller, Get, Post, Body, Param, Header } from '@nestjs/common'; import {StoreService} from './store.service'; import {Store, StoreResponse, StoreRequest} from './store.schema'; import {ApiResponse} from '@nestjs/swagger'; import {ALLOW_ORIGIN_ALL} from 'src/consts'; @Controller('store') export class StoreController { constructor( private readonly storeService: StoreService ) {} @Get() @Header(...ALLOW_ORIGIN_ALL) @ApiResponse({ status: 200, description: 'Список всех пар ключ-значение', type: [StoreResponse], }) async findAll(): Promise { return this.storeService.findAll(); } @Get(':key?') @Header(...ALLOW_ORIGIN_ALL) @ApiResponse({ status: 200, description: 'Возвращает пару ключ-значение по ключу', type: StoreResponse, }) async findOne(@Param() {key}: {key: string}): Promise { return this.storeService.findOne(key); } @Post() @Header(...ALLOW_ORIGIN_ALL) @ApiResponse({ status: 200, description: 'Создает новую пару ключ-значение или заменяет существующую по ключу', type: StoreResponse, }) async create(@Body() createStoreClass: StoreRequest): Promise { return this.storeService.create(createStoreClass); } }