a
    fh
                     @   s   d dl mZ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mZmZ d dlmZ e ZeddZee Zejd	ed
edddee
feedddZdS )    )	APIRouterRequestDependsQuery)HTMLResponse)Jinja2Templates)get_current_user)get_pingconf_varsget_mysql_creds
open_mysql)	xor_bytes	templates)	directoryz	/mailread)response_class.zPrivate Mail Number)description)requestPMNc              	   C   sT  |sddiS d }t t}|jdd}d}||||d f | }|d u rrtd| |ddW  d    S |d	 }|d
 dkrd}	||	||d f |  |d pd}
t|
j	ddd}|d |d |d |d rt|d j	dddnd|d rt|d j	dddnd|d}W d    n1 s60    Y  td| ||dS )NerrorzNot authenticatedT)
dictionarya  
            SELECT p.PMailNum, p.FromHandleID, h.Handle AS FromName, p.ToLine,
                   p.PostDate, p.Subject, p.MailBodyBlob, pp.ToHandleID, pp.Folder, pp.MailStatus
            FROM PrivateMail p
            JOIN PrivateMailPing pp ON pp.PMailNum = p.PMailNum
            JOIN Handles h ON h.HandleID = p.FromHandleID
            WHERE p.PMailNum = %s AND pp.ToHandleID = %s
        idzmailread.html)r   userZunauthorizedr   Z
MailStatusNz
                UPDATE PrivateMailPing
                SET MailStatus = 'R'
                WHERE PMailNum = %s AND ToHandleID = %s AND MailStatus= "N"
            MailBodyBlob    zutf-8replace)errorsPMailNumPostDateFromNameToLine Subject)r   r   r   ToNamesr!   ZMailBody)r   r   message)
r   mysql_credscursorexecutefetchallr   TemplateResponsecommitr   decode)r   r   r   r#   connr%   sqlrowsrow
update_sql
body_bytes	body_text r2   +/wd/v2025.freedom4um.com/routes/mailread.pymailread_page   s>    
 "&	
r4   N)fastapir   r   r   r   fastapi.responsesr   fastapi.templatingr   
utils.authr   utils.pingdatar	   r
   r   	utils.xorr   routerr   r$   getintr4   r2   r2   r2   r3   <module>   s   


