mumui/deployment/models.py
2023-09-20 19:41:19 +02:00

46 lines
1.1 KiB
Python

from enum import Enum
from datetime import datetime
from django.contrib.auth.models import User
from django.db import models
class Type(Enum):
SLIM = "Slim"
MEDIUM = "Medium"
LARGE = "Large"
@classmethod
def into_choices(cls):
return [(s.name, s.value) for s in cls]
class Status(Enum):
READY = "Ready"
PENDING = "Pending"
RUNNING = "Running"
SUCCESS = "Success"
FAILED = "Failed"
@classmethod
def into_choices(cls):
return [(s.name, s.value) for s in cls]
class Deployment(models.Model):
id = models.UUIDField(primary_key=True)
name = models.TextField(null=False, blank=False)
type = models.CharField(
max_length=6, choices=Type.into_choices(), default=Type.SLIM.name
)
status = models.CharField(
max_length=7, choices=Status.into_choices(), default=Status.READY.name
)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
user = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return f"{self.name} | {self.type} | {self.status}"