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tdd„ ƒƒ}| j d	d
gdtdd„ ƒƒ}| j d	dgdtdd„ ƒƒ}d S )Nz/api/carouselsÚGET)Úmethodsc                  S   s>   t ƒ } |  ¡ }| d¡ | ¡ }|  ¡  dd„ |D ƒ}t|ƒS )Nz/SELECT * FROM carousels ORDER BY sort_order ASCc                 S   s   g | ]}t |ƒ‘qS © )Údict)Ú.0Úrowr	   r	   ú>D:\Project\Python Project\BangBang\backend\routes\carousels.pyÚ
<listcomp>   s     zCregister_carousel_routes.<locals>.get_carousels.<locals>.<listcomp>)r   ÚcursorÚexecuteÚfetchallÚcloser   )Úconnr   ÚrowsÚitemsr	   r	   r   Úget_carousels   s    
z/register_carousel_routes.<locals>.get_carouselsÚPOSTc               
   S   s|   t j} |  d¡stdƒS tƒ }| ¡ }| d|  dd¡|  d¡|  dd¡|  dd	¡f¡ |j}| ¡  | 	¡  t
|d
dœƒS )NÚ	image_urlõ   å›¾ç‰‡åœ°å€ä¸èƒ½ä¸ºç©ºzx
            INSERT INTO carousels (page_type, image_url, link_url, sort_order)
            VALUES (?, ?, ?, ?)
        Ú	page_typeÚ	task_listÚlink_urlÚ Ú
sort_orderr   T)ÚidÚsuccess)r   ÚjsonÚgetr   r   r   r   Ú	lastrowidÚcommitr   r   )Údatar   r   Úcarousel_idr	   r	   r   Úcreate_carousel   s     



üý
z1register_carousel_routes.<locals>.create_carouselz /api/carousels/<int:carousel_id>ÚPUTc              
   S   sv   t j}| d¡stdƒS tƒ }| ¡ }| d| dd¡| d¡| dd¡| dd	¡| f¡ | ¡  | ¡  t	d
diƒS )Nr   r   z¾
            UPDATE carousels SET
                page_type = ?,
                image_url = ?,
                link_url = ?,
                sort_order = ?
            WHERE id = ?
        r   r   r   r   r   r   r    T)
r   r!   r"   r   r   r   r   r$   r   r   )r&   r%   r   r   r	   r	   r   Úupdate_carousel,   s     



ûùz1register_carousel_routes.<locals>.update_carouselÚDELETEc                 S   s:   t ƒ }| ¡ }| d| f¡ | ¡  | ¡  tdddœƒS )Nz"DELETE FROM carousels WHERE id = ?Tu   åˆ é™¤æˆåŠŸ)r    Úmessage)r   r   r   r$   r   r   )r&   r   r   r	   r	   r   Údelete_carouselJ   s    z1register_carousel_routes.<locals>.delete_carousel)Úrouter   )Úappr   r'   r)   r,   r	   r	   r   Úregister_carousel_routes   s    

r/   N)
Úflaskr   r   Zutils.databaser   Zutils.helpersr   Z
utils.authr   r/   r	   r	   r	   r   Ú<module>   s   