Files
Jarvis/db_routing.py

74 lines
2.1 KiB
Python

from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import ForeignKey
from flask import Flask
app = Flask('Jarvis', static_folder='static', template_folder='templates')
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data.db'
app.config['SECRET_KEY'] = 'Radius'
db = SQLAlchemy(app)
class User(db.Model):
__tablename__ = 'Users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
password = db.Column(db.String(120), nullable=False)
def __init__(self, username, password):
self.username = username
self.password = password
def is_active(self):
return True
def is_authenticated(self):
return self.is_authenticated
def get_id(self):
return self.id
class Trigger(db.Model):
__tablename__ = 'Triggers'
id = db.Column(db.Integer, primary_key=True)
triggername = db.Column(db.String(80), unique=True, nullable=False)
trigger_def = db.Column(db.String(200))
class Action(db.Model):
__tablename__ = 'Actions'
id = db.Column(db.Integer, primary_key=True)
actionname = db.Column(db.String(80), unique=True, nullable=False)
action_def = db.Column(db.String(200))
class Scenario(db.Model):
__tablename__ = 'Scenarios'
id = db.Column(db.Integer, primary_key=True)
owner_id = db.Column(db.Integer, ForeignKey('Users.id'))
trigger_id = db.Column(db.Integer, ForeignKey('Triggers.id'))
trigger_args = db.Column(db.String(200))
action_id = db.Column(db.Integer, ForeignKey('Actions.id'))
action_args = db.Column(db.String(200))
def add_user(user_name, passw_hash):
if not find_user(user_name):
new_user = User(username=user_name, password=passw_hash)
db.session.add(new_user)
db.session.commit()
return new_user
else:
print('Логин занят')
return False
def find_user(id=None, username=None):
if id:
return User.query.filter_by(id=id).first()
if username:
return User.query.filter_by(username=username).first()
# def get_trigers():