
    }i              
          d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZmZ d dlmZ  edd	g
      Zej'                  dee          ee	      fdefd       Zej+                  de       ee	       ee      fdededefd       Zej1                  de       ee	       ee      fdedededefd       Zej7                  d       ee	       ee      fdededefd       Zy)    )	APIRouterDependsHTTPException)Session)List)get_db)Area)
AreaCreate
AreaUpdateAreaResponse)require_pengurusz
/api/areasAreas)prefixtags/)response_modeldbc                     | j                  t              j                  t        j                  dk(        j	                  t        j
                  t        j                        j                         S )NT)queryr	   filter	is_activeorder_by
sort_orderidall)r   s    1/var/www/html/asim.com/backend/app/routes/area.pyget_allr      sE    88D>  4!78AA$//SWSZSZ[__aa    data_c                     t        di | j                         }|j                  |       	 |j                          |j	                  |       |S # t
        $ r |j                          t        dd      w xY w)N  zGagal menyimpan area barustatus_codedetail )r	   
model_dumpaddcommitrefresh	Exceptionrollbackr   )r   r   r    areas       r   creater.      sm    $$//#$DFF4LQ
		


4 K  Q
4OPPQs   !A 'A6z
/{area_id}area_idc                    |j                  t              j                  t        j                  | k(        j	                         }|st        dd      |j                  d      j                         D ]  \  }}t        |||        	 |j                          |j                  |       |S # t        $ r |j                          t        dd      w xY w)N  Area tidak ditemukanr#   T)exclude_unsetr"   zGagal memperbarui data area)r   r	   r   r   firstr   r'   itemssetattrr)   r*   r+   r,   )r/   r   r   r    r-   keyvalues          r   updater9      s    88D>  G!34::<D4JKKooDo9??A
Uc5! BS
		


4 K  S
4QRRSs   	!B, ,'Cc                 F   |j                  t              j                  t        j                  | k(        j	                         }|st        dd      |j                  |       	 |j                          ddiS # t        $ r |j                          t        dd      w xY w)Nr1   r2   r#   r"   zGagal menghapus areamessagezArea dihapus)
r   r	   r   r   r4   r   deleter)   r+   r,   )r/   r   r    r-   s       r   r<   r<   .   s    88D>  G!34::<D4JKKIIdOL
		 ~&&  L
4JKKLs   %A9 9'B N)fastapir   r   r   sqlalchemy.ormr   typingr   app.databaser   app.models.arear	   app.schemas.arear
   r   r   app.core.securityr   routergetr   postobjectr.   putintr9   r<   r&   r   r   <module>rJ      s8   5 5 "     A A .	,gY	7 C\ 23!&/ b b 4b S.+26?P`Ha 	 	 	v 	 /	 L69@V]^nVo C z w V  7 |'.vGL\D] 
'C 
'W 
'6 
' 
'r   