forked from Hostea/dashboard
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 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:
|
class Infra:
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -25,8 +25,7 @@ from accounts.decorators import confirm_access
|
||||||
from dash.models import Instance
|
from dash.models import Instance
|
||||||
from billing.utils import payment_fullfilled
|
from billing.utils import payment_fullfilled
|
||||||
|
|
||||||
from .utils import Infra
|
from .utils import create_vm_if_not_exists
|
||||||
from .models import InstanceCreated
|
|
||||||
|
|
||||||
|
|
||||||
def default_ctx(title: str, username: str):
|
def default_ctx(title: str, username: str):
|
||||||
|
@ -49,13 +48,7 @@ def create_instance(request, instance_name: str):
|
||||||
if not payment_fullfilled(instance=instance):
|
if not payment_fullfilled(instance=instance):
|
||||||
return redirect(reverse("billing.invoice.generate", args=(instance_name,)))
|
return redirect(reverse("billing.invoice.generate", args=(instance_name,)))
|
||||||
|
|
||||||
infra = Infra()
|
create_vm_if_not_exists()
|
||||||
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()
|
|
||||||
|
|
||||||
return HttpResponse()
|
return HttpResponse()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue