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
                    Zdev_idzError getting activity count: Zofflinereplace)Ztzinfoi  ZonlineiQ ZidleZdev_unknowni  databasezDeveloper with z activitieszN/A)idnameZhostnameZhostZportstatussourcedescriptionZ	device_idactivity_countZ	last_seenversionZbucket_countemailZ
production)
developersenvironmenttotal_countZdiscovered_atzError getting developers: )r   r   r   error)r   ZexecuteZdeveloper_idZfetchonecountlast_activity	ExceptionloggerZwarninghasattrr   Znowr   Zutcr
   Ztotal_secondsappendr   r   Z	isoformatZ
created_atr   lenr   	traceback	print_excstr)r	   Zdevelopers_queryresultr   rowr   r   Zcount_resulter   Z	time_diffr     r&   ./all_developers_simple.pyget_all_developers_simple   sv    




"

"
r(   )Zfastapir   r   Zsqlalchemy.ormr   Z
sqlalchemyr   r   r   r   r   ZloggingZ	getLogger__name__r   Zroutergetr(   r&   r&   r&   r'   <module>   s   
