@ptkl/sdk 1.3.2 → 1.4.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/dist/index.0.10.js +101 -20
- package/dist/index.0.9.js +73 -20
- package/dist/package.json +5 -4
- package/dist/v0.10/api/component.d.ts +30 -12
- package/dist/v0.10/api/functions.d.ts +17 -5
- package/dist/v0.10/api/index.d.ts +2 -0
- package/dist/v0.10/api/integrations/ecommerce.d.ts +42 -0
- package/dist/v0.10/api/integrations.d.ts +2 -0
- package/dist/v0.10/api/platform.d.ts +1 -1
- package/dist/v0.10/api/system.d.ts +38 -1
- package/dist/v0.10/index.cjs.js +101 -20
- package/dist/v0.10/index.esm.js +101 -21
- package/dist/v0.10/types/component.d.ts +4 -3
- package/dist/v0.10/types/functions.d.ts +81 -0
- package/dist/v0.10/types/integrations/ecommerce.d.ts +199 -0
- package/dist/v0.9/api/component.d.ts +6 -6
- package/dist/v0.9/api/functions.d.ts +17 -5
- package/dist/v0.9/api/index.d.ts +1 -0
- package/dist/v0.9/api/integrations/ecommerce.d.ts +42 -0
- package/dist/v0.9/api/integrations.d.ts +2 -0
- package/dist/v0.9/api/system.d.ts +1 -1
- package/dist/v0.9/index.cjs.js +73 -20
- package/dist/v0.9/index.esm.js +73 -21
- package/dist/v0.9/types/component.d.ts +4 -3
- package/dist/v0.9/types/functions.d.ts +41 -0
- package/dist/v0.9/types/integrations/ecommerce.d.ts +199 -0
- package/package.json +5 -4
package/dist/index.0.10.js
CHANGED
|
@@ -48,11 +48,15 @@ var ProtokolSDK010 = (function (exports, axios) {
|
|
|
48
48
|
token = (_c = __global_env__ === null || __global_env__ === void 0 ? void 0 : __global_env__.PROJECT_API_TOKEN) !== null && _c !== void 0 ? _c : token;
|
|
49
49
|
project_uuid = __global_env__ === null || __global_env__ === void 0 ? void 0 : __global_env__.PROJECT_UUID;
|
|
50
50
|
if (isBrowser) {
|
|
51
|
-
if (sessionStorage.getItem('protokol_context')
|
|
52
|
-
headers['X-Project-Env'] = (_d = sessionStorage.getItem('forge_app_env')) !== null && _d !== void 0 ? _d :
|
|
51
|
+
if (sessionStorage.getItem('protokol_context') === 'forge') {
|
|
52
|
+
headers['X-Project-Env'] = (_d = sessionStorage.getItem('forge_app_env')) !== null && _d !== void 0 ? _d : 'dev';
|
|
53
|
+
// pick up forge actor token — overrides any other token source
|
|
54
|
+
const forgeToken = sessionStorage.getItem('forge_actor_token');
|
|
55
|
+
if (forgeToken)
|
|
56
|
+
token = forgeToken;
|
|
53
57
|
}
|
|
54
58
|
else {
|
|
55
|
-
headers['X-Project-Env'] = (_e = localStorage.getItem('current_env')) !== null && _e !== void 0 ? _e :
|
|
59
|
+
headers['X-Project-Env'] = (_e = localStorage.getItem('current_env')) !== null && _e !== void 0 ? _e : 'dev';
|
|
56
60
|
}
|
|
57
61
|
}
|
|
58
62
|
}
|
|
@@ -88,6 +92,11 @@ var ProtokolSDK010 = (function (exports, axios) {
|
|
|
88
92
|
}
|
|
89
93
|
|
|
90
94
|
class Component extends PlatformBaseClient {
|
|
95
|
+
/**
|
|
96
|
+
* @param ref - Component ref (e.g. "ecommerce::order"). Passing a string
|
|
97
|
+
* literal lets TypeScript infer the generic C and type find/create/function
|
|
98
|
+
* results accordingly.
|
|
99
|
+
*/
|
|
91
100
|
constructor(ref = null) {
|
|
92
101
|
super();
|
|
93
102
|
this.ref = ref;
|
|
@@ -114,6 +123,7 @@ var ProtokolSDK010 = (function (exports, axios) {
|
|
|
114
123
|
* )
|
|
115
124
|
**/
|
|
116
125
|
async find(filters, opts) {
|
|
126
|
+
var _a;
|
|
117
127
|
let payload = {
|
|
118
128
|
context: filters,
|
|
119
129
|
ref: this.ref,
|
|
@@ -145,6 +155,12 @@ var ProtokolSDK010 = (function (exports, axios) {
|
|
|
145
155
|
dateTo: ctx.dateTo,
|
|
146
156
|
dateField: ctx.dateField,
|
|
147
157
|
};
|
|
158
|
+
if (Object.keys(ctx.$adv || []).length > 0) {
|
|
159
|
+
params.$adv = [(_a = ctx.$adv) !== null && _a !== void 0 ? _a : {}];
|
|
160
|
+
}
|
|
161
|
+
if (ctx.$aggregate && ctx.$aggregate.length > 0) {
|
|
162
|
+
params.$aggregate = ctx.$aggregate;
|
|
163
|
+
}
|
|
148
164
|
return await this.client.post(`/v4/system/component/${this.ref}/models`, {
|
|
149
165
|
...params,
|
|
150
166
|
options: opts
|
|
@@ -226,7 +242,7 @@ var ProtokolSDK010 = (function (exports, axios) {
|
|
|
226
242
|
async updateMany(data, options) {
|
|
227
243
|
return await this.client.patch(`/v4/system/component/${this.ref}/models/bulk`, {
|
|
228
244
|
data,
|
|
229
|
-
options
|
|
245
|
+
options,
|
|
230
246
|
});
|
|
231
247
|
}
|
|
232
248
|
/**
|
|
@@ -631,16 +647,6 @@ var ProtokolSDK010 = (function (exports, axios) {
|
|
|
631
647
|
async update(uuid, update) {
|
|
632
648
|
return await this.client.patch(`/v1/system/function/${uuid}`, update);
|
|
633
649
|
}
|
|
634
|
-
/**
|
|
635
|
-
* Run platform function
|
|
636
|
-
*
|
|
637
|
-
* @param id - Function ID
|
|
638
|
-
* @param d - Object containing input data, query parameters, and headers
|
|
639
|
-
* @returns - Function result
|
|
640
|
-
*
|
|
641
|
-
* @example
|
|
642
|
-
* const result = await platform.function().run("myFunction", {input: { foo: "bar" }})
|
|
643
|
-
*/
|
|
644
650
|
async run(id, d) {
|
|
645
651
|
const { data } = await this.client.post(`/v1/system/function/run/${id}`, d.input, {
|
|
646
652
|
params: d.query,
|
|
@@ -1095,10 +1101,25 @@ var ProtokolSDK010 = (function (exports, axios) {
|
|
|
1095
1101
|
}
|
|
1096
1102
|
|
|
1097
1103
|
class System extends PlatformBaseClient {
|
|
1098
|
-
|
|
1104
|
+
/**
|
|
1105
|
+
* Returns all IDL definitions for the current project.
|
|
1106
|
+
* Used by `ptkl generate-types` to emit typed `.d.ts` augmentations.
|
|
1107
|
+
*/
|
|
1108
|
+
async idl() {
|
|
1109
|
+
return await this.client.get('/v1/system/idl');
|
|
1110
|
+
}
|
|
1111
|
+
/**
|
|
1112
|
+
* Validates a value against an IDL — either by ref or with an inline IDL object.
|
|
1113
|
+
* Returns `{ data: { valid: true } }` on success or
|
|
1114
|
+
* `{ data: { valid: false, errors: [...] } }` on validation failure.
|
|
1115
|
+
* Throws on HTTP errors (4xx/5xx).
|
|
1116
|
+
*/
|
|
1117
|
+
async idlValidate(req) {
|
|
1118
|
+
return await this.client.post('/v1/system/idl/validate', req);
|
|
1119
|
+
}
|
|
1120
|
+
async resourceResolver(prn, format) {
|
|
1099
1121
|
return await this.client.post("/v3/system/resource-resolver", {
|
|
1100
|
-
|
|
1101
|
-
ref,
|
|
1122
|
+
prn,
|
|
1102
1123
|
format,
|
|
1103
1124
|
});
|
|
1104
1125
|
}
|
|
@@ -1400,11 +1421,15 @@ var ProtokolSDK010 = (function (exports, axios) {
|
|
|
1400
1421
|
env = env !== null && env !== void 0 ? env : __global_env__ === null || __global_env__ === void 0 ? void 0 : __global_env__.PROJECT_ENV;
|
|
1401
1422
|
token = token !== null && token !== void 0 ? token : __global_env__ === null || __global_env__ === void 0 ? void 0 : __global_env__.PROJECT_API_TOKEN;
|
|
1402
1423
|
if (isBrowser) {
|
|
1403
|
-
if (sessionStorage.getItem('protokol_context')
|
|
1404
|
-
headers['X-Project-Env'] = (_b = sessionStorage.getItem('forge_app_env')) !== null && _b !== void 0 ? _b :
|
|
1424
|
+
if (sessionStorage.getItem('protokol_context') === 'forge') {
|
|
1425
|
+
headers['X-Project-Env'] = (_b = sessionStorage.getItem('forge_app_env')) !== null && _b !== void 0 ? _b : 'dev';
|
|
1426
|
+
// pick up forge actor token — overrides any other token source
|
|
1427
|
+
const forgeToken = sessionStorage.getItem('forge_actor_token');
|
|
1428
|
+
if (forgeToken)
|
|
1429
|
+
token = forgeToken;
|
|
1405
1430
|
}
|
|
1406
1431
|
else {
|
|
1407
|
-
headers['X-Project-Env'] = (_c = localStorage.getItem('current_env')) !== null && _c !== void 0 ? _c :
|
|
1432
|
+
headers['X-Project-Env'] = (_c = localStorage.getItem('current_env')) !== null && _c !== void 0 ? _c : 'dev';
|
|
1408
1433
|
}
|
|
1409
1434
|
}
|
|
1410
1435
|
}
|
|
@@ -3200,6 +3225,57 @@ var ProtokolSDK010 = (function (exports, axios) {
|
|
|
3200
3225
|
}
|
|
3201
3226
|
}
|
|
3202
3227
|
|
|
3228
|
+
class Ecommerce extends IntegrationsBaseClient {
|
|
3229
|
+
/**
|
|
3230
|
+
* Get the ecommerce integration user for the current project.
|
|
3231
|
+
*/
|
|
3232
|
+
async get() {
|
|
3233
|
+
return await this.client.get(`/v1/ecomm/user`);
|
|
3234
|
+
}
|
|
3235
|
+
/**
|
|
3236
|
+
* Update ecommerce integration settings (onboarding or partial update).
|
|
3237
|
+
*/
|
|
3238
|
+
async update(req) {
|
|
3239
|
+
return await this.client.patch(`/v1/ecomm/user`, req);
|
|
3240
|
+
}
|
|
3241
|
+
/**
|
|
3242
|
+
* Check whether a base domain subdomain is available.
|
|
3243
|
+
*/
|
|
3244
|
+
async checkBaseDomain(domain) {
|
|
3245
|
+
return await this.client.post(`/v1/ecomm/base-domain/check`, { domain });
|
|
3246
|
+
}
|
|
3247
|
+
/**
|
|
3248
|
+
* Add a custom domain (returns a verification token for DNS validation).
|
|
3249
|
+
*/
|
|
3250
|
+
async addCustomDomain(domain) {
|
|
3251
|
+
return await this.client.post(`/v1/ecomm/domains`, { domain });
|
|
3252
|
+
}
|
|
3253
|
+
/**
|
|
3254
|
+
* Validate a custom domain with its verification token.
|
|
3255
|
+
*/
|
|
3256
|
+
async validateCustomDomain(domain, token) {
|
|
3257
|
+
return await this.client.post(`/v1/ecomm/domains/validate`, { domain, token });
|
|
3258
|
+
}
|
|
3259
|
+
/**
|
|
3260
|
+
* Remove a custom domain.
|
|
3261
|
+
*/
|
|
3262
|
+
async removeCustomDomain(domain) {
|
|
3263
|
+
return await this.client.delete(`/v1/ecomm/domains`, { data: { domain } });
|
|
3264
|
+
}
|
|
3265
|
+
/**
|
|
3266
|
+
* List pending (unvalidated) custom domains.
|
|
3267
|
+
*/
|
|
3268
|
+
async getPendingDomains() {
|
|
3269
|
+
return await this.client.get(`/v1/ecomm/domains/pending`);
|
|
3270
|
+
}
|
|
3271
|
+
/**
|
|
3272
|
+
* List validated custom domains.
|
|
3273
|
+
*/
|
|
3274
|
+
async getValidatedDomains() {
|
|
3275
|
+
return await this.client.get(`/v1/ecomm/domains/validated`);
|
|
3276
|
+
}
|
|
3277
|
+
}
|
|
3278
|
+
|
|
3203
3279
|
class Integrations extends IntegrationsBaseClient {
|
|
3204
3280
|
constructor(options) {
|
|
3205
3281
|
super(options);
|
|
@@ -3210,6 +3286,7 @@ var ProtokolSDK010 = (function (exports, axios) {
|
|
|
3210
3286
|
'nbs': new NBS().setClient(this.client),
|
|
3211
3287
|
'protokol-payments': new Payments().setClient(this.client),
|
|
3212
3288
|
'protokol-minimax': new Minimax().setClient(this.client),
|
|
3289
|
+
'protokol-ecommerce': new Ecommerce().setClient(this.client),
|
|
3213
3290
|
};
|
|
3214
3291
|
}
|
|
3215
3292
|
getDMS() {
|
|
@@ -3233,6 +3310,9 @@ var ProtokolSDK010 = (function (exports, axios) {
|
|
|
3233
3310
|
getSerbiaMinFin() {
|
|
3234
3311
|
return this.getInterfaceOf('serbia-minfin');
|
|
3235
3312
|
}
|
|
3313
|
+
getEcommerce() {
|
|
3314
|
+
return this.getInterfaceOf('protokol-ecommerce');
|
|
3315
|
+
}
|
|
3236
3316
|
async isInstalled(id) {
|
|
3237
3317
|
const { data } = await this.client.get("/v1/integrations");
|
|
3238
3318
|
return data.find((i) => i.id == id) !== undefined;
|
|
@@ -3278,6 +3358,7 @@ var ProtokolSDK010 = (function (exports, axios) {
|
|
|
3278
3358
|
exports.ComponentUtils = ComponentUtils;
|
|
3279
3359
|
exports.Config = Config;
|
|
3280
3360
|
exports.DMS = DMS;
|
|
3361
|
+
exports.Ecommerce = Ecommerce;
|
|
3281
3362
|
exports.Forge = Forge;
|
|
3282
3363
|
exports.Functions = Functions;
|
|
3283
3364
|
exports.Integration = Integrations;
|
package/dist/index.0.9.js
CHANGED
|
@@ -48,11 +48,15 @@ var ProtokolSDK09 = (function (exports, axios) {
|
|
|
48
48
|
token = token !== null && token !== void 0 ? token : __global_env__ === null || __global_env__ === void 0 ? void 0 : __global_env__.PROJECT_API_TOKEN;
|
|
49
49
|
project_uuid = __global_env__ === null || __global_env__ === void 0 ? void 0 : __global_env__.PROJECT_UUID;
|
|
50
50
|
if (isBrowser) {
|
|
51
|
-
if (sessionStorage.getItem('protokol_context')
|
|
52
|
-
headers['X-Project-Env'] = (_b = sessionStorage.getItem('forge_app_env')) !== null && _b !== void 0 ? _b :
|
|
51
|
+
if (sessionStorage.getItem('protokol_context') === 'forge') {
|
|
52
|
+
headers['X-Project-Env'] = (_b = sessionStorage.getItem('forge_app_env')) !== null && _b !== void 0 ? _b : 'dev';
|
|
53
|
+
// pick up forge actor token — overrides any other token source
|
|
54
|
+
const forgeToken = sessionStorage.getItem('forge_actor_token');
|
|
55
|
+
if (forgeToken)
|
|
56
|
+
token = forgeToken;
|
|
53
57
|
}
|
|
54
58
|
else {
|
|
55
|
-
headers['X-Project-Env'] = (_c = localStorage.getItem('current_env')) !== null && _c !== void 0 ? _c :
|
|
59
|
+
headers['X-Project-Env'] = (_c = localStorage.getItem('current_env')) !== null && _c !== void 0 ? _c : 'dev';
|
|
56
60
|
}
|
|
57
61
|
}
|
|
58
62
|
}
|
|
@@ -236,7 +240,7 @@ var ProtokolSDK09 = (function (exports, axios) {
|
|
|
236
240
|
async updateMany(data, options) {
|
|
237
241
|
return await this.client.patch(`${this.getComponentPath()}/models/bulk`, {
|
|
238
242
|
data,
|
|
239
|
-
options
|
|
243
|
+
options,
|
|
240
244
|
});
|
|
241
245
|
}
|
|
242
246
|
/**
|
|
@@ -470,16 +474,6 @@ var ProtokolSDK09 = (function (exports, axios) {
|
|
|
470
474
|
async update(uuid, update) {
|
|
471
475
|
return await this.client.patch(`/v1/system/function/${uuid}`, update);
|
|
472
476
|
}
|
|
473
|
-
/**
|
|
474
|
-
* Run platform function
|
|
475
|
-
*
|
|
476
|
-
* @param id - Function ID
|
|
477
|
-
* @param d - Object containing input data, query parameters, and headers
|
|
478
|
-
* @returns - Function result
|
|
479
|
-
*
|
|
480
|
-
* @example
|
|
481
|
-
* const result = await platform.function().run("myFunction", {input: { foo: "bar" }})
|
|
482
|
-
*/
|
|
483
477
|
async run(id, d) {
|
|
484
478
|
const { data } = await this.client.post(`/v1/system/function/run/${id}`, d.input, {
|
|
485
479
|
params: d.query,
|
|
@@ -923,10 +917,9 @@ var ProtokolSDK09 = (function (exports, axios) {
|
|
|
923
917
|
}
|
|
924
918
|
|
|
925
919
|
class System extends PlatformBaseClient {
|
|
926
|
-
async resourceResolver(
|
|
920
|
+
async resourceResolver(prn, format) {
|
|
927
921
|
return await this.client.post("/v3/system/resource-resolver", {
|
|
928
|
-
|
|
929
|
-
ref,
|
|
922
|
+
prn,
|
|
930
923
|
format,
|
|
931
924
|
});
|
|
932
925
|
}
|
|
@@ -1253,11 +1246,15 @@ var ProtokolSDK09 = (function (exports, axios) {
|
|
|
1253
1246
|
env = env !== null && env !== void 0 ? env : __global_env__ === null || __global_env__ === void 0 ? void 0 : __global_env__.PROJECT_ENV;
|
|
1254
1247
|
token = token !== null && token !== void 0 ? token : __global_env__ === null || __global_env__ === void 0 ? void 0 : __global_env__.PROJECT_API_TOKEN;
|
|
1255
1248
|
if (isBrowser) {
|
|
1256
|
-
if (sessionStorage.getItem('protokol_context')
|
|
1257
|
-
headers['X-Project-Env'] = (_b = sessionStorage.getItem('forge_app_env')) !== null && _b !== void 0 ? _b :
|
|
1249
|
+
if (sessionStorage.getItem('protokol_context') === 'forge') {
|
|
1250
|
+
headers['X-Project-Env'] = (_b = sessionStorage.getItem('forge_app_env')) !== null && _b !== void 0 ? _b : 'dev';
|
|
1251
|
+
// pick up forge actor token — overrides any other token source
|
|
1252
|
+
const forgeToken = sessionStorage.getItem('forge_actor_token');
|
|
1253
|
+
if (forgeToken)
|
|
1254
|
+
token = forgeToken;
|
|
1258
1255
|
}
|
|
1259
1256
|
else {
|
|
1260
|
-
headers['X-Project-Env'] = (_c = localStorage.getItem('current_env')) !== null && _c !== void 0 ? _c :
|
|
1257
|
+
headers['X-Project-Env'] = (_c = localStorage.getItem('current_env')) !== null && _c !== void 0 ? _c : 'dev';
|
|
1261
1258
|
}
|
|
1262
1259
|
}
|
|
1263
1260
|
}
|
|
@@ -2891,6 +2888,57 @@ var ProtokolSDK09 = (function (exports, axios) {
|
|
|
2891
2888
|
}
|
|
2892
2889
|
}
|
|
2893
2890
|
|
|
2891
|
+
class Ecommerce extends IntegrationsBaseClient {
|
|
2892
|
+
/**
|
|
2893
|
+
* Get the ecommerce integration user for the current project.
|
|
2894
|
+
*/
|
|
2895
|
+
async get() {
|
|
2896
|
+
return await this.client.get(`/v1/ecomm/user`);
|
|
2897
|
+
}
|
|
2898
|
+
/**
|
|
2899
|
+
* Update ecommerce integration settings (onboarding or partial update).
|
|
2900
|
+
*/
|
|
2901
|
+
async update(req) {
|
|
2902
|
+
return await this.client.patch(`/v1/ecomm/user`, req);
|
|
2903
|
+
}
|
|
2904
|
+
/**
|
|
2905
|
+
* Check whether a base domain subdomain is available.
|
|
2906
|
+
*/
|
|
2907
|
+
async checkBaseDomain(domain) {
|
|
2908
|
+
return await this.client.post(`/v1/ecomm/base-domain/check`, { domain });
|
|
2909
|
+
}
|
|
2910
|
+
/**
|
|
2911
|
+
* Add a custom domain (returns a verification token for DNS validation).
|
|
2912
|
+
*/
|
|
2913
|
+
async addCustomDomain(domain) {
|
|
2914
|
+
return await this.client.post(`/v1/ecomm/domains`, { domain });
|
|
2915
|
+
}
|
|
2916
|
+
/**
|
|
2917
|
+
* Validate a custom domain with its verification token.
|
|
2918
|
+
*/
|
|
2919
|
+
async validateCustomDomain(domain, token) {
|
|
2920
|
+
return await this.client.post(`/v1/ecomm/domains/validate`, { domain, token });
|
|
2921
|
+
}
|
|
2922
|
+
/**
|
|
2923
|
+
* Remove a custom domain.
|
|
2924
|
+
*/
|
|
2925
|
+
async removeCustomDomain(domain) {
|
|
2926
|
+
return await this.client.delete(`/v1/ecomm/domains`, { data: { domain } });
|
|
2927
|
+
}
|
|
2928
|
+
/**
|
|
2929
|
+
* List pending (unvalidated) custom domains.
|
|
2930
|
+
*/
|
|
2931
|
+
async getPendingDomains() {
|
|
2932
|
+
return await this.client.get(`/v1/ecomm/domains/pending`);
|
|
2933
|
+
}
|
|
2934
|
+
/**
|
|
2935
|
+
* List validated custom domains.
|
|
2936
|
+
*/
|
|
2937
|
+
async getValidatedDomains() {
|
|
2938
|
+
return await this.client.get(`/v1/ecomm/domains/validated`);
|
|
2939
|
+
}
|
|
2940
|
+
}
|
|
2941
|
+
|
|
2894
2942
|
// import integrations
|
|
2895
2943
|
class Integrations extends IntegrationsBaseClient {
|
|
2896
2944
|
constructor(options) {
|
|
@@ -2903,6 +2951,7 @@ var ProtokolSDK09 = (function (exports, axios) {
|
|
|
2903
2951
|
'serbia-utilities': new SerbiaUtil().setClient(this.client),
|
|
2904
2952
|
'protokol-payments': new Payments().setClient(this.client),
|
|
2905
2953
|
'protokol-minimax': new Minimax().setClient(this.client),
|
|
2954
|
+
'protokol-ecommerce': new Ecommerce().setClient(this.client),
|
|
2906
2955
|
};
|
|
2907
2956
|
}
|
|
2908
2957
|
getSerbiaUtilities() {
|
|
@@ -2926,6 +2975,9 @@ var ProtokolSDK09 = (function (exports, axios) {
|
|
|
2926
2975
|
getMinimax() {
|
|
2927
2976
|
return this.getInterfaceOf('protokol-minimax');
|
|
2928
2977
|
}
|
|
2978
|
+
getEcommerce() {
|
|
2979
|
+
return this.getInterfaceOf('protokol-ecommerce');
|
|
2980
|
+
}
|
|
2929
2981
|
async isInstalled(id) {
|
|
2930
2982
|
const { data } = await this.client.get("/v1/integrations");
|
|
2931
2983
|
return data.find((i) => i.id == id) !== undefined;
|
|
@@ -2950,6 +3002,7 @@ var ProtokolSDK09 = (function (exports, axios) {
|
|
|
2950
3002
|
exports.ComponentUtils = ComponentUtils;
|
|
2951
3003
|
exports.Config = Config;
|
|
2952
3004
|
exports.DMS = DMS;
|
|
3005
|
+
exports.Ecommerce = Ecommerce;
|
|
2953
3006
|
exports.Forge = Forge;
|
|
2954
3007
|
exports.Functions = Functions;
|
|
2955
3008
|
exports.Integration = Integrations;
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ptkl/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "rollup -c",
|
|
6
6
|
"build:monaco": "npm run build && node scripts/generate-monaco-types.cjs",
|
|
@@ -13,17 +13,17 @@
|
|
|
13
13
|
".": {
|
|
14
14
|
"import": "./dist/v0.9/index.esm.js",
|
|
15
15
|
"require": "./dist/v0.9/index.cjs.js",
|
|
16
|
-
"types": "./dist/v0.9/index.d.ts"
|
|
16
|
+
"types": "./dist/v0.9/api/index.d.ts"
|
|
17
17
|
},
|
|
18
18
|
"./beta": {
|
|
19
19
|
"import": "./dist/v0.10/index.esm.js",
|
|
20
20
|
"require": "./dist/v0.10/index.cjs.js",
|
|
21
|
-
"types": "./dist/v0.10/index.d.ts"
|
|
21
|
+
"types": "./dist/v0.10/api/index.d.ts"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"main": "./dist/v0.10/index.cjs.js",
|
|
25
25
|
"module": "./dist/v0.10/index.esm.js",
|
|
26
|
-
"types": "./dist/v0.10/index.d.ts",
|
|
26
|
+
"types": "./dist/v0.10/api/index.d.ts",
|
|
27
27
|
"author": "protokol.io",
|
|
28
28
|
"license": "ISC",
|
|
29
29
|
"type": "module",
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"typescript": "^5.6.3"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
+
"@ptkl/sdk": "file:",
|
|
47
48
|
"@rollup/plugin-replace": "^6.0.2",
|
|
48
49
|
"axios": "^1.7.7",
|
|
49
50
|
"dom-parser": "^1.1.5",
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
import { FindParams, FindOptions, FindResponse, FindAdvancedParams, FindAggregateParams, Model, UpdateOptions, ModifyOptions, StreamHandler, AggregateChainable, ComponentOptions, UpdateManyOptions, CreateManyOptions, Extension, Policy } from "../types/component";
|
|
2
2
|
import PlatformBaseClient from "./platformBaseClient";
|
|
3
3
|
import { AxiosResponse } from "axios";
|
|
4
|
-
|
|
4
|
+
import type { ComponentModels, ComponentFunctions } from "../types/functions";
|
|
5
|
+
type ComponentModel<C extends string> = C extends keyof ComponentModels ? ComponentModels[C] : Model;
|
|
6
|
+
type ComponentFnInput<C extends string, F extends string> = C extends keyof ComponentFunctions ? F extends keyof ComponentFunctions[C] ? ComponentFunctions[C][F] extends {
|
|
7
|
+
input: infer I;
|
|
8
|
+
} ? I : any : any : any;
|
|
9
|
+
type ComponentFnOutput<C extends string, F extends string> = C extends keyof ComponentFunctions ? F extends keyof ComponentFunctions[C] ? ComponentFunctions[C][F] extends {
|
|
10
|
+
output: infer O;
|
|
11
|
+
} ? O : any : any : any;
|
|
12
|
+
export default class Component<C extends string = string> extends PlatformBaseClient {
|
|
5
13
|
private ref;
|
|
6
|
-
|
|
14
|
+
/**
|
|
15
|
+
* @param ref - Component ref (e.g. "ecommerce::order"). Passing a string
|
|
16
|
+
* literal lets TypeScript infer the generic C and type find/create/function
|
|
17
|
+
* results accordingly.
|
|
18
|
+
*/
|
|
19
|
+
constructor(ref?: C | null);
|
|
7
20
|
/**
|
|
8
21
|
* Find method to search for models
|
|
9
22
|
*
|
|
@@ -25,7 +38,12 @@ export default class Component extends PlatformBaseClient {
|
|
|
25
38
|
* }
|
|
26
39
|
* )
|
|
27
40
|
**/
|
|
28
|
-
find(filters: FindParams, opts?: FindOptions): Promise<AxiosResponse<
|
|
41
|
+
find(filters: FindParams, opts?: FindOptions): Promise<AxiosResponse<{
|
|
42
|
+
items: ComponentModel<C>[];
|
|
43
|
+
total: number;
|
|
44
|
+
page: number;
|
|
45
|
+
pages: number;
|
|
46
|
+
}>>;
|
|
29
47
|
/**
|
|
30
48
|
* FindOne method to search for a single model
|
|
31
49
|
*
|
|
@@ -39,14 +57,14 @@ export default class Component extends PlatformBaseClient {
|
|
|
39
57
|
* name: "John Doe",
|
|
40
58
|
* })
|
|
41
59
|
**/
|
|
42
|
-
findOne(filter: FindAdvancedParams, opts
|
|
60
|
+
findOne(filter: FindAdvancedParams, opts?: FindOptions): Promise<ComponentModel<C> | null>;
|
|
43
61
|
/**
|
|
44
62
|
* Get model by uuid
|
|
45
63
|
*
|
|
46
64
|
* @param uuid string - The uuid of the model
|
|
47
65
|
* @returns (Promise<Model>)
|
|
48
66
|
*/
|
|
49
|
-
get(uuid: string): Promise<AxiosResponse<
|
|
67
|
+
get(uuid: string): Promise<AxiosResponse<ComponentModel<C>>>;
|
|
50
68
|
/**
|
|
51
69
|
* Update model by uuid
|
|
52
70
|
*
|
|
@@ -71,7 +89,7 @@ export default class Component extends PlatformBaseClient {
|
|
|
71
89
|
* $addToSet: { roles: "admin" }
|
|
72
90
|
* }, opts)
|
|
73
91
|
*/
|
|
74
|
-
update(uuid: string, data: Record<string, any>, options
|
|
92
|
+
update(uuid: string, data: Record<string, any>, options?: UpdateOptions): Promise<ComponentModel<C>>;
|
|
75
93
|
/**
|
|
76
94
|
* Update many models
|
|
77
95
|
*
|
|
@@ -79,7 +97,7 @@ export default class Component extends PlatformBaseClient {
|
|
|
79
97
|
* @param options
|
|
80
98
|
* @returns
|
|
81
99
|
*/
|
|
82
|
-
updateMany(data: Record<string, any>[], options
|
|
100
|
+
updateMany(data: Record<string, any>[], options?: UpdateManyOptions): Promise<AxiosResponse<any, any>>;
|
|
83
101
|
/**
|
|
84
102
|
* Create many models
|
|
85
103
|
*
|
|
@@ -87,7 +105,7 @@ export default class Component extends PlatformBaseClient {
|
|
|
87
105
|
* @param options
|
|
88
106
|
* @returns
|
|
89
107
|
*/
|
|
90
|
-
createMany(data: Record<string, any>[], options
|
|
108
|
+
createMany(data: Record<string, any>[], options?: CreateManyOptions): Promise<AxiosResponse<any, any>>;
|
|
91
109
|
/**
|
|
92
110
|
* Modify models by filters
|
|
93
111
|
*
|
|
@@ -106,7 +124,7 @@ export default class Component extends PlatformBaseClient {
|
|
|
106
124
|
* { upsert: false }
|
|
107
125
|
* )
|
|
108
126
|
*/
|
|
109
|
-
modify(filters: Record<string, any>, data: Record<string, any>, options
|
|
127
|
+
modify(filters: Record<string, any>, data: Record<string, any>, options?: ModifyOptions): Promise<AxiosResponse<any, any>>;
|
|
110
128
|
/**
|
|
111
129
|
* Concurrent update model by uuid with optimistic locking
|
|
112
130
|
*
|
|
@@ -126,8 +144,8 @@ export default class Component extends PlatformBaseClient {
|
|
|
126
144
|
* $inc: { retry_count: 1 }
|
|
127
145
|
* }, opts)
|
|
128
146
|
*/
|
|
129
|
-
concurrentUpdate(uuid: string, version: number, data: Record<string, any>, options
|
|
130
|
-
create(model: Record<string, any>): Promise<
|
|
147
|
+
concurrentUpdate(uuid: string, version: number, data: Record<string, any>, options?: UpdateOptions): Promise<AxiosResponse<any, any>>;
|
|
148
|
+
create(model: C extends keyof ComponentModels ? Partial<ComponentModels[C]> & Record<string, any> : Record<string, any>): Promise<ComponentModel<C>>;
|
|
131
149
|
delete(uuid: string): Promise<AxiosResponse<any, any>>;
|
|
132
150
|
/**
|
|
133
151
|
* Execute aggregate pipeline with optional streaming support
|
|
@@ -159,7 +177,7 @@ export default class Component extends PlatformBaseClient {
|
|
|
159
177
|
saveSettings(settings: any, version: string): Promise<AxiosResponse<any, any>>;
|
|
160
178
|
saveTemplatesDist(version: string, sdkVersion: string, engine: string, dist: Record<string, string>): Promise<any>;
|
|
161
179
|
workflow(event: string, input: any): Promise<AxiosResponse<any, any>>;
|
|
162
|
-
function(name:
|
|
180
|
+
function<F extends string>(name: F, input?: ComponentFnInput<C, F>): Promise<ComponentFnOutput<C, F>>;
|
|
163
181
|
revisions(uuid: string): Promise<AxiosResponse<any, any>>;
|
|
164
182
|
/**
|
|
165
183
|
* Get a single extension by name from the component
|
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
import PlatformBaseClient from "./platformBaseClient";
|
|
2
|
+
import type { PlatformFunctions, FunctionInput, FunctionOutput } from "../types/functions";
|
|
2
3
|
export default class Functions extends PlatformBaseClient {
|
|
3
4
|
list(): Promise<any>;
|
|
4
5
|
get(ref: string): Promise<any>;
|
|
5
6
|
update(uuid: string, update: any): Promise<any>;
|
|
6
7
|
/**
|
|
7
|
-
* Run platform function
|
|
8
|
+
* Run a platform function.
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
10
|
+
* When the function name is registered in `PlatformFunctions`, input and
|
|
11
|
+
* output types are inferred automatically from the IDL signature.
|
|
12
|
+
* Register signatures by running `ptkl generate-types` in your project.
|
|
12
13
|
*
|
|
13
14
|
* @example
|
|
14
|
-
*
|
|
15
|
+
* // Typed — "send_email" is registered in PlatformFunctions
|
|
16
|
+
* const result = await fn.run("send_email", { input: { body: "hi", to: "a@b.com" } })
|
|
17
|
+
* // result: { status: boolean }
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // Untyped fallback for unregistered names
|
|
21
|
+
* const result = await fn.run("unknown_func", { input: { foo: "bar" } })
|
|
15
22
|
*/
|
|
23
|
+
run<K extends keyof PlatformFunctions>(id: K, d: {
|
|
24
|
+
input?: FunctionInput<K>;
|
|
25
|
+
query?: Record<string, string>;
|
|
26
|
+
headers?: Record<string, string>;
|
|
27
|
+
}): Promise<FunctionOutput<K>>;
|
|
16
28
|
run(id: string, d: {
|
|
17
29
|
input?: Record<string, any>;
|
|
18
30
|
query?: Record<string, string>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export type { PlatformFunctions, PlatformFunction, FunctionInput, FunctionOutput, FunctionCallParams, ComponentModels, ComponentFunctions, ComponentModel, ComponentFunctionInput, ComponentFunctionOutput, } from '../types/functions';
|
|
1
2
|
export { default as Component } from './component';
|
|
2
3
|
export { default as Platform } from './platform';
|
|
3
4
|
export { default as Functions } from './functions';
|
|
@@ -22,3 +23,4 @@ export { default as SerbiaMinFin } from './integrations/serbia/minfin';
|
|
|
22
23
|
export { default as NBS } from './integrations/serbia/nbs';
|
|
23
24
|
export { default as VPFR } from './integrations/serbia/minfin/vpfr';
|
|
24
25
|
export { default as Mail } from './integrations/mail';
|
|
26
|
+
export { default as Ecommerce } from './integrations/ecommerce';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import IntegrationsBaseClient from "../integrationsBaseClient";
|
|
2
|
+
import { EcommerceIntegrationUser, UpdateEcommerceSettingsRequest, CheckDomainResponse, AddDomainResponse, DomainsResponse } from "../../types/integrations/ecommerce";
|
|
3
|
+
export default class Ecommerce extends IntegrationsBaseClient {
|
|
4
|
+
/**
|
|
5
|
+
* Get the ecommerce integration user for the current project.
|
|
6
|
+
*/
|
|
7
|
+
get(): Promise<EcommerceIntegrationUser>;
|
|
8
|
+
/**
|
|
9
|
+
* Update ecommerce integration settings (onboarding or partial update).
|
|
10
|
+
*/
|
|
11
|
+
update(req: UpdateEcommerceSettingsRequest): Promise<EcommerceIntegrationUser>;
|
|
12
|
+
/**
|
|
13
|
+
* Check whether a base domain subdomain is available.
|
|
14
|
+
*/
|
|
15
|
+
checkBaseDomain(domain: string): Promise<CheckDomainResponse>;
|
|
16
|
+
/**
|
|
17
|
+
* Add a custom domain (returns a verification token for DNS validation).
|
|
18
|
+
*/
|
|
19
|
+
addCustomDomain(domain: string): Promise<AddDomainResponse>;
|
|
20
|
+
/**
|
|
21
|
+
* Validate a custom domain with its verification token.
|
|
22
|
+
*/
|
|
23
|
+
validateCustomDomain(domain: string, token: string): Promise<{
|
|
24
|
+
integration: EcommerceIntegrationUser;
|
|
25
|
+
message: string;
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Remove a custom domain.
|
|
29
|
+
*/
|
|
30
|
+
removeCustomDomain(domain: string): Promise<{
|
|
31
|
+
integration: EcommerceIntegrationUser;
|
|
32
|
+
message: string;
|
|
33
|
+
}>;
|
|
34
|
+
/**
|
|
35
|
+
* List pending (unvalidated) custom domains.
|
|
36
|
+
*/
|
|
37
|
+
getPendingDomains(): Promise<DomainsResponse>;
|
|
38
|
+
/**
|
|
39
|
+
* List validated custom domains.
|
|
40
|
+
*/
|
|
41
|
+
getValidatedDomains(): Promise<DomainsResponse>;
|
|
42
|
+
}
|
|
@@ -6,6 +6,7 @@ import IntegrationsBaseClient from "./integrationsBaseClient";
|
|
|
6
6
|
import Payments from "./integrations/payments";
|
|
7
7
|
import Minimax from "./integrations/minimax";
|
|
8
8
|
import NBS from "./integrations/serbia/nbs";
|
|
9
|
+
import Ecommerce from "./integrations/ecommerce";
|
|
9
10
|
export default class Integrations extends IntegrationsBaseClient {
|
|
10
11
|
private integrations;
|
|
11
12
|
constructor(options?: {
|
|
@@ -20,6 +21,7 @@ export default class Integrations extends IntegrationsBaseClient {
|
|
|
20
21
|
getMail(): Mail;
|
|
21
22
|
getNBS(): NBS;
|
|
22
23
|
getSerbiaMinFin(): MinFin;
|
|
24
|
+
getEcommerce(): Ecommerce;
|
|
23
25
|
isInstalled(id: string): Promise<boolean>;
|
|
24
26
|
getInterfaceOf(id: string): any;
|
|
25
27
|
}
|
|
@@ -22,7 +22,7 @@ export default class Platform extends PlatformBaseClient {
|
|
|
22
22
|
user(): Users;
|
|
23
23
|
app(appType: string): Apps;
|
|
24
24
|
forge(): Forge;
|
|
25
|
-
component(ref:
|
|
25
|
+
component<C extends string>(ref: C): Component<C>;
|
|
26
26
|
componentUtils(): ComponentUtils;
|
|
27
27
|
ratchet(): Ratchet;
|
|
28
28
|
sandbox(): Sandbox;
|