/
gnomdeployer
/
VUZPlus
Обзор
Документация
Войти
/
gnomdeployer
/
VUZPlus
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
server/docs/docs.go
5 165 строк
185 KB
maximmalchevsky
ura
20 май 2025, 02:58
20 май 2025, 02:58
e733017
Код
Авторство
О чём код?
// Package docs Code generated by swaggo/swag. DO NOT EDIT package docs import "github.com/swaggo/swag" const docTemplate = `{ "schemes": {{ marshal .Schemes }}, "swagger": "2.0", "info": { "description": "{{escape .Description}}", "title": "{{.Title}}", "contact": {}, "version": "{{.Version}}" }, "host": "{{.Host}}", "basePath": "{{.BasePath}}", "paths": { "/auth/admin": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Создает администратора с временным паролем", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Root" ], "summary": "Создание администратора вуза", "parameters": [ { "description": "Данные администратора", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.CreateAdminRequest" } } ], "responses": { "200": { "description": "Администратор успешно создан", "schema": { "$ref": "#/definitions/entities.CreateAdminResponse" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/analytics/semester/averages/university/{id}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Analytics" ], "summary": "Получение средних баллов по семестрам для университета", "parameters": [ { "type": "integer", "example": 1, "description": "ID университета", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Аналитика получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.SemesterAverage" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/analytics/semester/averages/{id}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Analytics" ], "summary": "Получение средних баллов по семестрам для дисциплины", "parameters": [ { "type": "integer", "example": 1, "description": "ID направления", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Аналитика получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.SemesterAverage" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/analytics/university/file/{ext}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/octet-stream" ], "tags": [ "Analytics" ], "summary": "Получение аналтики по университету в файле", "parameters": [ { "enum": [ "docx", "csv" ], "type": "string", "example": "docx", "description": "Расширение файла (docx, csv)", "name": "ext", "in": "path", "required": true } ], "responses": { "200": { "description": "Аналитика получена", "schema": { "$ref": "#/definitions/entities.UniversityAnalytics" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/analytics/university/json": { "get": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Analytics" ], "summary": "Получение аналтики по университету в json", "responses": { "200": { "description": "Аналитика получена", "schema": { "$ref": "#/definitions/entities.UniversityAnalytics" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/answer": { "post": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Q\u0026A" ], "summary": "Создание ответа", "parameters": [ { "description": "Данные для создания ответа", "name": "review", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.CreateAnswerRequest" } } ], "responses": { "200": { "description": "Ответ успешно создан", "schema": { "$ref": "#/definitions/entities.ID" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/answer/{id}": { "delete": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Q\u0026A" ], "summary": "Удаление ответа по ID", "parameters": [ { "type": "integer", "example": 1, "description": "ID отзыва", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Ответ успешно удален", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/application/delegate": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Представитель отправляет заявку с данными студента на участие в обмене по цифровой кафедре в другой университет", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Application" ], "summary": "Создание заявки на обмен по цифровой кафедре представителем", "parameters": [ { "description": "Данные заявки", "name": "req", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.CreateByDelegateProgramApplicationReq" } } ], "responses": { "200": { "description": "ID созданной заявки", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Ошибка в запросе или данные не получены", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/application/documents": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Представитель или администратор загружает документы к заявке студента", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "Application" ], "summary": "Загрузка документов для заявки", "parameters": [ { "type": "integer", "description": "ID заявки", "name": "application_id", "in": "query", "required": true }, { "type": "array", "items": { "type": "file" }, "collectionFormat": "csv", "description": "Документы (можно несколько)", "name": "file_name", "in": "formData", "required": true } ], "responses": { "200": { "description": "ID загруженной записи", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Ошибка запроса / неверные данные", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/application/ingoing/student": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Возвращает список заявок на обмен, отправленных студенту (по направлениям и цифровым кафедрам)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Application" ], "summary": "Получение входящих заявок студента", "responses": { "200": { "description": "Список входящих заявок студента", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.ProgramApplicationWithLogo" } } }, "400": { "description": "Ошибка в запросе или данные не получены", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/application/ingoing/university": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Возвращает список заявок на обмен, отправленных вузу (по направлениям и цифровым кафедрам)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Application" ], "summary": "Получение входящих заявок вуза", "responses": { "200": { "description": "Список входящих заявок студента", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.ProgramApplicationWithLogo" } } }, "400": { "description": "Ошибка в запросе или данные не получены", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/application/outgoing/student": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Возвращает список заявок на обмен, отправленных студентом (по направлениям и цифровым кафедрам)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Application" ], "summary": "Получение исходящих заявок студента", "responses": { "200": { "description": "Список исходящих заявок студента", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.ProgramApplication" } } }, "400": { "description": "Ошибка в запросе или данные не получены", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/application/outgoing/university": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Возвращает список заявок на обмен, отправленных представителями вуза (по направлениям и цифровым кафедрам)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Application" ], "summary": "Получение исходящих заявок вуза", "responses": { "200": { "description": "Список исходящих заявок студента", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.ProgramApplication" } } }, "400": { "description": "Ошибка в запросе или данные не получены", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/application/status": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Представитель или администратор может обновить статус заявки студента", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Application" ], "summary": "Обновить статус заявки", "parameters": [ { "type": "integer", "description": "ID заявки", "name": "application_id", "in": "query", "required": true }, { "type": "string", "description": "Новый статус (rejected, approved, vuz data required, student data required, student data received)", "name": "status", "in": "query", "required": true } ], "responses": { "200": { "description": "Сообщение об успешном обновлении", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Ошибка запроса / неверные данные", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/application/student": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Студент отправляет заявку на участие в обмене по цифровой кафедре в другой университет", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Application" ], "summary": "Создание заявки на обмен по цифровой кафедре студентом", "parameters": [ { "type": "integer", "example": 2, "description": "ID целевого университета", "name": "target_university_id", "in": "query", "required": true }, { "type": "integer", "example": 5, "description": "ID цифровой кафедры", "name": "program_id", "in": "query", "required": true } ], "responses": { "200": { "description": "ID созданной заявки", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Ошибка в запросе или данные не получены", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/delegates/registrations": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Возвращает список заявок представителей вуза на регистрацию", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Admin" ], "summary": "Получение заявок представителей на регистрацию", "responses": { "200": { "description": "Список заявок", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.DelegateRegistration" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Ошибка аутентификации", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/discipline": { "put": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Discipline" ], "summary": "Обновление дисциплины", "parameters": [ { "description": "Данные для обновления дисциплины", "name": "direction", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.Discipline" } } ], "responses": { "200": { "description": "Дисциплина успешна обновлена", "schema": { "$ref": "#/definitions/entities.Discipline" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Discipline" ], "summary": "Создание дисциплины", "parameters": [ { "description": "Данные для создания дисциплины", "name": "direction", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.CreateDisciplineRequest" } } ], "responses": { "200": { "description": "Дисциплина успешно создана", "schema": { "$ref": "#/definitions/entities.ID" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/discipline/{id}": { "delete": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Discipline" ], "summary": "Удаление дисциплины по ID", "parameters": [ { "type": "integer", "example": 1, "description": "ID дисциплины", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Дисциплина успешна удалена", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/forms": { "get": { "security": [ { "ApiKeyAuth": [] } ], "produces": [ "application/json" ], "tags": [ "Form" ], "summary": "Получение всех форм", "responses": { "200": { "description": "Список заполненных форм", "schema": { "type": "array", "items": { "type": "array", "items": { "$ref": "#/definitions/entities.Form" } } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/profile": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Возвращает информацию о профиле пользователя", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Profile" ], "summary": "Получение информации о профиле", "responses": { "200": { "description": "Информация о пользователе", "schema": { "$ref": "#/definitions/entities.UserInfo" } }, "400": { "description": "Ошибка в запросе", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Обновляет данные профиля пользователя", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Profile" ], "summary": "Обновление информации профиля", "parameters": [ { "description": "Данные для обновления профиля", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.UpdateUserInfoRequest" } } ], "responses": { "200": { "description": "Успешное обновление профиля", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Ошибка в запросе", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/profile/password": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Позволяет пользователю изменить пароль, указав старый и новый пароль", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Profile" ], "summary": "Обновление пароля пользователя", "parameters": [ { "description": "Данные для смены пароля", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.UpdatePasswordRequest" } } ], "responses": { "200": { "description": "Пароль успешно изменён", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Ошибка в запросе или неправильный старый пароль", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/profile/telegram/connect": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Проверяет, привязан ли Telegram к пользователю. Если нет — отправляет запрос на привязку.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Profile" ], "summary": "Привязка Telegram аккаунта", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/entities.RegisterTelegramResponse" } }, "400": { "description": "error: cant get id from token", "schema": { "$ref": "#/definitions/entities.Error" } }, "409": { "description": "error: telegram already verified", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "error: internal error", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/program": { "post": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Program" ], "summary": "Создание программы", "parameters": [ { "description": "Данные для создания направления", "name": "direction", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.CreateProgramRequest" } } ], "responses": { "200": { "description": "Направление успешно создано", "schema": { "$ref": "#/definitions/entities.ID" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/program/exchangeable/available": { "get": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Program" ], "summary": "Получение всех доступных определенному студенту направлений и дисциплин цк", "responses": { "200": { "description": "Направления и дисциплины цк успешно получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.ProgramWithLogo" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/program/participation": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Подтверждённый студент может проверить, добавлен ли он в указанную образовательную программу", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Program" ], "summary": "Проверить участие пользователя в программе", "parameters": [ { "type": "integer", "description": "ID программы", "name": "program_id", "in": "query", "required": true } ], "responses": { "200": { "description": "Статус проверки: ok", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Ошибка запроса / неверные данные", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/program/{id}": { "delete": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Program" ], "summary": "Удаление направления по ID", "parameters": [ { "type": "integer", "example": 1, "description": "ID направления", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Направление успешно удалено", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/question": { "post": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Q\u0026A" ], "summary": "Создание вопроса", "parameters": [ { "description": "Данные для создания вопроса", "name": "review", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.CreateQuestionRequest" } } ], "responses": { "200": { "description": "Вопрос успешно создан", "schema": { "$ref": "#/definitions/entities.ID" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/question/{id}": { "delete": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Q\u0026A" ], "summary": "Удаление вопроса по ID", "parameters": [ { "type": "integer", "example": 1, "description": "ID вопроса", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Вопрос успешно удален", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/quota": { "put": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Quota" ], "summary": "Обновление квоты", "parameters": [ { "description": "Данные для обновления квоты", "name": "direction", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.Quota" } } ], "responses": { "200": { "description": "Квота успешна обновлена", "schema": { "$ref": "#/definitions/entities.Quota" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Quota" ], "summary": "Создание квоты", "parameters": [ { "description": "Данные для создания квоты", "name": "review", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.CreateQuotaRequest" } } ], "responses": { "200": { "description": "Квота успешна создана", "schema": { "$ref": "#/definitions/entities.ID" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/quota/program_id/{id}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Quota" ], "summary": "Получение квот по ID программы", "parameters": [ { "type": "integer", "example": 1, "description": "ID направления", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Все актуальные квоты направления успешно получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.Quota" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/quota/{id}": { "delete": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Quota" ], "summary": "Удаление квоты по ID", "parameters": [ { "type": "integer", "example": 1, "description": "ID квоты", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Квота успешно удалена", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/review": { "put": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Review" ], "summary": "Обновление отзыва", "parameters": [ { "description": "Данные для обновления отзыва", "name": "review", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.UpdateReviewRequest" } } ], "responses": { "200": { "description": "Отзыв успешно обновлен", "schema": { "$ref": "#/definitions/entities.Review" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Review" ], "summary": "Создание отзыва", "parameters": [ { "description": "Данные для создания отзыва", "name": "review", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.CreateReviewRequest" } } ], "responses": { "200": { "description": "Отзыв успешно создан", "schema": { "$ref": "#/definitions/entities.ID" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/review/{id}": { "delete": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Review" ], "summary": "Удаление отзыва по ID", "parameters": [ { "type": "integer", "example": 1, "description": "ID отзыва", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Отзыв успешно удален", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/students": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Возвращает всех студентов университета", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Profile" ], "summary": "Получение всех студентов университета", "responses": { "200": { "description": "Информация о пользователе", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.User" } } }, "400": { "description": "Ошибка в запросе", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/students/registrations": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Возвращает список заявок студентов на регистрацию", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Delegate" ], "summary": "Получение заявок студентов", "responses": { "200": { "description": "Список заявок", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.StudentRegistration" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Ошибка аутентификации", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/tasks": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Возвращает список тестовых заданий по ID направления (если указан)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Task" ], "summary": "Получить список тестовых заданий по направлению", "parameters": [ { "type": "integer", "description": "ID направления", "name": "program_id", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.TestTask" } } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/entities.Error" } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Обновляет текст и/или файл тестового задания по ID", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "Task" ], "summary": "Обновить тестовое задание", "parameters": [ { "type": "integer", "description": "ID задания", "name": "task_id", "in": "formData", "required": true }, { "type": "string", "description": "Тип задания (essay, task)", "name": "type", "in": "formData" }, { "type": "string", "description": "Текст задания", "name": "task_text", "in": "formData" }, { "type": "file", "description": "Файл с заданием", "name": "task_file", "in": "formData" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/entities.Error" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Создает тестовое задание в виде файла и/или текста.", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "Task" ], "summary": "Создание тестового задания", "parameters": [ { "type": "integer", "description": "ID направления", "name": "program_id", "in": "formData", "required": true }, { "type": "string", "description": "Тип задания (essay, task)", "name": "type", "in": "formData", "required": true }, { "type": "string", "description": "Текст задания", "name": "task_text", "in": "formData", "required": true }, { "type": "file", "description": "Файл с заданием", "name": "task_file", "in": "formData" } ], "responses": { "200": { "description": "ID созданного задания", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Внутренняя ошибка", "schema": { "$ref": "#/definitions/entities.Error" } } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Удаляет тестовое задание по ID, а также удаляет файл из MinIO", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Task" ], "summary": "Удалить тестовое задание", "parameters": [ { "type": "integer", "description": "ID задания", "name": "task_id", "in": "query", "required": true } ], "responses": { "200": { "description": "Task deleted successfully", "schema": { "type": "string" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/tasks/solution": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Представитель вуза или администратор могут получить решения конкретного студента по направлению", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Task" ], "summary": "Получить решения студента", "parameters": [ { "type": "integer", "description": "ID студента", "name": "student_id", "in": "query", "required": true }, { "type": "integer", "description": "ID направления", "name": "program_id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "array", "items": { "$ref": "#/definitions/entities.TestTaskSolution" } } } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/entities.Error" } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Студент обновляет своё решение: можно изменить текст и/или файл", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "Task" ], "summary": "Обновление решения тестового задания", "parameters": [ { "type": "integer", "description": "ID решения", "name": "solution_id", "in": "formData", "required": true }, { "type": "string", "description": "Новый текст решения", "name": "solution_text", "in": "formData" }, { "type": "file", "description": "Новый файл решения", "name": "solution_file", "in": "formData" } ], "responses": { "200": { "description": "Успех", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Ошибка на стороне клиента", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "404": { "description": "Решение не найдено", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Студент загружает решение тестового задания. Можно прикрепить текст и/или файл.", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "Task" ], "summary": "Загрузка решения тестового задания", "parameters": [ { "type": "integer", "description": "ID тестового задания", "name": "task_id", "in": "formData", "required": true }, { "type": "string", "description": "Текстовое решение", "name": "solution_text", "in": "formData" }, { "type": "file", "description": "Файл с решением", "name": "solution_file", "in": "formData" } ], "responses": { "200": { "description": "Успех", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Ошибка на стороне клиента", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/tasks/solution/my": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Студент может получить свои решения для определенного направления", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Task" ], "summary": "Получить свои решения", "parameters": [ { "type": "integer", "description": "ID направления", "name": "program_id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "array", "items": { "$ref": "#/definitions/entities.TestTaskSolution" } } } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/tasks/solution/status": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Обновление статуса задания", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Task" ], "summary": "Обновление статуса задания", "parameters": [ { "type": "integer", "description": "ID решения", "name": "solution_id", "in": "query", "required": true }, { "type": "string", "description": "Новый статус решения (in check, approved, rejected)", "name": "status", "in": "query", "required": true } ], "responses": { "200": { "description": "Успех", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Ошибка на стороне клиента", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/university": { "put": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "University" ], "summary": "Обновление университета", "parameters": [ { "type": "integer", "description": "ID университета", "name": "id", "in": "formData", "required": true }, { "type": "string", "example": "\"РТУ МИРЭА\"", "description": "Название", "name": "name", "in": "formData", "required": true }, { "type": "string", "example": "\"119454, г. Москва, пр-кт Вернадского, д.78\"", "description": "Адрес", "name": "address", "in": "formData", "required": true }, { "type": "string", "example": "\"+7(499", "description": "Контактный номер телефона", "name": "phone_number", "in": "formData", "required": true }, { "type": "string", "example": "\"rector@mirea.ru\"", "description": "Электронная почта", "name": "email", "in": "formData", "required": true }, { "type": "string", "example": "\"МИРЭА — российское высшее учебное заведение в Москве, образованное в 2015 году в результате объединения МИРЭА, МГУПИ, МИТХТ имени М. В. Ломоносова и ряда образовательных, научных, конструкторских и производственных организаций.\"", "description": "Описание", "name": "description", "in": "formData", "required": true }, { "type": "file", "description": "Загрузка логотипа университета", "name": "logo", "in": "formData" }, { "type": "array", "items": { "type": "file" }, "collectionFormat": "csv", "description": "Загрузка фото", "name": "media", "in": "formData" }, { "type": "string", "example": "\"image1.png,image2.png\"", "description": "Название фото для удаления", "name": "imagesToDelete", "in": "formData" } ], "responses": { "200": { "description": "Вуз успешно обновлен", "schema": { "$ref": "#/definitions/entities.ID" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "University" ], "summary": "Создание университета", "parameters": [ { "type": "string", "example": "\"РТУ МИРЭА\"", "description": "Название", "name": "name", "in": "formData", "required": true }, { "type": "string", "example": "\"119454, г. Москва, пр-кт Вернадского, д.78\"", "description": "Адрес", "name": "address", "in": "formData", "required": true }, { "type": "string", "example": "\"+7(499", "description": "Контактный номер телефона", "name": "phone_number", "in": "formData", "required": true }, { "type": "string", "example": "\"rector@mirea.ru\"", "description": "Электронная почта", "name": "email", "in": "formData", "required": true }, { "type": "string", "example": "\"МИРЭА — российское высшее учебное заведение в Москве, образованное в 2015 году в результате объединения МИРЭА, МГУПИ, МИТХТ имени М. В. Ломоносова и ряда образовательных, научных, конструкторских и производственных организаций.\"", "description": "Описание", "name": "description", "in": "formData", "required": true }, { "type": "file", "description": "Загрузка логотипа университета", "name": "logo", "in": "formData" }, { "type": "array", "items": { "type": "file" }, "collectionFormat": "csv", "description": "Загрузка фото", "name": "media", "in": "formData" } ], "responses": { "200": { "description": "Вуз успешно создан", "schema": { "$ref": "#/definitions/entities.ID" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/university/{id}": { "delete": { "security": [ { "ApiKeyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "University" ], "summary": "Удаление университета по ID", "parameters": [ { "type": "integer", "example": 1, "description": "ID университета", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Вуз успешно удален", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/auth/users/status": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Позволяет изменить статус верификации пользователя на указанный", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Admin" ], "summary": "Изменение статуса верификации пользователя", "parameters": [ { "type": "integer", "description": "ID пользователя", "name": "user_id", "in": "query", "required": true }, { "type": "string", "description": "Статус (in check, verified, rejected)", "name": "status", "in": "query", "required": true } ], "responses": { "200": { "description": "Статус успешно изменён", "schema": { "type": "string" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/discipline/program_id/{id}": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Discipline" ], "summary": "Получение дисциплин по ID направления", "parameters": [ { "type": "integer", "example": 1, "description": "ID программы", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Все дисциплины направления успешно получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.Discipline" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/forms": { "post": { "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "Form" ], "summary": "Создание формы", "parameters": [ { "type": "string", "example": "\"Иванов\"", "description": "Фамилия", "name": "last_name", "in": "formData", "required": true }, { "type": "string", "example": "\"Иван\"", "description": "Имя", "name": "first_name", "in": "formData", "required": true }, { "type": "string", "example": "\"Иванович\"", "description": "Отчество", "name": "third_name", "in": "formData" }, { "type": "string", "example": "\"ivan@example.com\"", "description": "Электронная почта", "name": "email", "in": "formData", "required": true }, { "type": "string", "example": "\"+7(999", "description": "Контактный телефон", "name": "phone_number", "in": "formData", "required": true }, { "type": "string", "example": "\"ivan_ivanov\"", "description": "Telegram-юзернейм", "name": "telegram_username", "in": "formData" }, { "type": "string", "example": "\"РТУ МИРЭА\"", "description": "Название университета", "name": "university_name", "in": "formData", "required": true }, { "type": "string", "example": "\"г. Москва, пр-т Вернадского, д.78\"", "description": "Адрес университета", "name": "university_address", "in": "formData", "required": true }, { "type": "array", "items": { "type": "file" }, "collectionFormat": "csv", "description": "Лицензии университета", "name": "university_licenses", "in": "formData" } ], "responses": { "200": { "description": "Форма успешно создана", "schema": { "$ref": "#/definitions/entities.Response" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "401": { "description": "Пользователь не авторизован", "schema": { "$ref": "#/definitions/entities.Error" } }, "403": { "description": "Недостаточно прав для запроса", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/login": { "post": { "description": "Вход пользователя в систему с выдачей токенов доступа и обновления", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Аутентификация пользователя", "parameters": [ { "description": "Данные для входа", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.LoginUserRequest" } } ], "responses": { "200": { "description": "Успешная аутентификация", "schema": { "$ref": "#/definitions/entities.LoginUserResponse" } }, "400": { "description": "Некорректные данные для входа", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/program": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Program" ], "summary": "Получение всех направлений и дисциплин цк", "responses": { "200": { "description": "Направления и дисциплины цк успешно получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.ProgramWithLogo" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/program/exchangeable/all": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Program" ], "summary": "Получение всех доступных для обмена программ", "responses": { "200": { "description": "Программы успешно получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.ProgramWithLogo" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/program/exchangeable/university_id/{id}": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Program" ], "summary": "Получение доступных для обмена направлений по ID ВУЗа", "parameters": [ { "type": "integer", "example": 1, "description": "ID университета", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Все направления вуза успешно получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.Program" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/program/id/{id}": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Program" ], "summary": "Получение программы по ID", "parameters": [ { "type": "integer", "example": 1, "description": "ID программы", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Направление по ID успешно получен", "schema": { "$ref": "#/definitions/entities.ProgramWithRating" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/program/university_id/{id}": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Program" ], "summary": "Получение направления по ID университета", "parameters": [ { "type": "integer", "example": 1, "description": "ID университета", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Все направления вуза успешно получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.ProgramWithRating" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/questions/answers/program_id/{id}": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Q\u0026A" ], "summary": "Получение вопросов и ответов по ID программы", "parameters": [ { "type": "integer", "example": 1, "description": "ID направления", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Все вопросы и ответы направления успешно получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.QuestionsAndAnswers" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/review/program_id/{id}": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Review" ], "summary": "Получение отзывов по ID направления", "parameters": [ { "type": "integer", "example": 1, "description": "ID направления", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Все отзывы направления успешно получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.Review" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/sign-up": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Регистрация пользователя", "parameters": [ { "description": "Данные пользователя", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.CreateUserRequest" } } ], "responses": { "200": { "description": "Пользователь успешно зарегистрирован", "schema": { "$ref": "#/definitions/entities.CreateUserResponse" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/sign-up/delegate": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Регистрация представителя университета", "parameters": [ { "description": "Данные представителя", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/entities.CreateDelegateRequest" } } ], "responses": { "200": { "description": "Представитель успешно зарегистрирован", "schema": { "$ref": "#/definitions/entities.CreateUserResponse" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/university": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "University" ], "summary": "Получение всех университетов", "responses": { "200": { "description": "Все вузы успешно получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.University" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/university/id/{id}": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "University" ], "summary": "Получение университета по ID", "parameters": [ { "type": "integer", "example": 1, "description": "ID университета", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Вуз по ID успешно получен", "schema": { "$ref": "#/definitions/entities.UniversityWithImageName" } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } }, "/university/names": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "University" ], "summary": "Получение всех названий университетов", "responses": { "200": { "description": "Все названия вузов успешно получены", "schema": { "type": "array", "items": { "$ref": "#/definitions/entities.UniversityIDName" } } }, "400": { "description": "Некорректный запрос", "schema": { "$ref": "#/definitions/entities.Error" } }, "500": { "description": "Ошибка на стороне сервера", "schema": { "$ref": "#/definitions/entities.Error" } } } } } }, "definitions": { "entities.AnswerWithDelegateInfo": { "type": "object", "properties": { "answer": { "type": "string" }, "created_at": { "type": "string" }, "delegate_id": { "type": "integer" }, "first_name": { "type": "string" }, "id": { "type": "integer" }, "last_name": { "type": "string" }, "middle_name": { "type": "string" } } }, "entities.ApplicationAnalytics": { "type": "object", "properties": { "stats_from_university": { "$ref": "#/definitions/entities.ApplicationStats" }, "stats_target_university": { "$ref": "#/definitions/entities.ApplicationStats" } } }, "entities.ApplicationStats": { "type": "object", "properties": { "allTime": { "type": "object", "properties": { "count": { "type": "integer" } } }, "thisMonth": { "type": "object", "properties": { "count": { "type": "integer" }, "endDate": { "type": "string" }, "startDate": { "type": "string" } } }, "thisWeek": { "type": "object", "properties": { "count": { "type": "integer" }, "endDate": { "type": "string" }, "startDate": { "type": "string" } } }, "thisYear": { "type": "object", "properties": { "count": { "type": "integer" }, "endDate": { "type": "string" }, "startDate": { "type": "string" } } }, "today": { "type": "object", "properties": { "count": { "type": "integer" }, "date": { "type": "string" } } } } }, "entities.CreateAdminRequest": { "type": "object", "properties": { "email": { "type": "string" }, "fio": { "type": "string" }, "phone_number": { "type": "string" }, "university_id": { "type": "integer" } } }, "entities.CreateAdminResponse": { "type": "object", "properties": { "email": { "type": "string" }, "id": { "type": "integer" }, "password": { "type": "string" } } }, "entities.CreateAnswerRequest": { "type": "object", "properties": { "answer": { "type": "string" }, "question_id": { "type": "integer" } } }, "entities.CreateByDelegateProgramApplicationReq": { "type": "object", "properties": { "program_id": { "type": "integer" }, "student_id": { "type": "integer" }, "target_university_id": { "type": "integer" } } }, "entities.CreateDelegateRequest": { "type": "object", "properties": { "email": { "type": "string" }, "fio": { "type": "string" }, "password": { "type": "string" }, "phone_number": { "type": "string" }, "university_id": { "type": "integer" } } }, "entities.CreateDisciplineRequest": { "type": "object", "properties": { "evaluation_type": { "type": "string" }, "hours": { "type": "integer" }, "name": { "type": "string" }, "program_id": { "type": "integer" }, "semester": { "type": "integer" }, "unit_credits": { "type": "integer" } } }, "entities.CreateProgramRequest": { "type": "object", "properties": { "assessment_type": { "type": "string" }, "available_slots": { "type": "integer" }, "degree_level": { "type": "string" }, "description": { "type": "string" }, "direction_code": { "type": "string" }, "faculty": { "type": "string" }, "is_digital_department": { "type": "boolean" }, "is_exchangeable": { "type": "boolean" }, "is_sber": { "type": "boolean" }, "key_topics": { "type": "array", "items": { "type": "string" } }, "min_gpa": { "type": "number" }, "name": { "type": "string" }, "program_partners": { "type": "array", "items": { "type": "string" } }, "requirements": { "type": "string" }, "study_hours": { "type": "integer" }, "university_id": { "type": "integer" } } }, "entities.CreateQuestionRequest": { "type": "object", "properties": { "program_id": { "type": "integer" }, "question": { "type": "string" } } }, "entities.CreateQuotaRequest": { "type": "object", "properties": { "direction_id": { "type": "integer" }, "expired_at": { "type": "string", "example": "27.06.2025" }, "student_count": { "type": "integer" } } }, "entities.CreateReviewRequest": { "type": "object", "properties": { "comment": { "type": "string" }, "living_conditions_rating": { "type": "integer" }, "program_id": { "type": "integer" }, "program_rating": { "type": "integer" }, "subjects_rating": { "type": "integer" }, "teacher_rating": { "type": "integer" } } }, "entities.CreateUserRequest": { "type": "object", "properties": { "about": { "type": "string" }, "course": { "type": "string" }, "email": { "type": "string" }, "fio": { "type": "string" }, "gpa": { "type": "number" }, "password": { "type": "string" }, "phone_number": { "type": "string" }, "program_id": { "type": "integer" }, "university_id": { "type": "integer" } } }, "entities.CreateUserResponse": { "type": "object", "properties": { "id": { "type": "integer" } } }, "entities.DelegateRegistration": { "type": "object", "properties": { "email": { "type": "string" }, "first_name": { "type": "string" }, "id": { "type": "integer" }, "last_name": { "type": "string" }, "middle_name": { "type": "string" }, "phone_number": { "type": "string" } } }, "entities.Discipline": { "type": "object", "properties": { "evaluation_type": { "type": "string" }, "hours": { "type": "integer" }, "id": { "type": "integer" }, "name": { "type": "string" }, "program_id": { "type": "integer" }, "semester": { "type": "integer" }, "unit_credits": { "type": "integer" } } }, "entities.Error": { "type": "object", "properties": { "error": { "type": "string" } } }, "entities.Form": { "type": "object", "properties": { "email": { "type": "string" }, "first_name": { "type": "string" }, "id": { "type": "integer" }, "last_name": { "type": "string" }, "phone_number": { "type": "string" }, "telegram_username": { "type": "string" }, "third_name": { "type": "string" }, "university_address": { "type": "string" }, "university_licenses": { "type": "array", "items": { "type": "string" } }, "university_name": { "type": "string" } } }, "entities.ID": { "type": "object", "properties": { "id": { "type": "integer" } } }, "entities.Image": { "type": "object", "properties": { "name": { "type": "string" }, "url": { "type": "string" } } }, "entities.LoginUserRequest": { "type": "object", "properties": { "email": { "type": "string" }, "password": { "type": "string" } } }, "entities.LoginUserResponse": { "type": "object", "properties": { "access_token": { "type": "string" }, "refresh_token": { "type": "string" } } }, "entities.MonthlyStudentCount": { "type": "object", "properties": { "count": { "type": "integer" }, "monthYear": { "type": "string" } } }, "entities.Program": { "type": "object", "properties": { "assessment_type": { "type": "string" }, "available_slots": { "type": "integer" }, "degree_level": { "type": "string" }, "description": { "type": "string" }, "direction_code": { "type": "string" }, "faculty": { "type": "string" }, "id": { "type": "integer" }, "is_digital_department": { "type": "boolean" }, "is_exchangeable": { "type": "boolean" }, "is_sber": { "type": "boolean" }, "key_topics": { "type": "array", "items": { "type": "string" } }, "min_gpa": { "type": "number" }, "name": { "type": "string" }, "program_partners": { "type": "array", "items": { "type": "string" } }, "requirements": { "type": "string" }, "study_hours": { "type": "integer" }, "university_id": { "type": "integer" } } }, "entities.ProgramAnalytics": { "type": "object", "properties": { "stats_digital_department": { "$ref": "#/definitions/entities.ProgramStats" }, "stats_direction": { "$ref": "#/definitions/entities.ProgramStats" }, "stats_sber_program": { "$ref": "#/definitions/entities.ProgramStats" } } }, "entities.ProgramApplication": { "type": "object", "properties": { "from_university_id": { "type": "integer" }, "id": { "type": "integer" }, "program_id": { "type": "integer" }, "status": { "type": "string" }, "student_id": { "type": "integer" }, "target_university_id": { "type": "integer" }, "type": { "type": "string" } } }, "entities.ProgramApplicationWithLogo": { "type": "object", "properties": { "first_name": { "type": "string" }, "gpa": { "type": "number" }, "id": { "type": "integer" }, "last_name": { "type": "string" }, "middle_name": { "type": "string" }, "program_id": { "type": "integer" }, "program_name": { "type": "string" }, "status": { "type": "string" }, "student_id": { "type": "integer" }, "university_id": { "type": "integer" }, "university_logo": { "type": "string" }, "university_name": { "type": "string" } } }, "entities.ProgramStats": { "type": "object", "properties": { "avgRating": { "type": "number" }, "count": { "type": "integer" } } }, "entities.ProgramWithLogo": { "type": "object", "properties": { "direction_code": { "type": "string" }, "id": { "type": "integer" }, "is_digital_department": { "type": "boolean" }, "is_sber": { "type": "boolean" }, "logo": { "$ref": "#/definitions/entities.Image" }, "name": { "type": "string" }, "rating": { "type": "integer" }, "university_id": { "type": "integer" }, "university_name": { "type": "string" } } }, "entities.ProgramWithRating": { "type": "object", "properties": { "assessment_type": { "type": "string" }, "available_slots": { "type": "integer" }, "degree_level": { "type": "string" }, "description": { "type": "string" }, "direction_code": { "type": "string" }, "faculty": { "type": "string" }, "id": { "type": "integer" }, "is_digital_department": { "type": "boolean" }, "is_exchangeable": { "type": "boolean" }, "is_sber": { "type": "boolean" }, "key_topics": { "type": "array", "items": { "type": "string" } }, "min_gpa": { "type": "number" }, "name": { "type": "string" }, "program_partners": { "type": "array", "items": { "type": "string" } }, "rating": { "type": "integer" }, "requirements": { "type": "string" }, "study_hours": { "type": "integer" }, "university_id": { "type": "integer" } } }, "entities.QuestionWithStudentInfo": { "type": "object", "properties": { "created_at": { "type": "string" }, "first_name": { "type": "string" }, "id": { "type": "integer" }, "last_name": { "type": "string" }, "middle_name": { "type": "string" }, "question": { "type": "string" }, "student_id": { "type": "integer" } } }, "entities.QuestionsAndAnswers": { "type": "object", "properties": { "answers": { "type": "array", "items": { "$ref": "#/definitions/entities.AnswerWithDelegateInfo" } }, "question": { "$ref": "#/definitions/entities.QuestionWithStudentInfo" } } }, "entities.Quota": { "type": "object", "properties": { "direction_id": { "type": "integer" }, "expired_at": { "type": "string" }, "id": { "type": "integer" }, "student_count": { "type": "integer" } } }, "entities.RegisterTelegramResponse": { "type": "object", "properties": { "register_link": { "type": "string" } } }, "entities.Response": { "type": "object", "properties": { "response": { "type": "string" } } }, "entities.Review": { "type": "object", "properties": { "comment": { "type": "string" }, "created_at": { "type": "string" }, "id": { "type": "integer" }, "living_conditions_rating": { "type": "integer" }, "program_id": { "type": "integer" }, "program_rating": { "type": "integer" }, "student_id": { "type": "integer" }, "subjects_rating": { "type": "integer" }, "teacher_rating": { "type": "integer" } } }, "entities.SemesterAverage": { "type": "object", "properties": { "living_conditions_rating": { "type": "number" }, "program_rating": { "type": "number" }, "semester": { "type": "string" }, "subjects_rating": { "type": "number" }, "teacher_rating": { "type": "number" } } }, "entities.StudentDelegateCount": { "type": "object", "properties": { "delegateCount": { "type": "integer" }, "studentCount": { "type": "integer" } } }, "entities.StudentRegistration": { "type": "object", "properties": { "about": { "type": "string" }, "course": { "type": "string" }, "email": { "type": "string" }, "first_name": { "type": "string" }, "gpa": { "type": "number" }, "id": { "type": "integer" }, "last_name": { "type": "string" }, "middle_name": { "type": "string" }, "phone_number": { "type": "string" }, "program_name": { "type": "string" } } }, "entities.TestTask": { "type": "object", "properties": { "id": { "type": "integer" }, "program_id": { "type": "integer" }, "task_file": { "type": "string" }, "task_text": { "type": "string" }, "type": { "type": "string" } } }, "entities.TestTaskSolution": { "type": "object", "properties": { "id": { "type": "integer" }, "solution_file": { "type": "string" }, "solution_text": { "type": "string" }, "status": { "type": "string" }, "task_id": { "type": "integer" }, "user_id": { "type": "integer" } } }, "entities.University": { "type": "object", "properties": { "address": { "type": "string" }, "description": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "integer" }, "logo": { "type": "string" }, "media": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "phone_number": { "type": "string" }, "rating": { "type": "integer" } } }, "entities.UniversityAnalytics": { "type": "object", "properties": { "application_analytics": { "$ref": "#/definitions/entities.ApplicationAnalytics" }, "program_analytics": { "$ref": "#/definitions/entities.ProgramAnalytics" }, "user_analytics": { "$ref": "#/definitions/entities.UserAnalytics" } } }, "entities.UniversityIDName": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "entities.UniversityWithImageName": { "type": "object", "properties": { "address": { "type": "string" }, "description": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "integer" }, "logo": { "$ref": "#/definitions/entities.Image" }, "media": { "type": "array", "items": { "$ref": "#/definitions/entities.Image" } }, "name": { "type": "string" }, "phone_number": { "type": "string" }, "rating": { "type": "integer" } } }, "entities.UpdatePasswordRequest": { "type": "object", "properties": { "new_password": { "type": "string" }, "old_password": { "type": "string" } } }, "entities.UpdateReviewRequest": { "type": "object", "properties": { "comment": { "type": "string" }, "id": { "type": "integer" }, "living_conditions_rating": { "type": "integer" }, "program_rating": { "type": "integer" }, "subjects_rating": { "type": "integer" }, "teacher_rating": { "type": "integer" } } }, "entities.UpdateUserInfoRequest": { "type": "object", "properties": { "about": { "type": "string" }, "get_notifications": { "type": "boolean" }, "phone_number": { "type": "string" }, "ready_for_exchange": { "type": "boolean" } } }, "entities.User": { "type": "object", "properties": { "about": { "type": "string" }, "course": { "type": "string" }, "created_at": { "type": "string" }, "email": { "type": "string" }, "first_name": { "type": "string" }, "gpa": { "type": "number" }, "id": { "type": "integer" }, "is_telegram_verified": { "type": "boolean" }, "last_name": { "type": "string" }, "middle_name": { "type": "string" }, "password_hash": { "type": "string" }, "phone_number": { "type": "string" }, "program_id": { "type": "integer" }, "ready_for_exchange": { "type": "boolean" }, "role": { "type": "string" }, "telegram_id": { "type": "integer" }, "telegram_username": { "type": "string" }, "university_id": { "type": "integer" }, "verification_status": { "type": "string" } } }, "entities.UserAnalytics": { "type": "object", "properties": { "avg_gpa_approved_app": { "type": "number" }, "avg_gpa_approved_app_target_university": { "type": "number" }, "monthly_students_counts": { "type": "array", "items": { "$ref": "#/definitions/entities.MonthlyStudentCount" } }, "student_delegate_count": { "$ref": "#/definitions/entities.StudentDelegateCount" } } }, "entities.UserInfo": { "type": "object", "properties": { "about": { "type": "string" }, "course": { "type": "string" }, "email": { "type": "string" }, "first_name": { "type": "string" }, "get_notifications": { "type": "boolean" }, "id": { "type": "integer" }, "is_telegram_verified": { "type": "boolean" }, "last_name": { "type": "string" }, "middle_name": { "type": "string" }, "phone_number": { "type": "string" }, "program_name": { "type": "string" }, "ready_for_exchange": { "type": "boolean" }, "role": { "type": "string" }, "telegram_id": { "type": "string" }, "university_id": { "type": "integer" }, "university_name": { "type": "string" }, "verification_status": { "type": "string" } } } }, "securityDefinitions": { "ApiKeyAuth": { "type": "apiKey", "name": "Authorization", "in": "header" } } }` // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = &swag.Spec{ Version: "1.0", Host: "", BasePath: "/", Schemes: []string{}, Title: "VUZ+ API", Description: "", InfoInstanceName: "swagger", SwaggerTemplate: docTemplate, LeftDelim: "{{", RightDelim: "}}", } func init() { swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) }