Removed achievements from profile search form filters. Added doc for api/profile
This commit is contained in:
parent
ad947826a0
commit
6c14d4c7e1
@ -1,4 +1,4 @@
|
||||
# Документация API
|
||||
# Документация API
|
||||
|
||||
## Навыки
|
||||
### Популярные навыки
|
||||
@ -54,14 +54,77 @@
|
||||
Пример запроса:
|
||||
</p>
|
||||
|
||||
`https://guild.craft-group.xyz/api/profile?limit=5&offset=5&skills=1`
|
||||
`https://guild.craft-group.xyz/api/profile?limit=5&offset=5&skills=1,2`
|
||||
|
||||
<p>
|
||||
Возвращает <b>массив</b> объектов <b>Профилей</b>. <br>
|
||||
Каждый объект <b>Профиля</b> имеет такой вид:
|
||||
</p>
|
||||
|
||||
```json5
|
||||
{
|
||||
"id": "1",
|
||||
"fio": "f23f",
|
||||
"passport": "f23",
|
||||
"photo": "''",
|
||||
"email": "f",
|
||||
"gender": "1",
|
||||
"dob": "2021-09-17",
|
||||
"status": "2",
|
||||
"created_at": "2021-09-08 16:30:34",
|
||||
"updated_at": "2021-09-09 08:41:02",
|
||||
"resume": "",
|
||||
"salary": "",
|
||||
"position_id": "1",
|
||||
"deleted_at": null,
|
||||
"id_user": "1",
|
||||
"city": "",
|
||||
"link_vk": "",
|
||||
"link_telegram": "",
|
||||
"vc_text": "",
|
||||
"level": "2", //
|
||||
"vc_text_short": "",
|
||||
"years_of_exp": "0",
|
||||
"specification": "",
|
||||
"skillValues": [ //Массив навыков привязанных к этому профилю
|
||||
{
|
||||
"id": "1",
|
||||
"card_id": "1", //card_id из таблицы card_skill
|
||||
"skill_id": "1",//skill_id из таблицы card_skill
|
||||
"skill": {
|
||||
"id": "1", //id из таблицы skill
|
||||
"name": "SQL",
|
||||
"category_id": "1"
|
||||
}
|
||||
},
|
||||
//...
|
||||
],
|
||||
"achievements": [ //Массив достижений привязанных к этому профилю
|
||||
{
|
||||
"id": "7",
|
||||
"user_card_id": "1",//user_card_id из таблицы achievement_user_card
|
||||
"achievement_id": "1",//achievement_id из таблицы achievement_user_card
|
||||
"achievement": {
|
||||
"id": "1", //id из таблицы achievement
|
||||
"slug": "newguy",
|
||||
"title": "Новичок",
|
||||
"img": "",
|
||||
"description": "Ты начал у нас работу",
|
||||
"status": "1" // 1 - Активно, 2 - Неактивно
|
||||
}
|
||||
},
|
||||
//...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### Одна запись
|
||||
`https://guild.craft-group.xyz/api/profile/{id}`
|
||||
|
||||
<p>
|
||||
Для того, чтобы получить данные одной записи необходимо отправить <b>GET</b> запрос
|
||||
на URL https://guild.craft-group.xyz/api/profile/{id} , где <b>id</b> это идинтификатор
|
||||
на URL https://guild.craft-group.xyz/api/profile/{id} , где <b>id</b> это идентификатор
|
||||
профиля.
|
||||
</p>
|
||||
<p>
|
||||
@ -70,6 +133,12 @@
|
||||
|
||||
`https://guild.craft-group.xyz/api/profile/6`
|
||||
|
||||
<p>
|
||||
Возвращает объект <b>Профиля</b>. <br>
|
||||
Как выглядит можно посмотреть выше.
|
||||
</p>
|
||||
|
||||
|
||||
### Пригласить на собеседование
|
||||
`https://guild.craft-group.xyz/api/profile/add-to-interview`
|
||||
|
||||
|
@ -20,7 +20,6 @@ class ProfileSearchForm extends Model
|
||||
public $limit = 10;
|
||||
public $offset = 0;
|
||||
public $skills;
|
||||
public $achievements;
|
||||
|
||||
public $position_id;
|
||||
public $id;
|
||||
@ -30,7 +29,6 @@ class ProfileSearchForm extends Model
|
||||
return [
|
||||
[['id', 'limit', 'offset', 'position_id'], 'safe'],
|
||||
[['skills'], 'checkIsArray'],
|
||||
[['achievements'], 'checkIsArray'],
|
||||
];
|
||||
}
|
||||
|
||||
@ -71,20 +69,12 @@ class ProfileSearchForm extends Model
|
||||
$model->joinWith('skillValues');
|
||||
}
|
||||
|
||||
if($this->achievements){
|
||||
$model->joinWith(['achievements']);
|
||||
$this->achievements = explode(',', $this->achievements);
|
||||
$model->where(['achievement_user_card.achievement_id' => $this->achievements]);
|
||||
$model->having('COUNT(DISTINCT achievement_id) = ' . count($this->achievements));
|
||||
}
|
||||
else{
|
||||
$model->joinWith('achievements');
|
||||
}
|
||||
$model->joinWith('achievements');
|
||||
|
||||
$model->andFilterWhere(['position_id' => $this->position_id]);
|
||||
|
||||
$model->andWhere(['status' => [4, 12]]);
|
||||
$model->andWhere(['deleted_at' => null]);
|
||||
// $model->andFilterWhere(['position_id' => $this->position_id]);
|
||||
//
|
||||
// $model->andWhere(['status' => [4, 12]]);
|
||||
// $model->andWhere(['deleted_at' => null]);
|
||||
|
||||
$model->groupBy('card_skill.card_id');
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user