Skip to content

Commit 6616aa8

Browse files
committed
[Auto Generated] 3.17.0
1 parent 660b586 commit 6616aa8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+2553
-2871
lines changed

CHANGELOG.md

Lines changed: 622 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Get started with the python Development SDK for Fynd Platform
1414
### Usage
1515

1616
```bash
17-
pip install "git+https://github.com/gofynd/fdk-client-python.git@3.16.3#egg=fdk_client"
17+
pip install "git+https://github.com/gofynd/fdk-client-python.git@3.17.0#egg=fdk_client"
1818
```
1919

2020
Using this method, you can `import` fdk-client-python like so:

fdk_client/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "3.16.3"
1+
__version__ = "3.17.0"

fdk_client/application/ApplicationClient.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@
3030

3131
from .payment.client import Payment
3232

33-
from .rewards.client import Rewards
34-
3533
from .share.client import Share
3634

3735
from .theme.client import Theme
@@ -59,7 +57,6 @@ def __init__(self, config):
5957
self.logistic = Logistic(self.config)
6058
self.order = Order(self.config)
6159
self.payment = Payment(self.config)
62-
self.rewards = Rewards(self.config)
6360
self.share = Share(self.config)
6461
self.theme = Theme(self.config)
6562
self.user = User(self.config)

fdk_client/application/cart/models.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1687,6 +1687,8 @@ class Coupon(BaseSchema):
16871687

16881688
coupon_code = fields.Str(required=False)
16891689

1690+
coupon_id = fields.Str(required=False)
1691+
16901692
is_applicable = fields.Boolean(required=False)
16911693

16921694
description = fields.Str(required=False, allow_none=True)

fdk_client/application/common/models.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ class ApplicationMeta(BaseSchema):
3636
pass
3737

3838

39+
class RegionDetails(BaseSchema):
40+
pass
41+
42+
3943
class SecureUrl(BaseSchema):
4044
pass
4145

@@ -145,6 +149,16 @@ class ApplicationMeta(BaseSchema):
145149

146150

147151

152+
class RegionDetails(BaseSchema):
153+
# Common swagger.json
154+
155+
156+
slug = fields.Str(required=False)
157+
158+
zone = fields.Str(required=False)
159+
160+
161+
148162
class SecureUrl(BaseSchema):
149163
# Common swagger.json
150164

fdk_client/application/configuration/models.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,10 @@ class ApplicationMeta(BaseSchema):
264264
pass
265265

266266

267+
class RegionDetails(BaseSchema):
268+
pass
269+
270+
267271
class SecureUrl(BaseSchema):
268272
pass
269273

@@ -1199,6 +1203,16 @@ class ApplicationMeta(BaseSchema):
11991203

12001204

12011205

1206+
class RegionDetails(BaseSchema):
1207+
# Configuration swagger.json
1208+
1209+
1210+
slug = fields.Str(required=False)
1211+
1212+
zone = fields.Str(required=False)
1213+
1214+
1215+
12021216
class SecureUrl(BaseSchema):
12031217
# Configuration swagger.json
12041218

