o
    di                     @   s\   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
 d dlmZ G dd deZd	S )
    status)IsAdminUser)Response)models)StationRejectionSerializer)BaseModelViewSetc                   @   s2   e Zd ZdZefZeZej	j
 ZdZdd ZdS )RejectedStationModelAPIViewz
    A viewset for managing rejected stations.

    This viewset allows administrators to list, create, and delete rejected stations.
    )getpostdeletec                 O   sl   | j |jd}|jdd |jd}tjjj|d r&t	ddit
jdS |j| jjd	 t	|jt
jdS )
a?  
        Create a new rejected station record.

        Args:
            request: The HTTP request object.
            *args: Additional positional arguments.
            **kwargs: Additional keyword arguments.

        Returns:
            Response: JSON response containing serialized rejected station data.
        )dataT)raise_exceptionstation)r   messagezStation already rejectedr   )user)get_serializerr   is_validr
   station_modelRejectedStationsobjectsfilterexistsr   r   HTTP_400_BAD_REQUESTsaverequestr   HTTP_201_CREATED)selfr   argskwargs
serializer
station_id r"   e/var/www/html/evchargy.com/django-station-ev/station_ev/apps/station/views/station_rejection_views.pycreate   s   z"RejectedStationModelAPIView.createN)__name__
__module____qualname____doc__r   permission_classesr   serializer_classr   r   r   allquerysethttp_method_namesr$   r"   r"   r"   r#   r	      s    r	   N)rest_frameworkr   Zrest_framework.permissionsr   rest_framework.responser   Zapps.stationr   r   Z6apps.station.serializers.station_rejection_serializersr   
base.viewsr   r	   r"   r"   r"   r#   <module>   s    