
    \Fe                         d dl mZmZmZ d dlmZ d dlZd dlZd dlZd dl	Z	d dl
m
Z
mZ ddlmZmZmZmZmZ  eddgd	d
dii      Z e       Zd Zej+                  d      dedefd       Zy)    )	APIRouterRequestHTTPException)uuid4N)datetime	timedelta   )MONGODB_DATABASEmongodb_connectget_user_subcheck_accessis_adminz/adminadmin  descriptionz	Not found)prefixtags	responsesc                     | d   d   | d   d   | d   d   | d   d   | d   d   d| d   d   | d	   | d
   | d   | d   || d   d   | d   d   dd	}|S )Nsummary_infosPROPERTY_NAMEADDRESS_LINE1CITY2COUNTRY_CODEZIP_CODE)line1citycountryzip_codePHONEr   imageroom_imagesroom_descriptionLATITUDE	LONGITUDE)latlong)	nameaddressphoner   imagesr"   r#   codegps )hotelr,   formated_hotels      OC:\Users\ChattiNader\Documents\EpsilonGroupe\api-vastappli\app\routers\admin.pyformat_hotelr2      s    o&7?+O</*73_-n=o.z:	
 '0]+.]+!"45)*5/*;7
N&     z/manual_hotel_datarequestamadeus_property_codec           
      L  K   | j                   d   j                  d      d   }t        |d       t        |      st	        dd      |st	        dd	      t
        t           d
   j                  d|idddd      }|rt	        dd|d          t               }t
        t           d
   j                  t        |      |d       t        j                  d      dz   }t        j                         t        d      z   }|j!                  d      }|t        d      z   j!                  d      }t#        j$                  ||ddt'        j(                  |||dd            }	|	j*                  dk(  r%t	        |	j*                  |	j'                               |	j'                         }
t-        |
d   |      }t        |      |d<   	 t
        t           d   j                  |       dd|d    diS # t.        j0                  j2                  $ r}t	        d d!|       d"}~ww xY ww)#z
        Create a hotel in database manually with a amadeus property code.

        Parameters:

            - amadeus_property_code: str

        Returns:

            - message: str
    authorization    GetExploreHotelListi  zYou are not an admin.)status_codedetaili  z)You must provide a amadeus property code.refactor_hotelsamadeusr   )_idr>   subzThis hotel already exist : r@   )r@   r>   AMADEUS_API_URLz/amadeus/descriptive_info-   )daysz%Y-%m-%dzapplication/json)AuthorizationzContent-Type)startend)	HotelCodeAvailabilityDates)headersdatar   messagehotels_datazHotel z	 created.i  zError while inserting hotel: N)rI   splitr   r   r   mongodb_clientr
   find_oner   
insert_onestrosgetenvr   todayr   strftimerequestspostjsondumpsr;   r2   pymongoerrorsOperationFailure)r4   r5   
auth_tokenalready_existr@   urlrT   rE   rF   rinformations_responser0   e3s                r1   manual_hotel_datarc   )   s,     177<Q?J23J4KLL 4_``"#345FGPP(RQq)+M 6QR_`eRfQg4hiig'():;FFs8,H
 	
 ii)*-HH 9"#55z*ya((22:>MM!+ 2 !6!&"*
" ==C'AMM!&&(SS !%&;I&FH]^ #Cu	^+,];FF~Vu(='>iHII~~.. 	^C:WXZW[8\]]	^s*   GH$)G/ .H$/H!HH!!H$)fastapir   r   r   uuidr   rR   rV   rZ   rX   r   r   utilsr
   r   r   r   r   routerrN   r2   rW   rQ   rc   r.   r3   r1   <module>rh      s    5 5  	    ( [ [	
]K01
 !", !"=^W =^S =^ #=^r3   