From 026a1a4c12d12023a8ba2662708854eda33ae7de Mon Sep 17 00:00:00 2001 From: realaravinth Date: Mon, 27 Jun 2022 20:59:24 +0530 Subject: [PATCH] chore: refactor infrastructure/views.py; move VM creation to utility fn --- infrastructure/utils.py | 12 ++++++++++++ infrastructure/views.py | 11 ++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/infrastructure/utils.py b/infrastructure/utils.py index edc441b..9e3d1c1 100644 --- a/infrastructure/utils.py +++ b/infrastructure/utils.py @@ -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: """ diff --git a/infrastructure/views.py b/infrastructure/views.py index e634e11..a55c548 100644 --- a/infrastructure/views.py +++ b/infrastructure/views.py @@ -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()