fdk_client/application/content/client.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ def __init__(self, config: ApplicationConfig):
3535
"getPages": "/service/application/content/v2.0/pages",
3636
"getCustomObjectBySlug": "/service/application/content/v2.0/customobjects/definition/{definition_slug}/entries/{slug}",
3737
"getCustomFieldsByResourceId": "/service/application/content/v2.0/customfields/resource/{resource}/{resource_slug}",
38+
"getBulkCustomFieldsByResource": "/service/application/content/v2.0/customfields/resource/{resource}",
3839
"getTranslateUILabels": "/service/application/content/v1.0/translate-ui-labels",
3940
"fetchResourceTranslations": "/service/application/content/v1.0/resource/translations/{type}/{locale}",
4041
"fetchResourceTranslationsWithPayload": "/service/application/content/v1.0/resource/translations/{type}/{locale}",
@@ -974,6 +975,61 @@ async def getCustomFieldsByResourceId(self, resource=None, resource_slug=None, b
974975

975976
return response
976977

978+
async def getBulkCustomFieldsByResource(self, resource=None, resource_ids=None, keys=None, namespaces=None, body="", request_headers:Dict={}):
979+
"""Retrieves a bulk list of custom fields attached to a particular resource by using the resource and resource IDs. The resource_ids query parameter is required and can accept multiple comma-separated values. Optional filters for keys and namespaces can also be applied.
980+
:param resource : This is the name of resource for which you want to fetch custom fields eg. product, collection, customer etc. : type string
981+
:param resource_ids : This is the resource ids for which custom fields created with comma separated. : type string
982+
:param keys : Filter custom fields by specific keys (slugs). Multiple values can be provided as comma-separated. : type string
983+
:param namespaces : Filter custom fields by specific namespaces. Multiple values can be provided as comma-separated. : type string
984+
"""
985+
payload = {}
986+
987+
if resource is not None:
988+
payload["resource"] = resource
989+
if resource_ids is not None:
990+
payload["resource_ids"] = resource_ids
991+
if keys is not None:
992+
payload["keys"] = keys
993+
if namespaces is not None:
994+
payload["namespaces"] = namespaces
995+
996+
# Parameter validation
997+
schema = ContentValidator.getBulkCustomFieldsByResource()
998+
schema.dump(schema.load(payload))
999+
1000+
1001+
url_with_params = await create_url_with_params(api_url=self._urls["getBulkCustomFieldsByResource"], proccessed_params="""{"required":[{"name":"resource","in":"path","required":true,"schema":{"type":"string"},"description":"This is the name of resource for which you want to fetch custom fields eg. product, collection, customer etc."},{"name":"resource_ids","description":"This is the resource ids for which custom fields created with comma separated.","in":"query","required":true,"schema":{"type":"string"}}],"optional":[{"name":"keys","in":"query","required":false,"description":"Filter custom fields by specific keys (slugs). Multiple values can be provided as comma-separated.","schema":{"type":"string"},"example":"brand_story,designer_name"},{"name":"namespaces","in":"query","required":false,"description":"Filter custom fields by specific namespaces. Multiple values can be provided as comma-separated.","schema":{"type":"string"},"example":"custom"}],"query":[{"name":"resource_ids","description":"This is the resource ids for which custom fields created with comma separated.","in":"query","required":true,"schema":{"type":"string"}},{"name":"keys","in":"query","required":false,"description":"Filter custom fields by specific keys (slugs). Multiple values can be provided as comma-separated.","schema":{"type":"string"},"example":"brand_story,designer_name"},{"name":"namespaces","in":"query","required":false,"description":"Filter custom fields by specific namespaces. Multiple values can be provided as comma-separated.","schema":{"type":"string"},"example":"custom"}],"headers":[],"path":[{"name":"resource","in":"path","required":true,"schema":{"type":"string"},"description":"This is the name of resource for which you want to fetch custom fields eg. product, collection, customer etc."}]}""", serverType="application", resource=resource, resource_ids=resource_ids, keys=keys, namespaces=namespaces)
1002+
query_string = await create_query_string(resource_ids=resource_ids, keys=keys, namespaces=namespaces)
1003+
if query_string:
1004+
url_with_params += "?" + query_string
1005+
1006+
headers={}
1007+
headers["Authorization"] = f'Bearer {base64.b64encode(f"{self._conf.applicationID}:{self._conf.applicationToken}".encode()).decode()}'
1008+
if self._conf.locationDetails:
1009+
headers["x-location-detail"] = ujson.dumps(self._conf.locationDetails)
1010+
for h in self._conf.extraHeaders:
1011+
headers.update(h)
1012+
if request_headers != {}:
1013+
headers.update(request_headers)
1014+
1015+
exclude_headers = []
1016+
for key, val in headers.items():
1017+
if not key.startswith("x-fp-"):
1018+
exclude_headers.append(key)
1019+
1020+
response = await AiohttpHelper().aiohttp_request("GET", url_with_params, headers=get_headers_with_signature(urlparse(self._urls["getBulkCustomFieldsByResource"]).netloc, "get", await create_url_without_domain("/service/application/content/v2.0/customfields/resource/{resource}", resource=resource, resource_ids=resource_ids, keys=keys, namespaces=namespaces), query_string, headers, body, exclude_headers=exclude_headers), data=body, cookies=self._conf.cookies, debug=(self._conf.logLevel=="DEBUG"))
1021+
1022+
if 200 <= int(response['status_code']) < 300:
1023+
from .models import BulkCustomFieldsResponseByResourceSchema
1024+
schema = BulkCustomFieldsResponseByResourceSchema()
1025+
try:
1026+
schema.load(response["json"])
1027+
except Exception as e:
1028+
print("Response Validation failed for getBulkCustomFieldsByResource")
1029+
print(e)
1030+
1031+
return response
1032+
9771033
async def getTranslateUILabels(self, template=None, template_theme_id=None, theme_id=None, locale=None, type=None, body="", request_headers:Dict={}):
9781034
"""Retrieve Translate Ui Labels with filtering options for type, template, and locale settings.
9791035
:param template : template : type boolean

fdk_client/application/content/models.py

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,18 @@ class CustomFieldsResponseByResourceIdSchema(BaseSchema):
282282
pass
283283

284284

285+
class BulkCustomFieldsResponseByResourceSchema(BaseSchema):
286+
pass
287+
288+
289+
class ResourceCustomFieldsSchema(BaseSchema):
290+
pass
291+
292+
293+
class CustomFieldItemSchema(BaseSchema):
294+
pass
295+
296+
285297
class CustomObjectListItemSchema(BaseSchema):
286298
pass
287299

@@ -1319,6 +1331,62 @@ class CustomFieldsResponseByResourceIdSchema(BaseSchema):
13191331

13201332

13211333

1334+
class BulkCustomFieldsResponseByResourceSchema(BaseSchema):
1335+
# Content swagger.json
1336+
1337+
1338+
items = fields.List(fields.Nested(ResourceCustomFieldsSchema, required=False), required=False)
1339+
1340+
1341+
1342+
class ResourceCustomFieldsSchema(BaseSchema):
1343+
# Content swagger.json
1344+
1345+
1346+
resource_id = fields.Str(required=False)
1347+
1348+
resource_slug = fields.Str(required=False)
1349+
1350+
items = fields.List(fields.Nested(CustomFieldItemSchema, required=False), required=False)
1351+
1352+
1353+
1354+
class CustomFieldItemSchema(BaseSchema):
1355+
# Content swagger.json
1356+
1357+
1358+
id = fields.Str(required=False)
1359+
1360+
namespace = fields.Str(required=False)
1361+
1362+
resource = fields.Str(required=False)
1363+
1364+
value = fields.List(fields.Str(required=False), required=False)
1365+
1366+
type = fields.Str(required=False)
1367+
1368+
multi_value = fields.Boolean(required=False)
1369+
1370+
company_id = fields.Str(required=False)
1371+
1372+
application_id = fields.Str(required=False)
1373+
1374+
has_invalid_values = fields.Boolean(required=False)
1375+
1376+
invalid_value_errors = fields.List(fields.Raw(required=False), required=False)
1377+
1378+
is_deleted = fields.Boolean(required=False)
1379+
1380+
created_at = fields.Str(required=False)
1381+
1382+
updated_at = fields.Str(required=False)
1383+
1384+
slug = fields.Str(required=False)
1385+
1386+
resource_slug = fields.Str(required=False)
1387+
1388+
1389+
13221390
class CustomObjectListItemSchema(BaseSchema):
13231391
# Content swagger.json
13241392

fdk_client/application/content/validator.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@
6161

6262

6363

64+
65+
66+
67+
68+
69+
6470

6571

6672

@@ -228,6 +234,19 @@ class getCustomFieldsByResourceId(BaseSchema):
228234

229235

230236

237+
class getBulkCustomFieldsByResource(BaseSchema):
238+
239+
240+
resource = fields.Str(required=False)
241+
242+
resource_ids = fields.Str(required=False)
243+
244+
keys = fields.Str(required=False)
245+
246+
namespaces = fields.Str(required=False)
247+
248+
249+
231250
class getTranslateUILabels(BaseSchema):
232251

233252

0 commit comments

Comments
 (0)