diff --git a/docs/api/user.md b/docs/api/user.md
index fc89766..7e92b37 100644
--- a/docs/api/user.md
+++ b/docs/api/user.md
@@ -13,24 +13,23 @@
- get-user-card
+ login
|
- Данные пользователя
+ Аторизация пользователя
|
-## Данные пользователя
+## Аторизация пользователя
+
+POST: `https://guild.craft-group.xyz/api/user/login`
-`https://guild.craft-group.xyz/api/user-card/get-user-card?user_id=1`
-
- Параметры:
-
- Параметры
+ Параметры
+ * - обязательные
|
Значение
@@ -38,33 +37,37 @@
|
- user_id
+ username*
|
- Id пользователя
+ Логин пользователя(адресс электронной почты пользователя)
+ |
+
+
+
+ password*
+ |
+
+ Пароль пользователя
|
- Возвращает объект Пользователь.
- Каждый объект Пользователь имеет такой вид:
+ Пример возвращаемых данных:
```json5
{
- "fio": "Тест менеджер для апи запроса",
- "photo": null,
- "gender": 1,
- "level": 2,
- "years_of_exp": null,
- "specification": null,
- "position_name": "Должность 1"
+ "access_token": "RKZIA06yVbIkcbzdD7szVE5nnbRuxISV",
+ "access_token_expired_at": "2022-12-30",
+ "user_id": 1,
+ "card_id": 1
}
```
- Параметры:
+ Возвращаемые параметры:
@@ -77,50 +80,34 @@
- fio
+ access_token
|
- ФИО
+ токен доступа
|
- photo
+ access_token_expired_at
|
- Ссылка на фото
+ дата истечения срока действия токена доступа
|
- gender
+ id
|
- Пол
+ id пользователя
|
- level
+ card_id
|
- Уровень
- |
-
-
-
- years_of_exp
- |
-
- Лет опыта
- |
-
-
-
- position_name
- |
-
- Должность
+ id профиля пользователя (при отсутствии профиля будет возвращено NULL)
|
diff --git a/frontend/modules/api/controllers/UserController.php b/frontend/modules/api/controllers/UserController.php
index c40fa1a..8901ce3 100755
--- a/frontend/modules/api/controllers/UserController.php
+++ b/frontend/modules/api/controllers/UserController.php
@@ -4,16 +4,12 @@
namespace frontend\modules\api\controllers;
use common\behaviors\GsCors;
-use common\classes\Debug;
use common\models\User;
use frontend\modules\api\models\LoginForm;
use Yii;
-use yii\filters\auth\CompositeAuth;
-use yii\filters\auth\HttpBearerAuth;
use yii\filters\ContentNegotiator;
-use yii\rest\ActiveController;
use yii\helpers\ArrayHelper;
-use yii\filters\auth\QueryParamAuth;
+use yii\rest\ActiveController;
use yii\web\BadRequestHttpException;
use yii\web\Response;
@@ -30,12 +26,6 @@ class UserController extends ActiveController
'application/json' => Response::FORMAT_JSON,
],
],
-// 'authenticator' => [
-// 'class' => CompositeAuth::class,
-// 'authMethods' => [
-// HttpBearerAuth::class,
-// ],
-// ],
'corsFilter' => [
'class' => GsCors::class,
'cors' => [
@@ -52,15 +42,21 @@ class UserController extends ActiveController
]);
}
- public function actions()
+ public function actions(): array
{
- $action = parent::actions(); // TODO: Change the autogenerated stub
- unset($action['index']);
- unset($action['create']);
- unset($action['update']);
- unset($action['delete']);
+ $actions = parent::actions();
+ unset($actions['index']);
+ unset($actions['create']);
+ unset($actions['update']);
+ unset($actions['delete']);
+ return $actions;
}
+ protected function verbs(){
+ return [
+ 'login' => ['POST']
+ ];
+ }
public function actionLogin()
{
@@ -70,6 +66,7 @@ class UserController extends ActiveController
'access_token' => $model->login(),
'access_token_expired_at' => $model->getUser()->getTokenExpiredAt(),
'id' => $model->getUser()->id,
+ 'card_id' => $model->getUser()->userCard->id ?? null,
];
} else {
throw new BadRequestHttpException(json_encode($model->errors));
diff --git a/frontend/modules/api/models/LoginForm.php b/frontend/modules/api/models/LoginForm.php
index 3e06a42..561e516 100755
--- a/frontend/modules/api/models/LoginForm.php
+++ b/frontend/modules/api/models/LoginForm.php
@@ -47,7 +47,6 @@ class LoginForm extends Model
public function login()
{
if ($this->validate()) {
- //return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0);
if ($this->getUser()) {
$access_token = $this->_user->generateAccessToken();
$this->_user->access_token_expired_at = date('Y-m-d', time() + static::EXPIRE_TIME);
@@ -59,7 +58,7 @@ class LoginForm extends Model
return false;
}
- public function getUser()
+ public function getUser(): ?User
{
if ($this->_user === null) {
$this->_user = User::findByUsername($this->username);