Skip to content

s4bb4t/easydev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EasyDev sAPI


Навигация


Описание

RESTful API сервис для EasyDev. Предоставляет функции управления пользователями и задачами.

Контакты

Хост

Безопасность

  • Описание: Для доступа к защищенным маршрутам требуется JWT Bearer токен. Формат: Bearer <token>

Swagger


User API

Регистрация пользователя

  • Путь: /auth/signup
  • Метод: POST
  • Описание: Регистрирует нового пользователя.
  • Параметры:
    • User (тело запроса): Полные данные пользователя для регистрации.
      {
        "login": "string",
        "username": "string",
        "password": "string",
        "email": "string",
        "phoneNumber": "string"
      }
  • Ответы:
    • 201 Created: Успешная регистрация. Возвращает данные пользователя.
    • 400 Bad Request: Ошибка десериализации запроса или неверный ввод.
    • 409 Conflict: Пользователь уже существует.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Аутентификация пользователя

  • Путь: /auth/signin
  • Метод: POST
  • Описание: Аутентифицирует пользователя и возвращает JWT токены.
  • Параметры:
    • AuthData (тело запроса): Данные для аутентификации.
      {
        "login": "string",
        "password": "string"
      }
  • Ответы:
    • 200 OK: Успешная аутентификация. Возвращает JWT токены.
      {
        "access": "string",
        "refresh": "string"
      }
    • 400 Bad Request: Ошибка десериализации запроса или неверный ввод.
    • 401 Unauthorized: Неверные учетные данные.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Обновление токена

  • Путь: /auth/refresh
  • Метод: POST
  • Описание: Обновляет токен доступа на основе предоставленного refresh токена.
  • Параметры:
    • RefreshToken (тело запроса): Refresh токен пользователя.
      {
        "refreshToken": "string"
      }
  • Ответы:
    • 200 OK: Успешное обновление токена. Возвращает новые JWT токены.
      {
        "access": "string",
        "refresh": "string"
      }
    • 400 Bad Request: Ошибка десериализации запроса.
    • 401 Unauthorized: Неверные учетные данные или токен истек.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Получение профиля пользователя

  • Путь: /user/profile
  • Метод: GET
  • Описание: Возвращает профиль текущего аутентифицированного пользователя.
  • Ответы:
    • 200 OK: Возвращает данные профиля пользователя.
      {
        "id": 1,
        "username": "string",
        "email": "string@string.com",
        "date": "2024-09-15 16:06:15",
        "isBlocked": false,
        "isAdmin": true,
        "phoneNumber": "+79134210880"
      }
    • 400 Bad Request: Пользователь не найден.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Обновление профиля пользователя

  • Путь: /user/profile
  • Метод: PUT
  • Описание: Обновляет профиль пользователя с новыми данными.
  • Параметры:
    • PutUser (тело запроса): Обновленные данные пользователя.
      {
        "username": "string",
        "email": "string",
        "phoneNumber": "string"
      }
  • Ответы:
    • 200 OK: Профиль успешно обновлен.
    • 400 Bad Request: Ошибка десериализации запроса или логин/электронная почта уже используются.
    • 404 Not Found: Пользователь не найден.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Изменение пароля

  • Путь: /user/profile/reset-password
  • Метод: PUT
  • Описание: Обновляет пароль пользователя.
  • Параметры:
    • Pwd (тело запроса): Новый пароль.
      {
        "password": "string"
      }
  • Ответы:
    • 200 OK: Пароль успешно изменен.
    • 400 Bad Request: Ошибка десериализации запроса.
    • 404 Not Found: Пользователь не найден.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Admin API

