@ikas/api-client 0.0.1-canary.3

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.
Files changed (92) hide show
  1. package/Jenkinsfile +92 -0
  2. package/README.md +2 -0
  3. package/codegen/admin.yml +9 -0
  4. package/dist/api/admin/admin-client.d.ts +8 -0
  5. package/dist/api/admin/admin-client.js +33 -0
  6. package/dist/api/admin/admin-client.js.map +1 -0
  7. package/dist/api/admin/common-gql.d.ts +4 -0
  8. package/dist/api/admin/common-gql.js +14 -0
  9. package/dist/api/admin/common-gql.js.map +1 -0
  10. package/dist/api/admin/generated/index.d.ts +2105 -0
  11. package/dist/api/admin/generated/index.js +340 -0
  12. package/dist/api/admin/generated/index.js.map +1 -0
  13. package/dist/api/admin/index.d.ts +4 -0
  14. package/dist/api/admin/index.js +17 -0
  15. package/dist/api/admin/index.js.map +1 -0
  16. package/dist/api/admin/mutation-gql.d.ts +6 -0
  17. package/dist/api/admin/mutation-gql.js +40 -0
  18. package/dist/api/admin/mutation-gql.js.map +1 -0
  19. package/dist/api/admin/mutation.d.ts +41 -0
  20. package/dist/api/admin/mutation.js +268 -0
  21. package/dist/api/admin/mutation.js.map +1 -0
  22. package/dist/api/admin/query-gql.d.ts +6 -0
  23. package/dist/api/admin/query-gql.js +34 -0
  24. package/dist/api/admin/query-gql.js.map +1 -0
  25. package/dist/api/admin/query.d.ts +33 -0
  26. package/dist/api/admin/query.js +205 -0
  27. package/dist/api/admin/query.js.map +1 -0
  28. package/dist/api/base.d.ts +44 -0
  29. package/dist/api/base.js +181 -0
  30. package/dist/api/base.js.map +1 -0
  31. package/dist/api/index.d.ts +2 -0
  32. package/dist/api/index.js +15 -0
  33. package/dist/api/index.js.map +1 -0
  34. package/dist/api/oauth/index.d.ts +11 -0
  35. package/dist/api/oauth/index.js +100 -0
  36. package/dist/api/oauth/index.js.map +1 -0
  37. package/dist/api/oauth/models.d.ts +35 -0
  38. package/dist/api/oauth/models.js +23 -0
  39. package/dist/api/oauth/models.js.map +1 -0
  40. package/dist/globals/constants.d.ts +13 -0
  41. package/dist/globals/constants.js +15 -0
  42. package/dist/globals/constants.js.map +1 -0
  43. package/dist/globals/index.d.ts +1 -0
  44. package/dist/globals/index.js +14 -0
  45. package/dist/globals/index.js.map +1 -0
  46. package/dist/helpers/index.d.ts +1 -0
  47. package/dist/helpers/index.js +14 -0
  48. package/dist/helpers/index.js.map +1 -0
  49. package/dist/helpers/webhook-validate.d.ts +1 -0
  50. package/dist/helpers/webhook-validate.js +67 -0
  51. package/dist/helpers/webhook-validate.js.map +1 -0
  52. package/dist/index.d.ts +21 -0
  53. package/dist/index.js +33 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/models/base.d.ts +7 -0
  56. package/dist/models/base.js +3 -0
  57. package/dist/models/base.js.map +1 -0
  58. package/dist/models/index.d.ts +1 -0
  59. package/dist/models/index.js +14 -0
  60. package/dist/models/index.js.map +1 -0
  61. package/dist/models/webhook/index.d.ts +1 -0
  62. package/dist/models/webhook/index.js +14 -0
  63. package/dist/models/webhook/index.js.map +1 -0
  64. package/dist/models/webhook/models.d.ts +68 -0
  65. package/dist/models/webhook/models.js +19 -0
  66. package/dist/models/webhook/models.js.map +1 -0
  67. package/dist/models/webhook/product.d.ts +19 -0
  68. package/dist/models/webhook/product.js +3 -0
  69. package/dist/models/webhook/product.js.map +1 -0
  70. package/package.json +51 -0
  71. package/src/api/admin/admin-client.ts +15 -0
  72. package/src/api/admin/common-gql.ts +425 -0
  73. package/src/api/admin/generated/index.ts +2373 -0
  74. package/src/api/admin/index.ts +4 -0
  75. package/src/api/admin/mutation-gql.ts +255 -0
  76. package/src/api/admin/mutation.ts +195 -0
  77. package/src/api/admin/query-gql.ts +434 -0
  78. package/src/api/admin/query.ts +119 -0
  79. package/src/api/base.ts +133 -0
  80. package/src/api/index.ts +2 -0
  81. package/src/api/oauth/index.ts +47 -0
  82. package/src/api/oauth/models.ts +37 -0
  83. package/src/globals/constants.ts +19 -0
  84. package/src/globals/index.ts +1 -0
  85. package/src/helpers/index.ts +1 -0
  86. package/src/helpers/webhook-validate.ts +17 -0
  87. package/src/index.ts +34 -0
  88. package/src/models/base.ts +7 -0
  89. package/src/models/index.ts +1 -0
  90. package/src/models/webhook/index.ts +1 -0
  91. package/src/models/webhook/models.ts +90 -0
  92. package/tsconfig.json +25 -0
