
    iaj                         d dl Z d dlZd dlmZ ddlmZ  ej                  d      Z G d de j                        Z	 G d d	      Z
y)
    N)get_dynamic_connection   )CreateDivisionInputzscheduler.divisionc                       e Zd Z G d d      Z ej
                         Z ej                         Z ej                         Z
d Zy)CreateDivisionc                       e Zd Z ed      Zy)CreateDivision.ArgumentsT)requiredN)__name__
__module____qualname__r   input     N/var/www/html/myl_app/scheduler-service/schema/mutations/division_mutations.py	Argumentsr	   	   s    #T2r   r   c           
         |j                   j                  d      }|st        dd      S 	 t        |      5 }|j	                         5 }|j                  d|j                  f       |j                         r-t        dd|j                   d      cd d d        cd d d        S t        |j                        j                         j                         }d}d	|v sd
|v sd|v rd}nd|v sd|v sd|v rd}|j                  d|j                  ||j                  |j                  |j                  f       |j                          |j                   }d d d        d d d        t        dd|j                   d      S # 1 sw Y   -xY w# 1 sw Y   1xY w# t"        $ r1}	t$        j'                  d|	 d       t        dd      cY d }	~	S d }	~	ww xY w)Ndb_nameFz%Organisation database not configured.)successmessagez3SELECT id FROM level WHERE description = %s LIMIT 1z
Division 'z' already exists.r   girlfemalewomenr   boymalemen   a  
                        INSERT INTO level (
                            description, gender, start, end, max_teams,
                            League_ID, sp_id, div_code
                        ) VALUES (%s, %s, %s, %s, %s, 1, 1, "")
                        Tz' created successfully.)r   r   division_idz+Unexpected error during division creation: )exc_infoz?An unexpected database error occurred during division creation.)contextgetr   r   cursorexecutedivision_namefetchonestrgenderstriplowerstart_age_or_gradeend_age_or_grade	max_teamscommit	lastrowid	Exceptionloggererror)
selfinfor   r   conncur
gender_str
gender_valr   es
             r   mutatezCreateDivision.mutate   s   ,,""9-!%9`aa/	'0 !0D[[]  0cKK UX]XkXkWmn||~-$)&01D1D0EEV$W 	 0  0!0 !0 "%U\\!2!8!8!:!@!@!BJ!"J+x:/ET^I^%&
*,*0DQ[H[%&
KK "//&!44!22!OO KKM"%--KA 0!0F "$U%8%8$99PQ' E 0  0!0 !0P  	LLFqcJUYLZ!Y 	s`   F FAE:	F	F #B+E:F#F :F	?FFF 	G&GGGN)r   r   r   r   grapheneBooleanr   Stringr   Intr   r9   r   r   r   r   r      s>    3 3 h GhooG(,,.K4r   r   c                   ,    e Zd Zej	                         Zy)DivisionMutationN)r   r   r   r   Fieldcreate_divisionr   r   r   r?   r?   F   s    $**,Or   r?   )r:   loggingdbr   typesr   	getLoggerr0   Mutationr   r?   r   r   r   <module>rG      sA      % '			/	0<X&& <|- -r   