
    ڬf	                         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	m
Z
 d dlmZ d dlmZ ed	   Z G d
 dej                         Z G d dej                         Zy)    )generics   )
Newsletter)NewsletterSerializer)status)success_responsefailed_responsegenerate_random_text)record)logger_settingsmsgc                   V     e Zd Zej                  j                         ZeZ fdZ	 xZ
S )NewsletterCreateViewc                 ~   t        d      }t        d| dt        d    d       	 t        |   |g|i |}t        d| dt        d    d       t        |j                  d	      S # t        $ rI}t        d
| dt        d
    dt        |              t        dt        j                        cY d }~S d }~ww xY w)N   info: startedz& - Newsletter creation process started	completedz" - Newsletter created successfullyzNewsletter created successfullydatar   error! - An unexpected error occurred: z;An unexpected error occurred while creating the newsletter.r   code)r
   r   log_msgsupercreater   r   	Exceptionstrr	   r   HTTP_500_INTERNAL_SERVER_ERROR)selfrequestargskwargsprocess_coderesponsee	__class__s          5D:\SB Projects\Vendor-App\main-backend\utils\views.pyr   zNewsletterCreateView.create   s    +A.v,r')*<)==cde	Rw~g???H6l^2gk.B-CCefg#<]^^ 	R7|nBww/?.@@abefgbhaijk"'dkq  lQ  lQ  R  R	Rs   AA* *	B<3>B71B<7B<)__name__
__module____qualname__r   objectsallquerysetr   serializer_classr   __classcell__)r)   s   @r*   r   r      s)    !!%%'H+
R 
R    r   c                   J    e Zd Zej                  j                         ZeZd Z	y)NewsletterSubscribeViewc                 b   t        d      }t        d| dt        d    d       	 | j                  |j                        }|j                         r@|j                          t        d| dt        d    d       t        |j                  d	
      S t        d| dt        d    d|j                          t        |j                  t        j                        S # t        $ rI}t        d| dt        d    dt        |              t        dt        j                        cY d }~S d }~ww xY w)Nr   r   r   r   z* - Newsletter subscription process started)r   r   z, - Successfully subscribed to the newsletterz*Successfully subscribed to the newsletter.r   warnvalidation_failedz - Validation errors: r   r   r   zAAn unexpected error occurred while subscribing to the newsletter.)r
   r   r   get_serializerr   is_validsaver   errorsr	   r   HTTP_400_BAD_REQUESTr   r    r!   )r"   r#   r$   r%   r&   
serializerr(   s          r*   r   zNewsletterSubscribeView.create%   s0   +A.v,r')*<)==ghi	X,,',,,?J""$!v,r'+2F1GGstu'Z__Bnoov,r':M2N1OOefpfwfwexyz&:+<+<6C^C^__ 	X7|nBww/?.@@abefgbhaijk"'jqw  rW  rW  X  X	Xs%   A+C A	C 	D.%>D)#D.)D.N)
r+   r,   r-   r   r.   r/   r0   r   r1   r    r3   r*   r5   r5   !   s"    !!%%'H+Xr3   r5   N)rest_frameworkr   modelsr   serializersr   r   utils.helperr   r	   r
   utils.loggerr   
utils.datar   r   CreateAPIViewr   r5   r?   r3   r*   <module>rG      sQ    #  - ! Q Q  & 	R811 R"Xh44 Xr3   