
    V
h                        S SK JrJrJrJrJr  S SKJrJr  S SK	J
r
  S SKJr  S SKJrJr  S SKJrJrJr  \" 5       r\R+                  S\S9\" \
R,                  5      \" \5      4S	\S
\
R.                  4S jj5       r\R3                  S\\   S9\" S S S9\" SSS9\" SSS9\" SSS9\" \
R,                  5      \" \5      4S\S\S\\   S\\   S
\
R.                  4
S jj5       rg)    )	APIRouterDependsHTTPExceptionQueryPath)OptionalList)database)get_current_userdetails)AuditLogAuditLogCreate)create_audit_log_servicelist_audit_logs_servicelist_global_audit_logs_service/)response_model	audit_logdbc                    #     [        X5      I Sh  vN nU$  N! [         a  n[        SS[        U5       3S9eSnAff = f7f)zP
Create a new audit log record.
Typically called internally after user actions.
N  zAudit log creation failed: status_codedetail)r   	Exceptionr   str)r   r   current_usernew_loges        GC:\Suresh\moveshuttle\MDcreated\moveengine\app\v1\routers\saas\audit.pycreate_audit_logr       sQ     \0?? @ \6QRUVWRXQY4Z[[\s.   A  A 
A ;A  A)ge
      NzFilter logs by account_id)descriptionzFilter logs by user_idskiplimit
account_iduser_idc                    #     U(       d  U(       a  [        XX#U5      I Sh  vN nU$ [        XU5      I Sh  vN nU$  N N! [         a  n[        SS[	        U5       3S9eSnAff = f7f)z
Retrieve a paginated list of audit logs.
If filters are provided (account_id or user_id), returns filtered logs;
otherwise, returns all (global) audit logs.
Nr   zFailed to list audit logs: r   )r   r   r   r   r   )r%   r&   r'   r(   r   r   logsr   s           r   list_audit_logsr+      sv     \0jSUVVD  8RHHD WH \6QRUVWRXQY4Z[[\sO   A+A ?A A+A AA A+A A 
A(A##A((A+)fastapir   r   r   r   r   typingr   r	   app.dbr
   app.v1.dependencies.authr   app.v1.models.saas.auditmodelr   r   app.v1.services.saas.auditr   r   r   routerpostget_mongo_dbMongoDBr    getintr   r+        r   <module>r:      s#   B B !  < B  
S* #8#8#8923\\\ +\ CX/aAra %d8S T"45MN"8#8#8923\
\\ \ c]	\
 	\ 0\r9   