@gofynd/fdk-client-javascript 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -2
- package/index.d.ts +7 -4
- package/index.js +22 -7
- package/package.json +23 -14
- package/partner.d.ts +4 -0
- package/partner.js +7 -0
- package/sdk/application/ApplicationAPIClient.js +2 -4
- package/sdk/application/Cart/CartApplicationClient.js +29 -28
- package/sdk/application/Cart/CartApplicationModel.js +3 -1
- package/sdk/application/Catalog/CatalogApplicationClient.js +43 -42
- package/sdk/application/Catalog/CatalogApplicationModel.js +5 -3
- package/sdk/application/Common/CommonApplicationClient.js +5 -4
- package/sdk/application/Communication/CommunicationApplicationClient.js +6 -5
- package/sdk/application/Configuration/ConfigurationApplicationClient.js +21 -20
- package/sdk/application/Content/ContentApplicationClient.js +26 -25
- package/sdk/application/FileStorage/FileStorageApplicationClient.js +6 -5
- package/sdk/application/Lead/LeadApplicationClient.js +10 -9
- package/sdk/application/Logistic/LogisticApplicationClient.d.ts +1 -3
- package/sdk/application/Logistic/LogisticApplicationClient.js +11 -12
- package/sdk/application/Logistic/LogisticApplicationValidator.js +0 -1
- package/sdk/application/Order/OrderApplicationClient.js +15 -14
- package/sdk/application/Order/OrderApplicationModel.js +9 -0
- package/sdk/application/Payment/PaymentApplicationClient.js +42 -41
- package/sdk/application/PosCart/PosCartApplicationClient.js +30 -29
- package/sdk/application/PosCart/PosCartApplicationModel.js +3 -1
- package/sdk/application/Rewards/RewardsApplicationClient.js +11 -10
- package/sdk/application/Share/ShareApplicationClient.js +10 -9
- package/sdk/application/Theme/ThemeApplicationClient.js +7 -6
- package/sdk/application/User/UserApplicationClient.js +38 -37
- package/sdk/common/AxiosHelper.js +17 -6
- package/sdk/common/BaseOAuthClient.d.ts +17 -0
- package/sdk/common/BaseOAuthClient.js +67 -0
- package/sdk/common/RequestSigner.js +0 -5
- package/sdk/partner/OAuthClient.d.ts +14 -0
- package/sdk/partner/OAuthClient.js +112 -0
- package/sdk/partner/PartnerAPIClient.d.ts +12 -0
- package/sdk/partner/PartnerAPIClient.js +42 -0
- package/sdk/partner/PartnerClient.d.ts +6 -0
- package/sdk/partner/PartnerClient.js +17 -0
- package/sdk/partner/PartnerConfig.d.ts +30 -0
- package/sdk/partner/PartnerConfig.js +39 -0
- package/sdk/partner/index.d.ts +3 -0
- package/sdk/partner/index.js +5 -0
- package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.js +3 -1
- package/sdk/platform/Analytics/AnalyticsPlatformApplicationValidator.js +1 -1
- package/sdk/platform/Analytics/AnalyticsPlatformClient.js +5 -4
- package/sdk/platform/Analytics/AnalyticsPlatformValidator.js +1 -0
- package/sdk/platform/AuditTrail/AuditTrailPlatformClient.js +3 -2
- package/sdk/platform/AuditTrail/AuditTrailPlatformValidator.js +1 -0
- package/sdk/platform/Billing/BillingPlatformClient.d.ts +24 -0
- package/sdk/platform/Billing/BillingPlatformClient.js +137 -2
- package/sdk/platform/Billing/BillingPlatformModel.d.ts +4 -0
- package/sdk/platform/Billing/BillingPlatformModel.js +44 -0
- package/sdk/platform/Billing/BillingPlatformValidator.d.ts +2 -0
- package/sdk/platform/Billing/BillingPlatformValidator.js +15 -0
- package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +27 -0
- package/sdk/platform/Cart/CartPlatformApplicationClient.js +177 -1
- package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +3 -0
- package/sdk/platform/Cart/CartPlatformApplicationValidator.js +17 -1
- package/sdk/platform/Cart/CartPlatformModel.js +7 -3
- package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +3 -1
- package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +1 -1
- package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +2 -2
- package/sdk/platform/Catalog/CatalogPlatformClient.js +6 -9
- package/sdk/platform/Catalog/CatalogPlatformModel.js +9 -9
- package/sdk/platform/Catalog/CatalogPlatformValidator.js +2 -1
- package/sdk/platform/Common/CommonPlatformClient.js +7 -18
- package/sdk/platform/Common/CommonPlatformValidator.js +1 -0
- package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +3 -1
- package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.js +1 -1
- package/sdk/platform/Communication/CommunicationPlatformClient.js +4 -3
- package/sdk/platform/Communication/CommunicationPlatformValidator.js +1 -0
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.js +5 -4
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.js +1 -0
- package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +3 -1
- package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.js +1 -1
- package/sdk/platform/Configuration/ConfigurationPlatformClient.js +9 -8
- package/sdk/platform/Configuration/ConfigurationPlatformValidator.js +1 -0
- package/sdk/platform/Content/ContentPlatformApplicationClient.js +3 -1
- package/sdk/platform/Content/ContentPlatformApplicationValidator.js +1 -1
- package/sdk/platform/Discount/DiscountPlatformClient.js +3 -2
- package/sdk/platform/Discount/DiscountPlatformValidator.js +1 -0
- package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +3 -3
- package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +27 -5
- package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.js +1 -1
- package/sdk/platform/FileStorage/FileStoragePlatformClient.d.ts +3 -3
- package/sdk/platform/FileStorage/FileStoragePlatformClient.js +28 -6
- package/sdk/platform/FileStorage/FileStoragePlatformValidator.js +1 -0
- package/sdk/platform/Inventory/InventoryPlatformClient.js +3 -2
- package/sdk/platform/Inventory/InventoryPlatformValidator.js +1 -0
- package/sdk/platform/Lead/LeadPlatformApplicationClient.js +3 -1
- package/sdk/platform/Lead/LeadPlatformApplicationValidator.js +1 -1
- package/sdk/platform/Lead/LeadPlatformClient.js +4 -3
- package/sdk/platform/Lead/LeadPlatformValidator.js +1 -0
- package/sdk/platform/OAuthClient.js +3 -9
- package/sdk/platform/Order/OrderPlatformApplicationClient.js +3 -1
- package/sdk/platform/Order/OrderPlatformApplicationValidator.js +1 -1
- package/sdk/platform/Order/OrderPlatformClient.d.ts +1 -1
- package/sdk/platform/Order/OrderPlatformClient.js +16 -3
- package/sdk/platform/Order/OrderPlatformModel.js +1 -0
- package/sdk/platform/Order/OrderPlatformValidator.js +1 -0
- package/sdk/platform/Partner/PartnerPlatformApplicationClient.js +3 -1
- package/sdk/platform/Partner/PartnerPlatformApplicationValidator.js +1 -1
- package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +1 -1
- package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +14 -14
- package/sdk/platform/Payment/PaymentPlatformApplicationValidator.js +1 -1
- package/sdk/platform/Payment/PaymentPlatformClient.js +3 -2
- package/sdk/platform/Payment/PaymentPlatformValidator.js +1 -0
- package/sdk/platform/PlatformApplicationClient.d.ts +5 -1
- package/sdk/platform/PlatformApplicationClient.js +4 -0
- package/sdk/platform/PlatformClient.d.ts +51 -12
- package/sdk/platform/PlatformClient.js +54 -11
- package/sdk/platform/Rewards/RewardsPlatformApplicationClient.d.ts +17 -19
- package/sdk/platform/Rewards/RewardsPlatformApplicationClient.js +88 -83
- package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.d.ts +1 -1
- package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.js +8 -9
- package/sdk/platform/Share/SharePlatformApplicationClient.js +3 -1
- package/sdk/platform/Share/SharePlatformApplicationValidator.js +1 -1
- package/sdk/platform/Theme/ThemePlatformApplicationClient.js +3 -1
- package/sdk/platform/Theme/ThemePlatformApplicationValidator.js +1 -1
- package/sdk/platform/User/UserPlatformApplicationClient.js +3 -1
- package/sdk/platform/User/UserPlatformApplicationValidator.js +1 -1
- package/sdk/platform/Webhook/WebhookPlatformClient.js +3 -2
- package/sdk/platform/Webhook/WebhookPlatformValidator.js +1 -0
- package/sdk/public/Configuration/ConfigurationPublicClient.js +2 -0
- package/sdk/public/Inventory/InventoryPublicClient.js +2 -0
- package/sdk/public/Webhook/WebhookPublicClient.js +2 -0
- package/.github/workflows/on_create_release.yml +0 -23
- package/.github/workflows/on_merge_main.yml +0 -38
- package/.github/workflows/on_pull_request.yml +0 -35
- package/.prettierrc +0 -5
- package/documentation/application/CART.md +0 -8771
- package/documentation/application/CATALOG.md +0 -8690
- package/documentation/application/COMMON.md +0 -325
- package/documentation/application/COMMUNICATION.md +0 -387
- package/documentation/application/CONFIGURATION.md +0 -2212
- package/documentation/application/CONTENT.md +0 -2629
- package/documentation/application/FILESTORAGE.md +0 -442
- package/documentation/application/LEAD.md +0 -1549
- package/documentation/application/LOGISTIC.md +0 -689
- package/documentation/application/ORDER.md +0 -2937
- package/documentation/application/PAYMENT.md +0 -4475
- package/documentation/application/POSCART.md +0 -9375
- package/documentation/application/README.md +0 -21
- package/documentation/application/REWARDS.md +0 -554
- package/documentation/application/SHARE.md +0 -635
- package/documentation/application/THEME.md +0 -5517
- package/documentation/application/USER.md +0 -3798
- package/documentation/platform/ANALYTICS.md +0 -1012
- package/documentation/platform/AUDITTRAIL.md +0 -493
- package/documentation/platform/BILLING.md +0 -1889
- package/documentation/platform/CART.md +0 -4711
- package/documentation/platform/CATALOG.md +0 -20522
- package/documentation/platform/COMMON.md +0 -325
- package/documentation/platform/COMMUNICATION.md +0 -4970
- package/documentation/platform/COMPANYPROFILE.md +0 -1646
- package/documentation/platform/CONFIGURATION.md +0 -6316
- package/documentation/platform/CONTENT.md +0 -8364
- package/documentation/platform/DISCOUNT.md +0 -767
- package/documentation/platform/FILESTORAGE.md +0 -945
- package/documentation/platform/INVENTORY.md +0 -1136
- package/documentation/platform/LEAD.md +0 -4394
- package/documentation/platform/ORDER.md +0 -6525
- package/documentation/platform/PARTNER.md +0 -193
- package/documentation/platform/PAYMENT.md +0 -3138
- package/documentation/platform/README.md +0 -27
- package/documentation/platform/REWARDS.md +0 -919
- package/documentation/platform/SHARE.md +0 -513
- package/documentation/platform/THEME.md +0 -35446
- package/documentation/platform/USER.md +0 -2174
- package/documentation/platform/WEBHOOK.md +0 -485
- package/documentation/public/CONFIGURATION.md +0 -325
- package/documentation/public/INVENTORY.md +0 -508
- package/documentation/public/WEBHOOK.md +0 -246
- package/jest.config.d.ts +0 -4
- package/jest.config.js +0 -6
- package/tests/application/catalog.spec.js +0 -54
- package/tests/common/action-url.spec.js +0 -35
- package/tests/common/schema/action-url.json +0 -178
- package/tests/common/schema/url-action.json +0 -683
- package/tests/common/url-action.spec.js +0 -48
- package/tests/helpers/cookie.helper.js +0 -31
- package/tests/helpers/oauth.helper.js +0 -43
- package/tests/platform/catalog.spec.js +0 -49
- package/tests/public/location.spec.js +0 -39
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
const { convertUrlToAction } = require("../../sdk/common/Utility");
|
|
2
|
-
const urlToActionConvert = require("./schema/url-action.json");
|
|
3
|
-
|
|
4
|
-
describe("Convert from URL to actionObject", () => {
|
|
5
|
-
//loop over test cases json
|
|
6
|
-
urlToActionConvert.tests.forEach((test) => {
|
|
7
|
-
it(test.name, () => {
|
|
8
|
-
let path = convertUrlToAction(test.path);
|
|
9
|
-
expect(path.page.type).toEqual(test.result.action.page.type);
|
|
10
|
-
});
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
it("empty string as url", () => {
|
|
14
|
-
let path = convertUrlToAction("");
|
|
15
|
-
expect(path).toEqual({
|
|
16
|
-
type: "page",
|
|
17
|
-
page: {
|
|
18
|
-
type: "home",
|
|
19
|
-
query: {},
|
|
20
|
-
params: {},
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it("null as url", () => {
|
|
26
|
-
let path = convertUrlToAction(null);
|
|
27
|
-
expect(path).toEqual({
|
|
28
|
-
type: "page",
|
|
29
|
-
page: {
|
|
30
|
-
type: "home",
|
|
31
|
-
query: {},
|
|
32
|
-
params: {},
|
|
33
|
-
},
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it("undefined as url", () => {
|
|
38
|
-
let path = convertUrlToAction(undefined);
|
|
39
|
-
expect(path).toEqual({
|
|
40
|
-
type: "page",
|
|
41
|
-
page: {
|
|
42
|
-
type: "home",
|
|
43
|
-
query: {},
|
|
44
|
-
params: {},
|
|
45
|
-
},
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
});
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
const { FdkAxios } = require("../../index.js");
|
|
2
|
-
const cookie = {};
|
|
3
|
-
|
|
4
|
-
function setupCookieInterceptor() {
|
|
5
|
-
FdkAxios.interceptors.request.handlers.push({
|
|
6
|
-
fulfilled: function (response) {
|
|
7
|
-
if (cookie[response.baseURL]) {
|
|
8
|
-
console.log("setting up cookies");
|
|
9
|
-
response.headers["cookie"] = cookie[response.baseURL];
|
|
10
|
-
}
|
|
11
|
-
return response;
|
|
12
|
-
},
|
|
13
|
-
rejected: function (err) {
|
|
14
|
-
return Promise.reject(err);
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
FdkAxios.interceptors.response.handlers.unshift({
|
|
18
|
-
fulfilled: function (response) {
|
|
19
|
-
if (response && response.headers && response.headers["set-cookie"]) {
|
|
20
|
-
cookie[response.config.baseURL] = response.headers["set-cookie"].join(
|
|
21
|
-
" ; "
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
return response;
|
|
25
|
-
},
|
|
26
|
-
rejected: function (err) {
|
|
27
|
-
return Promise.reject(err);
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
module.exports = setupCookieInterceptor;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
const { FdkAxios } = require("../../index.js");
|
|
2
|
-
const setupCookieInterceptor = require("./cookie.helper");
|
|
3
|
-
|
|
4
|
-
async function setAccesstoken(platformConfig) {
|
|
5
|
-
setupCookieInterceptor();
|
|
6
|
-
await loginUser(platformConfig);
|
|
7
|
-
let reqData = {
|
|
8
|
-
grant_type: "client_credentials",
|
|
9
|
-
client_id: platformConfig.apiKey,
|
|
10
|
-
client_secret: platformConfig.apiSecret,
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
let url = `${platformConfig.domain}/service/panel/authentication/v1.0/company/${platformConfig.companyId}/oauth/token`;
|
|
14
|
-
const rawRequest = {
|
|
15
|
-
method: "post",
|
|
16
|
-
url: url,
|
|
17
|
-
data: reqData,
|
|
18
|
-
headers: {
|
|
19
|
-
"Content-Type": "application/json",
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
return FdkAxios.request(rawRequest);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
async function loginUser(platformConfig) {
|
|
26
|
-
const skywarpURL = `${platformConfig.domain}/service/panel/authentication/v1.0/auth/login/password`;
|
|
27
|
-
const userData = {
|
|
28
|
-
username: process.env.APP_USERNAME,
|
|
29
|
-
password: process.env.PASSWORD,
|
|
30
|
-
"g-recaptcha-response": "_skip_",
|
|
31
|
-
};
|
|
32
|
-
const rawRequest = {
|
|
33
|
-
method: "post",
|
|
34
|
-
url: skywarpURL,
|
|
35
|
-
data: userData,
|
|
36
|
-
headers: {
|
|
37
|
-
"Content-Type": "application/json",
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
return FdkAxios.request(rawRequest);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
module.exports = setAccesstoken;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
const { PlatformConfig, PlatformClient } = require("../../index.js");
|
|
2
|
-
require("dotenv").config();
|
|
3
|
-
const setAccesstokenObj = require("../helpers/oauth.helper");
|
|
4
|
-
let platformClient;
|
|
5
|
-
|
|
6
|
-
beforeAll(async () => {
|
|
7
|
-
try {
|
|
8
|
-
let platformConfig = new PlatformConfig({
|
|
9
|
-
companyId: 1,
|
|
10
|
-
domain: "https://api.fyndx0.de",
|
|
11
|
-
apiKey: process.env.API_KEY,
|
|
12
|
-
apiSecret: process.env.API_SECRET,
|
|
13
|
-
});
|
|
14
|
-
const tokenResponse = await setAccesstokenObj(platformConfig);
|
|
15
|
-
platformConfig.oauthClient.setToken(tokenResponse);
|
|
16
|
-
platformClient = new PlatformClient(platformConfig);
|
|
17
|
-
platformClient.setExtraHeaders({
|
|
18
|
-
"x-platform-header": {
|
|
19
|
-
pincode: "",
|
|
20
|
-
country: "",
|
|
21
|
-
city: "",
|
|
22
|
-
location: { longitude: "", latitude: "" },
|
|
23
|
-
},
|
|
24
|
-
});
|
|
25
|
-
} catch (err) {
|
|
26
|
-
console.log(err);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
afterAll(() => {
|
|
31
|
-
platformClient = null;
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
describe("Platform Lead Test Cases", () => {
|
|
35
|
-
it("getTickets testing", async () => {
|
|
36
|
-
const tickets = await platformClient.lead.getTickets();
|
|
37
|
-
expect(typeof tickets.page.item_total).toBe("number");
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
describe("Platform Common Test Cases", () => {
|
|
42
|
-
it("search application by name", async () => {
|
|
43
|
-
let locations = await platformClient.common.searchApplication({
|
|
44
|
-
authorization: `Basic ${process.env.AUTH_HEADER}`,
|
|
45
|
-
query: "cirnum.hostx0.de",
|
|
46
|
-
});
|
|
47
|
-
expect(locations && typeof locations === "object").toBe(true);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
const { PublicConfig, PublicClient } = require("../../index.js");
|
|
2
|
-
require("dotenv").config();
|
|
3
|
-
|
|
4
|
-
beforeAll(() => {
|
|
5
|
-
// setupCookieInterceptor();
|
|
6
|
-
const config = new PublicConfig({
|
|
7
|
-
domain: "https://api.fynd.com",
|
|
8
|
-
userAgent: "chrome",
|
|
9
|
-
language: "US/EN",
|
|
10
|
-
currency: "rupees",
|
|
11
|
-
});
|
|
12
|
-
publicClient = new PublicClient(config);
|
|
13
|
-
publicClient.setExtraHeaders({
|
|
14
|
-
"x-public-header": { pincode: "", country: "" },
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
afterAll(() => {
|
|
19
|
-
publicClient = null;
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
describe("Get All Locations", () => {
|
|
23
|
-
it("get locations by type country", async () => {
|
|
24
|
-
let locations = await publicClient.configuration.getLocations({
|
|
25
|
-
locationType: "country",
|
|
26
|
-
});
|
|
27
|
-
expect(locations.items.length).toBeGreaterThan(0);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
describe("Search Application", () => {
|
|
32
|
-
it("search application by name", async () => {
|
|
33
|
-
let locations = await publicClient.configuration.searchApplication({
|
|
34
|
-
authorization: `Basic ${process.env.AUTH_HEADER}`,
|
|
35
|
-
query: "pc.fyndstore.co",
|
|
36
|
-
});
|
|
37
|
-
expect(locations && typeof locations === "object").toBe(true);
|
|
38
|
-
});
|
|
39
|
-
});
|