Получение всех пользователей

  • Путь: /admin/users
  • Метод: GET
  • Описание: Получает список пользователей с возможностью фильтрации и сортировки.
  • Параметры запроса:
    • search (строка, необязательно): Фильтр по ключевому слову в имени или электронной почте.
    • sortBy (строка, необязательно): Поле для сортировки (например, "username", "email").
    • sortOrder (строка, необязательно): Направление сортировки ("asc" или "desc").
    • isBlocked (логическое, необязательно): Фильтрация по статусу блокировки.
    • limit (целое число, необязательно): Количество элементов на странице (по умолчанию 20).
    • offset (целое число, необязательно): Смещение для пагинации (по умолчанию 0).
  • Ответы:
    • 200 OK: Возвращает список пользователей с метаинформацией.
      {
        "data": [
          {
            "id": 1,
            "username": "string",
            "email": "string",
            "date": "string",
            "isBlocked": false,
            "isAdmin": false,
            "phoneNumber": "string"
          }
        ],
        "meta": {
          "totalAmount": 1,
          "sortBy": "id",
          "sortOrder": "asc"
        }
      }
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Получение профиля пользователя

  • Путь: /admin/users/{id}
  • Метод: GET
  • Описание: Получает профиль пользователя по его ID.
  • Параметры:
    • id (путь): ID пользователя.
  • Ответы:
    • 200 OK: Возвращает данные профиля пользователя.
      {
        "id": 1,
        "username": "string",
        "email": "string@string.com",
        "date": "2024-09-15 16:06:15",
        "isBlocked": false,
        "isAdmin": true,
        "phoneNumber": "+79134210880"
      }
    • 404 Not Found: Пользователь не найден.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Обновление прав пользователя

  • Путь: /admin/users/{id}/rights
  • Метод: PUT
  • Описание: Обновляет права доступа пользователя.
  • Параметры:
    • id (путь): ID пользователя.
    • Roles (тело запроса): Обновленные права доступа.
      {
        "isAdmin": true,
        "isBlocked": false
      }
  • Ответы:
    • 200 OK: Права успешно обновлены.
    • 404 Not Found: Пользователь не найден.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Обновление данных пользователя

  • Путь: /admin/users/{id}
  • Метод: PUT
  • Описание: Обновляет данные пользователя.
  • Параметры:
    • id (путь): ID пользователя.
    • User (тело запроса): Новые данные пользователя.
      {
        "username": "string",
        "email": "string@string.com",
        "phoneNumber": "string"
      }
  • Ответы:
    • 200 OK: Данные успешно обновлены.
    • 404 Not Found: Пользователь не найден.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Блокировка/разблокировка пользователя

  • Путь: /admin/users/{id}/block
  • Метод: POST
  • Описание: Блокирует пользователя.
  • Путь: /admin/users/{id}/unblock
  • Метод: POST
  • Описание: Разблокирует пользователя.
  • Параметры:
    • id (путь): ID пользователя.
  • Ответы:
    • 200 OK: Статус успешно обновлен.
    • 404 Not Found: Пользователь не найден.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Удаление пользователя

  • Путь: /admin/users/{id}
  • Метод: DELETE
  • Описание: Удаляет пользователя по его ID.
  • Параметры:
    • id (путь): ID пользователя.
  • Ответы:
    • 200 OK: Пользователь успешно удален.
    • 404 Not Found: Пользователь не найден.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Управление задачами (Todo)

Создание задачи

  • Путь: /todos
  • Метод: POST
  • Описание: Создает новую задачу.
  • Параметры:
    • Todo (тело запроса): Данные задачи.
      {
        "title": "string",
        "isDone": false
      }
  • Ответы:
    • 201 Created: Задача успешно создана.
    • 400 Bad Request: Ошибка десериализации запроса.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Получение всех задач

  • Путь: /todos
  • Метод: GET
  • Описание: Получает список всех задач.
  • Параметры запроса:
    • status (строка, необязательно): Фильтрация по статусу.
    • limit (целое число, необязательно): Количество элементов на странице (по умолчанию 20).
    • offset (целое число, необязательно): Смещение для пагинации (по умолчанию 0).
  • Ответы:
    • 200 OK: Возвращает список задач.
      {
        "data": [
          {
            "id": 1,
            "title": "string",
            "isDone": false,
            "created": "2024-09-15T16:06:15Z"
          }
        ],
        "meta": {
          "total": 100,
          "limit": 20,
          "offset": 0
        }
      }
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Получение задачи по ID

  • Путь: /todos/{id}
  • Метод: GET
  • Описание: Получает задачу по ее ID.
  • Параметры:
    • id (путь): ID задачи.
  • Ответы:
    • 200 OK: Возвращает данные задачи.
      {
        "id": 1,
        "title": "string",
        "isDone": false,
        "created": "2024-09-15T16:06:15Z"
      }
    • 404 Not Found: Задача не найдена.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Обновление задачи

  • Путь: /todos/{id}
  • Метод: PUT
  • Описание: Обновляет данные задачи.
  • Параметры:
    • id (путь): ID задачи.
    • Todo (тело запроса): Новые данные задачи.
      {
        "title": "string",
        "isDone": false
      }
  • Ответы:
    • 200 OK: Задача успешно обновлена.
    • 400 Bad Request: Ошибка десериализации запроса.
    • 404 Not Found: Задача не найдена.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

Удаление задачи

  • Путь: /todos/{id}
  • Метод: DELETE
  • Описание: Удаляет задачу по ее ID.
  • Параметры:
    • id (путь): ID задачи.
  • Ответы:
    • 200 OK: Задача успешно удалена.
    • 404 Not Found: Задача не найдена.
    • 500 Internal Server Error: Внутренняя ошибка сервера.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages