U
    Vh                     @   s   d dl mZ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ZeeZe Zedeefedd	d
ZdS )    )	APIRouterDepends)Session)text)get_db)datetimetimezoneNz/api/all-developers-simple)dbc                    s  zt d}| |}g }|D ]b}d}d}z8|jrb| t dd|ji }|rb|jpZd}|j}W n2 tk
r } ztd|  W 5 d}~X Y nX d}	|rz\t	|drt
tj|jtjd	 }
nt
tj| }
|
 d
k rd}	n|
 dk rd}	W n   Y nX ||jp"d|j |j|jdd|	dd| d|jpNd|j ||r^| n|jrp|j nddd|jd q|dt|t
tj dW S  tk
r } z:td|  ddl}|  g ddt|d W Y S d}~X Y nX dS )z"Simple query to get all developersa+  
            SELECT 
                id,
                developer_id,
                name,
                email,
                active,
                created_at,
                last_sync
            FROM developers
            WHERE active = true
            ORDER BY created_at DESC
        r   Nz
                        SELECT COUNT(*) as count, MAX(timestamp) as last_activity
                        FROM activity_records 
                        WHERE developer_id = :dev_id
                    dev_idzError getting activity count: offlinereplace)tzinfoi  onlineiQ idledev_unknowni  databasezDeveloper with z activitieszN/A)idnamehostnamehostportstatussourcedescription	device_idactivity_count	last_seenversionbucket_countemail
production)
developersenvironmenttotal_countdiscovered_atzError getting developers: )r"   r#   r$   error)r   executedeveloper_idfetchonecountlast_activity	Exceptionloggerwarninghasattrr   nowr   utcr   total_secondsappendr   r   	isoformat
created_atr    lenr&   	traceback	print_excstr)r	   developers_queryresultr"   rowr   r+   count_resulter   	time_diffr7    r@   8/var/www/html/timesheet/backend/all_developers_simple.pyget_all_developers_simple   sv    




"

"
rB   )fastapir   r   sqlalchemy.ormr   
sqlalchemyr   r   r   r   r   logging	getLogger__name__r-   routergetrB   r@   r@   r@   rA   <module>   s   
