From 55dd88e1d5dce83980a91a7fc8522992602e61e4 Mon Sep 17 00:00:00 2001 From: mrsaicharan1 Date: Fri, 9 Aug 2019 19:46:53 +0530 Subject: [PATCH 1/2] feat: Model Additions for PayTM integration --- app/api/schema/settings.py | 7 ++++ app/models/setting.py | 22 +++++++++++ .../rev-2019-08-09-19:41:03-246b5b6123af_.py | 37 +++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 migrations/versions/rev-2019-08-09-19:41:03-246b5b6123af_.py diff --git a/app/api/schema/settings.py b/app/api/schema/settings.py index 5cd4485d0c..f7b9fef2c3 100644 --- a/app/api/schema/settings.py +++ b/app/api/schema/settings.py @@ -58,6 +58,7 @@ class Meta: # # Online Payment Flags # + is_paytm_activated = fields.Bool(dump_only=True, allow_none=False, default=False) is_paypal_activated = fields.Bool(dump_only=True) is_stripe_activated = fields.Bool(dump_only=True) is_omise_activated = fields.Bool(dump_only=True) @@ -185,6 +186,12 @@ class Meta: alipay_publishable_key = fields.Str(allow_none=True) alipay_secret_key = fields.Str(allow_none=True) + # payTM credentials + paytm_mode = fields.Str(allow_none=True) + paytm_live_merchant = fields.Str(allow_none=True) + paytm_live_secret = fields.Str(allow_none=True) + paytm_sandbox_merchant = fields.Str(allow_none=True) + paytm_sandbox_secret = fields.Str(allow_none=True) # # EMAIL # diff --git a/app/models/setting.py b/app/models/setting.py index d782d58802..0d776fbb6a 100644 --- a/app/models/setting.py +++ b/app/models/setting.py @@ -104,6 +104,14 @@ class Setting(db.Model): omise_test_public = db.Column(db.String) omise_test_secret = db.Column(db.String) + # payTM credentials + is_paytm_activated = db.column(db.Boolean) + paytm_mode = db.Column(db.String) + paytm_live_merchant = db.Column(db.String) + paytm_live_secret = db.Column(db.String) + paytm_sandbox_merchant = db.Column(db.String) + paytm_sandbox_secret = db.Column(db.String) + # # EMAIL # @@ -222,6 +230,11 @@ def __init__(self, omise_live_secret=None, alipay_publishable_key=None, alipay_secret_key=None, + paytm_mode=None, + paytm_live_merchant=None, + paytm_live_secret=None, + paytm_sandbox_merchant=None, + paytm_sandbox_secret=None, invoice_sending_day=None, invoice_sending_timezone=None, admin_billing_contact_name=None, @@ -297,6 +310,7 @@ def __init__(self, self.paypal_sandbox_client = paypal_sandbox_client self.paypal_sandbox_secret = paypal_sandbox_secret + # Omise Credentials self.omise_mode = omise_mode self.omise_test_public = omise_test_public @@ -308,6 +322,13 @@ def __init__(self, self.alipay_publishable_key = alipay_publishable_key self.alipay_secret_key = alipay_secret_key + # payTM Credentials + self.paytm_mode = paytm_mode + self.paytm_live_merchant = paytm_live_merchant + self.paytm_live_secret = paytm_live_secret + self.paytm_sandbox_merchant = paytm_sandbox_merchant + self.paytm_sandbox_secret = paytm_sandbox_secret + # Event Invoice settings self.invoice_sending_timezone = invoice_sending_timezone self.invoice_sending_day = invoice_sending_day @@ -361,3 +382,4 @@ def is_omise_activated(self): return True else: return False + diff --git a/migrations/versions/rev-2019-08-09-19:41:03-246b5b6123af_.py b/migrations/versions/rev-2019-08-09-19:41:03-246b5b6123af_.py new file mode 100644 index 0000000000..94a9a9c55b --- /dev/null +++ b/migrations/versions/rev-2019-08-09-19:41:03-246b5b6123af_.py @@ -0,0 +1,37 @@ +"""empty message + +Revision ID: 246b5b6123af +Revises: 9d5753192ac9 +Create Date: 2019-08-09 19:41:03.995654 + +""" + +from alembic import op +import sqlalchemy as sa +import sqlalchemy_utils + + +# revision identifiers, used by Alembic. +revision = '246b5b6123af' +down_revision = '9d5753192ac9' + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('settings', sa.Column('paytm_live_merchant', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('paytm_live_secret', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('paytm_mode', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('paytm_sandbox_merchant', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('paytm_sandbox_secret', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('is_paytm_activated', sa.Boolean(), server_default='False', nullable=False)) + # ### end Alembic commands ### + + +def downgrade(): + op.drop_column('settings', 'paytm_sandbox_secret') + op.drop_column('settings', 'paytm_sandbox_merchant') + op.drop_column('settings', 'paytm_mode') + op.drop_column('settings', 'paytm_live_secret') + op.drop_column('settings', 'paytm_live_merchant') + op.drop_column('settings', 'is_paytm_activated') + # ### end Alembic commands ### From 3d54758ea8c92f254b2ade995269a5cf658700a0 Mon Sep 17 00:00:00 2001 From: mrsaicharan1 Date: Sat, 10 Aug 2019 14:23:51 +0530 Subject: [PATCH 2/2] change in hybrid proprty --- app/models/setting.py | 5 +++-- migrations/versions/rev-2019-08-09-19:41:03-246b5b6123af_.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/models/setting.py b/app/models/setting.py index 0d776fbb6a..28ceb08749 100644 --- a/app/models/setting.py +++ b/app/models/setting.py @@ -105,7 +105,7 @@ class Setting(db.Model): omise_test_secret = db.Column(db.String) # payTM credentials - is_paytm_activated = db.column(db.Boolean) + is_paytm_activated = db.Column(db.Boolean, default=False, nullable=False) paytm_mode = db.Column(db.String) paytm_live_merchant = db.Column(db.String) paytm_live_secret = db.Column(db.String) @@ -230,6 +230,7 @@ def __init__(self, omise_live_secret=None, alipay_publishable_key=None, alipay_secret_key=None, + is_paytm_activated=False, paytm_mode=None, paytm_live_merchant=None, paytm_live_secret=None, @@ -323,6 +324,7 @@ def __init__(self, self.alipay_secret_key = alipay_secret_key # payTM Credentials + self.is_paytm_activated = is_paytm_activated self.paytm_mode = paytm_mode self.paytm_live_merchant = paytm_live_merchant self.paytm_live_secret = paytm_live_secret @@ -382,4 +384,3 @@ def is_omise_activated(self): return True else: return False - diff --git a/migrations/versions/rev-2019-08-09-19:41:03-246b5b6123af_.py b/migrations/versions/rev-2019-08-09-19:41:03-246b5b6123af_.py index 94a9a9c55b..0af1017c73 100644 --- a/migrations/versions/rev-2019-08-09-19:41:03-246b5b6123af_.py +++ b/migrations/versions/rev-2019-08-09-19:41:03-246b5b6123af_.py @@ -2,7 +2,7 @@ Revision ID: 246b5b6123af Revises: 9d5753192ac9 -Create Date: 2019-08-09 19:41:03.995654 +Create Date: 2019-08-09 19:41:03.995657 """