Skip to content

Commit 70dd8c5

Browse files
authored
chore: refactor sf permissions check (#305)
1 parent 6063e74 commit 70dd8c5

File tree

2 files changed

+18
-21
lines changed

2 files changed

+18
-21
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vesselapi/integrations",
3-
"version": "1.0.72",
3+
"version": "1.0.73",
44
"description": "Vessel integrations",
55
"main": "dist/index.js",
66
"module": "dist/index.mjs",

src/platforms/salesforce/permissions.ts

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { first, isArray, parallel, sift, tryit } from 'radash';
1+
import { first, parallel, sift, tryit } from 'radash';
22
import { PlatformPermissions } from '../../sdk';
33
import { client } from './client';
44
import {
@@ -39,26 +39,23 @@ export const makePermissions = (): PlatformPermissions => {
3939
}
4040

4141
const describe = async (objectType: SalesforceSupportedObjectType) => {
42-
try {
43-
return await client.sobjects.describe(auth, { objectType });
44-
} catch (err) {
45-
const errBody = (err as any).body;
46-
const { error } = isArray(errBody) ? errBody[0] : errBody;
47-
if (
48-
!['INVALID_TYPE', 'OBJECT_NOT_FOUND', 'NOT_FOUND'].includes(error)
49-
) {
50-
console.warn({
51-
message: `Unknown permissions error for ${objectType}`,
52-
error,
53-
metadata: {
54-
context: err,
55-
},
56-
});
57-
}
58-
return {
59-
data: { createable: false, updateable: false, retrieveable: false },
60-
};
42+
const [error, result] = await tryit(client.sobjects.describe)(auth, {
43+
objectType,
44+
});
45+
if (result) return result;
46+
if (
47+
!['INVALID_TYPE', 'OBJECT_NOT_FOUND', 'NOT_FOUND'].includes(
48+
(error?.cause as any)?.body?.error,
49+
)
50+
) {
51+
console.warn('unknown salesforce error', {
52+
objectType,
53+
error,
54+
});
6155
}
56+
return {
57+
data: { createable: false, updateable: false, retrieveable: false },
58+
};
6259
};
6360

6461
const check = async (objectType: string) => {

0 commit comments

Comments
 (0)