diff --git a/dashmachine/__init__.py b/dashmachine/__init__.py index 564fe2b..921a6f6 100755 --- a/dashmachine/__init__.py +++ b/dashmachine/__init__.py @@ -19,6 +19,7 @@ api = Api(app) app.config["AVATARS_IDENTICON_BG"] = (255, 255, 255) app.config["SECRET_KEY"] = "66532a62c4048f976e22a39638b6f10e" app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///user_data/site.db" +app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False app.config["SEND_FILE_MAX_AGE_DEFAULT"] = 0 db = SQLAlchemy(app) diff --git a/dashmachine/site.db b/dashmachine/site.db index 3657cdf..27af106 100644 Binary files a/dashmachine/site.db and b/dashmachine/site.db differ diff --git a/migrations/versions/01a575cda54d_.py b/migrations/versions/01a575cda54d_.py deleted file mode 100644 index cb5a6b7..0000000 --- a/migrations/versions/01a575cda54d_.py +++ /dev/null @@ -1,28 +0,0 @@ -"""empty message - -Revision ID: 01a575cda54d -Revises: 598477dd1193 -Create Date: 2020-02-04 07:39:43.504475 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = "01a575cda54d" -down_revision = "598477dd1193" -branch_labels = None -depends_on = None - - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.add_column("apps", sa.Column("groups", sa.String(), nullable=True)) - # ### end Alembic commands ### - - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_column("apps", "groups") - # ### end Alembic commands ### diff --git a/migrations/versions/03663c18575b_.py b/migrations/versions/03663c18575b_.py deleted file mode 100644 index 6ef9788..0000000 --- a/migrations/versions/03663c18575b_.py +++ /dev/null @@ -1,28 +0,0 @@ -"""empty message - -Revision ID: 03663c18575b -Revises: af72304ae017 -Create Date: 2020-02-04 07:14:23.184567 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = "03663c18575b" -down_revision = "af72304ae017" -branch_labels = None -depends_on = None - - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.add_column("user", sa.Column("role", sa.String(), nullable=True)) - # ### end Alembic commands ### - - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_column("user", "role") - # ### end Alembic commands ### diff --git a/migrations/versions/45ebff47af9f_.py b/migrations/versions/45ebff47af9f_.py deleted file mode 100644 index bc1e504..0000000 --- a/migrations/versions/45ebff47af9f_.py +++ /dev/null @@ -1,40 +0,0 @@ -"""empty message - -Revision ID: 45ebff47af9f -Revises: 6bd40f00f2eb -Create Date: 2020-02-06 11:48:22.563926 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = "45ebff47af9f" -down_revision = "6bd40f00f2eb" -branch_labels = None -depends_on = None - - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table("api_calls") - # ### end Alembic commands ### - - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table( - "api_calls", - sa.Column("id", sa.INTEGER(), nullable=False), - sa.Column("name", sa.VARCHAR(), nullable=True), - sa.Column("resource", sa.VARCHAR(), nullable=True), - sa.Column("method", sa.VARCHAR(), nullable=True), - sa.Column("payload", sa.VARCHAR(), nullable=True), - sa.Column("authentication", sa.VARCHAR(), nullable=True), - sa.Column("username", sa.VARCHAR(), nullable=True), - sa.Column("password", sa.VARCHAR(), nullable=True), - sa.Column("value_template", sa.VARCHAR(), nullable=True), - sa.PrimaryKeyConstraint("id"), - ) - # ### end Alembic commands ### diff --git a/migrations/versions/598477dd1193_.py b/migrations/versions/598477dd1193_.py deleted file mode 100644 index c62c87e..0000000 --- a/migrations/versions/598477dd1193_.py +++ /dev/null @@ -1,28 +0,0 @@ -"""empty message - -Revision ID: 598477dd1193 -Revises: 03663c18575b -Create Date: 2020-02-04 07:33:25.019173 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = "598477dd1193" -down_revision = "03663c18575b" -branch_labels = None -depends_on = None - - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.add_column("settings", sa.Column("roles", sa.String(), nullable=True)) - # ### end Alembic commands ### - - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_column("settings", "roles") - # ### end Alembic commands ### diff --git a/migrations/versions/6bd40f00f2eb_.py b/migrations/versions/6bd40f00f2eb_.py deleted file mode 100644 index daad2fc..0000000 --- a/migrations/versions/6bd40f00f2eb_.py +++ /dev/null @@ -1,40 +0,0 @@ -"""empty message - -Revision ID: 6bd40f00f2eb -Revises: d87e35114b0b -Create Date: 2020-02-05 18:41:57.209232 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = "6bd40f00f2eb" -down_revision = "d87e35114b0b" -branch_labels = None -depends_on = None - - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.add_column("apps", sa.Column("groups", sa.String(), nullable=True)) - op.add_column( - "settings", sa.Column("home_access_groups", sa.String(), nullable=True) - ) - op.add_column("settings", sa.Column("roles", sa.String(), nullable=True)) - op.add_column( - "settings", sa.Column("settings_access_groups", sa.String(), nullable=True) - ) - op.add_column("user", sa.Column("role", sa.String(), nullable=True)) - # ### end Alembic commands ### - - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_column("user", "role") - op.drop_column("settings", "settings_access_groups") - op.drop_column("settings", "roles") - op.drop_column("settings", "home_access_groups") - op.drop_column("apps", "groups") - # ### end Alembic commands ### diff --git a/migrations/versions/af72304ae017_.py b/migrations/versions/7450bb0ce3ff_.py similarity index 58% rename from migrations/versions/af72304ae017_.py rename to migrations/versions/7450bb0ce3ff_.py index 87ccd03..cc91233 100644 --- a/migrations/versions/af72304ae017_.py +++ b/migrations/versions/7450bb0ce3ff_.py @@ -1,8 +1,8 @@ """empty message -Revision ID: af72304ae017 +Revision ID: 7450bb0ce3ff Revises: -Create Date: 2020-01-30 21:09:14.404366 +Create Date: 2020-03-19 15:15:40.303871 """ from alembic import op @@ -10,7 +10,7 @@ import sqlalchemy as sa # revision identifiers, used by Alembic. -revision = "af72304ae017" +revision = "7450bb0ce3ff" down_revision = None branch_labels = None depends_on = None @@ -18,19 +18,6 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.create_table( - "api_calls", - sa.Column("id", sa.Integer(), nullable=False), - sa.Column("name", sa.String(), nullable=True), - sa.Column("resource", sa.String(), nullable=True), - sa.Column("method", sa.String(), nullable=True), - sa.Column("payload", sa.String(), nullable=True), - sa.Column("authentication", sa.String(), nullable=True), - sa.Column("username", sa.String(), nullable=True), - sa.Column("password", sa.String(), nullable=True), - sa.Column("value_template", sa.String(), nullable=True), - sa.PrimaryKeyConstraint("id"), - ) op.create_table( "apps", sa.Column("id", sa.Integer(), nullable=False), @@ -42,6 +29,15 @@ def upgrade(): sa.Column("description", sa.String(), nullable=True), sa.Column("open_in", sa.String(), nullable=True), sa.Column("data_template", sa.String(), nullable=True), + sa.Column("groups", sa.String(), nullable=True), + sa.Column("tags", sa.String(), nullable=True), + sa.PrimaryKeyConstraint("id"), + ) + op.create_table( + "data_sources", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column("name", sa.String(), nullable=True), + sa.Column("platform", sa.String(), nullable=True), sa.PrimaryKeyConstraint("id"), ) op.create_table( @@ -54,24 +50,30 @@ def upgrade(): sa.Column("folder", sa.String(), nullable=True), sa.PrimaryKeyConstraint("id"), ) + op.create_table( + "groups", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column("name", sa.String(), nullable=True), + sa.Column("roles", sa.String(), nullable=True), + sa.PrimaryKeyConstraint("id"), + ) op.create_table( "settings", sa.Column("id", sa.Integer(), nullable=False), sa.Column("theme", sa.String(), nullable=True), sa.Column("accent", sa.String(), nullable=True), sa.Column("background", sa.String(), nullable=True), + sa.Column("roles", sa.String(), nullable=True), + sa.Column("home_access_groups", sa.String(), nullable=True), + sa.Column("settings_access_groups", sa.String(), nullable=True), + sa.Column("home_view_mode", sa.String(), nullable=True), + sa.Column("custom_app_title", sa.String(), nullable=True), sa.PrimaryKeyConstraint("id"), ) op.create_table( - "template_apps", + "tags", sa.Column("id", sa.Integer(), nullable=False), sa.Column("name", sa.String(), nullable=True), - sa.Column("prefix", sa.String(), nullable=True), - sa.Column("url", sa.String(), nullable=True), - sa.Column("icon", sa.String(), nullable=True), - sa.Column("sidebar_icon", sa.String(), nullable=True), - sa.Column("description", sa.String(), nullable=True), - sa.Column("open_in", sa.String(), nullable=True), sa.PrimaryKeyConstraint("id"), ) op.create_table( @@ -79,18 +81,38 @@ def upgrade(): sa.Column("id", sa.Integer(), nullable=False), sa.Column("username", sa.String(length=120), nullable=False), sa.Column("password", sa.String(length=60), nullable=False), + sa.Column("role", sa.String(), nullable=True), sa.PrimaryKeyConstraint("id"), sa.UniqueConstraint("username"), ) + op.create_table( + "data_sources_args", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column("key", sa.String(), nullable=True), + sa.Column("value", sa.String(), nullable=True), + sa.Column("data_source_id", sa.Integer(), nullable=True), + sa.ForeignKeyConstraint(["data_source_id"], ["data_sources.id"],), + sa.PrimaryKeyConstraint("id"), + ) + op.create_table( + "rel_app_data_source", + sa.Column("data_source_id", sa.Integer(), nullable=True), + sa.Column("app_id", sa.Integer(), nullable=True), + sa.ForeignKeyConstraint(["app_id"], ["apps.id"],), + sa.ForeignKeyConstraint(["data_source_id"], ["data_sources.id"],), + ) # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### + op.drop_table("rel_app_data_source") + op.drop_table("data_sources_args") op.drop_table("user") - op.drop_table("template_apps") + op.drop_table("tags") op.drop_table("settings") + op.drop_table("groups") op.drop_table("files") + op.drop_table("data_sources") op.drop_table("apps") - op.drop_table("api_calls") # ### end Alembic commands ### diff --git a/migrations/versions/885c5f9b33d5_.py b/migrations/versions/885c5f9b33d5_.py deleted file mode 100644 index a60db60..0000000 --- a/migrations/versions/885c5f9b33d5_.py +++ /dev/null @@ -1,28 +0,0 @@ -"""empty message - -Revision ID: 885c5f9b33d5 -Revises: 8f5a046465e8 -Create Date: 2020-02-08 13:30:01.632487 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = "885c5f9b33d5" -down_revision = "8f5a046465e8" -branch_labels = None -depends_on = None - - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.add_column("apps", sa.Column("tags", sa.String(), nullable=True)) - # ### end Alembic commands ### - - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_column("apps", "tags") - # ### end Alembic commands ### diff --git a/migrations/versions/8f5a046465e8_.py b/migrations/versions/8f5a046465e8_.py deleted file mode 100644 index 42d6172..0000000 --- a/migrations/versions/8f5a046465e8_.py +++ /dev/null @@ -1,40 +0,0 @@ -"""empty message - -Revision ID: 8f5a046465e8 -Revises: 45ebff47af9f -Create Date: 2020-02-06 19:51:14.594434 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = "8f5a046465e8" -down_revision = "45ebff47af9f" -branch_labels = None -depends_on = None - - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table("api_calls") - # ### end Alembic commands ### - - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table( - "api_calls", - sa.Column("id", sa.INTEGER(), nullable=False), - sa.Column("name", sa.VARCHAR(), nullable=True), - sa.Column("resource", sa.VARCHAR(), nullable=True), - sa.Column("method", sa.VARCHAR(), nullable=True), - sa.Column("payload", sa.VARCHAR(), nullable=True), - sa.Column("authentication", sa.VARCHAR(), nullable=True), - sa.Column("username", sa.VARCHAR(), nullable=True), - sa.Column("password", sa.VARCHAR(), nullable=True), - sa.Column("value_template", sa.VARCHAR(), nullable=True), - sa.PrimaryKeyConstraint("id"), - ) - # ### end Alembic commands ### diff --git a/migrations/versions/a36cddc6266e_.py b/migrations/versions/a36cddc6266e_.py deleted file mode 100644 index d99e83b..0000000 --- a/migrations/versions/a36cddc6266e_.py +++ /dev/null @@ -1,39 +0,0 @@ -"""empty message - -Revision ID: a36cddc6266e -Revises: ff5eb645bfe4 -Create Date: 2020-02-13 10:44:25.619089 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = "a36cddc6266e" -down_revision = "ff5eb645bfe4" -branch_labels = None -depends_on = None - - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table("template_apps") - # ### end Alembic commands ### - - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table( - "template_apps", - sa.Column("id", sa.INTEGER(), nullable=False), - sa.Column("name", sa.VARCHAR(), nullable=True), - sa.Column("prefix", sa.VARCHAR(), nullable=True), - sa.Column("url", sa.VARCHAR(), nullable=True), - sa.Column("icon", sa.VARCHAR(), nullable=True), - sa.Column("sidebar_icon", sa.VARCHAR(), nullable=True), - sa.Column("description", sa.VARCHAR(), nullable=True), - sa.Column("open_in", sa.VARCHAR(), nullable=True), - sa.PrimaryKeyConstraint("id"), - ) - # ### end Alembic commands ### diff --git a/migrations/versions/ce94252d9023_.py b/migrations/versions/ce94252d9023_.py deleted file mode 100644 index 30020ea..0000000 --- a/migrations/versions/ce94252d9023_.py +++ /dev/null @@ -1,28 +0,0 @@ -"""empty message - -Revision ID: ce94252d9023 -Revises: a36cddc6266e -Create Date: 2020-03-08 10:56:30.470619 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = "ce94252d9023" -down_revision = "a36cddc6266e" -branch_labels = None -depends_on = None - - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.add_column("settings", sa.Column("custom_app_title", sa.String(), nullable=True)) - # ### end Alembic commands ### - - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_column("settings", "custom_app_title") - # ### end Alembic commands ### diff --git a/migrations/versions/d87e35114b0b_.py b/migrations/versions/d87e35114b0b_.py deleted file mode 100644 index 6b18fd0..0000000 --- a/migrations/versions/d87e35114b0b_.py +++ /dev/null @@ -1,34 +0,0 @@ -"""empty message - -Revision ID: d87e35114b0b -Revises: 01a575cda54d -Create Date: 2020-02-04 08:13:35.783741 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = "d87e35114b0b" -down_revision = "01a575cda54d" -branch_labels = None -depends_on = None - - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.add_column( - "settings", sa.Column("home_access_groups", sa.String(), nullable=True) - ) - op.add_column( - "settings", sa.Column("settings_access_groups", sa.String(), nullable=True) - ) - # ### end Alembic commands ### - - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_column("settings", "settings_access_groups") - op.drop_column("settings", "home_access_groups") - # ### end Alembic commands ### diff --git a/migrations/versions/ff5eb645bfe4_.py b/migrations/versions/ff5eb645bfe4_.py deleted file mode 100644 index 631360c..0000000 --- a/migrations/versions/ff5eb645bfe4_.py +++ /dev/null @@ -1,28 +0,0 @@ -"""empty message - -Revision ID: ff5eb645bfe4 -Revises: 885c5f9b33d5 -Create Date: 2020-02-12 16:09:39.133644 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = "ff5eb645bfe4" -down_revision = "885c5f9b33d5" -branch_labels = None -depends_on = None - - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.add_column("settings", sa.Column("home_view_mode", sa.String(), nullable=True)) - # ### end Alembic commands ### - - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_column("settings", "home_view_mode") - # ### end Alembic commands ### diff --git a/run.py b/run.py index 3e03f26..dbda247 100755 --- a/run.py +++ b/run.py @@ -1,9 +1,8 @@ #!/usr/bin/env python3 import os -from dashmachine.paths import root_folder -os.system("python " + os.path.join(root_folder, "manage_db.py db stamp head")) +root_folder = os.path.dirname(__file__) os.system("python " + os.path.join(root_folder, "manage_db.py db migrate"))