<?php

namespace App\Http\Controllers;

use App\Http\Requests\StorePostRequest;
use App\Models\BlogPost;
use Illuminate\Http\Request;

class PostController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth')->except('show');
    }

    public function index()
    {
        //todo: change this to overview of blog posts for blog post. Add admin method for mgmt
        return view('posts.index', [
            'posts' => BlogPost::all()->reverse()
        ]);
    }

    public function create()
    {
        return view('posts.create');
    }

    public function store(StorePostRequest $request)
    {
        $validated = $request->validated();

        BlogPost::create([
            'title' => $validated['title'],
            'content' => $validated['content'],
            'location' => $validated['location'],
        ]);

        return redirect()->route('posts.index');
    }

    public function show($id)
    {
        return view('posts.show', [
            'post' => BlogPost::find($id)
        ]);
    }

    public function edit($id)
    {
    }

    public function update(Request $request, $id)
    {
    }

    public function destroy($id)
    {
    }
}
