Ross Mountjoy 62191b21b8 ##### Updated to version 0.6!
> Version 0.6 brings DashMachine one big step forward to being a finished product by adding a gui to edit the various settings in the config.ini.

**Changelog**
- improvements to /home including 'pinned' cards, multi-select tag filtering, 'action providers' allowing you to do web searches from the searchbar
- rebuilt sidenav with list view, mirroring filter/search/collapse state of the homepage
- /settings and /home now on same route
- dynamic reloading of settings (no more page reloads)
- dedicated config.ini editor slide-out
- settings editor slide-out
- card editor slide-out
- better access group control
- dedicated documentation pages
- improved documentation
- new system for automatically generating documentation for platforms
- ability to load custom platforms
- added an 'on_starup' method for platforms allowing for registering api routes. (example coming soon)
2020-05-07 09:27:18 -04:00

66 lines
2.0 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")),
)
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"),
)