
    6ip              
       X   d dl mZ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 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*m+Z+ d d
l(m,Z,m-Z- d dl.mZ/m0Z0 d dl1m2Z2 d dl.m3Z3 d dl4mZ5 d dl6mZ7 d dl8mZ9 d dl:m;Z< d dl=m>Z> d dl?m@Z@ d dlAmBZB d dlCmDZD d dlEmFZF d dlGmHZH d dlImJZJ d dlKmLZL d dlMmNZN d dlOZOd dlPZP edddddddd dd!d"dg#      ZQeQj                  e      d$ed%efd&       ZSeQj                  eg d'd(d)gd)g*       eQj                  d+ ed,-      d./       eQj                  d0      d1        ZWeQj                  ed2d3g4       eQj                  ed5d3g4       eQj                  ed6d7g4       eQj                  ed8d9g4       eQj                  ed:d;g4       eQj                  ed<d;g4       eQj                  ed=d>g4       eQj                  ed=d?g4       eQj                  ed@dAg4       eQj                  edBdCg4       eQj                  ed;gD       eQj                  e!dEgD       eQj                  e%dFdGg4       eQj                  e#dHgD       eQj                  e'dIgD       eQj                  e)dJgD       eQj                  e*dKgD       eQj                  e,dLgD       eQj                  e-dMgD       eQj                  e/       eQj                  e0       eQj                  e3       eQj                  e2dNgD       eQj                  e+dOgD       eQj                  e5dPgD       eQj                  e7dQdg4       eQj                  e9d!gD       eQj                  e<dRS       y)T    )FastAPIDependsRequestHTTPException)StaticFiles)CORSMiddleware)JSONResponse)router)bright_data_router)feedback_router)sentiment_router)post_type_routerget_url_information)post_type_configgenerate_content_router)r
   connected_router)vector_db_router)fb_auth_router)main_router)get_pusher_client)
start_cron)start_analytics_cron)products_fetch_cron)daily_sales_cron)service_level_cron)inventory_snapshot_cron)slow_movers_cron)inventory_planning_cronNzMy APIz)API documentation with JWT Authenticationz1.0AuthzAuthentication endpoints)namedescriptionzLLM PERSONA ANALYSISz0Azure LLM-powered store brand persona generationzHW GPTzAAzure LLM-powered chatbot with thread management and chat history)titler!   versionopenapi_tagsrequestexcc                    K   t        |j                  t              r|j                  ndt        |j                        g d}t	        |j
                  |      S w)NF)successmessagedata)status_codecontent)
isinstancedetaildictstrr	   r+   )r%   r&   r.   s      '/var/www/html/hubwallet-dev/src/main.pycustom_http_exception_handlerr2   A   sK     %cjj$7SZZszz?>F
 OO s   AA)*zhttp://localhost:3000zhttp://localhost:5173z)https://sentiment-hb-ui.dreamztesting.comz+https://hubwalletmenu-dev.dreamztesting.comTr3   )allow_originsallow_credentialsallow_methodsallow_headersz/staticz!./src/menu_design/designer/static)	directorystatic)r    startupc                      t                t                t                t                t	                t                t                y )N)r   r   r   r   r   r   r        r1   startup_eventr>   b   s-    L r=   z/authAUTH)prefixtagsz/usersz/storeszSTORE MANAGEMENTz/datasourcezDATASOURCE ADDz/mock_routerzInternal APIz/webhookz	/feedbackzSENTIMENT ANALYSISz7DETAILED ANALYSIS OF REVIEWS, RATINGS, WORDS AND TOPICSz/chatzCHATBOT OUTPUTz/recommendationzRECOMMENDATION OUTPUT)rA   zMenu Designz	/projectsPROJECTS
Editor_APIzCALENDAR MANAGEMENTzPOST MANAGEMENTzPOST TYPE MANAGEMENTz"POST TYPE CONFIGURATION MANAGEMENTzGENERATE CONTENT MANAGEMENTzVECTOR DB COLLECTIONzGET URL INFORMATIONzTWITTER ANALYTICSz/personaz/smart-inventory)r@   )Yfastapir   r   r   r   fastapi.staticfilesr   fastapi.middleware.corsr   fastapi.responsesr	   src.apps.auth.routerr
   auth_routersrc.apps.users.routeruser_routersrc.apps.datasource.routerdatasource_routersrc.apps.stores.routersrc.mock_bright_data_api.routermock_apir   bright_data_webhook_routersrc.apps.feedback.routerwebhook_routerr   src.apps.sentiment.routerr   src.apps.chatbot.chat_outputchat_routersrc.apps.recommendations.routerrecommendation_router#src.menu_design.apps.AI_chat.routermenu_design_router"src.menu_design.apps.editor.routereditor_api_router$src.menu_design.apps.projects.routerprojects_router"src.marketing.apps.Calendar.routercalendar_routersrc.marketing.apps.post.routerpost_routerr   r   r   r   !src.marketing.apps.Account.routeraccount_routerr   )src.marketing.vector_db_collection.routerr   r   #src.marketing.apps.Analytics.routeranalytics_router!src.marketing.apps.persona.routerpersona_routersrc.marketing.apps.hwGpt.routerhw_gpt_routersrc.smart_inventory.routerr   smart_inventory_routersrc.utils.pusher_configr   src.marketing.apps.post.cronr   !src.marketing.apps.Analytics.cronr   ,src.smart_inventory.jobs.products_fetch_cronr   )src.smart_inventory.jobs.daily_sales_cronr   +src.smart_inventory.jobs.service_level_cronr   0src.smart_inventory.jobs.inventory_snapshot_cronr   )src.smart_inventory.jobs.slow_movers_cronr   0src.smart_inventory.jobs.inventory_planning_cronr   asyncioosappexception_handlerr2   add_middlewaremounton_eventr>   include_routerr<   r=   r1   <module>r      s   < < + 2 * 6 7 B ) > \ = G J > K L J J H @ O S W F N J F C L 5 4 B L F J T F T  	 
;(BC'8jk*mn		  }%	 	} 	 &	     b%%   		=>	 
  i
 
   ;wfX  >   ;xvh  ?   6)3E2F  G   $]AQ@R  S   8N.9I  J   >*N;K  L   ?;>R=S  T   #K?x>y  z   ;w6F5G  H   (1BJaIb  c   -^4D  E   %]O  <   ?;j\  J   $L>  :   ?*?)@  A   ;&7%8  9   #+A*B  C   #+O*P  Q   *2O1P  Q   > "   # $   > "   #*@)A  B   &.C-D  E   #+>*?  @   >*<R;S  T   =z  2   )2D  Er=   