
    <i                     Z   S SK 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  S SKJr  SS	KJrJrJrJr  SS
KJrJrJrJr   " S S\R6                  5      r " S S\R6                  5      r " S S\R6                  5      r " S S\R6                  5      r\" S/5      S 5       r g)    )viewsetsstatus)api_viewpermission_classes)Response)Token)IsAuthenticatedAllowAny)authenticate)User   )CircularGalleryLeaderNotification)CircularSerializerGallerySerializerLeaderSerializerNotificationSerializerc                   ~    \ rS rSr\R
                  R                  5       R                  S5      r\	r
SS/rS/rS rSrg)	CircularViewSet   -created_attitledescription
created_atc                 N    U R                   S;   a  [        5       /$ [        5       /$ N)createupdatepartial_updatedestroyactionr	   r
   selfs    7C:\sksbv-state-backend\sksbv-state-backend\api\views.pyget_permissionsCircularViewSet.get_permissions   %    ;;KK#%&&
|     N)__name__
__module____qualname____firstlineno__r   objectsallorder_byquerysetr   serializer_classsearch_fieldsfilterset_fieldsr(   __static_attributes__r,   r+   r'   r   r      s>    ##%..}=H)m,M$~r+   r   c                   v    \ rS rSr\R
                  R                  5       R                  S5      r\	r
S/rS rSrg)GalleryViewSet   r   r   c                 N    U R                   S;   a  [        5       /$ [        5       /$ r   r#   r%   s    r'   r(   GalleryViewSet.get_permissions   r*   r+   r,   N)r-   r.   r/   r0   r   r1   r2   r3   r4   r   r5   r6   r(   r8   r,   r+   r'   r:   r:      s1    ""$--m<H(IMr+   r:   c                   `    \ rS rSr\R
                  R                  5       r\r	SS/r
S/rS rSrg)LeaderViewSet    namedesignationc                 N    U R                   S;   a  [        5       /$ [        5       /$ r   r#   r%   s    r'   r(   LeaderViewSet.get_permissions&   r*   r+   r,   N)r-   r.   r/   r0   r   r1   r2   r4   r   r5   r6   r7   r(   r8   r,   r+   r'   r?   r?       s1    ~~!!#H']+M%r+   r?   c                   ~    \ rS rSr\R
                  R                  5       R                  S5      r\	r
SS/rS/rS rSrg)	NotificationViewSet+   r   r   messager   c                 N    U R                   S;   a  [        5       /$ [        5       /$ r   r#   r%   s    r'   r(   #NotificationViewSet.get_permissions1   r*   r+   r,   N)r-   r.   r/   r0   r   r1   r2   r3   r4   r   r5   r6   r7   r(   r8   r,   r+   r'   rF   rF   +   s>    ##'')22=AH-i(M$~r+   rF   POSTc           	         U R                   R                  S5      nU R                   R                  S5      nU(       a  U(       d  [        SS0[        R                  S9$ [        XS9nUb|  [        R                  R                  US9u  pE[        UR                  UR                  UR                  UR                  UR                  UR                  S.S	.[        R                  S9$ [        SS
0[        R                   S9$ )z
Login endpoint for admin authentication.
Expects: {"username": "admin", "password": "admin123456"}
Returns: {"token": "YOUR_TOKEN_HERE", "user": {"id": 1, "username": "admin", "email": "admin@example.com"}}
usernamepassworderrorz"Username and password are required)r   )rM   rN   )user)idrM   emailis_staffis_superuser)tokenrP   zInvalid username or password)datagetr   r   HTTP_400_BAD_REQUESTr   r   r1   get_or_createkeyrQ   rM   rR   rS   rT   HTTP_200_OKHTTP_401_UNAUTHORIZED)requestrM   rN   rP   rU   createds         r'   loginr_   6   s     ||
+H||
+H89
--/ 	/ =D44$4?YYgg MM MM $ 1 1	
 $$	& 		& 3
..0 	0r+   N)!rest_frameworkr   r   rest_framework.decoratorsr   r   rest_framework.responser   rest_framework.authtoken.modelsr   rest_framework.permissionsr	   r
   django.contrib.authr   django.contrib.auth.modelsr   modelsr   r   r   r   serializersr   r   r   r   ModelViewSetr   r:   r?   rF   r_   r,   r+   r'   <module>rj      s    + B , 1 @ , + ; ; h h	h++ 	X** 	H)) 		(// 	 
6(0 0r+   