@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.
Files changed (43) hide show
  1. package/dist/SPO/common.js +13 -24
  2. package/dist/SPO/common.js.map +1 -1
  3. package/dist/auth/discovery.js +3 -12
  4. package/dist/auth/discovery.js.map +1 -1
  5. package/dist/auth/msal.js +40 -62
  6. package/dist/auth/msal.js.map +1 -1
  7. package/dist/get-with-cache.js +23 -34
  8. package/dist/get-with-cache.js.map +1 -1
  9. package/dist/graph/graph.js +11 -22
  10. package/dist/graph/graph.js.map +1 -1
  11. package/dist/next-js/api.js +21 -32
  12. package/dist/next-js/api.js.map +1 -1
  13. package/dist/next-js/api.responses.js +6 -2
  14. package/dist/next-js/api.responses.js.map +1 -1
  15. package/dist/ns/ns-rest.js +4 -15
  16. package/dist/ns/ns-rest.js.map +1 -1
  17. package/dist/ns/ns-restlet.js +5 -16
  18. package/dist/ns/ns-restlet.js.map +1 -1
  19. package/dist/ns/ns-soap.js +54 -63
  20. package/dist/ns/ns-soap.js.map +1 -1
  21. package/dist/ns/ns-suiteql.js +9 -17
  22. package/dist/ns/ns-suiteql.js.map +1 -1
  23. package/dist/ns/ns.js +52 -57
  24. package/dist/ns/ns.js.map +1 -1
  25. package/dist/ns/oauth1.js +4 -4
  26. package/dist/ns/oauth1.js.map +1 -1
  27. package/dist/sf/actions.js +180 -217
  28. package/dist/sf/actions.js.map +1 -1
  29. package/dist/sf/connections.js +49 -64
  30. package/dist/sf/connections.js.map +1 -1
  31. package/dist/sf/types.js +1 -1
  32. package/dist/sf/types.js.map +1 -1
  33. package/dist/storage/blob-storage.js +88 -116
  34. package/dist/storage/blob-storage.js.map +1 -1
  35. package/dist/storage/common.js +11 -22
  36. package/dist/storage/common.js.map +1 -1
  37. package/dist/storage/table-storage.js +191 -268
  38. package/dist/storage/table-storage.js.map +1 -1
  39. package/dist/utilities/email.js +28 -39
  40. package/dist/utilities/email.js.map +1 -1
  41. package/dist/utilities/xml.js +11 -2
  42. package/dist/utilities/xml.js.map +1 -1
  43. package/package.json +3 -3
@@ -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.sfGetUserName = sfGetUserName;
13
4
  exports.sfIsConnectionValid = sfIsConnectionValid;
@@ -25,228 +16,200 @@ const common_1 = require("@kwiz/common");
25
16
  const constants_1 = require("./constants");
26
17
  const types_1 = require("./types");
27
18
  /** returns the user's name, or null if user not found. */
28
- function sfGetUserName(conn) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- var _a;
31
- try {
32
- let userId = (_a = conn.userInfo) === null || _a === void 0 ? void 0 : _a.id;
33
- if ((0, common_1.isNullOrEmptyString)(userId)) {
34
- const identity = yield conn.identity();
35
- //console.log(identity);
36
- if ((0, common_1.isNotEmptyString)(identity.display_name))
37
- return identity.display_name;
38
- userId = identity.user_id;
39
- }
40
- const ui = yield conn.query("SELECT Name FROM User WHERE Id = '" + userId + "'");
41
- return ui.records[0].Name;
42
- }
43
- catch (e) {
44
- console.error(e);
45
- return null;
19
+ async function sfGetUserName(conn) {
20
+ try {
21
+ let userId = conn.userInfo?.id;
22
+ if ((0, common_1.isNullOrEmptyString)(userId)) {
23
+ const identity = await conn.identity();
24
+ //console.log(identity);
25
+ if ((0, common_1.isNotEmptyString)(identity.display_name))
26
+ return identity.display_name;
27
+ userId = identity.user_id;
46
28
  }
47
- });
48
- }
49
- function sfIsConnectionValid(conn) {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- const userName = yield sfGetUserName(conn);
52
- return (0, common_1.isNotEmptyString)(userName);
53
- });
29
+ const ui = await conn.query("SELECT Name FROM User WHERE Id = '" + userId + "'");
30
+ return ui.records[0].Name;
31
+ }
32
+ catch (e) {
33
+ console.error(e);
34
+ return null;
35
+ }
54
36
  }
