From ddf188f14630ffd34b564b65e6e98c184bb8f5f0 Mon Sep 17 00:00:00 2001 From: Son NK Date: Mon, 22 Jul 2019 19:55:24 +0200 Subject: [PATCH] add ClientUser.name,default_avatar, GenEmail.custom column --- app/config.py | 4 +++- app/models.py | 14 ++++++++++++ migrations/versions/c6e7fc37ad42_.py | 33 ++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 migrations/versions/c6e7fc37ad42_.py diff --git a/app/config.py b/app/config.py index 15ca8fe1..519615d9 100644 --- a/app/config.py +++ b/app/config.py @@ -18,11 +18,13 @@ def get_abs_path(file_path: str): config_file = os.environ.get("CONFIG") if config_file: + config_file = get_abs_path(config_file) print("load config file", config_file) load_dotenv(get_abs_path(config_file)) else: load_dotenv() + # Constants PARTNER_CODES = ["SL2019"] @@ -32,7 +34,7 @@ PROMO_CODE = "SIMPLEISBETTER" # Server url URL = os.environ["URL"] -print("URL:", URL) +print(">>> URL:", URL) # Whether sentry is enabled ENABLE_SENTRY = "ENABLE_SENTRY" in os.environ diff --git a/app/models.py b/app/models.py index cc8f7015..42cc0a9d 100644 --- a/app/models.py +++ b/app/models.py @@ -7,6 +7,7 @@ import stripe from arrow import Arrow from flask import url_for from flask_login import UserMixin +from sqlalchemy import text from sqlalchemy_utils import ArrowType from app import s3 @@ -371,6 +372,9 @@ class GenEmail(db.Model, ModelMixin): enabled = db.Column(db.Boolean(), default=True, nullable=False) + # this email has been customized by user, i.e. not generated randomly + custom = db.Column(db.Boolean(), default=False, nullable=False, server_default="0") + @classmethod def create_new_gen_email(cls, user_id): random_email = generate_email() @@ -393,6 +397,16 @@ class ClientUser(db.Model, ModelMixin): db.ForeignKey(GenEmail.id, ondelete="cascade"), nullable=True ) + # user can decide to send to client another name + name = db.Column( + db.String(128), nullable=True, default=None, server_default=text("NULL") + ) + + # user can decide to send to client a default avatar + default_avatar = db.Column( + db.Boolean, nullable=False, default=False, server_default="0" + ) + gen_email = db.relationship(GenEmail, backref="client_users") user = db.relationship(User) diff --git a/migrations/versions/c6e7fc37ad42_.py b/migrations/versions/c6e7fc37ad42_.py new file mode 100644 index 00000000..1fcd5b10 --- /dev/null +++ b/migrations/versions/c6e7fc37ad42_.py @@ -0,0 +1,33 @@ +"""empty message + +Revision ID: c6e7fc37ad42 +Revises: 551c4e6d4a8b +Create Date: 2019-07-22 19:54:23.039909 + +""" +import sqlalchemy_utils +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'c6e7fc37ad42' +down_revision = '551c4e6d4a8b' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('client_user', sa.Column('default_avatar', sa.Boolean(), server_default='0', nullable=False)) + op.add_column('client_user', sa.Column('name', sa.String(length=128), server_default=sa.text('NULL'), nullable=True)) + op.add_column('gen_email', sa.Column('custom', sa.Boolean(), server_default='0', nullable=False)) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('gen_email', 'custom') + op.drop_column('client_user', 'name') + op.drop_column('client_user', 'default_avatar') + # ### end Alembic commands ###