Приложение запускается по команде "pizza". Далее описываются подкоманды.
Команды приложения:
ОБЩЕЕ
pizza -h или --help (версия приложения + команды)
Эту команду реализовывать не надо, она питоном автоматически генерируется!РЕГИСТРАЦИЯ И УПРАВЛЕНИЕ АККАУНТОМ
pizza sign_in [email]
Далее, как при использовании sudo, нужно ввести пароль.
Если все параметры и данные введены верно а вход удачный, то сохранить их в json файл.
Если параметр --email не введён, попытаться залогиниться по сохранённым данным.pizza sign_up [email]
Далее, как при использовании sudo, нужно ввести пароль.
Далее нужно ввести ещё раз — подтвердить парольpizza logout
Выйти из приложенияpizza config --firstname Ivan --lastname Ivanov --address "some address" --phone 123456
Ни один параметр не является обязательным, но хотя бы один параметр должен быть введён.pizza change_password [email]
Требует ввести пароль от учётной записи. Далее аналогично регистрации. Иначе говоря приложение попросит ввести пароль трижды: Сначала ввести свой пароль, потом новый, потом подтвердить новый пароль.
pizza reset_password [email]
Отправляет на почту письмо с новым паролем (с помощью которого можно войти и который можно поменять)
pizza change_email [old_email] [new_email]
Требует подтверждения паролем. Меняет почту на указанную.pizza add_card --name "имя владельца карты" --card-number номер --expiry-date месяц/год
Далее в скрытом режиме вводится cvv (как ввод пароля)pizza confirm_email [email]
Отправляет на почту ссылку на подтверждение почтыПОЛНЫЙ ПРОЦЕСС ЗАКАЗА
pizza menu --show-id (свитч, выводить id пицц) --no-show-id (свитч, не выводить id) --limit number (сколько максимум выводить) .
Постраничный вывод меню. По умолчанию --show-id считается true.pizza ingredients --show-id --no-show-id --limit number
Постраничный вывод меню. По умолчанию --show-id равен true.pizza orders --show-id (свитч, выводить id заказа) --no-show-id (свитч, не выводить id) --active (свитч, показать активные) --completed (свитч, показать завершённые) --all (свитч, показать все заказы)
Отображает историю заказов. По умолчанию только --active и --no-show-id считается true.pizza add [pizza_id] --size размер (small, medium, large ИЛИ 1, 2, 3) --dough тесто (classic, thin ИЛИ 1, 2) --quantity число --ingredients "ингредиент1:количество1, ингредиент2:количество2, ..."
Параметр pizza_id - позиционный
Добавляет в корзину пиццу. По умолчанию все параметры равны 1 (кроме id).
Должна быть проверка, чтобы количество каждого ингредиента было неотрицательным.