import { Controller, Get, Post, Param, Body, UseGuards, Request, HttpCode, HttpStatus } from '@nestjs/common';
import { AuthGuard } from '../auth/auth.guard';
import { StoriesService } from './stories.service';
import { SubmitStoryDto } from './stories.dto';

@Controller('reunited-stories')
export class StoriesController {
  constructor(private readonly storiesService: StoriesService) {}

  @Get('public')
  @HttpCode(HttpStatus.OK)
  getPublicStories() {
    return this.storiesService.getPublicStories();
  }

  @Get(':slug')
  @HttpCode(HttpStatus.OK)
  getStoryBySlug(@Param('slug') slug: string) {
    return this.storiesService.getStoryBySlug(slug);
  }

  @Post()
  @UseGuards(AuthGuard)
  @HttpCode(HttpStatus.CREATED)
  submitStory(@Request() req, @Body() body: SubmitStoryDto) {
    return this.storiesService.submitStory(req.user.id, body);
  }
}
