Исходник Rest api для чита

Пользователь
Статус
Оффлайн
Регистрация
28 Фев 2019
Сообщения
655
Реакции[?]
143
Поинты[?]
32K
В общем накидал небольшое апи, оно сырое, да и я не супер пупе разработчик, просто попробовал сделать то что давно хотел и понял, что есть куда расти.
Это апи, которое нужно использовать в связке с тг ботом (его пока не делал, мб потом напишу и запощу). Писал на кварте (асинхронная версия фласка) и беание (орм (ака одм) для монгодб). Пока-что реализовал только интерфейсы создания юзеров и подписки (разморозка, заморозка, добавление), в планах написать клауд конфиги и сайт для телеграм бота, где они бы отображались, а так-же парочку паблик методов для работы с лоадером чита :)

Создание&Получение юзера:
requests.get(
    "http://127.0.0.1:5000/user/get_or_create",
    headers={
        "Authorization": "Амин ключ в конфиге",
    },
    params={
        "telegram_id": айди из телеги
    }
).json()
# Вернет объект юзера
Смена токена авторизации:
requests.get(
    "http://127.0.0.1:5000/user/change_token",
    headers={
        "Authorization": "Админ токен из конфига",
    },
    params={
        "telegram_id": айди из телеги
    }
).json()
# вернет объект юзера с новым токеном
Создание подписки:
requests.post(
    "http://127.0.0.1:5000/user/create_subscription",
    headers={
        "Authorization": "Админ токен из конфига"
    },
    params={
        "telegram_id": айди из телеги
    },
    json={
        "product_id": айди продукта,
        "days": количество дней подписки, добавит если существует, создаст если не существует
    }
).json()
# вернет объект подписки на продукт
Заморозка разморозка подписки:
requests.post(
    "http://127.0.0.1:5000/user/(un)freeze_subscription",
    headers={
        "Authorization": Админ токен из конфига,
    },
    params={
        "telegram_id": айди из телеги
    },
    json={
        "product_id": Айди продукта
    }
).json()
# вернет объекь подписки на продукт
как-то так, по мере обновления этой хуйни, буду писать в тему, если есть какие-то идеи, был бы рад увидеть их тут!
 

Вложения

Femboy Access
Эксперт
Статус
Оффлайн
Регистрация
11 Ноя 2020
Сообщения
1,335
Реакции[?]
428
Поинты[?]
96K
1. фласк ГАВНА кварт тоже такое мы не уважаем ФАСТАПИ ФАСТАПИ ФАСТАПИ
Пожалуйста, авторизуйтесь для просмотра ссылки.
2. бини ГАВНО ГОВНА ГАВНО это КАЛ монгодб идет НАХУУУУУУЙ ТОРТОИЗОРМ ТОРТОИЗОРМ ТОРТОИЗОРМ
Пожалуйста, авторизуйтесь для просмотра ссылки.
синтаксис ОЧЕНЬ ОЧЕЕНЬ похож на джанго орм, но отличие в том что это не джанго орм
сапорт все большие дбшки - майскл/мариядб, постгрес, склайт и в целом любую дбшку у которой есть драйвер
3. реквестс ГАВНО ГОВНА ГАВНО гавнище ЕБАНОЕ идет НАХУЙ СИНХРОННАЯ ХУЙНЯ юзаем aiohttp aiohttp вперде сука о да о так
Пожалуйста, авторизуйтесь для просмотра ссылки.
если не хочешь аиохттп - есть httpx который сапортит асинкио и имеет ну ОЧЕНЬ похожее на реквестс апи

ну а теперь о концепции
1. лучше хранить информацию о читах в дбшке и сделать какую-то панельку/апишку чтобы её менять
2. разделяй по файликам нормальнее, как вариант -
Код:
backend/
├─ database/
│  ├─ models/
│  │  ├─ user.py
│  │  ├─ subscription.py
│  │  ├─ cheat.py
│  ├─ initialize.py
├─ web/
│  ├─ routes (или blueprints если ты калоед)/
│  │  ├─ user.py
│  ├─ dependencies/
│  │  ├─ auth.py
│  │  ├─ params.py
├─ poetry.lock
├─ pyproject.toml
├─ main.py
├─ config.py
3. а я забыл что третье до вскорой встречи
 
