From 4e156242eb7878f28c44a92701f475d490752625 Mon Sep 17 00:00:00 2001 From: sstent Date: Tue, 23 Dec 2025 06:38:42 -0800 Subject: [PATCH] before Deepseek fix --- ...99d39b0f13d_add_mfa_state_to_api_tokens.py | 24 +++++++++++++ ...allow_null_tokens_and_expiry_during_mfa.py | 34 ++++++++++++++++++ ...dd_mfa_state_to_api_tokens.cpython-313.pyc | Bin 0 -> 1000 bytes ...kens_and_expiry_during_mfa.cpython-313.pyc | Bin 0 -> 1356 bytes 4 files changed, 58 insertions(+) create mode 100644 FitnessSync/backend/alembic/versions/299d39b0f13d_add_mfa_state_to_api_tokens.py create mode 100644 FitnessSync/backend/alembic/versions/792840bbb2e0_allow_null_tokens_and_expiry_during_mfa.py create mode 100644 FitnessSync/backend/alembic/versions/__pycache__/299d39b0f13d_add_mfa_state_to_api_tokens.cpython-313.pyc create mode 100644 FitnessSync/backend/alembic/versions/__pycache__/792840bbb2e0_allow_null_tokens_and_expiry_during_mfa.cpython-313.pyc diff --git a/FitnessSync/backend/alembic/versions/299d39b0f13d_add_mfa_state_to_api_tokens.py b/FitnessSync/backend/alembic/versions/299d39b0f13d_add_mfa_state_to_api_tokens.py new file mode 100644 index 0000000..98a6c2f --- /dev/null +++ b/FitnessSync/backend/alembic/versions/299d39b0f13d_add_mfa_state_to_api_tokens.py @@ -0,0 +1,24 @@ +"""Add mfa_state to api_tokens + +Revision ID: 299d39b0f13d +Revises: 792840bbb2e0 +Create Date: 2025-12-23 14:28:44.223847 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '299d39b0f13d' +down_revision = '792840bbb2e0' +branch_labels = None +depends_on = None + + +def upgrade(): + op.add_column('api_tokens', sa.Column('mfa_state', sa.String(), nullable=True)) + + +def downgrade(): + op.drop_column('api_tokens', 'mfa_state') diff --git a/FitnessSync/backend/alembic/versions/792840bbb2e0_allow_null_tokens_and_expiry_during_mfa.py b/FitnessSync/backend/alembic/versions/792840bbb2e0_allow_null_tokens_and_expiry_during_mfa.py new file mode 100644 index 0000000..1c16369 --- /dev/null +++ b/FitnessSync/backend/alembic/versions/792840bbb2e0_allow_null_tokens_and_expiry_during_mfa.py @@ -0,0 +1,34 @@ +"""Allow null tokens and expiry during MFA + +Revision ID: 792840bbb2e0 +Revises: ce0f0282a142 +Create Date: 2025-12-23 14:19:15.592078 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '792840bbb2e0' +down_revision = 'ce0f0282a142' +branch_labels = None +depends_on = None + + +def upgrade(): + op.alter_column('api_tokens', 'access_token', + existing_type=sa.VARCHAR(), + nullable=True) + op.alter_column('api_tokens', 'expires_at', + existing_type=sa.DATETIME(), + nullable=True) + + +def downgrade(): + op.alter_column('api_tokens', 'expires_at', + existing_type=sa.DATETIME(), + nullable=False) + op.alter_column('api_tokens', 'access_token', + existing_type=sa.VARCHAR(), + nullable=False) diff --git a/FitnessSync/backend/alembic/versions/__pycache__/299d39b0f13d_add_mfa_state_to_api_tokens.cpython-313.pyc b/FitnessSync/backend/alembic/versions/__pycache__/299d39b0f13d_add_mfa_state_to_api_tokens.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a593a716b833bb254711b66f54f29432c4e5714d GIT binary patch literal 1000 zcmaJ=&ubGw6rTN&WV6jCZD|z+?P3*;lI&*Fv`r8}tb!>NarGbshW#;Z(# z4^EdnbdGnKvkh(l8(?4ywzw!%MJ!e&Ea^O!7UgOT#|FN<7{>`ahLu{frrPnF?53T- zBQ>d(wB;Ew#$tvm16;-_j@QImlH-h*hJ13!YyaTY0k7F3m%*Bh)3#=(23}@G&Zb{) z-uHdIx$Hm^IT6yMP!7Lg>8R$1F9Uc+YA$vHZxuEi7c~e~ebhpMPhc2$Jl*MH zqXQD#$9!hnUetuXd!jZ+86s W@!JQfJBPsf9v6h<4~3b5F24cUzx|p3 literal 0 HcmV?d00001 diff --git a/FitnessSync/backend/alembic/versions/__pycache__/792840bbb2e0_allow_null_tokens_and_expiry_during_mfa.cpython-313.pyc b/FitnessSync/backend/alembic/versions/__pycache__/792840bbb2e0_allow_null_tokens_and_expiry_during_mfa.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8b2869056ee3ba62ee0a67fee94b0b7730eb3b3d GIT binary patch literal 1356 zcmds1y-(Xf6hAwOZQO(cMWsS~SZt9BNn9e52vv&sP=Nwf9CaYAPL6#97spP|4v?xt z#L~433k>bh1*t>-9CT&t)QysM?_KPas4Sg((*5pz$WQP6-cRl%5;CCY%cpfqivaMA zIlaS&Mkhy&6QBVMG*06;xOE=$3bP{{5ggT`IHtw0phd7qucQg%01s#)MY$G9N^g#f zw(TA&PSds(-`z)!r|6EUpreL`TZ-AlmQzzUSBtV-LI;*-xsI~7Tu>JBYHmJVtyWc( z4l>9qCGB6pX9JgEE07-qxMk8K}eXt;K>?hxM7iTJ!&T6$6}5ox(tUMa6_uAGAo>xaBe z?YVW7@;o0oe(D)^Um?TyQmd9<#=5buGRvWzXf4M`RcQn{W=gkFy=ob$1BBV`y;T2t zpw6@dS%cv;kZK18+JS*~V0~AgYqW^iY}BxBB0Nfaxksb|93Lqwi*@rA!Ijx+%q}dM3;t^WlztIF{g2r(Qt9XE!OitmN zae@T~84NMF%V3xRqX08D$$;q|IswD?sXsyQEr$C!oMa47_cPqj|0H90x?4VZhlmiG zt^pwtLpcQElfBorZX0{3-s(0-Bpm)CNP=|(Z`>-@9b*qt9V6Q#vWXg0Tpo0tt{gDy z`0s(F#ky-YZS)vV(JaU2Q7K$SIF9?l3taTqAmGNng0U+J#K+sx#n4ncaWOPXAu-&R OuLXgd>Wm0nFvV{{GbmO7 literal 0 HcmV?d00001