rastof9 commited on
Commit
43f79f7
·
verified ·
1 Parent(s): 86eecf5

Upload 2 files

Browse files
Files changed (2) hide show
  1. __init__.py +30 -0
  2. 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)