forked from libertytechforce/statusforce
Let's get it started...
commit
9e6cb91da9
|
@ -0,0 +1,17 @@
|
||||||
|
from flask import Flask
|
||||||
|
from flask_admin import Admin
|
||||||
|
from flask_admin.contrib.sqla import ModelView
|
||||||
|
|
||||||
|
from statusforce.db import db
|
||||||
|
from statusforce.models import Service, Incident
|
||||||
|
|
||||||
|
|
||||||
|
# Set up Flask application
|
||||||
|
app = Flask(__name__)
|
||||||
|
app.config['FLASK_ADMIN_SWATCH'] = 'materia'
|
||||||
|
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
|
||||||
|
|
||||||
|
db.init_app(app)
|
||||||
|
admin = Admin(app, name='StatusForce', template_mode='bootstrap4')
|
||||||
|
admin.add_view(ModelView(Service))
|
||||||
|
admin.add_view(ModelView(Incident))
|
|
@ -0,0 +1,14 @@
|
||||||
|
from flask_sqlalchemy import SQLAlchemy
|
||||||
|
|
||||||
|
db = SQLAlchemy()
|
||||||
|
|
||||||
|
# Pull out some attributes to make life easier
|
||||||
|
Model = db.Model
|
||||||
|
Column = db.Column
|
||||||
|
ForeignKey = db.ForeignKey
|
||||||
|
Boolean = db.Boolean
|
||||||
|
DateTime = db.DateTime
|
||||||
|
Integer = db.Integer
|
||||||
|
String = db.String
|
||||||
|
relationship = db.relationship
|
||||||
|
backref = db.backref
|
|
@ -0,0 +1,19 @@
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
from sqlalchemy.sql.expression import func
|
||||||
|
|
||||||
|
from statusforce.db import Model, Column, ForeignKey, DateTime, Integer, String
|
||||||
|
|
||||||
|
|
||||||
|
class Service(Model):
|
||||||
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||||
|
name = Column(String, nullable=False)
|
||||||
|
status = Column(String, choices=['operational', 'unclear', 'offline'])
|
||||||
|
|
||||||
|
|
||||||
|
class Incident(Model):
|
||||||
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||||
|
service_id = Column(Integer, ForeignKey('service.id'))
|
||||||
|
title = Column(String, nullable=False)
|
||||||
|
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||||
|
updated = Column(DateTime, unupdate=func.current_timestamp())
|
Loading…
Reference in New Issue