71
Some checks failed
Deploy Production / Deploy to Staging (push) Has been skipped
Go Linter / Run golangci-lint (api_gateway) (push) Failing after 2m31s
Go Linter / Build golang services (api_gateway) (push) Has been skipped
Go Linter / Tag Commit (push) Has been skipped
Go Linter / Push Docker Images (api_gateway) (push) Has been skipped
Some checks failed
Deploy Production / Deploy to Staging (push) Has been skipped
Go Linter / Run golangci-lint (api_gateway) (push) Failing after 2m31s
Go Linter / Build golang services (api_gateway) (push) Has been skipped
Go Linter / Tag Commit (push) Has been skipped
Go Linter / Push Docker Images (api_gateway) (push) Has been skipped
This commit is contained in:
@@ -34,6 +34,27 @@ func (h *handler) setVacancyLogoLinks(
|
||||
}
|
||||
}
|
||||
|
||||
// @Summary Получить список вакансий для агента
|
||||
// @Description Получение списка вакансий с возможностью фильтрации
|
||||
// @Tags agents
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param agent_id path string true "ID агента"
|
||||
// @Param distributor_id query string false "ID дистрибьютора"
|
||||
// @Param company_id query string false "ID компании"
|
||||
// @Param region query string false "Регион"
|
||||
// @Param salary_bottom query int false "Минимальная зарплата"
|
||||
// @Param salary_top query int false "Максимальная зарплата"
|
||||
// @Param is_archived query bool false "Архивные вакансии"
|
||||
// @Param status query string false "Статус вакансии"
|
||||
// @Param page query int false "Номер страницы"
|
||||
// @Param page_size query int false "Размер страницы"
|
||||
// @Success 200 {object} rmodel.VacancyListGetResponse "Список вакансий"
|
||||
// @Failure 400 {object} map[string]string "Неверные данные запроса"
|
||||
// @Failure 401 {object} map[string]string "Неавторизованный доступ"
|
||||
// @Failure 500 {object} map[string]string "Внутренняя ошибка сервера"
|
||||
// @Security BearerAuth
|
||||
// @Router /api/v1/agents/{agent_id}/vacancies [get]
|
||||
func (h *handler) getVacancyListAgentHandler(w http.ResponseWriter, r *http.Request) {
|
||||
const handlerName = "getVacancyListAgentHandler"
|
||||
|
||||
@@ -71,6 +92,26 @@ func (h *handler) getVacancyListAgentHandler(w http.ResponseWriter, r *http.Requ
|
||||
}
|
||||
}
|
||||
|
||||
// @Summary Получить список вакансий дистрибьютора
|
||||
// @Description Получение списка вакансий дистрибьютора с возможностью фильтрации
|
||||
// @Tags distributors
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param distributor_id path string true "ID дистрибьютора"
|
||||
// @Param company_id query string false "ID компании"
|
||||
// @Param region query string false "Регион"
|
||||
// @Param salary_bottom query int false "Минимальная зарплата"
|
||||
// @Param salary_top query int false "Максимальная зарплата"
|
||||
// @Param is_archived query bool false "Архивные вакансии"
|
||||
// @Param status query string false "Статус вакансии"
|
||||
// @Param page query int false "Номер страницы"
|
||||
// @Param page_size query int false "Размер страницы"
|
||||
// @Success 200 {object} rmodel.VacancyListGetResponse "Список вакансий"
|
||||
// @Failure 400 {object} map[string]string "Неверные данные запроса"
|
||||
// @Failure 401 {object} map[string]string "Неавторизованный доступ"
|
||||
// @Failure 500 {object} map[string]string "Внутренняя ошибка сервера"
|
||||
// @Security BearerAuth
|
||||
// @Router /api/v1/distributor/{distributor_id}/vacancies [get]
|
||||
func (h *handler) getVacancyListDistributorHandler(w http.ResponseWriter, r *http.Request) {
|
||||
const handlerName = "getVacancyListDistributorHandler"
|
||||
|
||||
@@ -106,6 +147,19 @@ func (h *handler) getVacancyListDistributorHandler(w http.ResponseWriter, r *htt
|
||||
}
|
||||
}
|
||||
|
||||
// @Summary Создать вакансию
|
||||
// @Description Создание новой вакансии дистрибьютором
|
||||
// @Tags distributors
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param distributor_id path string true "ID дистрибьютора"
|
||||
// @Param request body rmodel.VacancyCreateRequest true "Данные для создания вакансии"
|
||||
// @Success 201 {object} rmodel.VacancyCreateResponse "Вакансия создана"
|
||||
// @Failure 400 {object} map[string]string "Неверные данные запроса"
|
||||
// @Failure 401 {object} map[string]string "Неавторизованный доступ"
|
||||
// @Failure 500 {object} map[string]string "Внутренняя ошибка сервера"
|
||||
// @Security BearerAuth
|
||||
// @Router /api/v1/distributor/{distributor_id}/vacancies [post]
|
||||
func (h *handler) createVacancyDistributorHandler(w http.ResponseWriter, r *http.Request) {
|
||||
const handlerName = "createVacancyDistributorHandler"
|
||||
|
||||
@@ -158,6 +212,21 @@ func (h *handler) createVacancyDistributorHandler(w http.ResponseWriter, r *http
|
||||
}
|
||||
}
|
||||
|
||||
// @Summary Обновить вакансию
|
||||
// @Description Обновление информации о вакансии дистрибьютора
|
||||
// @Tags distributors
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param distributor_id path string true "ID дистрибьютора"
|
||||
// @Param vacancy_id path string true "ID вакансии"
|
||||
// @Param request body rmodel.VacancyUpdateRequest true "Данные для обновления"
|
||||
// @Success 204 "Вакансия обновлена"
|
||||
// @Failure 400 {object} map[string]string "Неверные данные запроса"
|
||||
// @Failure 401 {object} map[string]string "Неавторизованный доступ"
|
||||
// @Failure 404 {object} map[string]string "Вакансия не найдена"
|
||||
// @Failure 500 {object} map[string]string "Внутренняя ошибка сервера"
|
||||
// @Security BearerAuth
|
||||
// @Router /api/v1/distributor/{distributor_id}/vacancies/{vacancy_id} [patch]
|
||||
func (h *handler) updateVacancyDistributorHandler(w http.ResponseWriter, r *http.Request) {
|
||||
const handlerName = "updateVacancyDistributorHandler"
|
||||
|
||||
@@ -201,6 +270,20 @@ func (h *handler) updateVacancyDistributorHandler(w http.ResponseWriter, r *http
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// @Summary Удалить вакансию
|
||||
// @Description Удаление вакансии дистрибьютора
|
||||
// @Tags distributors
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param distributor_id path string true "ID дистрибьютора"
|
||||
// @Param vacancy_id path string true "ID вакансии"
|
||||
// @Success 204 "Вакансия удалена"
|
||||
// @Failure 400 {object} map[string]string "Неверные данные запроса"
|
||||
// @Failure 401 {object} map[string]string "Неавторизованный доступ"
|
||||
// @Failure 404 {object} map[string]string "Вакансия не найдена"
|
||||
// @Failure 500 {object} map[string]string "Внутренняя ошибка сервера"
|
||||
// @Security BearerAuth
|
||||
// @Router /api/v1/distributor/{distributor_id}/vacancies/{vacancy_id} [delete]
|
||||
func (h *handler) deleteVacancyDistributorHandler(w http.ResponseWriter, r *http.Request) {
|
||||
const handlerName = "deleteDistributorVacancyHandler"
|
||||
|
||||
@@ -235,6 +318,18 @@ func (h *handler) deleteVacancyDistributorHandler(w http.ResponseWriter, r *http
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// @Summary Отправить вакансию на модерацию
|
||||
// @Description Отправка вакансии дистрибьютора на модерацию
|
||||
// @Tags distributors
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param distributor_id path string true "ID дистрибьютора"
|
||||
// @Param vacancy_id path string true "ID вакансии"
|
||||
// @Success 200 {object} map[string]string "Вакансия отправлена на модерацию"
|
||||
// @Failure 400 {object} map[string]string "Неверные параметры запроса"
|
||||
// @Failure 500 {object} map[string]string "Внутренняя ошибка сервера"
|
||||
// @Security BearerAuth
|
||||
// @Router /api/v1/distributor/{distributor_id}/vacancies/{vacancy_id}/moderation [post]
|
||||
func (h *handler) sendVacancyToModerationHandler(w http.ResponseWriter, r *http.Request) {
|
||||
const handlerName = "sendVacancyToModerationHandler"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user