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:
@@ -18,6 +18,22 @@ import (
|
||||
rmodel "git-molva.ru/Molva/molva-backend/services/api_gateway/internal/request_model"
|
||||
)
|
||||
|
||||
// @Summary Получить список заявок агента
|
||||
// @Description Получение списка заявок агента с возможностью фильтрации
|
||||
// @Tags agents
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param agent_id path string true "ID агента"
|
||||
// @Param vacancy_id query string false "ID вакансии"
|
||||
// @Param status query string false "Статус заявки"
|
||||
// @Param page query int false "Номер страницы"
|
||||
// @Param page_size query int false "Размер страницы"
|
||||
// @Success 200 {object} rmodel.SubmissionListGetResponse "Список заявок"
|
||||
// @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}/submissions [get]
|
||||
func (h *handler) getSubmissionListAgentHandler(w http.ResponseWriter, r *http.Request) {
|
||||
const handlerName = "getSubmissionListAgentHandler"
|
||||
|
||||
@@ -58,6 +74,20 @@ func (h *handler) getSubmissionListAgentHandler(w http.ResponseWriter, r *http.R
|
||||
}
|
||||
}
|
||||
|
||||
// @Summary Получить CV заявки
|
||||
// @Description Получение CV файла заявки
|
||||
// @Tags agents
|
||||
// @Accept json
|
||||
// @Produce application/octet-stream
|
||||
// @Param agent_id path string true "ID агента"
|
||||
// @Param submission_id path string true "ID заявки"
|
||||
// @Success 200 {file} file "CV файл"
|
||||
// @Failure 400 {object} map[string]string "Неверные данные запроса"
|
||||
// @Failure 401 {object} map[string]string "Неавторизованный доступ"
|
||||
// @Failure 404 {object} map[string]string "CV не найден"
|
||||
// @Failure 500 {object} map[string]string "Внутренняя ошибка сервера"
|
||||
// @Security BearerAuth
|
||||
// @Router /api/v1/agents/{agent_id}/submissions/{submission_id}/cv [get]
|
||||
func (h *handler) getSubmissionCVHandler(w http.ResponseWriter, r *http.Request) {
|
||||
const handlerName = "getSubmissionCVHandler"
|
||||
|
||||
@@ -121,6 +151,20 @@ func (h *handler) getSubmissionCVHandler(w http.ResponseWriter, r *http.Request)
|
||||
}
|
||||
}
|
||||
|
||||
// @Summary Удалить заявку агента
|
||||
// @Description Удаление заявки агента
|
||||
// @Tags agents
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param agent_id path string true "ID агента"
|
||||
// @Param submission_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/agents/{agent_id}/submissions/{submission_id} [delete]
|
||||
func (h *handler) deleteSubmissionAgentHandler(w http.ResponseWriter, r *http.Request) {
|
||||
const handlerName = "deleteSubmissionHandler"
|
||||
|
||||
@@ -162,6 +206,22 @@ func (h *handler) deleteSubmissionAgentHandler(w http.ResponseWriter, r *http.Re
|
||||
}
|
||||
}
|
||||
|
||||
// @Summary Получить список заявок дистрибьютора
|
||||
// @Description Получение списка заявок дистрибьютора с возможностью фильтрации
|
||||
// @Tags distributors
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param distributor_id path string true "ID дистрибьютора"
|
||||
// @Param vacancy_id path string true "ID вакансии"
|
||||
// @Param status query string false "Статус заявки"
|
||||
// @Param page query int false "Номер страницы"
|
||||
// @Param page_size query int false "Размер страницы"
|
||||
// @Success 200 {object} rmodel.SubmissionListGetResponse "Список заявок"
|
||||
// @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/{vacancy_id}/submissions [get]
|
||||
func (h *handler) getSubmissionListDistributorHandler(w http.ResponseWriter, r *http.Request) {
|
||||
const handlerName = "getSubmissionsDistributorHandler"
|
||||
|
||||
@@ -205,6 +265,22 @@ func (h *handler) getSubmissionListDistributorHandler(w http.ResponseWriter, r *
|
||||
}
|
||||
}
|
||||
|
||||
// @Summary Обновить статус заявки
|
||||
// @Description Обновление статуса заявки дистрибьютором
|
||||
// @Tags distributors
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param distributor_id path string true "ID дистрибьютора"
|
||||
// @Param vacancy_id path string true "ID вакансии"
|
||||
// @Param submission_id path string true "ID заявки"
|
||||
// @Param request body rmodel.SubmissionStatusUpdateRequest true "Новый статус заявки"
|
||||
// @Success 200 "Статус обновлен"
|
||||
// @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}/submissions/{submission_id}/status [post]
|
||||
func (h *handler) updateSubmissionStatusDistributorHandler(w http.ResponseWriter, r *http.Request) {
|
||||
const handlerName = "updateSubmissionStatusDistributorHandler"
|
||||
|
||||
@@ -243,6 +319,17 @@ func (h *handler) updateSubmissionStatusDistributorHandler(w http.ResponseWriter
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// @Summary Отправить анкету
|
||||
// @Description Отправка заполненной анкеты клиента
|
||||
// @Tags clients
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param request body map[string]interface{} true "Данные анкеты"
|
||||
// @Success 201 {object} map[string]string "Анкета отправлена"
|
||||
// @Failure 400 {object} map[string]string "Неверные данные запроса"
|
||||
// @Failure 500 {object} map[string]string "Внутренняя ошибка сервера"
|
||||
// @Router /api/v1/anketa [post]
|
||||
//
|
||||
//nolint:funlen // TODO: refactor
|
||||
func (h *handler) postAnketaHandler(w http.ResponseWriter, r *http.Request) {
|
||||
handlerName := "postAnketaHandler"
|
||||
|
||||
Reference in New Issue
Block a user