U
    `Ÿ}jÉ	  ã                   @   s@   d dl mZmZ d dlmZ d dlmZ d dlmZ dd„ Z	dS )é    )ÚrequestÚjsonify)Úget_db)Úerror_response)Úadmin_requiredc                 C   sP   | j ddgddd„ ƒ}| j ddgddd„ ƒ}| j dd	gdtd
d„ ƒƒ}d S )Nz/api/configÚGET)Úmethodsc                  S   sŠ   t ƒ } |  ¡ }z| d¡ | ¡ }W n tk
r<   g }Y nX |  ¡  g }|D ]2}t|ƒ}|d dkrv|d rvd|d< | |¡ qNt|ƒS )NzSELECT * FROM system_configÚ
config_keyÚaliyun_sms_access_key_secretÚconfig_valueú******)	r   ÚcursorÚexecuteÚfetchallÚ	ExceptionÚcloseÚdictÚappendr   )Úconnr   ÚrowsÚresultÚrowZrow_dict© r   ú;D:\Project\Python Project\BangBang\backend\routes\config.pyÚget_configs   s    

z+register_config_routes.<locals>.get_configsz/api/config/<config_key>c                 S   s’   t ƒ }| ¡ }z| d| f¡ | ¡ }W n tk
r@   d }Y nX | ¡  |sVtdƒS |d }| dkrn|rnd}t|d ||d rˆ|d ndd	œƒS )
Nz0SELECT * FROM system_config WHERE config_key = ?õ   é…ç½®é¡¹ä¸å­˜åœ¨r   r
   r   r	   ÚdescriptionÚ )r	   r   r   )r   r   r   Úfetchoner   r   r   r   )r	   r   r   r   r   r   r   r   Ú
get_config   s$    
ýz*register_config_routes.<locals>.get_configÚPUTc                 S   s   t j}| d¡}|d kr tdƒS tƒ }| ¡ }z&| d|| f¡ | ¡  |jdk}W n t	k
rl   d}Y nX | 
¡  |s‚tdƒS tddd	œƒS )
Nr   u   é…ç½®å€¼ä¸èƒ½ä¸ºç©ºz‹
                UPDATE system_config SET config_value = ?, updated_at = datetime('now') 
                WHERE config_key = ?
            r   Fr   Tu   é…ç½®æ›´æ–°æˆåŠŸ)ÚsuccessÚmessage)r   ÚjsonÚgetr   r   r   r   ÚcommitÚrowcountr   r   r   )r	   Údatar   r   r   r!   r   r   r   Úupdate_config3   s$    
ý
z-register_config_routes.<locals>.update_config)Úrouter   )Úappr   r   r(   r   r   r   Úregister_config_routes   s    

r+   N)
Úflaskr   r   Zutils.databaser   Zutils.helpersr   Z
utils.authr   r+   r   r   r   r   Ú<module>   s   