U
    [Mh#                     @   s8   e d eefeedddZe ddd ZdS )z/api/register-developer)registrationdbc              
      s  zt | j}| jds&tddd|tdd| ji }|rZtdd| j ddtd	}||}d
d |D }td|  dddg}dddg}| jdt	
tjd}	d|kr|d |d | d|	d< d|kr0|tdd| ji }
|
rtddd|d |d | j|	d< d|}d|}td| d| d}|||	 |  td | j  dd!|| j|d"d#W S  tk
r    Y nX tk
r  } z8|  td$| j d%|  td&d't| dW 5 d(}~X Y nX d(S ))z<Simple developer registration using existing table structureZAWToken_i  z=Invalid access token format. Token must start with 'AWToken_')Zstatus_codeZdetailz,SELECT id FROM developers WHERE name = :namenamezDeveloper 'z' already exists.z
            SELECT column_name 
            FROM information_schema.columns 
            WHERE table_name = 'developers'
        c                 S   s   g | ]}|d  qS )     ).0rowr   r   ./fixed_registration_final.py
<listcomp>(   s     z&register_developer.<locals>.<listcomp>z'Available columns in developers table: active
created_atz:namez:activez:created_atT)r   r
   r   Zemailz:emailz	@temp.com	api_tokenz2SELECT id FROM developers WHERE api_token = :tokentokenz$This access token is already in use.z
:api_tokenz, z%
            INSERT INTO developers (z) 
            VALUES (z
)
        u   ✅ Developer registered: z!Developer registered successfullyz&Data collection will begin immediately)successmessagedeveloper_iddeveloper_nameZavailable_columnsZmonitoring_startsu   ❌ Registration failed for z: i  zRegistration failed: N)Zgenerate_developer_idr   r   
startswithZHTTPExceptionZexecutetextZfetchoneprintZdatetimeZnowtimezoneZutcappendjoinZcommit	ExceptionZrollbackstr)r   r   r   Zexisting_checkZcolumns_queryresultZexisting_columnsZbase_columnsZbase_valuesparamsZtoken_checkZcolumns_strZ
values_strZinsert_queryer   r   r   register_developer   s    













	r   z/register-developerc                      s   t dS )z%Serve the developer registration formzregister-developer.html)ZFileResponser   r   r   r   serve_registration_formq   s    r   N)	ZappZpostZDependsZget_dbZDeveloperRegistrationZSessionr   getr   r   r   r   r   <module>   s   m