o
    0=g&                     @   s   d dl mZ ddlmZmZ d dlmZmZmZ ddl	m
Z
mZ d dlmZ d dlmZmZmZ d dlmZ d d	lmZ ed
 ZG dd deZG dd deZdS )    )APIView   )TermTypeTerms)success_responsefailed_responsegenerate_random_text)TermTypeSerializerTermsSerializer)status)validate_required_paramsvalidateValidationError)record)logger_settingsmsgc                   @   4   e Zd Zd
ddZdddZd
ddZd
dd	ZdS )TermTypeCRUDViewNc              
   C   s$  t d}td| dtd  d zB|r4tjj|d}t|}td| dtd  d t|jd	d
W S tj	 }t|dd}td| dtd  d t|jdd
W S  tj
yl   td| d tdtjd Y S  ty } ztd| dt| d tdtjdW  Y d }~S d }~ww )N   info: startedz' - TermTypeCRUDView GET request startedpk	completedz# - Term Type retrieved successfullyz Term Type retrieved successfullydatar   Tmanyz$ - Term Types retrieved successfullyz!Term Types retrieved successfullywarnz: Term Type not foundTerm Type not foundr   codeerrorz7 - Unexpected error occurred during Term Type retrievalAn unexpected error occurred)r   r   log_msgr   objectsgetr	   r   r   allDoesNotExistr   r   HTTP_404_NOT_FOUND	ExceptionstrHTTP_500_INTERNAL_SERVER_ERROR)selfrequestr   formatprocess_codelisting_term_type
serializere r5   */var/www/html/django-vendor/terms/views.pyr'      (   
zTermTypeCRUDView.getc              
   C      t d}td| dtd  d z8t|jd}| r5|  td| dtd  d t|jd	d
W S td| d|j d t	|jt
jdW S  tyo } ztd| dt| d t	dt
jdW  Y d }~S d }~ww )Nr   r   r   r   z( - TermTypeCRUDView POST request startedr   r   z! - Term Type created successfullyzTerm Type created successfullyr   r   z. - Validation errors during Term Type creationr!   r#   z6 - Unexpected error occurred during Term Type creationr$   )r   r   r%   r	   r   is_validsaver   errorsr   r   HTTP_400_BAD_REQUESTr+   r,   r-   r.   r/   r0   r1   r3   r4   r5   r5   r6   post%      zTermTypeCRUDView.postc              
   C   sD  t d}td| dtd  d zRt|dg td|jdddg tjj|d	}t	||jd
}|
 rO|  td| dtd  d t|jddW S td| d|j d t|jtjdW S  tjy|   td| d tdtjd Y S  ty } ztd| dt| d tdtjdW  Y d }~S d }~ww )Nr   r   r   r   z' - TermTypeCRUDView PUT request startedtitle ztitle:max:25r   r9   r   z! - Term Type updated successfullyzTerm Type updated successfullyr   r   z, - Validation errors during Term Type updater!   z : Term Type not found for updater    r#   z4 - Unexpected error occurred during Term Type updater$   )r   r   r%   r   r   r   r'   r   r&   r	   r:   r;   r   r<   r   r   r=   r)   r*   r+   r,   r-   )r.   r/   r   r0   r1   	term_typer3   r4   r5   r5   r6   put7   s*   zTermTypeCRUDView.putc              
   C      t d}td| dtd  d ztjj|d}|  td| dtd  d td	d
W S  tjyH   td| d t	dt
jd Y S  tym } ztd| dt| d t	dt
jdW  Y d }~S d }~ww )Nr   r   r   r   z* - TermTypeCRUDView DELETE request startedr   r   z! - Term Type deleted successfullyzTerm Type deleted successfullyr   r   z": Term Type not found for deletionr    r!   r#   z6 - Unexpected error occurred during Term Type deletionr$   )r   r   r%   r   r&   r'   deleter   r)   r   r   r*   r+   r,   r-   )r.   r/   r   r0   r1   rC   r4   r5   r5   r6   rG   P      zTermTypeCRUDView.deleteNNN__name__
__module____qualname__r'   r?   rD   rG   r5   r5   r5   r6   r      s
    


r   c                   @   r   )TermsCRUDViewNc           	   
   C   s$  t d}td| dtd  d zB|r4tjj|d}t|}td| dtd  d t|jd	d
W S tj	 }t|dd}td| dtd  d t|jdd
W S  tj
yl   td| d tdtjd Y S  ty } ztd| dt| d tdtjdW  Y d }~S d }~ww )Nr   r   r   r   z$ - TermsCRUDView GET request startedr   r   z - Term retrieved successfullyzTerm retrieved successfullyr   Tr   z - Terms retrieved successfullyzTerms retrieved successfullyr   z: Term not foundTerm not foundr!   r#   z3 - Unexpected error occurred during Terms retrievalr$   )r   r   r%   r   r&   r'   r
   r   r   r(   r)   r   r   r*   r+   r,   r-   )	r.   r/   r   r0   r1   termr3   termsr4   r5   r5   r6   r'   e   r7   zTermsCRUDView.getc              
   C   r8   )Nr   r   r   r   z% - TermsCRUDView POST request startedr9   r   z - Term created successfullyzTerm created successfullyr   r   z) - Validation errors during Term creationr!   r#   z1 - Unexpected error occurred during Term creationr$   )r   r   r%   r
   r   r:   r;   r   r<   r   r   r=   r+   r,   r-   r>   r5   r5   r6   r?   }   r@   zTermsCRUDView.postc              
   C   sF  t d}td| dtd  d zSt|ddg td|jddd	g tjj|d
}t	||jd}|
 rP|  td| dtd  d t|jddW S td| d|j d t|jtjdW S  tjy}   td| d tdtjd Y S  ty } ztd| dt| d tdtjdW  Y d }~S d }~ww )Nr   r   r   r   z$ - TermsCRUDView PUT request startedrA   rC   rB   ztitle:max:100r   r9   r   z - Term updated successfullyzTerm updated successfullyr   r   z' - Validation errors during Term updater!   z: Term not found for updaterP   r#   z/ - Unexpected error occurred during Term updater$   )r   r   r%   r   r   r   r'   r   r&   r
   r:   r;   r   r<   r   r   r=   r)   r*   r+   r,   r-   )r.   r/   r   r0   r1   rQ   r3   r4   r5   r5   r6   rD      s*   zTermsCRUDView.putc              
   C   rE   )Nr   r   r   r   z' - TermsCRUDView DELETE request startedr   r   z - Term deleted successfullyzTerm deleted successfullyrF   r   z: Term not found for deletionrP   r!   r#   z1 - Unexpected error occurred during Term deletionr$   )r   r   r%   r   r&   r'   rG   r   r)   r   r   r*   r+   r,   r-   )r.   r/   r   r0   r1   rQ   r4   r5   r5   r6   rG      rH   zTermsCRUDView.deleterI   rJ   rK   r5   r5   r5   r6   rO   c   s
    


rO   N)rest_framework.viewsr   modelsr   r   utils.helperr   r   r   serializersr	   r
   rest_frameworkr   utils.validationr   r   r   utils.loggerr   
utils.datar   r%   r   rO   r5   r5   r5   r6   <module>   s    W