68 lines
2.3 KiB
Python
68 lines
2.3 KiB
Python
from flask_sqlalchemy import SQLAlchemy
|
|
from datetime import datetime
|
|
|
|
db = SQLAlchemy()
|
|
|
|
|
|
class MedodsAPI(db.Model):
|
|
__tablename__ = "medods_api"
|
|
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
url = db.Column(db.Text)
|
|
identity = db.Column(db.Text)
|
|
secretKey = db.Column(db.Text)
|
|
created_at = db.Column(db.DateTime, default=datetime.now)
|
|
updated_at = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
|
|
|
|
|
|
class ApiEndpoint(db.Model):
|
|
__tablename__ = "api_endpoints"
|
|
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
|
|
method = db.Column(db.String(10), nullable=False) # GET / POST
|
|
title = db.Column(db.String(255), nullable=False) # Человеческое описание
|
|
url_path = db.Column(db.String(255), nullable=False) # /users, /scheduler
|
|
|
|
payload = db.Column(db.JSON, default=dict) # Тело запроса
|
|
query_params = db.Column(db.JSON, default=dict) # Query-параметры
|
|
|
|
created_at = db.Column(db.DateTime, default=datetime.now)
|
|
updated_at = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
|
|
|
|
def __repr__(self):
|
|
return f"<ApiEndpoint {self.method} {self.url_path}>"
|
|
|
|
def toDict(self):
|
|
return {
|
|
"id": self.id,
|
|
"method": self.method,
|
|
"title": self.title,
|
|
"url_path": self.url_path,
|
|
"payload": self.payload,
|
|
"query_params": self.query_params,
|
|
"created_at": self.created_at.strftime("%Y-%m-%d %H:%M:%S"),
|
|
"updated_at": self.updated_at.strftime("%Y-%m-%d %H:%M:%S"),
|
|
}
|
|
|
|
|
|
class VkAPI(db.Model):
|
|
__tablename__ = "vk_settings"
|
|
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
group_id = db.Column(db.Integer)
|
|
access_token = db.Column(db.Text)
|
|
base_photo_url = db.Column(db.Integer)
|
|
created_at = db.Column(db.DateTime, default=datetime.now)
|
|
updated_at = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
|
|
|
|
def toDict(self):
|
|
return {
|
|
"id": self.id,
|
|
"group_id": self.group_id,
|
|
"access_token": self.access_token,
|
|
"base_photo_url": self.base_photo_url,
|
|
"created_at": self.created_at.strftime("%Y-%m-%d %H:%M:%S"),
|
|
"updated_at": self.updated_at.strftime("%Y-%m-%d %H:%M:%S"),
|
|
}
|