Upload 2 files
Browse files- __init__.py +30 -0
- models.py +22 -0
__init__.py
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from flask import Flask
|
| 2 |
+
from flask_sqlalchemy import SQLAlchemy
|
| 3 |
+
from flask_login import LoginManager
|
| 4 |
+
from celery import Celery
|
| 5 |
+
import redis
|
| 6 |
+
|
| 7 |
+
db = SQLAlchemy()
|
| 8 |
+
login = LoginManager()
|
| 9 |
+
celery = Celery(__name__)
|
| 10 |
+
cache = redis.Redis()
|
| 11 |
+
|
| 12 |
+
def create_app():
|
| 13 |
+
app = Flask(__name__)
|
| 14 |
+
app.config.from_object('config.Config')
|
| 15 |
+
|
| 16 |
+
db.init_app(app)
|
| 17 |
+
login.init_app(app)
|
| 18 |
+
celery.conf.update(app.config)
|
| 19 |
+
|
| 20 |
+
# Register Blueprints
|
| 21 |
+
from .routes.auth import auth_bp
|
| 22 |
+
from .routes.dashboard import dashboard_bp
|
| 23 |
+
from .routes.api import api_bp
|
| 24 |
+
from .routes.compliance import compliance_bp
|
| 25 |
+
app.register_blueprint(auth_bp)
|
| 26 |
+
app.register_blueprint(dashboard_bp)
|
| 27 |
+
app.register_blueprint(api_bp)
|
| 28 |
+
app.register_blueprint(compliance_bp)
|
| 29 |
+
|
| 30 |
+
return app
|
models.py
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from . import db
|
| 2 |
+
from datetime import datetime
|
| 3 |
+
|
| 4 |
+
class User(db.Model):
|
| 5 |
+
id = db.Column(db.Integer, primary_key=True)
|
| 6 |
+
email = db.Column(db.String(120), unique=True, nullable=False)
|
| 7 |
+
password = db.Column(db.String(128), nullable=False)
|
| 8 |
+
role = db.Column(db.String(20), default="viewer")
|
| 9 |
+
|
| 10 |
+
class Ad(db.Model):
|
| 11 |
+
id = db.Column(db.UUID, primary_key=True)
|
| 12 |
+
content = db.Column(db.Text)
|
| 13 |
+
sentiment = db.Column(db.JSON)
|
| 14 |
+
metadata = db.Column(db.JSON)
|
| 15 |
+
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
|
| 16 |
+
versions = db.relationship('AdVersion', backref='ad')
|
| 17 |
+
|
| 18 |
+
class AdVersion(db.Model):
|
| 19 |
+
id = db.Column(db.Integer, primary_key=True)
|
| 20 |
+
ad_id = db.Column(db.UUID, db.ForeignKey('ad.id'))
|
| 21 |
+
content = db.Column(db.Text)
|
| 22 |
+
timestamp = db.Column(db.DateTime, default=datetime.utcnow)
|