Services/Service-ApiGateway.md


Назначение

Отправление запросов от пользователя в систему и отображение информации в браузере

Страницы

Страница входа

Примерный вид

Страница входа

Назначение

Выполняется вход в систему или переход на страницу регистрации пользователя

Используемые запросы

  • страница входа - Отображает саму страницу;
  • вход пользователя - Производит вход пользователя в систему и переход на страницу пользователя;
  • страница регистрации - Производит переход на страницу регистрации.

Страница регистрации

Примерный вид

Страница регистрации

Назначение

Выполняется регистрация пользователя в системе

Используемые запросы

  • страница регистрации - Отображает саму страницу;
  • регистрация пользователя - Производит регистрацию пользователя и переводит на страницу входа.

Страница кабинета клиента

Примерный вид

Страница кабинета клиента

Назначение

Отображение информации о пользователе, его счетах. Также можно инициировать выход из личного кабинета и операции со счетами.

Используемые запросы

  • страница пользователя - Отображает саму страницу;
  • выход из учётной записи - Выполняет выход из учётной записи и переводит на страницу входа;
  • страница создания счёта - Выполняет переход на страницу создания счёта;
  • страница закрытия счёта - Выполняет переход на страницу закрытия счёта;
  • страница получения реквизитов счёта - Выполняет переход на страницу получения реквизитов счёта;
  • страница снятие денег со счёта - Выполняет переход на страницу снятия денег со счёта;
  • страница пополнения счёта - Выполняет переход на страницу пополнения счёта;

Страница выполнения операций со счетами

Примерный вид

Страница выполнения операций со счётами

Назначение

Выполнение операций со счетами.

Используемые запросы

  • Открытие счёта
    • страница создания счёта - Отображает саму страницу;
    • открытие счёта - Выполняет открытие счёта и переход на страницу пользователя;
    • страница пользователя - Выполняет переход на страницу пользователя;
  • Закртыие счёта
    • страница закрытия счёта - Отображает саму страницу;
    • открытие счёта - Выполняет закрытие счёта и переход на страницу пользователя;
    • страница пользователя - Выполняет переход на страницу пользователя;
  • Получение реквизитов счёта
    • страница получения реквизитов счёта - Отображает саму страницу;
    • страница пользователя - Выполняет переход на страницу пользователя;
  • Снятие денег со счёта
    • страница снятие денег со счёта - Отображает саму страницу;
    • открытие счёта - Выполняет снятие денег со счёта и переход на страницу пользователя;
    • страница пользователя - Выполняет переход на страницу пользователя;
  • Пополнение счёта
    • страница пополнения счёта - Отображает саму страницу;
    • открытие счёта - Выполняет пополнение счёта и переход на страницу пользователя;
    • страница пользователя - Выполняет переход на страницу пользователя;

Админская страница с событиями

Примерный вид

Админская страница с событиями

Назначение

Отображение информации о транзакциях, их графах. Отображение выполняется в диапазоне, указанном пользователем.

Используемые запросы

  • страница администратора - Отображает саму страницу;
  • получение данных об транзакциях в указанном интервале - Позволяет обновить страницу с полученным списком транзакций в указанном временном промежутке.

Страница ошибки

Примерный вид

Страница ошибки

Назначение

Отображение ошибки и возможность пользователя вернуться на страницу входа.

Используемые странцы

  • страница входа - возможность возврата на страницу входа в систему.

Токены

Токены формируются при входе пользователя в систему. Они имеют срок жизни, установленный в конфигурации сервера. В случае, если пользователь бездействует указанное время, токен уничтожается и пользователю снова небходимо войти в систему. Время жизни токена обновляется после каждого действия пользователя, если токен уже существует. Сам же токен будет хранится во временных coockie клиента в браузере.

Хранение токенов

Для хранения токенов будет использоваться RedisMQ, т.к. эта база данных сама позволяет устанавливать время жизни записей. Записи в RedisMQ буду хранится в следующем формате:

  • ключ: “user_uuid”
  • значение: “token”

Запросы

  • страница входа
  • вход пользователя
  • страница регистрации
  • регистрация пользователя
  • страница пользователя
  • выход из учётной записи
  • страница создания счёта
  • создание счёта
  • страница закрытия счёта
  • закрытие счёта
  • страница получения реквизитов счёта
  • страница пополнения счёта
  • пополнение счёта
  • страница снятия денег со счёта
  • снятие денег со счёта
  • страница администратора
  • получение данных об транзакциях в указанном интервале

страница входа

Информация о запросе

  • тип запроса - GET
  • URL - http://localhost:8080/api/v1/api_gateway/sign_in

    Входные данные запроса

    нет

    Возможные ответы

    страница входа

вход пользователя

Информация о запросе

  • тип запроса - POST
  • URL - http://localhost:8080/api/v1/api_gateway/sign_in/sign_in

    Входные данные запроса

