Ross Mountjoy 88c1f5fb15 - started the wiki system
- improved collections
- implemented auto expand on hover
2020-05-21 11:10:31 -04:00

95 lines
2.8 KiB
Python

from dashmachine import db
rel_app_data_source = db.Table(
"rel_app_data_source",
db.Column("data_source_id", db.Integer, db.ForeignKey("data_sources.id")),
db.Column("app_id", db.Integer, db.ForeignKey("apps.id")),
)
rel_apps_tags = db.Table(
"rel_apps_tags",
db.Column("tag_id", db.Integer, db.ForeignKey("tags.id")),
db.Column("app_id", db.Integer, db.ForeignKey("apps.id")),
)
rel_wiki_wiki_tags = db.Table(
"rel_wiki_wiki_tags",
db.Column("wiki_tag_id", db.Integer, db.ForeignKey("wiki_tags.id")),
db.Column("wiki_id", db.Integer, db.ForeignKey("wiki.id")),
)
class Files(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String())
path = db.Column(db.String())
external_path = db.Column(db.String())
cache = db.Column(db.String())
folder = db.Column(db.String())
class Apps(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String())
prefix = db.Column(db.String())
url = db.Column(db.String())
icon = db.Column(db.String())
sidebar_icon = db.Column(db.String())
description = db.Column(db.String())
open_in = db.Column(db.String())
data_template = db.Column(db.String())
type = db.Column(db.String())
urls = db.Column(db.String())
class DataSources(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String())
platform = db.Column(db.String())
args = db.relationship("DataSourcesArgs", backref="data_source")
apps = db.relationship(
"Apps",
secondary=rel_app_data_source,
backref=db.backref("data_sources", lazy="dynamic"),
)
class DataSourcesArgs(db.Model):
id = db.Column(db.Integer, primary_key=True)
key = db.Column(db.String())
value = db.Column(db.String())
data_source_id = db.Column(db.Integer, db.ForeignKey("data_sources.id"))
class Tags(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String())
icon = db.Column(db.String())
sort_pos = db.Column(db.Integer)
apps = db.relationship(
"Apps", secondary=rel_apps_tags, backref=db.backref("tags", lazy="dynamic"),
)
class WikiTags(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String())
wikis = db.relationship(
"Wiki",
secondary=rel_wiki_wiki_tags,
backref=db.backref("wiki_tags", lazy="dynamic"),
)
class Wiki(db.Model):
id = db.Column(db.Integer, primary_key=True)
permalink = db.Column(db.String())
name = db.Column(db.String())
author = db.Column(db.String())
description = db.Column(db.String())
md = db.Column(db.String())
score = db.Column(db.Integer, default=0)
created = db.Column(db.String())
updated = db.Column(db.String())
url = db.Column(db.String())