
    Ii                         d dl mZmZmZmZ d dlmZ d dlmZ  ede	d      Z
e
j                  d      ed               Ze
j                  d	      ed
               Zy)    )	Blueprintrender_templaterequestjsonify)login_required)StatsServicestatsz../templates)template_folderz/statsc                      t         j                  j                  ddt              } t	        j
                  |       \  }}|r't        d|        ddddi i | d}t        d	||| 
      S t        d	||       S )uU   
    Renderiza a página de estatísticas com dados para o período selecionado.
    period   defaulttypeperiod_daysu=   Erro ao buscar dados de estatísticas para a página /stats: r   g        )total_conversationstotal_messagesavg_response_timetotal_tokensmodel_usageactivity_datar   z
stats.html)r	   error_messageselected_period)r	   r   )r   argsgetintr   get_dashboard_statsprintr   )r   
stats_dataerrorempty_statss       6/srv/www/ollama/chat-ollama/src/routes/stats_routes.pystatistics_page_router$      s     \\h<F$88VLJMeWUV#$PSb2V\
 |;eekll<z6RR    z/api/stats_datac                      t         j                  j                  ddt              } t	        j
                  |       \  }}|rt        d|d      dfS t        |      S )uU   
    Endpoint da API para buscar dados de estatísticas dinamicamente (para JS).
    r   r   r   r   u'   Falha ao buscar dados de estatísticas.)r!   detailsi  )r   r   r   r   r   r   r   )r   r    r!   s      r#   api_get_stats_data_router(      sZ     \\h<F$88VLJ!JW\]^`ccc:r%   N)flaskr   r   r   r   flask_loginr   src.services.stats_servicer   __name__stats_bprouter$   r(    r%   r#   <module>r0      sj    > > & 3WhG	S  S" 
!"
  #
r%   