
    j_                        d dl mZ 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  ee                                          j        d         Zed
z  ZdddZ e            ZdS )    )annotations)FastAPIHTTPExceptionQuery)CORSMiddleware)FileResponse)StaticFiles)Path   )PostgresRepository)DashboardServicestaticNserviceDashboardService | Nonereturnr   c                   | pt          t                                }t          dd          |j        _                            t          dgdgdg                               d          d             }                    d	          fd
            }                    d          t          dd          t          d d          fdfd            }t          
                                rV                    dt          t          t                              d                               d          d             }S )Nu   良渚电商数据看板 APIz0.1.0)titleversion*GET)allow_originsallow_methodsallow_headersz/api/healthc                     dddS )NTzliangzhu-dashboard)okr    r       o   /Users/bot1/Volumes/root_for_ai/AI工作区/良渚_电商数据看板_前后端分离_20260602_0257/app/main.pyhealthzcreate_app.<locals>.health   s    ';<<<r   z	/api/metac                 @     j         j                                        S N)statedashboard_servicemeta)apps   r   r$   zcreate_app.<locals>.meta   s    y*//111r   z/api/dashboarddayz^(day|week|month)$)patternz
YYYY-MM-DD)descriptiongrainstrdate
str | Nonec                    	 j         j                            | |          S # t          $ r$}t	          dt          |                    |d }~ww xY w)Ni  )status_codedetail)r"   r#   	dashboard
ValueErrorr   r*   )r)   r+   excr%   s      r   r0   zcreate_app.<locals>.dashboard#   sb    
	K9.88EEE 	K 	K 	KCCAAAsJ	Ks   # 
AAAz/static)	directoryr   )name/c                 0    t          t          dz            S )Nz
index.html)r   
STATIC_DIRr   r   r   indexzcreate_app.<locals>.index0   s    
\ 9:::r   )r)   r*   r+   r,   )r   r   r   r"   r#   add_middlewarer   getr   r7   existsmountr	   r*   )r   svcr   r$   r0   r8   r%   s         @r   
create_appr>      s   

;%&8&:&:;;C
6
H
H
HC"%CIege	     	WW]= = = 	WW[2 2 2 2 2 	WW5*>??? <@@@K K K K K K K  ;		)[3z??CCC(	SSS		; 	; 
	; Jr   r!   )r   r   r   r   )
__future__r   fastapir   r   r   fastapi.middleware.corsr   fastapi.responsesr   fastapi.staticfilesr	   pathlibr
   
repositoryr   r   r   __file__resolveparentsBASE_DIRr7   r>   r%   r   r   r   <module>rJ      s    " " " " " " 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 * * * * * * + + + + + +       * * * * * * % % % % % %4>>!!##+A. 
$ $ $ $ $N jllr   