From 6762cea79ebbd60dbc7a608a125c4e276fd36d21 Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Fri, 17 Nov 2023 08:19:07 -0800 Subject: [PATCH 1/3] notify-admin-861 add preferred timezone --- app/models.py | 1 + .../versions/0405_add_preferred_timezone.py | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 migrations/versions/0405_add_preferred_timezone.py diff --git a/app/models.py b/app/models.py index a46b95a6e..978cf5115 100644 --- a/app/models.py +++ b/app/models.py @@ -81,6 +81,7 @@ class User(db.Model): id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) name = db.Column(db.String, nullable=False, index=True, unique=False) email_address = db.Column(db.String(255), nullable=False, index=True, unique=True) + preferred_timezone = db.Column(db.Text, nullable=True, index=False, unique=False) created_at = db.Column( db.DateTime, index=False, diff --git a/migrations/versions/0405_add_preferred_timezone.py b/migrations/versions/0405_add_preferred_timezone.py new file mode 100644 index 000000000..f689516bd --- /dev/null +++ b/migrations/versions/0405_add_preferred_timezone.py @@ -0,0 +1,21 @@ +""" + +Revision ID: 0405_add_preferred_timezone +Revises: 0404_expire_invites + +""" +from alembic import op +from flask import current_app +import sqlalchemy as sa + + +down_revision = "0404_expire_invites" +revision = "0405_add_preferred_timezone" + + +def upgrade(): + op.execute("ALTER TABLE users ADD COLUMN preferred_timezone text") + + +def downgrade(): + op.execute("ALTER TABLE users DROP COLUMN preferred_timezone text") From f923c309c22f97219a07e91530f884f42eb76076 Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Fri, 17 Nov 2023 09:01:27 -0800 Subject: [PATCH 2/3] precommit --- app/models.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/models.py b/app/models.py index 978cf5115..4d8e97c3b 100644 --- a/app/models.py +++ b/app/models.py @@ -81,7 +81,6 @@ class User(db.Model): id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) name = db.Column(db.String, nullable=False, index=True, unique=False) email_address = db.Column(db.String(255), nullable=False, index=True, unique=True) - preferred_timezone = db.Column(db.Text, nullable=True, index=False, unique=False) created_at = db.Column( db.DateTime, index=False, @@ -124,6 +123,9 @@ class User(db.Model): nullable=False, default=datetime.datetime.utcnow, ) + preferred_timezone = db.Column( + db.Text, nullable=True, index=False, unique=False, default="US/Eastern" + ) # either email auth or a mobile number must be provided CheckConstraint( From c943dc35e46380209a4f78aa2d3175bef654ab45 Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Fri, 17 Nov 2023 13:42:12 -0800 Subject: [PATCH 3/3] fix migration 401 --- migrations/versions/0401_add_e2e_test_user.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/migrations/versions/0401_add_e2e_test_user.py b/migrations/versions/0401_add_e2e_test_user.py index d3d9ed5e5..020e746e7 100644 --- a/migrations/versions/0401_add_e2e_test_user.py +++ b/migrations/versions/0401_add_e2e_test_user.py @@ -5,6 +5,7 @@ Revises: 0399_remove_research_mode Create Date: 2023-04-24 11:35:22.873930 """ +import datetime import os import uuid @@ -30,10 +31,18 @@ def upgrade(): "password": password, "mobile_number": "+12025555555", "state": "active", + "created_at": datetime.datetime.utcnow(), + "password_changed_at": datetime.datetime.utcnow(), + "failed_login_count": 0, + "platform_admin": "f", + "email_access_validated_at": datetime.datetime.utcnow(), } - user = User(**data) - db.session.add(user) - db.session.commit() + conn = op.get_bind() + insert_sql = """ + insert into users (id, name, email_address, _password, mobile_number, state, created_at, password_changed_at, failed_login_count, platform_admin, email_access_validated_at) + values (:id, :name, :email_address, :password, :mobile_number, :state, :created_at, :password_changed_at, :failed_login_count, :platform_admin, :email_access_validated_at) + """ + conn.execute(sa.text(insert_sql), data) def downgrade():