chore: refactor infrastructure/views.py; move VM creation to utility fn
parent
2dc1740aac
commit
026a1a4c12
|
@ -24,6 +24,18 @@ from git.exc import InvalidGitRepositoryError
|
|||
|
||||
from dash.models import Instance
|
||||
|
||||
from .models import InstanceCreated
|
||||
|
||||
|
||||
def create_vm_if_not_exists(instance: Instance):
|
||||
infra = Infra()
|
||||
if not InstanceCreated.objects.filter(instance=instance).exists():
|
||||
instance = InstanceCreated.objects.create(instance=instance, created=True)
|
||||
instance.save()
|
||||
gitea_password = infra.add_vm(instance=instance)
|
||||
instance.gitea_password = gitea_password
|
||||
instance.save()
|
||||
|
||||
|
||||
class Infra:
|
||||
"""
|
||||
|
|
|
@ -25,8 +25,7 @@ from accounts.decorators import confirm_access
|
|||
from dash.models import Instance
|
||||
from billing.utils import payment_fullfilled
|
||||
|
||||
from .utils import Infra
|
||||
from .models import InstanceCreated
|
||||
from .utils import create_vm_if_not_exists
|
||||
|
||||
|
||||
def default_ctx(title: str, username: str):
|
||||
|
@ -49,13 +48,7 @@ def create_instance(request, instance_name: str):
|
|||
if not payment_fullfilled(instance=instance):
|
||||
return redirect(reverse("billing.invoice.generate", args=(instance_name,)))
|
||||
|
||||
infra = Infra()
|
||||
if not InstanceCreated.objects.filter(instance=instance).exists():
|
||||
instance = InstanceCreated.objects.create(instance=instance, created=True)
|
||||
instance.save()
|
||||
gitea_password = infra.add_vm(instance=instance)
|
||||
instance.gitea_password = gitea_password
|
||||
instance.save()
|
||||
create_vm_if_not_exists()
|
||||
|
||||
return HttpResponse()
|
||||
|
||||
|
|
Loading…
Reference in New Issue