<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Http\Resources\GroupCollection;
use App\Http\Resources\GroupsCollection;
use App\Models\Group;
use Illuminate\Http\Request;


/**
 * @OA\Info(title="xShop API", version="1.0.0")
 */
/**
 * @OA\PathItem(path="/api/v1")
 */
class GroupController extends Controller
{


    /**
     * @OA\Get(
     *     path="/api/v1/groups",
     *     summary="Get list of groups",
     *     @OA\Response(
     *         response=200,
     *         description="A list of categories"
     *     )
     * )
     */
    public function index()
    {
        //
        return success(GroupsCollection::collection(Group::orderBy('sort', 'asc')->get()));
    }


    /**
     * @OA\Get(
     *     path="/api/v1/group/{group}",
     *     summary="Get category",
     *     @OA\Parameter(
     *         description="Slug of one group",
     *         name="group",
     *         in="path",
     *         required=true,
     *         @OA\Schema(
     *             type="string"
     *         ),
     *     ),
     *     @OA\Parameter(
     *          description="sub posts per page",
     *          name="per_page",
     *          in="query",
     *          required=false,
     *          @OA\Schema(
     *              type="integer"
     *          )
     *      ),
     *     @OA\Response(
     *         response=200,
     *         description="A group with datas"
     *     )
     * )
     */
    public function show(Group $group)
    {
        //
        return success(GroupCollection::make($group));
    }
}