<?php

namespace frontend\modules\api\controllers;

use common\classes\Debug;
use common\services\CompanyService;

class CategoryController extends ApiController
{
    public CompanyService $companyService;

    public function init()
    {
        parent::init();
        $this->companyService = new CompanyService();
    }

    public function behaviors(): array
    {
        $behaviors = parent::behaviors();
        unset($behaviors['authenticator']);
        return $behaviors;
    }

    /**
     *
     * @OA\Get(path="/category",
     *   summary="Список категорий компании",
     *   description="Получить список всех категорий компании",
     *   tags={"Category"},
     *   @OA\Parameter(
     *      name="company_id",
     *      in="query",
     *      required=true,
     *      @OA\Schema(
     *        type="integer",
     *        default=null
     *      )
     *   ),
     *   @OA\Response(
     *     response=200,
     *     description="Возвращает массив",
     *     @OA\MediaType(
     *         mediaType="application/json",
     *         @OA\Schema(
     *             type="array",
     *             @OA\Items(
     *                 @OA\Property(
     *                     property="id",
     *                     type="integer",
     *                     example="1",
     *                 ),
     *                 @OA\Property(
     *                     property="title",
     *                     type="string",
     *                     example="Кальянный клуб LA",
     *                 ),
     *                 @OA\Property(
     *                     property="parent_id",
     *                     type="integer",
     *                     example="33",
     *                 ),
     *                 @OA\Property(
     *                     property="company_id",
     *                     type="integer",
     *                     example="23",
     *                 ),
     *             )
     *         ),
     *     ),
     *
     *   ),
     * )
     *
     * @return array
     */
    public function actionIndex(int $company_id): array
    {
        return $this->companyService->getCategoryByCompanyId($company_id);
    }

}