{
    "login": "...",
    "password": "..."
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница пользователя - в случае удачи.

страница регистрации

Информация о запросе

  • тип запроса - GET
  • URL - http://localhost:8080/api/v1/api_gateway/sign_up

    Входные данные запроса

    нет

    Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница регистрации - в случае удачи.

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

Информация о запросе

  • тип запроса - POST
  • URL - http://localhost:8080/api/v1/api_gateway/sign_up/sign_up

    Входные данные запроса

{
    "login": "...",
    "password": "...",
    "passport_series": "0123",
    "passport_number": "012345",
    "name": "...",
    "surname": "...",
    "patronymic": "...",
    "birth_date": "01-01-2001 01:01:01",
    "birth_location": "...",
    "passport_pick_up_point": "...",
    "passport_authority": "012-345",
    "passport_authority_date": "01-01-2001 01:01:01",
    "passport_registration_address": "...",
    "inn": "..."
}

Возможные ответы

  • страница входа - в случае ошибки;
  • страница ошибки - в случае ошибки;

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

Информация о запросе

  • тип запроса - GET
  • URL - http://localhost:8080/api/v1/api_gateway/main_page

    Входные данные запроса

{
    "user_id": "uuid",
    "token": "..."
}

Возможные ответы

  • страница пользователя - если удача;
  • страница ошибки - в случае ошибки;
  • старница входа - если истёк срок жизни токена.

выход из учётной записи

Информация о запросе

  • тип запроса - GET
  • URL - http://localhost:8080/api/v1/api_gateway/sign_out

    Входные данные запроса

{
    "user_id": "uuid",
    "token": "..."
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница входа - в случае удачи.

страница создания счёта

Информация о запросе

  • тип запроса - GET
  • URL - http://localhost:8080/api/v1/api_gateway/open_account

    Входные данные запроса

{
    "user_id": "uuid",
    "token": "..."
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница выполнения операция со счетами - в случае удачи.

создание счёта

Информация о запросе

  • тип запроса - POST
  • URL - http://localhost:8080/api/v1/api_gateway/open_account/open_account

    Входные данные запроса

{
    "user_id": "uuid",
    "token": "...",
    "acc_name": "...",
    "culc_number": "...",
    "corr_number": "...",
    "bic": "...",
    "cio": "..."
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница пользователя - в случае удачи.

страница закрытия счёта

Информация о запросе

  • тип запроса - GET
  • URL - http://localhost:8080/api/v1/api_gateway/close_account

    Входные данные запроса

{
    "user_id": "uuid",
    "token": "...",
    "acc_id": "..."
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница выполнения операция со счетами - в случае удачи.

закрытие счёта

Информация о запросе

  • тип запроса - POST
  • URL - http://localhost:8080/api/v1/api_gateway/close_account/close_account

    Входные данные запроса

{
    "user_id": "uuid",
    "token": "...",
    "acc_id": "..."
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница пользователя - в случае удачи.

страница получения реквизитов счёта

Информация о запросе

  • тип запроса - GET
  • URL - http://localhost:8080/api/v1/api_gateway/get_account_info

    Входные данные запроса

{
    "user_id": "uuid",
    "token": "...",
    "acc_id": "..."
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница выполнения операция со счетами - в случае удачи.

страница пополнения счёта

Информация о запросе

  • тип запроса - GET
  • URL - http://localhost:8080/api/v1/api_gateway/adding_account

    Входные данные запроса

{
    "user_id": "uuid",
    "token": "...",
    "acc_id": "..."
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница выполнения операция со счетами - в случае удачи.

пополнение счёта

Информация о запросе

  • тип запроса - POST
  • URL - http://localhost:8080/api/v1/api_gateway/adding_account/adding_account

    Входные данные запроса

{
    "user_id": "uuid",
    "token": "...",
    "acc_id": "...",
    "summ": 12.12
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница пользователя - в случае удачи.

страница снятия денег со счёта

Информация о запросе

  • тип запроса - GET
  • URL - http://localhost:8080/api/v1/api_gateway/width_account

    Входные данные запроса

{
    "user_id": "uuid",
    "token": "...",
    "acc_id": "..."
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница выполнения операция со счетами - в случае удачи.

снятие денег со счёта

Информация о запросе

  • тип запроса - POST
  • URL - http://localhost:8080/api/v1/api_gateway/width_account/width_account

    Входные данные запроса

{
    "user_id": "uuid",
    "token": "...",
    "acc_id": "...",
    "summ": 12.12
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница пользователя - в случае удачи.

страница администратора

Информация о запросе

  • тип запроса - GET
  • URL - http://localhost:8080/api/v1/api_gateway/admin

    Входные данные запроса

{
    "start": "12-12-2012 12:12:12",
    "end": "12-12-2012 12:12:12"
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница администратора - в случае удачи.

получение данных об транзакциях в указанном интервале

Информация о запросе

  • тип запроса - GET
  • URL - http://localhost:8080/api/v1/api_gateway/admin/get_transactions

    Входные данные запроса

{
    "start": "12-12-2012 12:12:12",
    "end": "12-12-2012 12:12:12"
}

Возможные ответы

  • страница ошибки - в случае ошибки;
  • страница администратора - в случае удачи.
Ссылка на вики репозиторий