File: //usr/local/CyberCP/s3Backups/models.py
# -*- coding: utf-8 -*-
from django.db import models
from loginSystem.models import Administrator
# Create your models here.
class BackupPlan(models.Model):
owner = models.ForeignKey(Administrator, on_delete=models.CASCADE)
name = models.CharField(max_length=50, unique=True)
bucket = models.CharField(max_length=50, default='NONE')
freq = models.CharField(max_length=50)
retention = models.IntegerField()
type = models.CharField(max_length=5, default='AWS')
lastRun = models.CharField(max_length=50, default='0:0:0')
config = models.TextField(default='')
class WebsitesInPlan(models.Model):
owner = models.ForeignKey(BackupPlan,on_delete=models.CASCADE)
domain = models.CharField(max_length=100)
class BackupLogs(models.Model):
owner = models.ForeignKey(BackupPlan,on_delete=models.CASCADE)
timeStamp = models.CharField(max_length=200)
level = models.CharField(max_length=5)
msg = models.CharField(max_length=500)
class BackupPlanDO(models.Model):
owner = models.ForeignKey(Administrator, on_delete=models.CASCADE)
name = models.CharField(max_length=50, unique=True)
bucket = models.CharField(max_length=50, default='NONE')
freq = models.CharField(max_length=50)
retention = models.IntegerField()
type = models.CharField(max_length=5, default='DO')
region = models.CharField(max_length=5)
lastRun = models.CharField(max_length=50, default='0:0:0')
class WebsitesInPlanDO(models.Model):
owner = models.ForeignKey(BackupPlanDO, on_delete=models.CASCADE)
domain = models.CharField(max_length=100)
class BackupLogsDO(models.Model):
owner = models.ForeignKey(BackupPlanDO, on_delete=models.CASCADE)
timeStamp = models.CharField(max_length=200)
level = models.CharField(max_length=5)
msg = models.CharField(max_length=500)
class MINIONodes(models.Model):
owner = models.ForeignKey(Administrator, on_delete=models.CASCADE)
endPointURL = models.CharField(max_length=200, unique=True)
accessKey = models.CharField(max_length=200, unique=True)
secretKey = models.CharField(max_length=200)
class BackupPlanMINIO(models.Model):
owner = models.ForeignKey(Administrator, on_delete=models.CASCADE)
minioNode = models.ForeignKey(MINIONodes, on_delete=models.CASCADE)
name = models.CharField(max_length=50, unique=True)
freq = models.CharField(max_length=50)
retention = models.IntegerField()
lastRun = models.CharField(max_length=50, default='0:0:0')
class WebsitesInPlanMINIO(models.Model):
owner = models.ForeignKey(BackupPlanMINIO, on_delete=models.CASCADE)
domain = models.CharField(max_length=100)
class BackupLogsMINIO(models.Model):
owner = models.ForeignKey(BackupPlanMINIO, on_delete=models.CASCADE)
timeStamp = models.CharField(max_length=200)
level = models.CharField(max_length=5)
msg = models.CharField(max_length=500)