Skip to content

Commit

Permalink
Notifies of flows when creating app vtex
Browse files Browse the repository at this point in the history
  • Loading branch information
elitonzky committed Dec 4, 2023
1 parent 272ac74 commit eeb50f4
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 0 deletions.
12 changes: 12 additions & 0 deletions marketplace/clients/flows/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,15 @@ def update_config(self, data, flow_object_uuid):
json=payload,
)
return response

def notify_vtex_app_creation(self, project_uuid, user_email):
url = f"{self.base_url}/internals/orgs/{project_uuid}/update-vtex/"
payload = {"user_email": user_email}

self.make_request(
url,
method="POST",
headers=self.authentication_instance.headers,
data=payload,
)
return True
15 changes: 15 additions & 0 deletions marketplace/core/types/ecommerce/vtex/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,20 @@
from marketplace.core.types import views
from marketplace.services.vtex.generic_service import VtexService
from marketplace.services.vtex.generic_service import APICredentials
from marketplace.services.flows.service import FlowsService
from marketplace.clients.flows.client import FlowsClient


class VtexViewSet(views.BaseAppTypeViewSet):
serializer_class = VtexAppSerializer
service_class = VtexService
flows_service_class = FlowsService
flows_client = FlowsClient

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._service = None
self._flows_service = None

@property
def service(self): # pragma: no cover
Expand All @@ -25,6 +30,13 @@ def service(self): # pragma: no cover

return self._service

@property
def flows_service(self): # pragma: no cover
if not self._flows_service:
self._flows_service = self.flows_service_class(self.flows_client())

return self._flows_service

def perform_create(self, serializer):
serializer.save(code=self.type_class.code)

Expand All @@ -45,6 +57,9 @@ def create(self, request, *args, **kwargs):
app = self.get_app()
try:
updated_app = self.service.configure(app, credentials, wpp_cloud_uuid)
# self.flows_service.notify_vtex_app_creation(
# app.project_uuid, app.created_by.email
# )
return Response(
data=self.get_serializer(updated_app).data,
status=status.HTTP_201_CREATED,
Expand Down
6 changes: 6 additions & 0 deletions marketplace/services/flows/service.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class FlowsService:
def __init__(self, client):
self.client = client

def notify_vtex_app_creation(self, project_uuid, user_email):
return self.client.notify_vtex_app_creation(project_uuid, user_email)

0 comments on commit eeb50f4

Please sign in to comment.