@@ -0,0 +1,44 @@
1
+ import { GraphQLClient } from 'graphql-request';
2
+ import { GraphQLError } from 'graphql-request/dist/types';
3
+ export declare type QueryOptions<T> = {
4
+ query: string;
5
+ variables?: T;
6
+ operationName?: string;
7
+ };
8
+ export declare type MutationOptions<T> = {
9
+ mutation: string;
10
+ variables?: T;
11
+ operationName?: string;
12
+ };
13
+ export declare type OnCheckTokenCallback<TokenData> = (tokenData?: TokenData) => Promise<string | undefined>;
14
+ export declare type BaseGraphQLAPIClientOptions<TokenData> = {
15
+ accessToken: string;
16
+ graphApiUrl: string;
17
+ tokenData?: TokenData;
18
+ onCheckToken?: OnCheckTokenCallback<TokenData>;
19
+ };
20
+ export declare class BaseGraphQLAPIClient<TokenData> {
21
+ _client: GraphQLClient;
22
+ accessToken: string;
23
+ graphApiUrl: string;
24
+ tokenData?: TokenData;
25
+ onCheckToken?: OnCheckTokenCallback<TokenData>;
26
+ constructor({ accessToken, graphApiUrl, onCheckToken, tokenData }: BaseGraphQLAPIClientOptions<TokenData>);
27
+ createGraphQLClient(): GraphQLClient;
28
+ query<TData = any, TVariables = any>(options: QueryOptions<TVariables>): Promise<APIResult<TData>>;
29
+ mutate<TData = any, TVariables = any>(options: MutationOptions<TVariables>): Promise<APIResult<TData>>;
30
+ _makeRequest<TData, TVariables>(options: QueryOptions<TVariables>): Promise<APIResult<TData>>;
31
+ _checkToken(): Promise<void>;
32
+ }
33
+ export declare class APIResult<T> {
34
+ data?: T;
35
+ error?: string;
36
+ errors?: GraphQLError[];
37
+ partial?: boolean;
38
+ constructor(result: {
39
+ data?: T;
40
+ error?: string;
41
+ errors?: GraphQLError[];
42
+ });
43
+ get isSuccess(): boolean;
44
+ }
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.APIResult = exports.BaseGraphQLAPIClient = void 0;
51
+ var graphql_request_1 = require("graphql-request");
52
+ var BaseGraphQLAPIClient = /** @class */ (function () {
53
+ function BaseGraphQLAPIClient(_a) {
54
+ var accessToken = _a.accessToken, graphApiUrl = _a.graphApiUrl, onCheckToken = _a.onCheckToken, tokenData = _a.tokenData;
55
+ this.accessToken = accessToken;
56
+ this.graphApiUrl = graphApiUrl;
57
+ this._client = this.createGraphQLClient();
58
+ this.tokenData = tokenData;
59
+ this.onCheckToken = onCheckToken;
60
+ }
61
+ BaseGraphQLAPIClient.prototype.createGraphQLClient = function () {
62
+ var token = this.accessToken;
63
+ // Run GraphQL queries/mutations using a static function
64
+ // ... or create a GraphQL client instance to send requests
65
+ return new graphql_request_1.GraphQLClient(this.graphApiUrl, {
66
+ headers: __assign({ 'User-Agent': 'ikas-app-client' }, (token ? { authorization: token ? "Bearer ".concat(token) : '' } : {})),
67
+ credentials: 'include',
68
+ });
69
+ // const authLink = setContext((_request, { headers }) => {
70
+ // return {
71
+ // headers: {
72
+ // ...headers,
73
+ // 'User-Agent': 'ikas-app-client',
74
+ // ...(token ? { authorization: token ? `Bearer ${token}` : '' } : {}),
75
+ // },
76
+ // };
77
+ // });
78
+ //
79
+ // const httpLink = createHttpLink({
80
+ // credentials: 'include',
81
+ // uri: this.graphApiUrl,
82
+ // });
83
+ //
84
+ // return new ApolloClient({
85
+ // credentials: 'include',
86
+ // link: authLink.concat(httpLink),
87
+ // cache: new InMemoryCache(),
88
+ // defaultOptions: {
89
+ // watchQuery: {
90
+ // fetchPolicy: 'no-cache',
91
+ // errorPolicy: 'ignore',
92
+ // },
93
+ // query: {
94
+ // fetchPolicy: 'no-cache',
95
+ // errorPolicy: 'all',
96
+ // },
97
+ // },
98
+ // });
99
+ };
100
+ BaseGraphQLAPIClient.prototype.query = function (options) {
101
+ return __awaiter(this, void 0, void 0, function () {
102
+ return __generator(this, function (_a) {
103
+ return [2 /*return*/, this._makeRequest(options)];
104
+ });
105
+ });
106
+ };
107
+ BaseGraphQLAPIClient.prototype.mutate = function (options) {
108
+ return __awaiter(this, void 0, void 0, function () {
109
+ return __generator(this, function (_a) {
110
+ return [2 /*return*/, this._makeRequest(__assign(__assign({}, options), { query: options.mutation }))];
111
+ });
112
+ });
113
+ };
114
+ BaseGraphQLAPIClient.prototype._makeRequest = function (options) {
115
+ return __awaiter(this, void 0, void 0, function () {
116
+ var data, e_1;
117
+ return __generator(this, function (_a) {
118
+ switch (_a.label) {
119
+ case 0: return [4 /*yield*/, this._checkToken()];
120
+ case 1:
121
+ _a.sent();
122
+ _a.label = 2;
123
+ case 2:
124
+ _a.trys.push([2, 4, , 5]);
125
+ return [4 /*yield*/, this._client.request(options.query, options.variables)];
126
+ case 3:
127
+ data = _a.sent();
128
+ return [2 /*return*/, new APIResult({ data: options.operationName ? data[options.operationName] : data })];
129
+ case 4:
130
+ e_1 = _a.sent();
131
+ if (e_1 instanceof graphql_request_1.ClientError)
132
+ return [2 /*return*/, new APIResult({ errors: e_1.response.errors })];
133
+ else
134
+ return [2 /*return*/, new APIResult({ error: e_1.message })];
135
+ return [3 /*break*/, 5];
136
+ case 5: return [2 /*return*/];
137
+ }
138
+ });
139
+ });
140
+ };
141
+ BaseGraphQLAPIClient.prototype._checkToken = function () {
142
+ return __awaiter(this, void 0, void 0, function () {
143
+ var accessToken;
144
+ return __generator(this, function (_a) {
145
+ switch (_a.label) {
146
+ case 0:
147
+ if (!this.onCheckToken) return [3 /*break*/, 2];
148
+ return [4 /*yield*/, this.onCheckToken(this.tokenData)];
149
+ case 1:
150
+ accessToken = _a.sent();
151
+ if (accessToken) {
152
+ this.accessToken = accessToken;
153
+ this._client = this.createGraphQLClient();
154
+ }
155
+ _a.label = 2;
156
+ case 2: return [2 /*return*/];
157
+ }
158
+ });
159
+ });
160
+ };
161
+ return BaseGraphQLAPIClient;
162
+ }());
163
+ exports.BaseGraphQLAPIClient = BaseGraphQLAPIClient;
164
+ var APIResult = /** @class */ (function () {
165
+ function APIResult(result) {
166
+ this.data = result.data;
167
+ this.error = result.error;
168
+ this.errors = result.errors;
169
+ }
170
+ Object.defineProperty(APIResult.prototype, "isSuccess", {
171
+ get: function () {
172
+ var _a;
173
+ return !((_a = this.errors) === null || _a === void 0 ? void 0 : _a.length) && !this.error;
174
+ },
175
+ enumerable: false,
176
+ configurable: true
177
+ });
178
+ return APIResult;
179
+ }());
180
+ exports.APIResult = APIResult;
181
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './admin';
2
+ export * from './oauth';
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./admin"), exports);
14
+ __exportStar(require("./oauth"), exports);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB"}
@@ -0,0 +1,11 @@
1
+ import { GetTokenWithAuthorizationCodeRequest, OAuthTokenResponse, RefreshTokenRequest } from './models';
2
+ export * from './models';
3
+ declare type CommonOptions = {
4
+ storeName: string;
5
+ [p: string]: string;
6
+ };
7
+ export declare class OAuthAPI {
8
+ static getOAuthUrl(options: CommonOptions): string;
9
+ static getTokenWithAuthorizationCode(request: GetTokenWithAuthorizationCodeRequest, options: CommonOptions): Promise<import("axios").AxiosResponse<OAuthTokenResponse | null, any>>;
10
+ static refreshToken(request: RefreshTokenRequest, options: CommonOptions): Promise<import("axios").AxiosResponse<OAuthTokenResponse | null, any>>;
11
+ }
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
+ };
23
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
24
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
27
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
28
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+ var __generator = (this && this.__generator) || function (thisArg, body) {
33
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
34
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
35
+ function verb(n) { return function (v) { return step([n, v]); }; }
36
+ function step(op) {
37
+ if (f) throw new TypeError("Generator is already executing.");
38
+ while (_) try {
39
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
40
+ if (y = 0, t) op = [op[0] & 2, t.value];
41
+ switch (op[0]) {
42
+ case 0: case 1: t = op; break;
43
+ case 4: _.label++; return { value: op[1], done: false };
44
+ case 5: _.label++; y = op[1]; op = [0]; continue;
45
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
46
+ default:
47
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
48
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
49
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
50
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
51
+ if (t[2]) _.ops.pop();
52
+ _.trys.pop(); continue;
53
+ }
54
+ op = body.call(thisArg, _);
55
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
56
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
57
+ }
58
+ };
59
+ var __importDefault = (this && this.__importDefault) || function (mod) {
60
+ return (mod && mod.__esModule) ? mod : { "default": mod };
61
+ };
62
+ Object.defineProperty(exports, "__esModule", { value: true });
63
+ exports.OAuthAPI = void 0;
64
+ var axios_1 = __importDefault(require("axios"));
65
+ var qs_1 = __importDefault(require("qs"));
66
+ var models_1 = require("./models");
67
+ var globals_1 = require("../../globals");
68
+ __exportStar(require("./models"), exports);
69
+ var OAuthAPI = /** @class */ (function () {
70
+ function OAuthAPI() {
71
+ }
72
+ OAuthAPI.getOAuthUrl = function (options) {
73
+ return "https://".concat(options.storeName).concat(options.storeDomain || globals_1.STORE_DOMAIN, "/api/admin/oauth");
74
+ };
75
+ OAuthAPI.getTokenWithAuthorizationCode = function (request, options) {
76
+ return __awaiter(this, void 0, void 0, function () {
77
+ return __generator(this, function (_a) {
78
+ return [2 /*return*/, axios_1.default.post("".concat(OAuthAPI.getOAuthUrl(options), "/token"), qs_1.default.stringify(__assign(__assign({}, request), { grant_type: models_1.GrantTypeEnum.AUTHORIZATION_CODE })), {
79
+ headers: {
80
+ 'Content-Type': 'application/x-www-form-urlencoded',
81
+ },
82
+ })];
83
+ });
84
+ });
85
+ };
86
+ OAuthAPI.refreshToken = function (request, options) {
87
+ return __awaiter(this, void 0, void 0, function () {
88
+ return __generator(this, function (_a) {
89
+ return [2 /*return*/, axios_1.default.post("".concat(OAuthAPI.getOAuthUrl(options), "/token"), qs_1.default.stringify(__assign(__assign({}, request), { grant_type: models_1.GrantTypeEnum.REFRESH_TOKEN })), {
90
+ headers: {
91
+ 'Content-Type': 'application/x-www-form-urlencoded',
92
+ },
93
+ })];
94
+ });
95
+ });
96
+ };
97
+ return OAuthAPI;
98
+ }());
99
+ exports.OAuthAPI = OAuthAPI;
100
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/oauth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,0CAAoB;AACpB,mCAAwH;AACxH,yCAA6C;AAE7C,2CAAyB;AAOzB;IAAA;IAkCA,CAAC;IAjCQ,oBAAW,GAAlB,UAAmB,OAAsB;QACvC,OAAO,kBAAW,OAAO,CAAC,SAAS,SAAG,OAAO,CAAC,WAAW,IAAI,sBAAY,qBAAkB,CAAC;IAC9F,CAAC;IAEY,sCAA6B,GAA1C,UAA2C,OAA6C,EAAE,OAAsB;;;gBAC9G,sBAAO,eAAK,CAAC,IAAI,CACf,UAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,WAAQ,EACxC,YAAE,CAAC,SAAS,uBACP,OAAO,KACV,UAAU,EAAE,sBAAa,CAAC,kBAAkB,IAC5C,EACF;wBACE,OAAO,EAAE;4BACP,cAAc,EAAE,mCAAmC;yBACpD;qBACF,CACF,EAAC;;;KACH;IAEY,qBAAY,GAAzB,UAA0B,OAA4B,EAAE,OAAsB;;;gBAC5E,sBAAO,eAAK,CAAC,IAAI,CACf,UAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,WAAQ,EACxC,YAAE,CAAC,SAAS,uBACP,OAAO,KACV,UAAU,EAAE,sBAAa,CAAC,aAAa,IACvC,EACF;wBACE,OAAO,EAAE;4BACP,cAAc,EAAE,mCAAmC;yBACpD;qBACF,CACF,EAAC;;;KACH;IACH,eAAC;AAAD,CAAC,AAlCD,IAkCC;AAlCY,4BAAQ"}
@@ -0,0 +1,35 @@
1
+ export declare enum GrantTypeEnum {
2
+ AUTHORIZATION_CODE = "authorization_code",
3
+ CLIENT_CREDENTIALS = "client_credentials",
4
+ REFRESH_TOKEN = "refresh_token"
5
+ }
6
+ export declare enum APP_SCOPES {
7
+ READ_PRODUCTS = "read_products",
8
+ WRITE_PRODUCTS = "write_products",
9
+ READ_ORDERS = "read_orders",
10
+ WRITE_ORDERS = "write_orders",
11
+ READ_CUSTOMERS = "read_customers",
12
+ WRITE_CUSTOMERS = "write_customers",
13
+ READ_CAMPAIGNS = "read_campaigns",
14
+ WRITE_CAMPAIGNS = "write_campaigns",
15
+ READ_INVENTORIES = "read_inventories",
16
+ WRITE_INVENTORIES = "write_inventories"
17
+ }
18
+ export declare type GetTokenWithAuthorizationCodeRequest = {
19
+ client_id: string;
20
+ client_secret: string;
21
+ code: string;
22
+ redirect_uri: string;
23
+ };
24
+ export declare type RefreshTokenRequest = {
25
+ client_id: string;
26
+ client_secret: string;
27
+ refresh_token: string;
28
+ };
29
+ export declare type OAuthTokenResponse = {
30
+ token_type: string;
31
+ expires_in: number;
32
+ access_token: string;
33
+ scope: string;
34
+ refresh_token: string;
35
+ };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APP_SCOPES = exports.GrantTypeEnum = void 0;
4
+ var GrantTypeEnum;
5
+ (function (GrantTypeEnum) {
6
+ GrantTypeEnum["AUTHORIZATION_CODE"] = "authorization_code";
7
+ GrantTypeEnum["CLIENT_CREDENTIALS"] = "client_credentials";
8
+ GrantTypeEnum["REFRESH_TOKEN"] = "refresh_token";
9
+ })(GrantTypeEnum = exports.GrantTypeEnum || (exports.GrantTypeEnum = {}));
10
+ var APP_SCOPES;
11
+ (function (APP_SCOPES) {
12
+ APP_SCOPES["READ_PRODUCTS"] = "read_products";
13
+ APP_SCOPES["WRITE_PRODUCTS"] = "write_products";
14
+ APP_SCOPES["READ_ORDERS"] = "read_orders";
15
+ APP_SCOPES["WRITE_ORDERS"] = "write_orders";
16
+ APP_SCOPES["READ_CUSTOMERS"] = "read_customers";
17
+ APP_SCOPES["WRITE_CUSTOMERS"] = "write_customers";
18
+ APP_SCOPES["READ_CAMPAIGNS"] = "read_campaigns";
19
+ APP_SCOPES["WRITE_CAMPAIGNS"] = "write_campaigns";
20
+ APP_SCOPES["READ_INVENTORIES"] = "read_inventories";
21
+ APP_SCOPES["WRITE_INVENTORIES"] = "write_inventories";
22
+ })(APP_SCOPES = exports.APP_SCOPES || (exports.APP_SCOPES = {}));
23
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/api/oauth/models.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,0DAAyC,CAAA;IACzC,0DAAyC,CAAA;IACzC,gDAA+B,CAAA;AACjC,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB;AAED,IAAY,UAWX;AAXD,WAAY,UAAU;IACpB,6CAA+B,CAAA;IAC/B,+CAAiC,CAAA;IACjC,yCAA2B,CAAA;IAC3B,2CAA6B,CAAA;IAC7B,+CAAiC,CAAA;IACjC,iDAAmC,CAAA;IACnC,+CAAiC,CAAA;IACjC,iDAAmC,CAAA;IACnC,mDAAqC,CAAA;IACrC,qDAAuC,CAAA;AACzC,CAAC,EAXW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAWrB"}
@@ -0,0 +1,13 @@
1
+ declare type IkasConfigOptions = {
2
+ apiVersion?: string;
3
+ [p: string]: any | undefined;
4
+ };
5
+ export declare const STORE_DOMAIN = ".myikas.com";
6
+ export declare const DEFAULT_API_VERSION = "v1";
7
+ export declare class IkasConfig {
8
+ storeDomain: string;
9
+ apiVersion: string;
10
+ adminApiUrl: string;
11
+ constructor(options: IkasConfigOptions);
12
+ }
13
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IkasConfig = exports.DEFAULT_API_VERSION = exports.STORE_DOMAIN = void 0;
4
+ exports.STORE_DOMAIN = '.myikas.com';
5
+ exports.DEFAULT_API_VERSION = 'v1';
6
+ var IkasConfig = /** @class */ (function () {
7
+ function IkasConfig(options) {
8
+ this.storeDomain = options.storeDomain || exports.STORE_DOMAIN;
9
+ this.apiVersion = options.apiVersion || exports.DEFAULT_API_VERSION;
10
+ this.adminApiUrl = "https://api".concat(this.storeDomain, "/api/").concat(this.apiVersion, "/admin/graphql");
11
+ }
12
+ return IkasConfig;
13
+ }());
14
+ exports.IkasConfig = IkasConfig;
15
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/globals/constants.ts"],"names":[],"mappings":";;;AAKa,QAAA,YAAY,GAAG,aAAa,CAAC;AAC7B,QAAA,mBAAmB,GAAG,IAAI,CAAC;AAExC;IAKE,oBAAY,OAA0B;QACpC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,oBAAY,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,2BAAmB,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,qBAAc,IAAI,CAAC,WAAW,kBAAQ,IAAI,CAAC,UAAU,mBAAgB,CAAC;IAC3F,CAAC;IACH,iBAAC;AAAD,CAAC,AAVD,IAUC;AAVY,gCAAU"}
@@ -0,0 +1 @@
1
+ export * from './constants';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./constants"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/globals/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4B"}
@@ -0,0 +1 @@
1
+ export * from './webhook-validate';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./webhook-validate"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAmC"}
@@ -0,0 +1 @@
1
+ export declare const webhookValidate: (clientSecret: string) => (req: any, res: any, next: () => any) => Promise<void>;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.webhookValidate = void 0;
43
+ var crypto_1 = __importDefault(require("crypto"));
44
+ var webhookValidate = function (clientSecret) { return function (req, res, next) { return __awaiter(void 0, void 0, void 0, function () {
45
+ var data, generatedHash;
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0:
49
+ data = req.body;
50
+ generatedHash = crypto_1.default
51
+ .createHmac('sha256', clientSecret || '')
52
+ .update(data.data, 'utf8')
53
+ .digest('hex');
54
+ if (!(generatedHash === data.signature)) return [3 /*break*/, 2];
55
+ return [4 /*yield*/, next()];
56
+ case 1:
57
+ _a.sent();
58
+ return [3 /*break*/, 3];
59
+ case 2:
60
+ res.status(401).send({ message: 'invalid signature', statusCode: 401 });
61
+ _a.label = 3;
62
+ case 3: return [2 /*return*/];
63
+ }
64
+ });
65
+ }); }; };
66
+ exports.webhookValidate = webhookValidate;
67
+ //# sourceMappingURL=webhook-validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-validate.js","sourceRoot":"","sources":["../../src/helpers/webhook-validate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA4B;AAErB,IAAM,eAAe,GAAG,UAAC,YAAoB,IAAK,OAAA,UAAO,GAAQ,EAAE,GAAQ,EAAE,IAAe;;;;;gBAC3F,IAAI,GAAgB,GAAG,CAAC,IAAI,CAAC;gBAE7B,aAAa,GAAG,gBAAM;qBACzB,UAAU,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAC;qBACxC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;qBACzB,MAAM,CAAC,KAAK,CAAC,CAAC;qBAEb,CAAA,aAAa,KAAK,IAAI,CAAC,SAAS,CAAA,EAAhC,wBAAgC;gBAClC,qBAAM,IAAI,EAAE,EAAA;;gBAAZ,SAAY,CAAC;;;gBAEb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;;;;;KAE3E,EAbwD,CAaxD,CAAC;AAbW,QAAA,eAAe,mBAa1B"}
@@ -0,0 +1,21 @@
1
+ import { ikasAdminGraphQLAPIClient } from './api';
2
+ import { IkasConfig } from './globals';
3
+ import { OnCheckTokenCallback } from './api/base';
4
+ export * from './api';
5
+ export * from './globals';
6
+ export * from './helpers';
7
+ export * from './models';
8
+ declare type AppProps<TokenData> = {
9
+ clientId: string;
10
+ clientSecret: string;
11
+ accessToken: string;
12
+ apiVersion?: 'v1';
13
+ tokenData?: TokenData;
14
+ onCheckToken?: OnCheckTokenCallback<TokenData>;
15
+ [p: string]: any;
16
+ };
17
+ export declare class ikas<TokenData> {
18
+ adminApi: ikasAdminGraphQLAPIClient<TokenData>;
19
+ config: IkasConfig;
20
+ constructor(props: AppProps<TokenData>);
21
+ }