ru24.pro
Работа
Октябрь
2024

Создать на python\flask​ панель управления

0
Создать на python\flask панель управления юзерами и их "пакетами" с вызовом стороннего API.

Суть :

SQL scheme
==========

customers :
id
name
email
login
password

servers :
id
name
package_id
max_modems
MachineData
license_hash
setup_url

package :
id
customer_id
comment
max_modems
start_date
expiry


=================

Будет 2 роли, юзер и админ


Процесс создания лицензий:
- юзер регится или его создает админ
- админ создает пакеты для юзера
- юзер создает сервер(а) в рамках пакета


Админ может
- создавать/удалять/блокать/редактировать юзеров
- менять им пароль
- просматривать юзеров
- редактировать их пакеты/сервера


Юзер может
- просматривать свои пакеты / сервера
- создавать / удалять СЕРВЕРА в рамках пакета


Экран с т.зр. юзера.
--------------
Список пакетов. Для каждого пакета:
- все данные из таблицы packages где id==customer_id
- показать free slots - как разница между max_modems пакета и суммой max_modems каждого сервера в пакете.
- сервера в данном пакете

Кнопки для пакета:
- добавление нового сервера (только при free slots >0 !!)

Для каждого сервера:
- данные лицензии

Кнопки для каждого сервера
- ссылка на установку лицензии (будет сообщено позже)
- удаление сервера
- редактирование сервера

----------

- Общее количество модемов на серверах ПАКЕТА не превышает макс.кол-во модемов ПАКЕТА.
- Создание сервера - ведет к созданию его лицензии - вызов стороннего API c аргументами (machineData, customer name, server name, expiry, max_modems (сервера) ). Возврат API: лицензия, подпись лицензии.
- Отзыв лицензии - вызов стороннего API.


Другое:

- рейтлимит на выписку лицензий для 1 юзера, кроме админа - 5 шт / 30 мин и 10шт / 24ч.

Юзер может
- менять свой пароль
- менять свой емейл
- восстановить пароль если забыл (ссылка на емейл)

кейсы:

- 1. добавление сервера в пакет ( при условии free_slots >0)
юзер вводит все данные для сервера
выписка лицензии
добавление сервера в БД

- 2. удаление сервера из пакета
удаление из БД этого сервера
отзыв его лицензии

- 3. редактирование сервера
если меняет max_modems сервера, то удостовериться что после этой операции max_modems пакета не превышен
отзыв старой лицензии сервера
создание новой лицензии сервера