mirror of
https://github.com/hequan2017/seal.git
synced 2026-06-30 08:26:15 +08:00
v0.5 SQL执行 板块
This commit is contained in:
56
sql/models.py
Normal file
56
sql/models.py
Normal file
@@ -0,0 +1,56 @@
|
||||
from django.db import models
|
||||
import re
|
||||
from cryptography.fernet import Fernet
|
||||
from system.models import Users
|
||||
from assets.models import Ecs
|
||||
|
||||
|
||||
# import base64
|
||||
# import os
|
||||
# print(base64.urlsafe_b64encode(os.urandom(32)))
|
||||
|
||||
cipher_key = 'isSxtA8i5slddH9PrYEu8V5jzTeKCO5vwlu5pUT3eEc='
|
||||
|
||||
|
||||
class database(models.Model):
|
||||
|
||||
region = models.CharField(max_length=16, verbose_name='机房',choices=Ecs.TYPE_CHOICES)
|
||||
name = models.CharField(max_length=64, verbose_name='RDS名称',unique=True)
|
||||
address = models.CharField(max_length=64, verbose_name='地址', )
|
||||
port = models.IntegerField(verbose_name='端口')
|
||||
username = models.CharField(max_length=128, verbose_name='用户名', blank=True, null=True, )
|
||||
password = models.CharField(max_length=128, verbose_name='密码', blank=True, null=True, )
|
||||
|
||||
ctime = models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间', blank=True)
|
||||
utime = models.DateTimeField(auto_now=True, null=True, verbose_name='更新时间', blank=True)
|
||||
|
||||
def get_password(self):
|
||||
if self.password is not None and re.search("gAAAAA", self.password, ) != None:
|
||||
f = Fernet(cipher_key)
|
||||
p1 = self.password.encode()
|
||||
token = f.decrypt(p1)
|
||||
p2 = token.decode()
|
||||
return p2
|
||||
return None
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if self.password is not None and re.search("gAAAAA", self.password, ) == None:
|
||||
f = Fernet(cipher_key)
|
||||
p1 = self.password.encode()
|
||||
token = f.encrypt(p1)
|
||||
p2 = token.decode()
|
||||
self.password = p2
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
class Meta:
|
||||
db_table = "database"
|
||||
verbose_name = "数据库"
|
||||
verbose_name_plural = verbose_name
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user