55
- function sfGetFields(conn, entity) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- const ent = yield conn.sobject(entity).describe();
58
- return ent.fields;
59
- });
37
+ async function sfIsConnectionValid(conn) {
38
+ const userName = await sfGetUserName(conn);
39
+ return (0, common_1.isNotEmptyString)(userName);
60
40
  }
61
- function sfGetRecords(conn_1, entity_1) {
62
- return __awaiter(this, arguments, void 0, function* (conn, entity, select = ["Id, Name"], accessAsAppInstanceUrl) {
63
- const records = yield conn.query(`SELECT ${select.join(', ')} FROM ${entity}`);
64
- return records;
65
- });
41
+ async function sfGetFields(conn, entity) {
42
+ const ent = await conn.sobject(entity).describe();
43
+ return ent.fields;
66
44
  }
67
- function sfGetOrgInfo(conn) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- const result = yield (conn === null || conn === void 0 ? void 0 : conn.query("SELECT Id, Name FROM Organization LIMIT 1"));
70
- return {
71
- instanceUrl: conn.instanceUrl,
72
- orgId: result.records[0].Id,
73
- orgName: result.records[0].Name
74
- };
75
- });
45
+ async function sfGetRecords(conn, entity, select = ["Id, Name"], accessAsAppInstanceUrl) {
46
+ const records = await conn.query(`SELECT ${select.join(', ')} FROM ${entity}`);
47
+ return records;
76
48
  }
77
- function sfGetObjects(conn) {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- const objects = yield conn.describeGlobal();
80
- //console.log(objects);
81
- return objects.sobjects;
82
- });
49
+ async function sfGetOrgInfo(conn) {
50
+ const result = await conn?.query("SELECT Id, Name FROM Organization LIMIT 1");
51
+ return {
52
+ instanceUrl: conn.instanceUrl,
53
+ orgId: result.records[0].Id,
54
+ orgName: result.records[0].Name
55
+ };
83
56
  }
84
- function sfCreateItem(conn, entity, values) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- try {
87
- const sObject = conn.sobject(entity);
88
- const result = yield sObject.create(values, {
89
- headers: {
90
- //bypass duplicate check
91
- 'Sforce-Duplicate-Rule-Header': 'allowSave=true'
92
- }
93
- });
94
- //console.log(result);
95
- return result;
96
- }
97
- catch (e) {
98
- const typedError = e;
99
- return {
100
- success: false,
101
- errors: [{
102
- errorCode: typedError.errorCode || "unknown error",
103
- message: typedError.message || (0, common_1.GetError)(e) || "unexpected error"
104
- }]
105
- };
106
- }
107
- });
57
+ async function sfGetObjects(conn) {
58
+ const objects = await conn.describeGlobal();
59
+ //console.log(objects);
60
+ return objects.sobjects;
108
61
  }
109
- function sfGetField(conn, entity, name) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- return conn.metadata.read("CustomField", `${entity}.${name}`);
112
- });
62
+ async function sfCreateItem(conn, entity, values) {
63
+ try {
64
+ const sObject = conn.sobject(entity);
65
+ const result = await sObject.create(values, {
66
+ headers: {
67
+ //bypass duplicate check
68
+ 'Sforce-Duplicate-Rule-Header': 'allowSave=true'
69
+ }
70
+ });
71
+ //console.log(result);
72
+ return result;
73
+ }
74
+ catch (e) {
75
+ const typedError = e;
76
+ return {
77
+ success: false,
78
+ errors: [{
79
+ errorCode: typedError.errorCode || "unknown error",
80
+ message: typedError.message || (0, common_1.GetError)(e) || "unexpected error"
81
+ }]
82
+ };
83
+ }
113
84
  }
