
    Uv6is	                        d Z ddlmZmZ ddlmZ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 dd	lmZ  e       Zej1                  d
eeef          ee       ee      fdede
dedeeef   fd       Zej7                  deeef          edd       ee      fdede
deeef   fd       Zej7                  d
eeef          eddd       edddd       ee      fdedede
deeef   fd        Zej?                  deeef          edd      d! ee      fdedede
deeef   fd"       Z ejC                  deeef          edd       ee      fdede
deeef   fd#       Z"y!)$z
Notes API router.
    )DictAny)	APIRouterDependsPathQuery)Session)get_db)get_current_user)
UserSchema)NoteCreateRequestSchemaNoteUpdateRequestSchema)servicesz/notes)response_modelpayloaddbcurrent_userreturnc                 l   K   t        j                  || |j                         d{   }|ddS 7 	w)z1Create a standalone note (not linked to product).)r   r   created_by_idNzNote created successfullydatamessage)note_servicescreate_noteid)r   r   r   notes       S/var/www/html/hwPaymentPortal-be-dev/hw-payment-portal-api/src/apps/notes/router.pyr   r      s8      **b'Q]Q`Q`aaD%@AA bs   &42
4z/notes/{note_id}.zNote ID)descriptionnote_idc                 V   K   t        j                  ||        d {   }|ddS 7 	w)Nr   r    zNote fetched successfullyr   )r   get_note_by_id)r    r   r   s      r   get_noter$      s/     
 --WEED%@AA Fs   )'
)zRecords to skip)ger         d   zMax records to return)r%   ler   skiplimitc                 X   K   t        j                  || |       d {   }|ddS 7 	w)N)r   r*   r+   zNotes fetched successfullyr   )r   
list_notes)r*   r+   r   notess       r   r-   r-   &   s1       **bt5IIE&BCC J   *(
*Nc                 X   K   t        j                  || |       d {   }|ddS 7 	w)N)r   	object_idr   zNote updated successfullyr   )r   update_note_by_id)r    r   r   r   s       r   update_noter3   0   s2      00B'SZ[[D%@AA \r/   c                 Z   K   t        j                  ||        d {   }d|iddS 7 w)Nr"   deletedzNote deleted successfullyr   )r   delete_note_by_id)r    r   r5   s      r   delete_noter7   :   s4     
 "33r7KKG(5PQQ Ls   +)+)#__doc__typingr   r   fastapir   r   r   r   sqlalchemy.ormr	   src.core.databaser
   src.apps.auth.utils.authr   "src.apps.users.schemas.user_commonr   src.apps.notes.schemas.commonr   r   src.apps.notesr   r   routerpoststrr   getintr$   r-   putr3   deleter7        r   <module>rJ      sN    3 3 " $ 5 9 Z 4	 Xd38n5 &/&'78B$BB B 
#s(^	B 6B tCH~>3&/BBB 
#s(^B ?B HT#s(^4aA+<=raC5LM&/D
DD 	D 
#s(^	D 5D tCH~>3'+&/BB$B 	B 
#s(^	B ?B !$sCx.A3&/RRR 
#s(^R BRrI   