
    6h                        d dl mZmZ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 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  ede      Zej3                  ddg      ed               Zej3                  ddg      ed               Zy)    )	Blueprintrequestjsonify)Course)SubExam)VideoCourseSubject)Ebook)MockTest)	OldPapers)UserCoursePurchase)datetime)ObjectId)jwt_requiredcoursesz&/get_courses_list/<string:sub_exam_id>GET)methodsc                    	 t        j                  |       st        ddg d      dfS t        j                  | d      j                  d      }|st        ddg d      d	fS g }|D ]   }t        j                  |j                  d
      j                         }t        j                  |j                  d
      j                         }t        j                  |j                  d
      j                         }t        j                  |j                  d
      j                         }|j                  t        |j                        |j                  |j                  |j                   |j"                  |j$                  ||||d
       # t        dd|d      dfS # t&        $ r'}t        ddt        |       g d      dfcY d }~S d }~ww xY w)NfalsezInvalid sub-exam IDstatusmessagedata     )sub_exam_idr   positionz"No courses found for this sub-exam  	course_idr   )
idnamefeediscounted_feedurationiconvideo_countebook_countmock_test_countold_papers_counttruez!Courses list fetched successfully   An error occurred:   )r   is_validr   r   objectsorder_byr   r    countr	   r
   r   appendstrcourse_title
course_feer#   r$   course_image	Exception)	r   r   resultcourser&   r'   r(   r)   es	            */var/www/html/eduruby.in/routes/courses.pyget_courses_listr<      s   /  -!0  	  ..[CLLZX!?  	   	F,44vyyQRSYY[K--&))AFLLNK&..1MSSUO(00699QOUUWMM&))n++(("("7"7"OO++**#2$4 	$ :
  	 	  ,SVH5
  	 	s)   %F 8F !D8F 	G
#G?G
G
z/get_course_detailsPOSTc                     	 t        t        dd       } | st        ddd      dfS t        j                         }|j	                  d      }|rt        j                  |      st        ddi d	      d
fS t        j                  |d      j                         }|st        ddi d	      dfS t        j                  |j                  d      j                         }t        j                  |j                  d      j                         }t        j                  |j                  d      j                         }t        j                  |j                  d      j                         }|j!                         }||d<   ||d<   ||d<   ||d<   d}	d}
| rt#        j                  t        |       |j                  d      j%                  d      j                         }|rJd}	|j&                  }|j(                  r0t+        j,                         |j(                  z
  j.                  |kD  rd}
|	|d<   |
|d<   t        dd|d	      dfS # t0        $ r'}t        ddt3        |       i d	      dfcY d }~S d }~ww xY w)Nuser_idFzInvalid user id)r   r   i  r   r   zInvalid or missing course IDr   r   r   )r    r   zCourse not foundr   r   r&   r'   r(   r)   r   )r?   r   r   z-purchase_dateis_purchased
is_expiredr*   z#Course details fetched successfullyr+   r,   r-   )getattrr   r   get_jsongetr   r.   r   r/   firstr   r    r1   r	   r
   r   to_jsonr   r0   r$   purchase_dater   utcnowdaysr7   r3   )r?   r   r   r9   r&   r'   r(   r)   course_jsonr@   rA   purchaseexpiry_daysr:   s                 r;   get_course_detailsrM   C   s{   A'9d3e8IJKSPP!HH[)	 1 1) <!9  	  9Q7==?!-  	  )00699QOUUWmmfiiBHHJ"**VYYqIOOQ$,,vyyKQQSnn&%0M"%0M")8%&*:&' 
)11 ) )) h'(	 
  $oo))x/@8CYCY/Y._._bm.m!"J&2N#$.L! <
  	 	  ,SVH5
  	 	s0   "H? AH? 27H? *FH? ?	I/I*$I/*I/N)flaskr   r   r   models.courser   models.sub_examr   models.video_courses_modelr   models.ebooks_modelr	   models.mock_test_modelr
   models.old_papers_modelr   #models.user_course_purchase_historyr   r   bsonr   utils.jwt_servicer   __name__
courses_bprouter<   rM        r;   <module>r]      s    - -   # 9 % + - B   *y(+
:UGL0  M0d '&:B  ;Br\   