@kwiz/node 1.0.55 → 1.0.57
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/SPO/common.js +13 -24
- package/dist/SPO/common.js.map +1 -1
- package/dist/auth/discovery.js +3 -12
- package/dist/auth/discovery.js.map +1 -1
- package/dist/auth/msal.js +40 -62
- package/dist/auth/msal.js.map +1 -1
- package/dist/get-with-cache.js +23 -34
- package/dist/get-with-cache.js.map +1 -1
- package/dist/graph/graph.js +11 -22
- package/dist/graph/graph.js.map +1 -1
- package/dist/next-js/api.js +21 -32
- package/dist/next-js/api.js.map +1 -1
- package/dist/next-js/api.responses.js +6 -2
- package/dist/next-js/api.responses.js.map +1 -1
- package/dist/ns/ns-rest.js +4 -15
- package/dist/ns/ns-rest.js.map +1 -1
- package/dist/ns/ns-restlet.js +5 -16
- package/dist/ns/ns-restlet.js.map +1 -1
- package/dist/ns/ns-soap.js +54 -63
- package/dist/ns/ns-soap.js.map +1 -1
- package/dist/ns/ns-suiteql.js +9 -17
- package/dist/ns/ns-suiteql.js.map +1 -1
- package/dist/ns/ns.js +52 -57
- package/dist/ns/ns.js.map +1 -1
- package/dist/ns/oauth1.js +4 -4
- package/dist/ns/oauth1.js.map +1 -1
- package/dist/sf/actions.js +180 -217
- package/dist/sf/actions.js.map +1 -1
- package/dist/sf/connections.js +49 -64
- package/dist/sf/connections.js.map +1 -1
- package/dist/sf/types.js +1 -1
- package/dist/sf/types.js.map +1 -1
- package/dist/storage/blob-storage.js +88 -116
- package/dist/storage/blob-storage.js.map +1 -1
- package/dist/storage/common.js +11 -22
- package/dist/storage/common.js.map +1 -1
- package/dist/storage/table-storage.js +191 -268
- package/dist/storage/table-storage.js.map +1 -1
- package/dist/utilities/email.js +28 -39
- package/dist/utilities/email.js.map +1 -1
- package/dist/utilities/xml.js +11 -2
- package/dist/utilities/xml.js.map +1 -1
- package/package.json +3 -3
package/dist/SPO/common.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.ConfigureSPOAuth = ConfigureSPOAuth;
|
|
13
4
|
exports.getAxiosConfigSharePoint = getAxiosConfigSharePoint;
|
|
@@ -18,20 +9,18 @@ var auth = null;
|
|
|
18
9
|
function ConfigureSPOAuth(config) {
|
|
19
10
|
auth = config;
|
|
20
11
|
}
|
|
21
|
-
function getAxiosConfigSharePoint(tenantInfo, hostName, options) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return config;
|
|
35
|
-
});
|
|
12
|
+
async function getAxiosConfigSharePoint(tenantInfo, hostName, options) {
|
|
13
|
+
if ((0, common_1.isBoolean)(options)) //old signature had a clearCache boolean
|
|
14
|
+
options = { clearTokenCache: options === true };
|
|
15
|
+
if ((0, common_1.isNullOrUndefined)(auth))
|
|
16
|
+
throw Error("Call ConfigureSPOAuth first");
|
|
17
|
+
// only certificate supported
|
|
18
|
+
// DisableCustomAppAuthentication property, that disable this kind of auth., however it can be overriden using this command:
|
|
19
|
+
// Set-SPOTenant -DisableCustomAppAuthentication $false
|
|
20
|
+
const token = (0, common_1.isNotEmptyString)(options?.token)
|
|
21
|
+
? options.token
|
|
22
|
+
: await (0, msal_1.GetMSALToken)(tenantInfo, (0, common_1.GetMSALSiteScope)(hostName), auth, options?.clearTokenCache);
|
|
23
|
+
const config = (0, axios_1.getAxiosConfigBearer)(token, { contantType: "application/json; odata=nometadata" });
|
|
24
|
+
return config;
|
|
36
25
|
}
|
|
37
26
|
//# sourceMappingURL=common.js.map
|
package/dist/SPO/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/SPO/common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/SPO/common.ts"],"names":[],"mappings":";;AAKA,4CAEC;AACD,4DAaC;AArBD,yCAA8H;AAC9H,uCAAkE;AAClE,oCAAgD;AAEhD,IAAI,IAAI,GAAoB,IAAI,CAAC;AACjC,SAAgB,gBAAgB,CAAC,MAAwB;IACrD,IAAI,GAAG,MAAM,CAAC;AAClB,CAAC;AACM,KAAK,UAAU,wBAAwB,CAAC,UAAuB,EAAE,QAAgB,EAAE,OAAwC;IAC9H,IAAI,IAAA,kBAAS,EAAC,OAAO,CAAC,EAAC,wCAAwC;QAC3D,OAAO,GAAG,EAAE,eAAe,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;IAEpD,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC;QAAE,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACxE,6BAA6B;IAC7B,4HAA4H;IAC5H,uDAAuD;IACvD,MAAM,KAAK,GAAG,IAAA,yBAAgB,EAAC,OAAO,EAAE,KAAK,CAAC;QAC1C,CAAC,CAAC,OAAO,CAAC,KAAK;QACf,CAAC,CAAC,MAAM,IAAA,mBAAY,EAAC,UAAU,EAAE,IAAA,yBAAgB,EAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,IAAA,4BAAoB,EAAC,KAAK,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC,CAAC;IAClG,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
package/dist/auth/discovery.js
CHANGED
|
@@ -1,20 +1,11 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.DiscoverTenantInfo = DiscoverTenantInfo;
|
|
13
4
|
const common_1 = require("@kwiz/common");
|
|
14
5
|
const axios_1 = require("axios");
|
|
15
6
|
function DiscoverTenantInfo(hostName) {
|
|
16
7
|
hostName = hostName.toLowerCase();
|
|
17
|
-
return (0, common_1.promiseOnce)(`DiscoverTenantInfo|${hostName}`, () =>
|
|
8
|
+
return (0, common_1.promiseOnce)(`DiscoverTenantInfo|${hostName}`, async () => {
|
|
18
9
|
let data = {
|
|
19
10
|
environment: common_1.AzureEnvironment.Production,
|
|
20
11
|
idOrName: null,
|
|
@@ -35,7 +26,7 @@ function DiscoverTenantInfo(hostName) {
|
|
|
35
26
|
}
|
|
36
27
|
else
|
|
37
28
|
friendlyName = hostName; //could be an exchange email domain, or bpos customer
|
|
38
|
-
let config =
|
|
29
|
+
let config = await axios_1.default.get(`https://login.microsoftonline.com/${friendlyName}/v2.0/.well-known/openid-configuration`);
|
|
39
30
|
let endpoint = config.data.token_endpoint; //https://xxxx/{tenant}/....
|
|
40
31
|
tenantId = endpoint.replace("//", "/").split('/')[2]; //replace :// with :/ split by / and take the second part.
|
|
41
32
|
let instance = config.data.cloud_instance_name; //microsoftonline.us
|
|
@@ -50,6 +41,6 @@ function DiscoverTenantInfo(hostName) {
|
|
|
50
41
|
}
|
|
51
42
|
catch (e) { }
|
|
52
43
|
return data;
|
|
53
|
-
})
|
|
44
|
+
});
|
|
54
45
|
}
|
|
55
46
|
//# sourceMappingURL=discovery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/auth/discovery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/auth/discovery.ts"],"names":[],"mappings":";;AAGA,gDA4DC;AA/DD,yCAAoK;AACpK,iCAA0B;AAE1B,SAAgB,kBAAkB,CAAC,QAAgB;IAC/C,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,IAAA,oBAAW,EAAC,sBAAsB,QAAQ,EAAE,EAAE,KAAK,IAAI,EAAE;QAC5D,IAAI,IAAI,GAAgB;YACpB,WAAW,EAAE,yBAAgB,CAAC,UAAU;YACxC,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,IAAI;SACpB,CAAC;QAEF,IAAI,QAAQ,GAAW,IAAI,CAAC;QAC5B,IAAI,YAAY,GAAW,IAAI,CAAC;QAEhC,IAAI,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1C,IAAI,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA,mDAAmD;gBACvF,IAAI,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAClJ,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC3G,YAAY,GAAG,GAAG,aAAa,gBAAgB,YAAY,EAAE,CAAC;YAClE,CAAC;;gBACI,YAAY,GAAG,QAAQ,CAAC,CAAA,qDAAqD;YAElF,IAAI,MAAM,GAAG,MAAM,eAAK,CAAC,GAAG,CAezB,qCAAqC,YAAY,wCAAwC,CAAC,CAAC;YAE9F,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA,4BAA4B;YACtE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,0DAA0D;YAC/G,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA,oBAAoB;YAEnE,IAAI,CAAC,WAAW,GAAG,IAAA,sCAA6B,EAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAA,4BAAmB,EAAC,QAAQ,CAAC,IAAI,IAAA,oBAAW,EAAC,QAAQ,CAAC;gBACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;;gBAEzB,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;YAEjC,IAAI,CAAC,YAAY,GAAG,GAAG,IAAA,gCAAuB,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAElB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAEb,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/auth/msal.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.GetMSALToken = GetMSALToken;
|
|
13
4
|
exports.GetMSALUserToken = GetMSALUserToken;
|
|
@@ -15,7 +6,12 @@ const msal_node_1 = require("@azure/msal-node");
|
|
|
15
6
|
const common_1 = require("@kwiz/common");
|
|
16
7
|
//find tenant id? https://login.microsoftonline.com/kwizcom.onmicrosoft.com/.well-known/openid-configuration
|
|
17
8
|
//https://stackoverflow.com/questions/54771270/msal-ad-token-not-valid-with-sharepoint-online-csom
|
|
18
|
-
|
|
9
|
+
var _logger;
|
|
10
|
+
function logger() {
|
|
11
|
+
if (!_logger)
|
|
12
|
+
_logger = new common_1.CommonLogger("msal");
|
|
13
|
+
return _logger;
|
|
14
|
+
}
|
|
19
15
|
var apps = {};
|
|
20
16
|
function GetApp(tenantInfo, auth) {
|
|
21
17
|
let key = `${tenantInfo.idOrName}|${auth.authenticationMode}|${auth.clientId}`;
|
|
@@ -42,64 +38,46 @@ function GetApp(tenantInfo, auth) {
|
|
|
42
38
|
return apps[key];
|
|
43
39
|
}
|
|
44
40
|
/** Get app-only token. client secret not supported by SharePoint, must use certificate */
|
|
45
|
-
function GetMSALToken(tenantInfo, scope, auth, clearCache) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
scopes: [`${scope}/.default`]
|
|
52
|
-
});
|
|
53
|
-
return token.accessToken;
|
|
41
|
+
async function GetMSALToken(tenantInfo, scope, auth, clearCache) {
|
|
42
|
+
const app = GetApp(tenantInfo, auth);
|
|
43
|
+
if (clearCache)
|
|
44
|
+
app.clearCache();
|
|
45
|
+
let token = await app.acquireTokenByClientCredential({
|
|
46
|
+
scopes: [`${scope}/.default`]
|
|
54
47
|
});
|
|
48
|
+
return token.accessToken;
|
|
55
49
|
}
|
|
56
50
|
/** Get user token.
|
|
57
51
|
* if code or account proivded will attempt to get a token, otherwise will redirect the user
|
|
58
52
|
* client secret not supported by SharePoint, must use certificate */
|
|
59
|
-
function GetMSALUserToken(tenantInfo, auth, info, clearCache) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
// } catch (e) {
|
|
78
|
-
// logger.error(e);
|
|
79
|
-
// error = `Could not get token for account: ${GetError(e)}`;
|
|
80
|
-
// }
|
|
81
|
-
// }
|
|
82
|
-
if (info.code) {
|
|
83
|
-
try {
|
|
84
|
-
const result = yield app.acquireTokenByCode({
|
|
85
|
-
code: info.code,
|
|
86
|
-
scopes: [`${info.scope}/.default`],
|
|
87
|
-
redirectUri: info.redirectUri,
|
|
88
|
-
state: info.state
|
|
89
|
-
});
|
|
90
|
-
return {
|
|
91
|
-
success: true,
|
|
92
|
-
accessToken: result.accessToken,
|
|
93
|
-
account: result.account
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
catch (e) {
|
|
97
|
-
logger.error(e);
|
|
98
|
-
error = `Could not redeem code: ${(0, common_1.GetError)(e)}`;
|
|
99
|
-
}
|
|
53
|
+
async function GetMSALUserToken(tenantInfo, auth, info, clearCache) {
|
|
54
|
+
const app = GetApp(tenantInfo, auth);
|
|
55
|
+
if (clearCache)
|
|
56
|
+
app.clearCache();
|
|
57
|
+
let error;
|
|
58
|
+
if (info.code) {
|
|
59
|
+
try {
|
|
60
|
+
const result = await app.acquireTokenByCode({
|
|
61
|
+
code: info.code,
|
|
62
|
+
scopes: [`${info.scope}/.default`],
|
|
63
|
+
redirectUri: info.redirectUri,
|
|
64
|
+
state: info.state
|
|
65
|
+
});
|
|
66
|
+
return {
|
|
67
|
+
success: true,
|
|
68
|
+
accessToken: result.accessToken,
|
|
69
|
+
account: result.account
|
|
70
|
+
};
|
|
100
71
|
}
|
|
101
|
-
|
|
102
|
-
|
|
72
|
+
catch (e) {
|
|
73
|
+
logger().error(e);
|
|
74
|
+
error = `Could not redeem code: ${(0, common_1.GetError)(e)}`;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const loginUrl = await app.getAuthCodeUrl({
|
|
78
|
+
...info,
|
|
79
|
+
scopes: [`${info.scope}/.default`]
|
|
103
80
|
});
|
|
81
|
+
return { success: false, redirect: loginUrl, error };
|
|
104
82
|
}
|
|
105
83
|
//# sourceMappingURL=msal.js.map
|
package/dist/auth/msal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msal.js","sourceRoot":"","sources":["../../src/auth/msal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"msal.js","sourceRoot":"","sources":["../../src/auth/msal.ts"],"names":[],"mappings":"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"}
|
package/dist/get-with-cache.js
CHANGED
|
@@ -1,42 +1,31 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.getWithCache = getWithCache;
|
|
13
4
|
const common_1 = require("@kwiz/common");
|
|
14
5
|
const $$cache = {};
|
|
15
|
-
function getWithCache(worker, info) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
delete $$cache[key];
|
|
22
|
-
});
|
|
23
|
-
let cached = info.forceRefresh ? null : $$cache[info.cacheKey];
|
|
24
|
-
if ((0, common_1.isNullOrUndefined)(cached)) {
|
|
25
|
-
const result = yield worker();
|
|
26
|
-
if (result.success) {
|
|
27
|
-
$$cache[info.cacheKey] = {
|
|
28
|
-
expires: new Date(new Date().getTime() + info.successCacheDuration * 1000),
|
|
29
|
-
value: result.value
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
else if (info.failedCacheDuration > 0) {
|
|
33
|
-
$$cache[info.cacheKey] = {
|
|
34
|
-
expires: new Date(new Date().getTime() + info.failedCacheDuration * 1000),
|
|
35
|
-
value: result.value
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return $$cache[info.cacheKey].value;
|
|
6
|
+
async function getWithCache(worker, info) {
|
|
7
|
+
const now = new Date();
|
|
8
|
+
//purge old values
|
|
9
|
+
Object.keys($$cache).forEach(key => {
|
|
10
|
+
if ($$cache[key].expires < now)
|
|
11
|
+
delete $$cache[key];
|
|
40
12
|
});
|
|
13
|
+
let cached = info.forceRefresh ? null : $$cache[info.cacheKey];
|
|
14
|
+
if ((0, common_1.isNullOrUndefined)(cached)) {
|
|
15
|
+
const result = await worker();
|
|
16
|
+
if (result.success) {
|
|
17
|
+
$$cache[info.cacheKey] = {
|
|
18
|
+
expires: new Date(new Date().getTime() + info.successCacheDuration * 1000),
|
|
19
|
+
value: result.value
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
else if (info.failedCacheDuration > 0) {
|
|
23
|
+
$$cache[info.cacheKey] = {
|
|
24
|
+
expires: new Date(new Date().getTime() + info.failedCacheDuration * 1000),
|
|
25
|
+
value: result.value
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return $$cache[info.cacheKey].value;
|
|
41
30
|
}
|
|
42
31
|
//# sourceMappingURL=get-with-cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-with-cache.js","sourceRoot":"","sources":["../src/get-with-cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-with-cache.js","sourceRoot":"","sources":["../src/get-with-cache.ts"],"names":[],"mappings":";;AAIA,oCAiCC;AArCD,yCAA8D;AAE9D,MAAM,OAAO,GAA+C,EAAE,CAAC;AAExD,KAAK,UAAU,YAAY,CAAI,MAAqD,EAAE,IAQ5F;IACG,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,kBAAkB;IAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,GAAG;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE/D,IAAI,IAAA,0BAAiB,EAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;gBACrB,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBAC1E,KAAK,EAAE,MAAM,CAAC,KAAK;aACtB,CAAC;QACN,CAAC;aACI,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;gBACrB,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBACzE,KAAK,EAAE,MAAM,CAAC,KAAK;aACtB,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;AACxC,CAAC"}
|
package/dist/graph/graph.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.graphScope = void 0;
|
|
13
4
|
exports.ConfigureGraphAuth = ConfigureGraphAuth;
|
|
@@ -21,18 +12,16 @@ var auth = null;
|
|
|
21
12
|
function ConfigureGraphAuth(config) {
|
|
22
13
|
auth = config;
|
|
23
14
|
}
|
|
24
|
-
function getAxiosConfigGraph(tenantInfo, options) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return config;
|
|
36
|
-
});
|
|
15
|
+
async function getAxiosConfigGraph(tenantInfo, options) {
|
|
16
|
+
if ((0, common_1.isBoolean)(options)) //old signature had a clearCache boolean
|
|
17
|
+
options = { clearTokenCache: options === true };
|
|
18
|
+
if ((0, common_1.isNullOrUndefined)(auth))
|
|
19
|
+
throw Error("Call ConfigureGraphAuth first");
|
|
20
|
+
// secret or certificate supported
|
|
21
|
+
const token = (0, common_1.isNotEmptyString)(options?.token)
|
|
22
|
+
? options.token
|
|
23
|
+
: await (0, msal_1.GetMSALToken)(tenantInfo, exports.graphScope, auth, options?.clearTokenCache);
|
|
24
|
+
const config = (0, axios_1.getAxiosConfigBearer)(token);
|
|
25
|
+
return config;
|
|
37
26
|
}
|
|
38
27
|
//# sourceMappingURL=graph.js.map
|
package/dist/graph/graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/graph/graph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/graph/graph.ts"],"names":[],"mappings":";;;AAQA,gDAEC;AACD,kDAYC;AAvBD,yCAA4G;AAC5G,uCAAkE;AAClE,oCAAgD;AAEhD,oCAAoC;AACvB,QAAA,UAAU,GAAG,6BAA6B,CAAC;AAExD,IAAI,IAAI,GAAoB,IAAI,CAAC;AACjC,SAAgB,kBAAkB,CAAC,MAAwB;IACvD,IAAI,GAAG,MAAM,CAAC;AAClB,CAAC;AACM,KAAK,UAAU,mBAAmB,CAAC,UAAuB,EAAE,OAAwC;IACvG,IAAI,IAAA,kBAAS,EAAC,OAAO,CAAC,EAAC,wCAAwC;QAC3D,OAAO,GAAG,EAAE,eAAe,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;IAEpD,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC;QAAE,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAE1E,kCAAkC;IAClC,MAAM,KAAK,GAAG,IAAA,yBAAgB,EAAC,OAAO,EAAE,KAAK,CAAC;QAC1C,CAAC,CAAC,OAAO,CAAC,KAAK;QACf,CAAC,CAAC,MAAM,IAAA,mBAAY,EAAC,UAAU,EAAE,kBAAU,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,IAAA,4BAAoB,EAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
package/dist/next-js/api.js
CHANGED
|
@@ -1,41 +1,30 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.getAsJson = getAsJson;
|
|
13
4
|
const common_1 = require("@kwiz/common");
|
|
14
5
|
/** get next request body as JSON. sometimes request.json() won't like the format... get it as string and we parse ourselves */
|
|
15
|
-
function getAsJson(nextRequest) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
result = (0, common_1.jsonParse)(asText);
|
|
24
|
-
}
|
|
25
|
-
catch (e) {
|
|
26
|
-
logger.error(e);
|
|
27
|
-
}
|
|
6
|
+
async function getAsJson(nextRequest) {
|
|
7
|
+
const logger = common_1.ConsoleLogger.get("getAsJson");
|
|
8
|
+
//sometimes request.json() won't like the format... get it as string and we parse ourselves
|
|
9
|
+
const asText = await nextRequest.text();
|
|
10
|
+
let result;
|
|
11
|
+
if ((0, common_1.isNotEmptyString)(asText)) {
|
|
12
|
+
try {
|
|
13
|
+
result = (0, common_1.jsonParse)(asText);
|
|
28
14
|
}
|
|
29
|
-
|
|
30
|
-
logger.error(
|
|
31
|
-
throw Error("Request body is empty");
|
|
15
|
+
catch (e) {
|
|
16
|
+
logger.error(e);
|
|
32
17
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
logger.error("Request body is empty");
|
|
21
|
+
throw Error("Request body is empty");
|
|
22
|
+
}
|
|
23
|
+
if ((0, common_1.isNullOrUndefined)(result)) {
|
|
24
|
+
logger.log("JSON parse failed");
|
|
25
|
+
logger.log(asText);
|
|
26
|
+
throw Error("Request body is not a valid JSON");
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
40
29
|
}
|
|
41
30
|
//# sourceMappingURL=api.js.map
|
package/dist/next-js/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/next-js/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/next-js/api.ts"],"names":[],"mappings":";;AAGA,8BAoBC;AAvBD,yCAA6F;AAE7F,+HAA+H;AACxH,KAAK,UAAU,SAAS,CAAI,WAA4C;IAC3E,MAAM,MAAM,GAAG,sBAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE9C,2FAA2F;IAC3F,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,MAAS,CAAC;IACd,IAAI,IAAA,yBAAgB,EAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YAAC,MAAM,GAAG,IAAA,kBAAS,EAAI,MAAM,CAAC,CAAC;QAAC,CAAC;QACtC,OAAO,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;IAClC,CAAC;SACI,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACtC,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,IAAA,0BAAiB,EAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -18,8 +18,12 @@ exports.apiResponseHeaders = {
|
|
|
18
18
|
/** pass to NextResponse.json or new NextResponse */
|
|
19
19
|
function HttpRespond(o) {
|
|
20
20
|
return o ? {
|
|
21
|
-
headers:
|
|
22
|
-
|
|
21
|
+
headers: {
|
|
22
|
+
...(o?.cors ? exports.apiResponseHeaders.cors : {}),
|
|
23
|
+
...(o?.cache ? exports.apiResponseHeaders.cache(o.cache === true ? 5 : o.cache) : {}),
|
|
24
|
+
...(o?.html ? exports.apiResponseHeaders.html : {})
|
|
25
|
+
},
|
|
26
|
+
status: o?.status || o?.error ? 500 : axios_1.HttpStatusCode.Ok
|
|
23
27
|
} : undefined;
|
|
24
28
|
}
|
|
25
29
|
//# sourceMappingURL=api.responses.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.responses.js","sourceRoot":"","sources":["../../src/next-js/api.responses.ts"],"names":[],"mappings":";;;AAeA,kCAgBC;AA/BD,iCAAuC;AAEvC,sIAAsI;AACzH,QAAA,kBAAkB,GAAG;IAC9B,IAAI,EAAE;QACF,6BAA6B,EAAE,GAAG;KACrC;IACD,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC;QACrB,eAAe,EAAE,mBAAmB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE;KACnE,CAAC;IACF,IAAI,EAAE;QACF,cAAc,EAAE,WAAW;KAC9B;CACJ,CAAC;AACF,oDAAoD;AACpD,SAAgB,WAAW,CAAC,CAO3B;IACG,OAAO,CAAC,CAAC,CAAC,CAAC;QACP,OAAO,
|
|
1
|
+
{"version":3,"file":"api.responses.js","sourceRoot":"","sources":["../../src/next-js/api.responses.ts"],"names":[],"mappings":";;;AAeA,kCAgBC;AA/BD,iCAAuC;AAEvC,sIAAsI;AACzH,QAAA,kBAAkB,GAAG;IAC9B,IAAI,EAAE;QACF,6BAA6B,EAAE,GAAG;KACrC;IACD,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC;QACrB,eAAe,EAAE,mBAAmB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE;KACnE,CAAC;IACF,IAAI,EAAE;QACF,cAAc,EAAE,WAAW;KAC9B;CACJ,CAAC;AACF,oDAAoD;AACpD,SAAgB,WAAW,CAAC,CAO3B;IACG,OAAO,CAAC,CAAC,CAAC,CAAC;QACP,OAAO,EAAE;YACL,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,0BAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,0BAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,0BAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C;QACD,MAAM,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAc,CAAC,EAAE;KAC1D,CAAC,CAAC,CAAC,SAAS,CAAC;AAClB,CAAC"}
|
package/dist/ns/ns-rest.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.callNSRest = callNSRest;
|
|
13
4
|
const common_1 = require("@kwiz/common");
|
|
@@ -16,13 +7,11 @@ const ns_1 = require("./ns");
|
|
|
16
7
|
//REST API documentation: https://system.netsuite.com/help/helpcenter/en_US/APIs/REST_API_Browser/record/v1/2023.1/index.html#/definitions/contact
|
|
17
8
|
//https://timdietrich.me/blog/netsuite-suitetalk-rest-overview-issues-advice/
|
|
18
9
|
/** pass in a type for a single result or type[] for a collection result */
|
|
19
|
-
function callNSRest(ctx,
|
|
10
|
+
async function callNSRest(ctx,
|
|
20
11
|
/** API path after the services/rest/record/v1/ - or starts with / to call other non services-rest endpoints like /services/rest/auth */
|
|
21
12
|
path, options) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return yield (0, ns_1.getNSRESTResponse)(ctx, url, options);
|
|
26
|
-
});
|
|
13
|
+
let query = Object.keys(options?.queryString || {}).map((qs, index) => `${index === 0 ? '?' : '&'}${qs}=${encodeURIComponent(options.queryString[qs])}`).join('');
|
|
14
|
+
const url = `${(0, common_1.getNsHost)(ctx.accountId, "suitetalk")}${path.startsWith('/') ? path : `/services/rest/record/v1/${path}`}${query}`;
|
|
15
|
+
return await (0, ns_1.getNSRESTResponse)(ctx, url, options);
|
|
27
16
|
}
|
|
28
17
|
//# sourceMappingURL=ns-rest.js.map
|
package/dist/ns/ns-rest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ns-rest.js","sourceRoot":"","sources":["../../src/ns/ns-rest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ns-rest.js","sourceRoot":"","sources":["../../src/ns/ns-rest.ts"],"names":[],"mappings":";;AAQA,gCAeC;AAvBD,yCAAqD;AACrD,6BAAyD;AAEzD,kIAAkI;AAClI,kJAAkJ;AAClJ,6EAA6E;AAE7E,2EAA2E;AACpE,KAAK,UAAU,UAAU,CAC5B,GAAe;AACf,wIAAwI;AACxI,IAAY,EAAE,OAMb;IACD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElK,MAAM,GAAG,GAAG,GAAG,IAAA,kBAAS,EAAC,GAAG,CAAC,SAAS,EAAC,WAAW,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,4BAA4B,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;IAEjI,OAAO,MAAM,IAAA,sBAAiB,EAAI,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC"}
|
package/dist/ns/ns-restlet.js
CHANGED
|
@@ -1,23 +1,12 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.callNSRestlet = callNSRestlet;
|
|
13
4
|
const common_1 = require("@kwiz/common");
|
|
14
5
|
const ns_1 = require("./ns");
|
|
15
|
-
function callNSRestlet(ctx, restlet, options) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return (0, ns_1.getNSRESTResponse)(ctx, url, options);
|
|
21
|
-
});
|
|
6
|
+
async function callNSRestlet(ctx, restlet, options) {
|
|
7
|
+
const query = Object.keys(options?.queryString || {}).map(qs => `&${qs}=${encodeURIComponent(options.queryString[qs])}`).join('');
|
|
8
|
+
//call custom script
|
|
9
|
+
const url = `${(0, common_1.getNsHost)(ctx.accountId, "restlets")}/app/site/hosting/restlet.nl?script=${restlet.script}&deploy=${restlet.deploy}${query}`;
|
|
10
|
+
return (0, ns_1.getNSRESTResponse)(ctx, url, options);
|
|
22
11
|
}
|
|
23
12
|
//# sourceMappingURL=ns-restlet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ns-restlet.js","sourceRoot":"","sources":["../../src/ns/ns-restlet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ns-restlet.js","sourceRoot":"","sources":["../../src/ns/ns-restlet.ts"],"names":[],"mappings":";;AAQA,sCASC;AAjBD,yCAAkE;AAClE,6BAAyD;AAOlD,KAAK,UAAU,aAAa,CAAI,GAAe,EAAE,OAA6B,EACjF,OAEC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClI,oBAAoB;IACpB,MAAM,GAAG,GAAG,GAAG,IAAA,kBAAS,EAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,uCAAuC,OAAO,CAAC,MAAM,WAAW,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;IAE5I,OAAO,IAAA,sBAAiB,EAAO,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC"}
|