
    g                     :    d dl mZmZ d dlmZ d Zd Zd Zd ZdS )    )requestjsonify)get_db_connectionc                     t           j                            d          } | st          ddi          dfS 	 t	                      }|                    d          }|                    d| f           |                                }|                                 |                                 t          |          S # t          $ r*}t          dt          |          i          dfcY d }~S d }~ww xY w)	Nuser_iderrorMissing user_id  T)
dictionaryz
            SELECT m.name AS muscle_name, COALESCE(mc.score, 50) AS score
            FROM muscles m
            LEFT JOIN muscle_cards mc ON mc.muscle_id = m.id AND mc.user_id = %s
          )r   argsgetr   r   cursorexecutefetchallclose	Exceptionstr)r   connr   resultses        9/var/www/wisegym.app/api/functions/muscle_card_service.pyget_muscle_cards_for_userr      s   ly))G :!2344c99/ ""--  Z		 	 	
 //##

w / / /Q())3......./s   BB< <
C0C+%C0+C0c                     t           j                            d          } t           j                            d          }| r|st          ddi          dfS 	 t	                      }|                                }|                    d|f           |                                }|st          ddi          dfS |d	         }|                    d
| |f           |                                }|                                 |                                 t          ||r|d	         ndd          S # t          $ r*}t          dt          |          i          dfcY d }~S d }~ww xY w)Nr   muscle_namer   zMissing user_id or muscle namer
   &SELECT id FROM muscles WHERE name = %sMuscle not found  r   zDSELECT score FROM muscle_cards WHERE user_id = %s AND muscle_id = %s2   )musclescorer   )r   r   r   r   r   r   r   fetchoner   r   r   )r   r   r   r   result	muscle_idr!   r   s           r   get_muscle_scorer%      s   ly))G,""=11K I+ I!ABCCSHH/ ""?+PPP"" 	?G%78993>>1I	]`gir_sttt!!

!!&.U1XXB
 
   	  / / /Q())3......./s&   A!D1 9A7D1 1
E%;E E% E%c                     t           j                            d          } t           j                            d          }t           j                            d          }| r|r|t          ddi          dfS 	 t	          |          }d|cxk    rdk    sn t          dd	i          dfS n## t
          $ r t          dd
i          dfcY S w xY w	 t                      }|                                }|                    d|f           |	                                }|st          ddi          dfS |d         }|                    d| ||f           |
                                 |                                 |                                 t          dd| d| i          S # t          $ r*}t          dt          |          i          dfcY d }~S d }~ww xY w)Nr   r    r!   r   z Missing user_id, muscle or scorer
      d   zScore must be between 1 and 100zScore must be an integerr   r   r   r   z
            INSERT INTO muscle_cards (user_id, muscle_id, score)
            VALUES (%s, %s, %s)
            ON DUPLICATE KEY UPDATE score = VALUES(score)
        messagezScore for 'z' updated to r   )r   jsonr   r   int
ValueErrorr   r   r   r"   commitr   r   r   )r   r   r!   r   r   r#   r$   r   s           r   set_muscle_scorer.   /   s(   ly))G,""8,,KLW%%E K+ K!CDEEsJJCE

U!!!!c!!!!G%FGHH#MM " C C C!;<==sBBBBC/ ""?+PPP"" 	?G%78993>>1I	  y%(		* 	* 	* 	

	#R#R#R5#R#RSTTT / / /Q())3......./s8   80B* *C
	C
A!F$ 0A3F$ $
G.GGGc                  H   t           j                            d          } | st          ddi          dfS 	 t	                      }|                                }|                    d           |                                }|D ]\  }|                    d| |f           |                                 |	                                 |	                                 t          ddi          S # t          $ r*}t          dt          |          i          d	fcY d }~S d }~ww xY w)
Nr   r   r	   r
   zSELECT id FROM musclesz
                INSERT INTO muscle_cards (user_id, muscle_id, score)
                VALUES (%s, %s, 50)
                ON DUPLICATE KEY UPDATE score = 50
            r)   zAll muscle scores reset to 50r   )r   r*   r   r   r   r   r   r   r-   r   r   r   )r   r   r   musclesr$   r   s         r   reset_muscle_scoresr1   U   s=   ly))G :!2344c99/ "" 	/000//### 	' 	'LYNN  9%	' ' ' ' 	

	#BCDDD / / /Q())3......./s   B6C- -
D!7DD!D!N)	flaskr   r   	db_configr   r   r%   r.   r1        r   <module>r6      sv    " " " " " " " " ' ' ' ' ' '/ / /&/ / /0$/ $/ $/L/ / / / /r5   