114
- function sfAddField(conn, info) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- try {
117
- if (!info.fullName.endsWith(constants_1.sf_custom_field_name_suffix))
118
- info.fullName = `${info.fullName}${constants_1.sf_custom_field_name_suffix}`;
119
- const result = yield conn.metadata.create("CustomField", info);
120
- //set visibiliy on new field
121
- //console.log(result);
122
- return result;
123
- }
124
- catch (e) {
125
- const typedError = e;
126
- return {
127
- success: false,
128
- fullName: info.fullName,
129
- errors: [{
130
- statusCode: typedError.errorCode || "unknown error",
131
- message: typedError.message || (0, common_1.GetError)(e) || "unexpected error",
132
- extendedErrorDetails: [], fields: []
133
- }]
134
- };
135
- }
136
- });
85
+ async function sfGetField(conn, entity, name) {
86
+ return conn.metadata.read("CustomField", `${entity}.${name}`);
137
87
  }
138
- function sfUpdateField(conn, info) {
139
- return __awaiter(this, void 0, void 0, function* () {
140
- const field = yield conn.metadata.read("CustomField", info.fullName);
141
- if (!field)
142
- return {
143
- success: false,
144
- fullName: info.fullName,
145
- errors: [{ statusCode: "FIELD_NOT_FOUND", message: `Could not find field ${info.fullName}`, extendedErrorDetails: [], fields: [] }]
146
- };
147
- if ((0, common_1.isNullOrUndefined)(info.type))
148
- info.type = field.type;
149
- if ((0, common_1.isNullOrEmptyString)(info.label))
150
- info.label = field.label;
151
- else if (field.type !== info.type)
152
- return {
153
- success: false,
154
- fullName: info.fullName,
155
- errors: [{ statusCode: "DO_NOT_CHANGE_TYPE", message: "Do not change field type - data loss risk", extendedErrorDetails: [], fields: [] }]
156
- };
157
- const result = yield conn.metadata.update("CustomField", info);
88
+ async function sfAddField(conn, info) {
89
+ try {
90
+ if (!info.fullName.endsWith(constants_1.sf_custom_field_name_suffix))
91
+ info.fullName = `${info.fullName}${constants_1.sf_custom_field_name_suffix}`;
92
+ const result = await conn.metadata.create("CustomField", info);
93
+ //set visibiliy on new field
158
94
  //console.log(result);
159
95
  return result;
160
- });
161
- }
162
- function sfSetFieldPermissions(conn, fieldName) {
163
- return __awaiter(this, void 0, void 0, function* () {
164
- try {
165
- //set visibiliy on new field
166
- const result = yield (conn === null || conn === void 0 ? void 0 : conn.query("SELECT Id, Name FROM Profile"));
167
- const chunks = (0, common_1.chunkArray)([...types_1.sf_builtin_profiles, ...result.records.map(r => r.Name)], types_1.sf_throttle);
168
- //no need to check anything - just run the update
169
- yield (0, common_1.forEachAsync)(chunks, (names) => __awaiter(this, void 0, void 0, function* () {
170
- yield conn.metadata.update("Profile", names.map(name => ({
171
- fullName: name,
172
- fieldPermissions: [{
173
- editable: true,
174
- field: fieldName,
175
- readable: true
176
- }]
177
- })));
178
- }));
179
- //can check - but no need... faster to just update
180
- // await forEachAsync(chunks, async names => {
181
- // let chunkProfiles = await conn!.metadata.read("Profile", names);
182
- // chunkProfiles = chunkProfiles.filter(p => {
183
- // if (isNullOrEmptyString(p.fullName)
184
- // || isNullOrEmptyArray(p.fieldPermissions))
185
- // return false;//skip system accounts
186
- // const existing = firstOrNull(p.fieldPermissions, fp => fp.field === fieldName);
187
- // if (existing && existing.editable && existing.readable)
188
- // return false;//skip accounts that already have permissions set
189
- // else {
190
- // //make the change...
191
- // if (existing) {
192
- // existing.editable = true;
193
- // existing.readable = true;
194
- // }
195
- // else p.fieldPermissions.push({
196
- // editable: true,
197
- // field: fieldName,
198
- // readable: true
199
- // });
200
- // return true;
201
- // }
202
- // });
203
- // if (isNotEmptyArray(chunkProfiles)) {
204
- // await conn!.metadata.update("Profile", chunkProfiles.map(p => ({
205
- // fullName: p.fullName,
206
- // fieldPermissions: p.fieldPermissions
207
- // })));
208
- // profilesToUpdate.push(...chunkProfiles);
209
- // }
210
- // });
211
- return { success: true };
212
- }
213
- catch (e) {
214
- const typedError = e;
215
- return {
216
- success: false,
217
- error: {
96
+ }
97
+ catch (e) {
98
+ const typedError = e;
99
+ return {
100
+ success: false,
101
+ fullName: info.fullName,
102
+ errors: [{
218
103
  statusCode: typedError.errorCode || "unknown error",
219
- message: typedError.message || (0, common_1.GetError)(e) || "unexpected error"
220
- }
221
- };
222
- }
223
- });
104
+ message: typedError.message || (0, common_1.GetError)(e) || "unexpected error",
105
+ extendedErrorDetails: [], fields: []
106
+ }]
107
+ };
108
+ }
224
109
  }
225
- function sfAttachFile(conn, itemId, file) {
226
- return __awaiter(this, void 0, void 0, function* () {
227
- const base64Marker = 'base64,';
228
- const base64 = (file.base64.indexOf(base64Marker) >= 0)
229
- ? file.base64.slice(file.base64.indexOf(base64Marker) + base64Marker.length)
230
- : file.base64;
231
- const res = yield conn.sobject('ContentVersion').create({
232
- PathOnClient: file.filename,
233
- Title: file.filename,
234
- VersionData: base64
235
- // Add other fields as needed, e.g., Origin: 'C' for Chatter files
110
+ async function sfUpdateField(conn, info) {
111
+ const field = await conn.metadata.read("CustomField", info.fullName);
112
+ if (!field)
113
+ return {
114
+ success: false,
115
+ fullName: info.fullName,
116
+ errors: [{ statusCode: "FIELD_NOT_FOUND", message: `Could not find field ${info.fullName}`, extendedErrorDetails: [], fields: [] }]
117
+ };
118
+ if ((0, common_1.isNullOrUndefined)(info.type))
119
+ info.type = field.type;
120
+ if ((0, common_1.isNullOrEmptyString)(info.label))
121
+ info.label = field.label;
122
+ else if (field.type !== info.type)
123
+ return {
124
+ success: false,
125
+ fullName: info.fullName,
126
+ errors: [{ statusCode: "DO_NOT_CHANGE_TYPE", message: "Do not change field type - data loss risk", extendedErrorDetails: [], fields: [] }]
127
+ };
128
+ const result = await conn.metadata.update("CustomField", info);
129
+ //console.log(result);
130
+ return result;
131
+ }
132
+ async function sfSetFieldPermissions(conn, fieldName) {
133
+ try {
134
+ //set visibiliy on new field
135
+ const result = await conn?.query("SELECT Id, Name FROM Profile");
136
+ const chunks = (0, common_1.chunkArray)([...types_1.sf_builtin_profiles, ...result.records.map(r => r.Name)], types_1.sf_throttle);
137
+ //no need to check anything - just run the update
138
+ await (0, common_1.forEachAsync)(chunks, async (names) => {
139
+ await conn.metadata.update("Profile", names.map(name => ({
140
+ fullName: name,
141
+ fieldPermissions: [{
142
+ editable: true,
143
+ field: fieldName,
144
+ readable: true
145
+ }]
146
+ })));
236
147
  });
237
- if (res.success) {
238
- //wait for it to be committed - get it from DB
239
- const docId = yield conn.sobject('ContentVersion').retrieve(res.id); // await conn?.query(`SELECT contentdocumentid FROM ContentVersion where id = '${res.id}'`);
240
- //use it to make the link
241
- const linkRes = yield conn.sobject('ContentDocumentLink').create({
242
- ContentDocumentId: docId.ContentDocumentId,
243
- LinkedEntityId: itemId,
244
- ShareType: 'V', // 'V' for Viewer, 'C' for Collaborator, 'I' for Inferred
245
- Visibility: 'AllUsers'
246
- });
247
- return linkRes.success;
248
- }
249
- return false;
148
+ //can check - but no need... faster to just update
149
+ // await forEachAsync(chunks, async names => {
150
+ // let chunkProfiles = await conn!.metadata.read("Profile", names);
151
+ // chunkProfiles = chunkProfiles.filter(p => {
152
+ // if (isNullOrEmptyString(p.fullName)
153
+ // || isNullOrEmptyArray(p.fieldPermissions))
154
+ // return false;//skip system accounts
155
+ // const existing = firstOrNull(p.fieldPermissions, fp => fp.field === fieldName);
156
+ // if (existing && existing.editable && existing.readable)
157
+ // return false;//skip accounts that already have permissions set
158
+ // else {
159
+ // //make the change...
160
+ // if (existing) {
161
+ // existing.editable = true;
162
+ // existing.readable = true;
163
+ // }
164
+ // else p.fieldPermissions.push({
165
+ // editable: true,
166
+ // field: fieldName,
167
+ // readable: true
168
+ // });
169
+ // return true;
170
+ // }
171
+ // });
172
+ // if (isNotEmptyArray(chunkProfiles)) {
173
+ // await conn!.metadata.update("Profile", chunkProfiles.map(p => ({
174
+ // fullName: p.fullName,
175
+ // fieldPermissions: p.fieldPermissions
176
+ // })));
177
+ // profilesToUpdate.push(...chunkProfiles);
178
+ // }
179
+ // });
180
+ return { success: true };
181
+ }
182
+ catch (e) {
183
+ const typedError = e;
184
+ return {
185
+ success: false,
186
+ error: {
187
+ statusCode: typedError.errorCode || "unknown error",
188
+ message: typedError.message || (0, common_1.GetError)(e) || "unexpected error"
189
+ }
190
+ };
191
+ }
192
+ }
193
+ async function sfAttachFile(conn, itemId, file) {
194
+ const base64 = (0, common_1.cleanupBase64FileData)(file.base64);
195
+ const res = await conn.sobject('ContentVersion').create({
196
+ PathOnClient: file.filename,
197
+ Title: file.filename,
198
+ VersionData: base64
199
+ // Add other fields as needed, e.g., Origin: 'C' for Chatter files
250
200
  });
201
+ if (res.success) {
202
+ //wait for it to be committed - get it from DB
203
+ const docId = await conn.sobject('ContentVersion').retrieve(res.id); // await conn?.query(`SELECT contentdocumentid FROM ContentVersion where id = '${res.id}'`);
204
+ //use it to make the link
205
+ const linkRes = await conn.sobject('ContentDocumentLink').create({
206
+ ContentDocumentId: docId.ContentDocumentId,
207
+ LinkedEntityId: itemId,
208
+ ShareType: 'V', // 'V' for Viewer, 'C' for Collaborator, 'I' for Inferred
209
+ Visibility: 'AllUsers'
210
+ });
211
+ return linkRes.success;
212
+ }
213
+ return false;
251
214
  }
252
215
  //# sourceMappingURL=actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/sf/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/sf/actions.ts"],"names":[],"mappings":"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"}
@@ -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.sf_conn_app = sf_conn_app;
13
4
  exports.sf_conn_user = sf_conn_user;
@@ -32,51 +23,47 @@ function getOauth2Config(cfg, instanceUrl) {
32
23
  function hasTokenError(t) {
33
24
  return (0, common_1.isNotEmptyString)(t.error);
34
25
  }
35
- function sf_conn_app(cfg, instanceUrl) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- try {
38
- const oauth2Config = getOauth2Config(cfg, instanceUrl);
39
- //get app only token
40
- const buffer = Buffer.from(`${oauth2Config.clientId}:${oauth2Config.clientSecret}`, 'utf8');
41
- const base64EncodedString = buffer.toString('base64');
42
- const token = yield fetch(`${instanceUrl}/services/oauth2/token`, {
43
- method: "POST",
44
- headers: {
45
- Authorization: `Basic ${base64EncodedString}`,
46
- 'Content-Type': 'application/x-www-form-urlencoded'
47
- },
48
- body: `grant_type=client_credentials`
49
- });
50
- //get the token response
51
- const token_json = (yield token.json());
52
- if (hasTokenError(token_json)) {
53
- throw token_json;
54
- }
55
- //configure the connection
56
- const conn = new jsforce.Connection({
57
- instanceUrl: token_json.instance_url,
58
- accessToken: token_json.access_token
59
- });
60
- return conn;
61
- }
62
- catch (e) {
63
- console.error(e);
64
- return null;
65
- }
66
- });
67
- }
68
- function sf_conn_user(cfg, userToken) {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- if (cfg && userToken) {
71
- const conn = new jsforce.Connection({
72
- oauth2: getOauth2Config(cfg, userToken.instanceUrl),
73
- instanceUrl: userToken.instanceUrl,
74
- accessToken: userToken.accessToken,
75
- });
76
- return conn;
26
+ async function sf_conn_app(cfg, instanceUrl) {
27
+ try {
28
+ const oauth2Config = getOauth2Config(cfg, instanceUrl);
29
+ //get app only token
30
+ const buffer = Buffer.from(`${oauth2Config.clientId}:${oauth2Config.clientSecret}`, 'utf8');
31
+ const base64EncodedString = buffer.toString('base64');
32
+ const token = await fetch(`${instanceUrl}/services/oauth2/token`, {
33
+ method: "POST",
34
+ headers: {
35
+ Authorization: `Basic ${base64EncodedString}`,
36
+ 'Content-Type': 'application/x-www-form-urlencoded'
37
+ },
38
+ body: `grant_type=client_credentials`
39
+ });
40
+ //get the token response
41
+ const token_json = (await token.json());
42
+ if (hasTokenError(token_json)) {
43
+ throw token_json;
77
44
  }
45
+ //configure the connection
46
+ const conn = new jsforce.Connection({
47
+ instanceUrl: token_json.instance_url,
48
+ accessToken: token_json.access_token
49
+ });
50
+ return conn;
51
+ }
52
+ catch (e) {
53
+ console.error(e);
78
54
  return null;
79
- });
55
+ }
56
+ }
57
+ async function sf_conn_user(cfg, userToken) {
58
+ if (cfg && userToken) {
59
+ const conn = new jsforce.Connection({
60
+ oauth2: getOauth2Config(cfg, userToken.instanceUrl),
61
+ instanceUrl: userToken.instanceUrl,
62
+ accessToken: userToken.accessToken,
63
+ });
64
+ return conn;
65
+ }
66
+ return null;
80
67
  }
81
68
  /** your redirect page will get an authorization code. call sf_oauth2_authorize to exchange for an access token.
82
69
  * look for query params: code, error, error_description, state
@@ -89,18 +76,16 @@ function sf_signin_redirect(cfg, state, sandbox) {
89
76
  return redirectUrl;
90
77
  }
91
78
  /** complete the user sign in flow, use the code to get an access token */
92
- function sf_oauth2_authorize(cfg, authorizationCode, sandbox) {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- const conn = new jsforce.Connection({
95
- oauth2: getOauth2Config(cfg, sandbox ? types_1.sf_instances.sandbox : types_1.sf_instances.default)
96
- });
97
- yield conn.authorize(authorizationCode);
98
- const userName = yield (0, actions_1.sfGetUserName)(conn);
99
- return ({
100
- accessToken: conn.accessToken,
101
- instanceUrl: conn.instanceUrl,
102
- userName
103
- });
79
+ async function sf_oauth2_authorize(cfg, authorizationCode, sandbox) {
80
+ const conn = new jsforce.Connection({
81
+ oauth2: getOauth2Config(cfg, sandbox ? types_1.sf_instances.sandbox : types_1.sf_instances.default)
82
+ });
83
+ await conn.authorize(authorizationCode);
84
+ const userName = await (0, actions_1.sfGetUserName)(conn);
85
+ return ({
86
+ accessToken: conn.accessToken,
87
+ instanceUrl: conn.instanceUrl,
88
+ userName
104
89
  });
105
90
  }
106
91
  //# sourceMappingURL=connections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/sf/connections.ts"],"names":[],"mappings":";;;;;;;;;;;AAqCA,kCAkCC;AAED,oCAWC;AAKD,gDAMC;AAGD,kDAaC;AA/GD,iDAAiD;AACjD,yCAA+D;AAC/D,uCAA0C;AAC1C,mCAAgE;AAEhE,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAA,8BAA8B;AAC/D,SAAS,eAAe,CAAC,GAAY,EAAE,WAAmB;IACtD,MAAM,QAAQ,GAAG,mBAAmB;QAChC,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,oBAAY,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAY,CAAC,OAAO,CAAC;IACvG,OAAO;QACH,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,QAAQ,EAAE,QAAQ;KACrB,CAAC;AACN,CAAC;AAiBD,SAAS,aAAa,CAAC,CAAkB;IACrC,OAAO,IAAA,yBAAgB,EAAE,CAAmB,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAsB,WAAW,CAAC,GAAY,EAAE,WAAmB;;QAC/D,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAEvD,oBAAoB;YACpB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;YAC5F,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,wBAAwB,EAAE;gBAC9D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,aAAa,EAAE,SAAS,mBAAmB,EAAE;oBAC7C,cAAc,EAAE,mCAAmC;iBACtD;gBACD,IAAI,EAAE,+BAA+B;aACxC,CAAC,CAAC;YAEH,wBAAwB;YACxB,MAAM,UAAU,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAoB,CAAC;YAC3D,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,MAAM,UAAU,CAAC;YACrB,CAAC;YAED,0BAA0B;YAC1B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;gBAChC,WAAW,EAAE,UAAU,CAAC,YAAY;gBACpC,WAAW,EAAE,UAAU,CAAC,YAAY;aACvC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QAEhB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;CAAA;AAED,SAAsB,YAAY,CAAC,GAAY,EAAE,SAAyB;;QACtE,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;gBAChC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC;gBACnD,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,WAAW,EAAE,SAAS,CAAC,WAAW;aACrC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CAAA;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,GAAY,EAAE,KAAa,EAAE,OAAiB;IAC7E,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,oBAAY,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAY,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACpI,gCAAgC;QAChC,KAAK,EAAE,IAAA,sBAAa,EAAC,KAAK,CAAC;KAC9B,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,0EAA0E;AAC1E,SAAsB,mBAAmB,CAAC,GAAY,EAAE,iBAAyB,EAAE,OAAiB;;QAChG,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;YAChC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,oBAAY,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAY,CAAC,OAAO,CAAC;SACtF,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAa,EAAC,IAAI,CAAC,CAAC;QAE3C,OAAO,CAAC;YACJ,WAAW,EAAE,IAAI,CAAC,WAAY;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;CAAA"}
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/sf/connections.ts"],"names":[],"mappings":"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"}
package/dist/sf/types.js CHANGED
@@ -26,7 +26,7 @@ exports.sf_known_entities = {
26
26
  Lead: { Label: "Leads" },
27
27
  Account: { Label: "Accounts" }
28
28
  };
29
- exports.sf_known_entities_arr = (0, common_1.toArray)(exports.sf_known_entities, undefined, (k, e) => (Object.assign({ key: k }, e)));
29
+ exports.sf_known_entities_arr = (0, common_1.toArray)(exports.sf_known_entities, undefined, (k, e) => ({ key: k, ...e }));
30
30
  ;
31
31
  ;
32
32
  function isSFContext(ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sf/types.ts"],"names":[],"mappings":";;;AA2DA,kCAMC;AAED,8CAMC;AAtED,yCAAyD;AAG5C,QAAA,eAAe,GAAG,IAAI,CAAC;AACvB,QAAA,WAAW,GAAG,EAAE,CAAC;AACjB,QAAA,YAAY,GAAG;IACxB,OAAO,EAAE,8BAA8B;IACvC,OAAO,EAAE,6BAA6B;CACzC,CAAC;AAEF,kEAAkE;AAClE,qHAAqH;AACxG,QAAA,mBAAmB,GAAG;IAC/B,OAAO;IACP,aAAa;IACb,UAAU;IACV,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,sBAAsB;CACzB,CAAC;AAEW,QAAA,iBAAiB,GAAG;IAC7B,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;IACxB,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;CACjC,CAAC;AACW,QAAA,qBAAqB,GAAG,IAAA,gBAAO,EAAC,yBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAG,GAAG,EAAE,CAAC,IAAK,CAAC,EAAG,CAAC,CAAC;AAsBxG,CAAC;AAKD,CAAC;AAEF,SAAgB,WAAW,CAAC,GAAQ;IAChC,MAAM,aAAa,GAAG,GAAiB,CAAC;IACxC,IAAI,aAAa,IAAI,IAAA,yBAAgB,EAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IAChB,CAAC;;QACI,OAAO,KAAK,CAAC;AACtB,CAAC;AAED,SAAgB,iBAAiB,CAAC,GAAQ;IACtC,MAAM,aAAa,GAAG,GAAuB,CAAC;IAC9C,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,IAAA,yBAAgB,EAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;;QACI,OAAO,KAAK,CAAC;AACtB,CAAC;AAuBD,8BAA8B;AACjB,QAAA,qBAAqB,GAAG;IACjC,QAAQ,EAAE,gBAAgB;IAC1B,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,cAAc;IAC7B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,SAAS;CACrB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sf/types.ts"],"names":[],"mappings":";;;AA2DA,kCAMC;AAED,8CAMC;AAtED,yCAAyD;AAG5C,QAAA,eAAe,GAAG,IAAI,CAAC;AACvB,QAAA,WAAW,GAAG,EAAE,CAAC;AACjB,QAAA,YAAY,GAAG;IACxB,OAAO,EAAE,8BAA8B;IACvC,OAAO,EAAE,6BAA6B;CACzC,CAAC;AAEF,kEAAkE;AAClE,qHAAqH;AACxG,QAAA,mBAAmB,GAAG;IAC/B,OAAO;IACP,aAAa;IACb,UAAU;IACV,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,sBAAsB;CACzB,CAAC;AAEW,QAAA,iBAAiB,GAAG;IAC7B,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;IACxB,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;CACjC,CAAC;AACW,QAAA,qBAAqB,GAAG,IAAA,gBAAO,EAAC,yBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAsBxG,CAAC;AAKD,CAAC;AAEF,SAAgB,WAAW,CAAC,GAAQ;IAChC,MAAM,aAAa,GAAG,GAAiB,CAAC;IACxC,IAAI,aAAa,IAAI,IAAA,yBAAgB,EAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IAChB,CAAC;;QACI,OAAO,KAAK,CAAC;AACtB,CAAC;AAED,SAAgB,iBAAiB,CAAC,GAAQ;IACtC,MAAM,aAAa,GAAG,GAAuB,CAAC;IAC9C,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,IAAA,yBAAgB,EAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;;QACI,OAAO,KAAK,CAAC;AACtB,CAAC;AAuBD,8BAA8B;AACjB,QAAA,qBAAqB,GAAG;IACjC,QAAQ,EAAE,gBAAgB;IAC1B,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,cAAc;IAC7B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,SAAS;CACrB,CAAC"}