
    @jhsC                         % S r SSKJrJr  SSKJr  SSKrSSKJ	r	  Sr
\\S'   Sr\\\\   S4   \S	'   Sr\\\\   S4   \S
'   Sr\\\\   S4   \S'   SS jrSS jrg)zmAdd otp_expiration

Revision ID: 91d997dadc2b
Revises: 6ea9569ac8a9
Create Date: 2025-08-15 00:53:11.415044

    )SequenceUnion)opN)
postgresql91d997dadc2brevision6ea9569ac8a9down_revisionbranch_labels
depends_onc                  \   [         R                  " [         R                  " S5      SS9  [         R                  " S5        [         R                  " SS[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " SS[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " S[        R                  " S[        R                  " 5       S
S95        [         R                  " S[        R                  " S[        R                  " 5       SS95        [         R                  " SS[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " SSS/5        [         R                  " SS5        [         R                  " SS5        [         R                  " SS[        R                  " 5       [        R                  " 5       S
S9  [         R                  " SS[        R                  " 5       [        R                  " 5       S
S9  [         R                  " SS[
        R                  " SSSS S!S	9[        R                  " 5       SS9  [         R                  " SS[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " S"S[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " S#S[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " S$S%[        R                  " 5       SS&9  [         R                  " S$S[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " S'S[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " S(S[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " S(S)[        R                  " 5       [        R                  " 5       SS*9  [         R                  " S+S,[        R                   " S-S.9[        R                  " 5       S
S*9  [         R                  " S+S/[
        R                  " S0S1S2S3S4S	9[        R                  " 5       S
S9  [         R                  " S+S[
        R                  " S5S6S7S8S	9[        R                  " 5       S
S9  [         R                  " S+S9[        R                   " S-S.9[        R                  " 5       S
S*9  [         R                  " S+S)[        R                  " 5       [        R                  " 5       SS*9  [         R                  " S:S;[        R"                  " 5       S
S&9  [         R                  " S:S<[        R                   " S-S.9[        R                  " 5       S
S*9  [         R                  " S:S=[        R                   " S-S.9[        R                  " 5       SS*9  [         R                  " S:S[
        R                  " SSSS	9S
S&9  [         R                  " S>S[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " S>S?[        R"                  " 5       S
S&9  [         R                  " S>S@[        R"                  " 5       S
S&9  [         R                  " SAS%[        R                  " 5       SS&9  [         R                  " SAS[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " SBSC[        R                   " S-S.9[        R                  " 5       SS*9  [         R                  " SBS[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " SBSD[
        R$                  " 5       SS&9  [         R                  " SBSE[
        R$                  " 5       SS&9  [         R                  " SFSG[
        R                  " SHSISJS	9[        R                  " 5       S
S9  [         R                  " SFS)[        R                  " 5       [        R                  " 5       SS*9  [         R                  " SKSL[        R                  " 5       SS&9  [         R                  " SKS[
        R                  " SSSS	9[        R                  " 5       S
S9  [         R                  " SM[        R                  " SN[        R                  " 5       SS95        [         R                  " SMSO[
        R                  " SPSQSRSSS	9[        R                  " 5       S
S9  [         R                  " SMS[
        R                  " SSTSSUS	9S
S&9  [         R&                  " [         R                  " SV5      SMSW/SSX9  [         R                  " SYSZ[        R                  " 5       S
S&9  [         R                  " SYSE[
        R$                  " 5       S
S&9  [         R                  " SYSD[
        R$                  " 5       S
S&9  [         R                  " SYS[
        R                  " SSTSSUS	9[        R                  " 5       S
S9  g)[zUpgrade schema.ix_quiz_questions_idquiz_questions
table_nameanswersstateACTIVEDELETEDgeneralstatenameFexisting_typetype_nullable
categoriescertificates	issued_at)r   
expires_atT	AVAILABLENOT_AVAILABLEcertificatestateN	reference
issue_date
updated_atchats	sender_idreceiver_id	file_typeIMAGEFILEAUDIOTEXTchatfiletypecoursescourses_programslessonscontentr   r   modulesnotificationsuser_idr   r   existing_nullablepaymentsamount5   	precisionmethodCASH	VISA_CARDFLOOZMIX_BY_YASSpaymentmethodPENDINGPAID	CANCELLEDpaymentstatepayment_valueprogramsdurationpriceprice_discountprograms_categories
program_idcategory_id	questionsquizzesscoreend_date
start_dateregistrationstracking_stateIN_PROGRESSFINISHEDregistrationtrackingstatereviewsnoteusersotp_expirationroleADMINSTUDENTTRAINERroletypeINACTIVE	userstateix_users_phonephoneuniquewavestitle)r   
drop_indexf
drop_tablealter_columnr   ENUMsaString
add_columnColumnDateTimecreate_unique_constraintdrop_columnVARCHARIntegerDOUBLE_PRECISIONINTEGER	TIMESTAMPcreate_index     YD:\kofCorporation\kof-academy-backend\alembic\versions\91d997dadc2b_add_otp_expiration.pyupgrader      s    MM"$$-.;KLMM"#OOIw'__Xy~VYY[ OOL''__Xy~VYY[ MM."))KQV"WXMM."))L"++-RV"WXOONG'__[/PbcYY[ n{mDNN><0NN><0OOG[ZZ\ZZ\ OOG]ZZ\ZZ\ OOG['__WfgvTbcYY[ OOGW'__Xy~VYY[ OOIw'__Xy~VYY[ OO&'__Xy~VYY[ OOIyZZ\ OOIw'__Xy~VYY[ OOIw'__Xy~VYY[ OOOW'__Xy~VYY[ OOOYZZ\ZZ\!%' OOJ002>ZZ\!&( OOJ'__V['=_noYY[ OOJ'__YR`aYY[ OOJ002>YY[!&( OOJ	ZZ\ZZ\!%' OOJ
ZZ\ OOJ002>ZZ\!&( OOJ 0002>ZZ\!%' OOJ'__Xy~V OO)7'__Xy~VYY[ OO)<ZZ\ OO)=ZZ\ OOKZZ\ OOK'__Xy~VYY[ OOIw002>ZZ\!%' OOIw'__Xy~VYY[ OOIz'113 OOI|'113 OOO%5'__]JMhiYY[ OOOYZZ\ZZ\!%' OOIvZZ\ OOIw'__Xy~VYY[ MM'299%5r{{}tTUOOGV'__WiQ[\YY[ OOGW'__Xz9S^_ OOBDD)*GgYtLOOGWZZ\ OOG\'113 OOGZ'113 OOGW'__Xz9S^_YY[r   c                     [         R                  " SS[        R                  " 5       [        R
                  " SSSSS9SS	9  [         R                  " SS
[        R                  " 5       SS9  [         R                  " SS[        R                  " 5       SS9  [         R                  " SS[        R                  " 5       SS9  [         R                  " [         R                  " S5      SS9  [         R                  " SS[        R
                  " SSSSS9SS9  [         R                  " SS[        R                  " 5       [        R
                  " SSSSS9SS	9  [         R                  " SS5        [         R                  " SS[        R                  " 5       [        R
                  " SSSS9SS	9  [         R                  " SS[        R                  " 5       SS9  [         R                  " SS[        R                  " 5       [        R                  " 5       SS9  [         R                  " SS[        R                  " 5       [        R
                  " SS S!S9SS	9  [         R                  " S"S[        R                  " 5       SS9  [         R                  " S"S
[        R                  " 5       SS9  [         R                  " S"S[        R                  " 5       [        R
                  " SSSS9SS	9  [         R                  " S"S#[        R                  " 5       [        R                  " S$S%9SS9  [         R                  " S&S[        R                  " 5       [        R
                  " SSSS9SS	9  [         R                  " S&S'[        R                  " 5       SS9  [         R                  " S(S)[        R                  " 5       SS9  [         R                  " S(S*[        R                  " 5       SS9  [         R                  " S(S[        R                  " 5       [        R
                  " SSSS9SS	9  [         R                  " S+S[        R
                  " SSSS9SS9  [         R                  " S+S,[        R                  " 5       [        R                  " S$S%9SS9  [         R                  " S+S-[        R                  " 5       [        R                  " S$S%9SS9  [         R                  " S+S.[        R                  " 5       SS9  [         R                  " S/S[        R                  " 5       [        R                  " 5       SS9  [         R                  " S/S0[        R                  " 5       [        R                  " S$S%9SS9  [         R                  " S/S[        R                  " 5       [        R
                  " S1S2S3S4S9SS	9  [         R                  " S/S5[        R                  " 5       [        R
                  " S6S7S8S9S:S9SS	9  [         R                  " S/S;[        R                  " 5       [        R                  " S$S%9SS9  [         R                  " S<S[        R                  " 5       [        R                  " 5       SS9  [         R                  " S<S[        R                  " 5       [        R
                  " SSSS9SS	9  [         R                  " S=S[        R                  " 5       [        R
                  " SSSS9SS	9  [         R                  " S>S[        R                  " 5       [        R
                  " SSSS9SS	9  [         R                  " S>S'[        R                  " 5       SS9  [         R                  " S?S[        R                  " 5       [        R
                  " SSSS9SS	9  [         R                  " S@S[        R                  " 5       [        R
                  " SSSS9SS	9  [         R                  " SAS[        R                  " 5       [        R
                  " SSSS9SS	9  [         R                  " SASB[        R                  " 5       [        R
                  " SCSDSESFSGS9SS	9  [         R                  " SASH[        R                  " 5       [        R                  " 5       SS	9  [         R                  " SASI[        R                  " 5       [        R                  " 5       SSJSK9  [         R                  " SL[        R                  " SM[        R                  " 5       SSSN95        [         R                  " SL[        R                  " SO[        R                  " 5       SSSN95        [         R                   " SPSLSQSR9  [         R                  " SLS[        R                  " 5       [        R
                  " SSSTSUS9SS	9  [         R                  " SLSV5        [         R                  " SLSW5        [         R                  " SXS[        R                  " 5       [        R
                  " SSSS9SS	9  [         R                  " SYS[        R                  " 5       [        R
                  " SSSS9SS	9  [         R"                  " SZ[        R                  " S[[        R                  " 5       SSSN9[        R                  " S[        R
                  " SSSS9SSSN9[        R                  " S\[        R                  " 5       SSSN9[        R                  " SM[        R                  " 5       SSSN9[        R                  " S][        R                  " 5       SSSN9[        R                  " S^[        R                  " 5       SSSN9[        R$                  " S^/S_/[         R                  " S`5      S9[        R$                  " S]/Sa/[         R                  " Sb5      S9[        R&                  " S[[         R                  " Sc5      S95
        [         R(                  " [         R                  " Sd5      SZS[/SSe9  gP)fzDowngrade schema.rj   r   r   rd   r   re   r   Tr   rT   r4   rU   rk   rf   r]   r   r_   r`   ra   rb   rc   r^   r[   r   r\   FrV   r7   r8   rW   rX   rY   rZ   rR   rS   r<   r=   rQ   r3   rN   rP   rO   rJ   rM   rL   rK   r:   rI   rE   rF   rG   rH   r?   r@   rA   rB   rC   rD   r;   r6   r5   r2   r1   r0   r'   r*   r+   r,   r-   r.   r/   r)   r(   zsender_id::integer)r   r   r   postgresql_usingr   r&   )autoincrementr   r%   Nri   )r   r!   r"   r#   r    r   r   r   r   id
created_atquiz_idquestion_idzquestions.idquiz_questions_question_id_fkeyz
quizzes.idquiz_questions_quiz_id_fkeyquiz_questions_pkeyr   rh   )r   ro   rq   rr   r   rp   r|   rx   rl   rm   rw   ry   rz   r{   rs   rt   drop_constraintcreate_tableForeignKeyConstraintPrimaryKeyConstraintr}   r~   r   r   	downgrader      s    OOGWYY[__Xz9;W OOGZ'113 OOG\'113 OOGWZZ\ MM"$$'(W=OOGW'__Xz9S^_ OOGVYY[__WiT NN7,-OOIwYY[__Xy~N OOIvZZ\ OOOYZZ\ZZ\!%' OOO%5YY[__]JE`a OOI|'113 OOIz'113 OOIwYY[__Xy~N OOIwZZ\((26!%' OOKYY[__Xy~N OOKZZ\ OO)=ZZ\ OO)<ZZ\ OO)7YY[__Xy~N OOJ'__Xy~V OOJ 0ZZ\((26!%' OOJZZ\((26!&( OOJ
ZZ\ OOJ	ZZ\ZZ\!%' OOJYY[((26!&( OOJYY[__Y.Y OOJYY[__V['=Wfg OOJZZ\((26!&( OOOYZZ\ZZ\!%' OOOWYY[__Xy~N OOIwYY[__Xy~N OOIwYY[__Xy~N OOIyZZ\ OO&YY[__Xy~N OOIwYY[__Xy~N OOGWYY[__Xy~N OOG[YY[__WfgvN[ OOG]ZZ\ZZ\ OOG[ZZ\ZZ\ 4	6
 MM."))L*:N:N:P`epu"vwMM."))L*:N:N:P`epu"vwt^8<OONGYY[__[/HZ[ NN><0NN>;/OOL'YY[__Xy~N OOIwYY[__Xy~N OO$IIdBJJLuEIIgzxP`eptuIIlJ002%RWXIIlJ002%RWXIIiUTJIImRZZ\N]On-=BDDIjDklYK,bddC`>abDrtt,A'BC
 OOBDD/02BTFSXYr   )returnN)__doc__typingr   r   alembicr   
sqlalchemyrq   sqlalchemy.dialectsr   r   str__annotations__r
   r   r   r   r   r~   r   r   <module>r      s    #   * # 1?uS(3--. ?15uS(3--. 5.2
E#x}d*+ 2fTqZr   