Skip to content

Commit a043c44

Browse files
committed
fix: change client from connect to flows
1 parent a528741 commit a043c44

File tree

12 files changed

+41
-33
lines changed

12 files changed

+41
-33
lines changed

marketplace/connect/client.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from django.conf import settings
44

55
from rest_framework.exceptions import ValidationError
6-
from marketplace.interfaces.connect import ConnectInterface
76

87

98
class ConnectAuth:
@@ -23,9 +22,7 @@ def auth_header(self) -> dict:
2322
return {"Authorization": self.__get_auth_token()}
2423

2524

26-
class ConnectProjectClient(
27-
ConnectAuth, ConnectInterface
28-
): # TODO: change class name to FlowsRESTClient
25+
class ConnectProjectClient(ConnectAuth): # TODO: change class name to FlowsRESTClient
2926
base_url = settings.FLOWS_REST_ENDPOINT
3027
use_connect_v2 = settings.USE_CONNECT_V2
3128

marketplace/core/types/channels/generic/views.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
from marketplace.applications.models import AppTypeAsset
1313

14+
from . import type as type_
15+
1416
from django.conf import settings
1517

1618
IMPORTANCE_CHANNELS_ORDER = settings.IMPORTANCE_CHANNELS_ORDER

marketplace/core/types/channels/instagram/serializers.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ def _create_channel(self, attrs: dict, app: App) -> str:
5757
"page_name": attrs.get("page_name"),
5858
"page_id": attrs.get("page_id"),
5959
}
60-
response = client.create_channel(user.email, app.project_uuid, payload, app.flows_type_code)
60+
response = client.create_channel(
61+
user.email, app.project_uuid, payload, app.flows_type_code
62+
)
6163

6264
return response
6365

marketplace/core/types/channels/telegram/serializers.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,10 @@ def _create_channel(self, attrs: dict, app: App) -> str:
4444
user = self.context.get("request").user
4545
client = ConnectProjectClient()
4646
return client.create_channel(
47-
user.email, app.project_uuid, {"auth_token": attrs.get("token")}, app.flows_type_code
47+
user.email,
48+
app.project_uuid,
49+
{"auth_token": attrs.get("token")},
50+
app.flows_type_code,
4851
)
4952

5053

marketplace/core/types/channels/weni_web_chat/serializers.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,9 @@ def _create_channel(self) -> str:
118118
data = {"name": name, "base_url": settings.SOCKET_BASE_URL}
119119

120120
client = ConnectProjectClient()
121-
return client.create_channel(user.email, self.app.project_uuid, data, self.app.flows_type_code)
121+
return client.create_channel(
122+
user.email, self.app.project_uuid, data, self.app.flows_type_code
123+
)
122124

123125
def generate_script(self, attrs):
124126
"""

marketplace/core/types/channels/whatsapp_demo/views.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ def perform_create(self, serializer):
2727
)
2828

2929
client = ConnectProjectClient()
30-
result = client.create_channel(user.email, str(instance.project_uuid), data, instance.flows_type_code)
30+
result = client.create_channel(
31+
user.email, str(instance.project_uuid), data, instance.flows_type_code
32+
)
3133

3234
instance.config["title"] = result.get("name")
3335
instance.config["channelUuid"] = result.get("uuid")

marketplace/core/types/externals/generic/serializers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from marketplace.core.serializers import AppTypeBaseSerializer
44
from marketplace.applications.models import App
5-
from marketplace.connect.client import ConnectProjectClient
5+
from marketplace.flows.client import FlowsClient
66

77

88
class GenericExternalSerializer(AppTypeBaseSerializer):
@@ -51,7 +51,7 @@ def _create_channel(self, attrs: dict, app: App) -> str:
5151
user = request.user
5252
external_code = app.config.get("external_code")
5353
response = app.apptype.create(
54-
ConnectProjectClient(), user.email, app.project_uuid, attrs, external_code
54+
FlowsClient(), user.email, str(app.project_uuid), attrs, external_code
5555
)
5656
return response
5757

marketplace/core/types/externals/generic/tests/test_views.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
from typing import Any
2525
from marketplace.interfaces.flows import FlowsInterface
26-
from marketplace.interfaces.connect import ConnectInterface
26+
2727

2828
apptype = GenericExternalAppType()
2929

@@ -70,11 +70,6 @@ def release_external_service(self, uuid: str, user_email: str) -> Any:
7070
response.status_code = 200
7171
return response
7272

73-
74-
class MockConnectClient(ConnectInterface):
75-
base_url = "connect test"
76-
use_connect_v2 = "test"
77-
7873
def create_external_service(
7974
self, user: str, project_uuid: str, type_fields: dict, type_code: str
8075
):
@@ -97,17 +92,17 @@ def setUpClass(cls):
9792
"marketplace.core.types.externals.generic.views.FlowsClient",
9893
MockFlowsClient,
9994
)
100-
cls.patch_connect_client = patch(
101-
"marketplace.core.types.externals.generic.serializers.ConnectProjectClient",
102-
MockConnectClient,
95+
cls.patch_serializer_flows_client = patch(
96+
"marketplace.core.types.externals.generic.serializers.FlowsClient",
97+
MockFlowsClient,
10398
)
10499
cls.patch_flows_client.start()
105-
cls.patch_connect_client.start()
100+
cls.patch_serializer_flows_client.start()
106101

107102
@classmethod
108103
def tearDownClass(cls):
109104
cls.patch_flows_client.stop()
110-
cls.patch_connect_client.stop()
105+
cls.patch_serializer_flows_client.stop()
111106
super().tearDownClass()
112107

113108
def setUp(self):

marketplace/core/types/externals/generic/type.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from .views import GenericExternalsViewSet
22

33
from marketplace.interfaces.flows import FlowsInterface
4-
from marketplace.interfaces.connect import ConnectInterface
54

65
from marketplace.core.types.base import AppType, GenericAppType
76

@@ -22,7 +21,7 @@ def release(cls, client: FlowsInterface, uuid: str, user_email: str):
2221
@classmethod
2322
def create(
2423
cls,
25-
client: ConnectInterface,
24+
client: FlowsInterface,
2625
user: str,
2726
project_uuid: str,
2827
attrs: dict,

marketplace/flows/client.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,17 @@ def create_external_service(
7171
)
7272
return response
7373

74+
def list_external_types(self, flows_type_code=None):
75+
url = f"{self.base_url}/api/v2/internals/generic/externals/"
76+
77+
if flows_type_code:
78+
url = f"{self.base_url}/api/v2/internals/generic/externals/{str(flows_type_code)}"
79+
80+
response = self.make_request(
81+
url, method="GET", headers=self.authentication_instance.headers
82+
)
83+
return response.json()
84+
7485
def make_request(self, url: str, method: str, headers=None, data=None, params=None):
7586
try:
7687
response = requests.request(

marketplace/interfaces/connect.py

Lines changed: 0 additions & 10 deletions
This file was deleted.

marketplace/interfaces/flows.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55
class FlowsInterface(ABC):
66
@abstractmethod
7+
def create_external_service(
8+
self, user: str, project: str, type_fields: dict, type_code: str
9+
) -> Any:
10+
pass
11+
712
def list_external_types(self, flows_type_code=None) -> Any:
813
pass
914

0 commit comments

Comments
 (0)