File: //proc/self/root/usr/local/CyberCP/databases/__pycache__/databaseManager.cpython-310.pyc
o
��h�8 � @ s� d dl Zd dlZd dlZd dlmZ ej�d� ej� dd� e�
� d dlmZ d dl
Z
d dlmZ d dlmZ d dlmZ d d lmZ d d
lmZmZ d dlZd dlmZ d dlmZ d dlm Z d d
l!m"Z" G dd� d�Z#dd� Z$e%dkr}e$� dS dS )� N)�redirectz/usr/local/CyberCP�DJANGO_SETTINGS_MODULEzCyberCP.settings)�HttpResponse)�
ACLManager)�mysqlUtilities)�Websites)� Databases�DBMeta)�
Administrator)�httpProc)�DBUsersc @ s� e Zd ZdZd!dd�Zd!dd�Zd!dd�Zd"d d
�Zd!dd�Zd!d
d�Z d!dd�Z
d!dd�Zd!dd�Zd!dd�Z
d!dd�Zd!dd�Zd!dd�Zd!dd�Zedd � �ZdS )#�DatabaseManager�
remote_accessNc C � d}t ||d d�}|�� S )Nzdatabases/index.html�createDatabase�r �render��self�request�userID�template�proc� r �//usr/local/CyberCP/databases/databaseManager.py�loadDatabaseHome � z DatabaseManager.loadDatabaseHomec C r )Nzdatabases/phpMyAdmin.htmlr r r r r r �
phpMyAdmin r zDatabaseManager.phpMyAdminc C �4 t �|�}t �||�}d}t||d|id�}|�� S )Nzdatabases/createDatabase.html�websitesListr �r � loadedACL�findAllSitesr r �r r r �
currentACL�websitesNamer r r r r r % �
zDatabaseManager.createDatabasec
C sH z�t �|�}tjj|d�}t �|d�dkrt �dd�W S |d }|d }|d }|d } |d }
t �|||�d
kr:nt �� W S |d krO|
d | }|
d | }t� ||| |�}|d d
krod
d
d||d
�}t
�|�}
t|
�W S dd|d
d�}t
�|�}
t|
�W S t
y� } zddt|�d�}t
�|�}
t|
�W Y d }~S d }~ww )N��pkr r �createDBStatus�databaseWebsite�dbName�
dbUsername�
dbPassword�webUserName� �_�None)�statusr) �
error_messager+ r, )r2 r) r3 )r r! r
�objects�get�currentContextPermission�
loadErrorJson�checkOwnershipr �submitDBCreation�json�dumpsr �
BaseException�str)r r �data�rAPIr$ �adminr* r+ r, r- �webUsername�result�data_ret� json_data�msgr r r r9 , s@
�
��z DatabaseManager.submitDBCreationc C r )Nzdatabases/deleteDatabase.htmlr �deleteDatabaser r# r r r rF S r&