@cryptotaxi247 / CoPilot / commits / a9314af8

Db Models to SQL Migrations (#17)

* Db Models to SQL Migrations * precommit fixes

taylor_socfortress committed Jul 12, 2023 at 16:34 UTC a9314af8e00e6339a9365cf9c843b390fc3f0dd2
3 files changed +57 -76
backend/app/__init__.py
+12 -1
@@ -29,8 +29,19 @@ CORS(app)
29 app.config.from_object("settings")
30
31 db = SQLAlchemy(app)
32 -migrate = Migrate(app, db)
32 ma = Marshmallow(app)
33 +from app.models import agents # noqa: F401
34 +from app.models import artifacts # noqa: F401
35 +from app.models import cases # noqa: F401
36 +from app.models import connectors # noqa: F401
37 +from app.models import graylog # noqa: F401
38 +from app.models import models # noqa: F401
39 +from app.models import rules # noqa: F401
40 +from app.models import smtp # noqa: F401
41 +from app.models import sublime_alerts # noqa: F401
42 +from app.models import wazuh_indexer # noqa: F401
43 +
44 +migrate = Migrate(app, db)
45
46
47 from app.routes.agents import bp as agents_bp
backend/migrations/versions/16a3bb6544b1_added_sublime_alerts_and_smtp_config.py new
+45
@@ -0,0 +1,45 @@
1 +"""Added sublime alerts and SMTP Config
2 +
3 +Revision ID: 16a3bb6544b1
4 +Revises: 0381c0088cbe
5 +Create Date: 2023-07-12 17:24:56.551223
6 +
7 +"""
8 +import sqlalchemy as sa
9 +from alembic import op
10 +
11 +# revision identifiers, used by Alembic.
12 +revision = "16a3bb6544b1"
13 +down_revision = "0381c0088cbe"
14 +branch_labels = None
15 +depends_on = None
16 +
17 +
18 +def upgrade():
19 + # ### commands auto generated by Alembic - please adjust! ###
20 + op.create_table(
21 + "email_credentials",
22 + sa.Column("id", sa.Integer(), nullable=False),
23 + sa.Column("email", sa.String(length=100), nullable=False),
24 + sa.Column("password", sa.String(length=100), nullable=False),
25 + sa.Column("smtp_server", sa.String(length=100), nullable=False),
26 + sa.Column("smtp_port", sa.Integer(), nullable=False),
27 + sa.Column("timestamp", sa.DateTime(), nullable=True),
28 + sa.PrimaryKeyConstraint("id"),
29 + sa.UniqueConstraint("email"),
30 + )
31 + op.create_table(
32 + "sublime_alerts",
33 + sa.Column("id", sa.Integer(), nullable=False),
34 + sa.Column("message_id", sa.String(length=1000), nullable=True),
35 + sa.Column("timestamp", sa.DateTime(), nullable=True),
36 + sa.PrimaryKeyConstraint("id"),
37 + )
38 + # ### end Alembic commands ###
39 +
40 +
41 +def downgrade():
42 + # ### commands auto generated by Alembic - please adjust! ###
43 + op.drop_table("sublime_alerts")
44 + op.drop_table("email_credentials")
45 + # ### end Alembic commands ###
backend/migrations/versions/e13d34bd3d1f_add_sublime_alerts_model.py deleted
-75
@@ -1,75 +0,0 @@
1 -"""Add sublime alerts model.
2 -
3 -Revision ID: e13d34bd3d1f
4 -Revises: 0381c0088cbe
5 -Create Date: 2023-07-12 11:47:15.118862
6 -
7 -"""
8 -import sqlalchemy as sa
9 -from alembic import op
10 -
11 -# revision identifiers, used by Alembic.
12 -revision = "e13d34bd3d1f"
13 -down_revision = "0381c0088cbe"
14 -branch_labels = None
15 -depends_on = None
16 -
17 -
18 -def upgrade():
19 - # ### commands auto generated by Alembic - please adjust! ###
20 - op.drop_table("case")
21 - op.drop_table("graylog_metrics_allocation")
22 - op.drop_table("artifact")
23 - op.drop_table("wazuh_indexer_allocation")
24 - with op.batch_alter_table("sublime_alerts", schema=None) as batch_op:
25 - batch_op.add_column(sa.Column("timestamp", sa.DateTime(), nullable=True))
26 -
27 - # ### end Alembic commands ###
28 -
29 -
30 -def downgrade():
31 - # ### commands auto generated by Alembic - please adjust! ###
32 - with op.batch_alter_table("sublime_alerts", schema=None) as batch_op:
33 - batch_op.drop_column("timestamp")
34 -
35 - op.create_table(
36 - "wazuh_indexer_allocation",
37 - sa.Column("id", sa.INTEGER(), nullable=False),
38 - sa.Column("node", sa.VARCHAR(length=100), nullable=True),
39 - sa.Column("disk_used", sa.FLOAT(), nullable=True),
40 - sa.Column("disk_available", sa.FLOAT(), nullable=True),
41 - sa.Column("disk_total", sa.FLOAT(), nullable=True),
42 - sa.Column("disk_percent", sa.FLOAT(), nullable=True),
43 - sa.Column("timestamp", sa.DATETIME(), nullable=True),
44 - sa.PrimaryKeyConstraint("id"),
45 - )
46 - op.create_table(
47 - "artifact",
48 - sa.Column("id", sa.INTEGER(), nullable=False),
49 - sa.Column("artifact_name", sa.VARCHAR(length=100), nullable=True),
50 - sa.Column("artifact_results", sa.TEXT(), nullable=True),
51 - sa.Column("hostname", sa.VARCHAR(length=100), nullable=True),
52 - sa.PrimaryKeyConstraint("id"),
53 - )
54 - op.create_table(
55 - "graylog_metrics_allocation",
56 - sa.Column("id", sa.INTEGER(), nullable=False),
57 - sa.Column("input_usage", sa.FLOAT(), nullable=True),
58 - sa.Column("output_usage", sa.FLOAT(), nullable=True),
59 - sa.Column("processor_usage", sa.FLOAT(), nullable=True),
60 - sa.Column("input_1_sec_rate", sa.FLOAT(), nullable=True),
61 - sa.Column("output_1_sec_rate", sa.FLOAT(), nullable=True),
62 - sa.Column("total_input", sa.FLOAT(), nullable=True),
63 - sa.Column("total_output", sa.FLOAT(), nullable=True),
64 - sa.Column("timestamp", sa.DATETIME(), nullable=True),
65 - sa.PrimaryKeyConstraint("id"),
66 - )
67 - op.create_table(
68 - "case",
69 - sa.Column("id", sa.INTEGER(), nullable=False),
70 - sa.Column("case_id", sa.INTEGER(), nullable=True),
71 - sa.Column("case_name", sa.VARCHAR(length=100), nullable=True),
72 - sa.Column("agents", sa.VARCHAR(length=1000), nullable=True),
73 - sa.PrimaryKeyConstraint("id"),
74 - )
75 - # ### end Alembic commands ###