[ 'class' => \yii\filters\VerbFilter::class, 'actions' => [ 'get-token' => ['get'], 'get-user-by-token' => ['get'], ], ] ]); } /** * @var UserTgBotTokenService */ private UserTgBotTokenService $userTgBotTokenService; public function __construct( $id, $module, UserTgBotTokenService $userTgBotTokenService, $config = [] ) { $this->userTgBotTokenService = $userTgBotTokenService; parent::__construct($id, $module, $config); } /** * @OA\Get(path="/user-tg-bot/get-token", * summary="Токен ТГ бота", * description="Метод для возвращает токен для ТГ бота", * security={ * {"bearerAuth": {}} * }, * tags={"UserTgBotToken"}, * @OA\Response( * response=200, * description="Возвращает объект токен ТГ бота", * @OA\MediaType( * mediaType="application/json", * @OA\Schema(ref="#/components/schemas/UserTgBotTokenExample"), * ), * ), * ) * * @return UserTgBotToken * @throws Exception */ public function actionGetToken() { return $this->userTgBotTokenService->getToken(Yii::$app->user->id); } /** * * @OA\Get(path="/user-tg-bot/get-user", * summary="Получить данные пользователя", * description="Метод для получения данныех пользователя по токену ТГ бота", * security={ * {"bearerAuth": {}} * }, * tags={"UserTgBotToken"}, * @OA\Parameter( * name="token", * in="query", * example="HDAS7J", * required=true, * description="Токен ТГ бота", * @OA\Schema( * type="string", * ) * ), * @OA\Response( * response=200, * description="Возвращает данные пользователя", * @OA\MediaType( * mediaType="application/json", * ), * ), * ) * * @param string $token * @return User|string[] * @throws Exception */ public function actionGetUser(string $token) { return $this->userTgBotTokenService->getUserByToken($token); } }