Пользователь
Статус
Оффлайн
Регистрация
28 Фев 2019
Сообщения
655
Реакции[?]
143
Поинты[?]
32K
1. фласк ГАВНА кварт тоже такое мы не уважаем ФАСТАПИ ФАСТАПИ ФАСТАПИ
Пожалуйста, авторизуйтесь для просмотра ссылки.
2. бини ГАВНО ГОВНА ГАВНО это КАЛ монгодб идет НАХУУУУУУЙ ТОРТОИЗОРМ ТОРТОИЗОРМ ТОРТОИЗОРМ
Пожалуйста, авторизуйтесь для просмотра ссылки.
синтаксис ОЧЕНЬ ОЧЕЕНЬ похож на джанго орм, но отличие в том что это не джанго орм
сапорт все большие дбшки - майскл/мариядб, постгрес, склайт и в целом любую дбшку у которой есть драйвер
3. реквестс ГАВНО ГОВНА ГАВНО гавнище ЕБАНОЕ идет НАХУЙ СИНХРОННАЯ ХУЙНЯ юзаем aiohttp aiohttp вперде сука о да о так
Пожалуйста, авторизуйтесь для просмотра ссылки.
если не хочешь аиохттп - есть httpx который сапортит асинкио и имеет ну ОЧЕНЬ похожее на реквестс апи

ну а теперь о концепции
1. лучше хранить информацию о читах в дбшке и сделать какую-то панельку/апишку чтобы её менять
2. разделяй по файликам нормальнее, как вариант -
Код:
backend/
├─ database/
│  ├─ models/
│  │  ├─ user.py
│  │  ├─ subscription.py
│  │  ├─ cheat.py
│  ├─ initialize.py
├─ web/
│  ├─ routes (или blueprints если ты калоед)/
│  │  ├─ user.py
│  ├─ dependencies/
│  │  ├─ auth.py
│  │  ├─ params.py
├─ poetry.lock
├─ pyproject.toml
├─ main.py
├─ config.py
3. а я забыл что третье до вскорой встречи
1. Знаю что кварт экей фласк говно, просто я калоед который давным давно имел с этим дело
2. Я знаю что бини и монга в целом говно, просто меньше ебли и проще описывать модели (юзал тортойс изначально, не осилил линкинг таблиц)) )
3. Знаю что реквесты синхронное говнецо, но мне асинхронность тут и не нужна, у меня же не лоадер на питоне, а просто тест работоспособности


О концепции
1. Да, я знаю что лучше эту информацию в бд, до этого обязательно дойдет, но позже, пока-что этот массив cheats нужен чисто чтобы в голове было какое-то представление о том что нужно будет хранить
2. Меня +- устраивает текущая структура проекта
3. Что уж ты не доебался до конфига в питон файле, а не виртуальном окружении)

А вообще спасибо большое за критику, это просто первый, сырой вариант на быструю руку, обязательно прислушаюсь ко всему что ты написал и исправлю все в следующем апдейте
 
Последнее редактирование:
Femboy Access
Эксперт
Статус
Оффлайн
Регистрация
11 Ноя 2020
Сообщения
1,335
Реакции[?]
428
Поинты[?]
96K
3. Что уж ты не доебался до конфига в питон файле, а не виртуальном окружении)
ну если уж так тогда не в виртуальном окружении а в переменных среды
а вообще я сам пишу конфиги в питон файлах, слишком удобно
 
Пользователь
Статус
Оффлайн
Регистрация
28 Фев 2019
Сообщения
655
Реакции[?]
143
Поинты[?]
32K
ну если уж так тогда не в виртуальном окружении а в переменных среды
а вообще я сам пишу конфиги в питон файлах, слишком удобно
полностью согласен, нахую вертел все эти венвы, config.py - сила
 
Пользователь
Статус
Оффлайн
Регистрация
28 Фев 2019
Сообщения
655
Реакции[?]
143
Поинты[?]
32K
ставь чайник, зажигай плиту
Эксперт
Статус
Оффлайн
Регистрация
22 Май 2020
Сообщения
1,444
Реакции[?]
1,092
Поинты[?]
10K
Пользователь
Статус
Оффлайн
Регистрация
28 Фев 2019
Сообщения
655
Реакции[?]
143
Поинты[?]
32K
что? у тебя get запрос создаёт пользователя? точно restful?



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