@credal/actions 0.2.199 → 0.2.201
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/actions/actionMapper.js +14 -1
- package/dist/actions/autogen/templates.d.ts +3 -0
- package/dist/actions/autogen/templates.js +132 -0
- package/dist/actions/autogen/types.d.ts +88 -0
- package/dist/actions/autogen/types.js +58 -0
- package/dist/actions/providers/jira/linkJiraIssues.d.ts +3 -0
- package/dist/actions/providers/jira/linkJiraIssues.js +46 -0
- package/package.json +1 -1
- package/dist/actions/groups.d.ts +0 -6
- package/dist/actions/groups.js +0 -251
- package/dist/actions/providers/ashby/addCandidateToProject.d.ts +0 -3
- package/dist/actions/providers/ashby/addCandidateToProject.js +0 -31
- package/dist/actions/providers/ashby/createCandidate.d.ts +0 -3
- package/dist/actions/providers/ashby/createCandidate.js +0 -38
- package/dist/actions/providers/ashby/createNote.d.ts +0 -3
- package/dist/actions/providers/ashby/createNote.js +0 -31
- package/dist/actions/providers/ashby/getCandidateInfo.d.ts +0 -3
- package/dist/actions/providers/ashby/getCandidateInfo.js +0 -33
- package/dist/actions/providers/ashby/listCandidateNotes.d.ts +0 -3
- package/dist/actions/providers/ashby/listCandidateNotes.js +0 -33
- package/dist/actions/providers/ashby/listCandidates.d.ts +0 -3
- package/dist/actions/providers/ashby/listCandidates.js +0 -30
- package/dist/actions/providers/ashby/searchCandidates.d.ts +0 -3
- package/dist/actions/providers/ashby/searchCandidates.js +0 -34
- package/dist/actions/providers/ashby/updateCandidate.d.ts +0 -3
- package/dist/actions/providers/ashby/updateCandidate.js +0 -56
- package/dist/actions/providers/github/fetchFile.d.ts +0 -3
- package/dist/actions/providers/github/fetchFile.js +0 -131
- package/dist/actions/providers/github/getContents.d.ts +0 -3
- package/dist/actions/providers/github/getContents.js +0 -41
- package/dist/actions/providers/gong/getGongTranscripts.d.ts +0 -3
- package/dist/actions/providers/gong/getGongTranscripts.js +0 -315
- package/dist/actions/providers/jamf/getJamfComputerInventory.d.ts +0 -3
- package/dist/actions/providers/jamf/getJamfComputerInventory.js +0 -37
- package/dist/actions/providers/jamf/getJamfFileVaultRecoveryKey.d.ts +0 -3
- package/dist/actions/providers/jamf/getJamfFileVaultRecoveryKey.js +0 -39
- package/dist/actions/providers/jamf/getJamfUserComputerId.d.ts +0 -3
- package/dist/actions/providers/jamf/getJamfUserComputerId.js +0 -45
- package/dist/actions/providers/jamf/lockJamfComputerById.d.ts +0 -3
- package/dist/actions/providers/jamf/lockJamfComputerById.js +0 -39
- package/dist/actions/providers/kandji/getFVRecoveryKeyForDevice.d.ts +0 -3
- package/dist/actions/providers/kandji/getFVRecoveryKeyForDevice.js +0 -85
- package/dist/actions/providers/okta/addUserToGroup.d.ts +0 -3
- package/dist/actions/providers/okta/addUserToGroup.js +0 -56
- package/dist/actions/providers/okta/getOktaGroup.d.ts +0 -3
- package/dist/actions/providers/okta/getOktaGroup.js +0 -73
- package/dist/actions/providers/okta/getOktaUser.d.ts +0 -3
- package/dist/actions/providers/okta/getOktaUser.js +0 -40
- package/dist/actions/providers/okta/listMFA.d.ts +0 -3
- package/dist/actions/providers/okta/listMFA.js +0 -52
- package/dist/actions/providers/okta/listOktaGroupMembers.d.ts +0 -3
- package/dist/actions/providers/okta/listOktaGroupMembers.js +0 -99
- package/dist/actions/providers/okta/listOktaGroups.d.ts +0 -3
- package/dist/actions/providers/okta/listOktaGroups.js +0 -92
- package/dist/actions/providers/okta/listOktaUserGroups.d.ts +0 -3
- package/dist/actions/providers/okta/listOktaUserGroups.js +0 -83
- package/dist/actions/providers/okta/listOktaUsers.d.ts +0 -3
- package/dist/actions/providers/okta/listOktaUsers.js +0 -100
- package/dist/actions/providers/okta/removeUserFromGroup.d.ts +0 -3
- package/dist/actions/providers/okta/removeUserFromGroup.js +0 -56
- package/dist/actions/providers/okta/resetMFA.d.ts +0 -3
- package/dist/actions/providers/okta/resetMFA.js +0 -62
- package/dist/actions/providers/okta/resetPassword.d.ts +0 -3
- package/dist/actions/providers/okta/resetPassword.js +0 -57
- package/dist/actions/providers/okta/triggerOktaWorkflow.d.ts +0 -3
- package/dist/actions/providers/okta/triggerOktaWorkflow.js +0 -44
- package/dist/actions/providers/salesforce/fetchSalesforceSchema.d.ts +0 -3
- package/dist/actions/providers/salesforce/fetchSalesforceSchema.js +0 -40
- package/dist/actions/providers/slack/archiveChannel.d.ts +0 -3
- package/dist/actions/providers/slack/archiveChannel.js +0 -42
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { AxiosError } from "axios";
|
|
11
|
-
import { axiosClient } from "../../util/axiosClient.js";
|
|
12
|
-
const DEFAULT_LIMIT = 200;
|
|
13
|
-
const listOktaUserGroups = (_a) => __awaiter(void 0, [_a], void 0, function* ({ authParams, params, }) {
|
|
14
|
-
var _b, _c, _d, _e;
|
|
15
|
-
const { authToken, baseUrl } = authParams;
|
|
16
|
-
if (!authToken || !baseUrl) {
|
|
17
|
-
return {
|
|
18
|
-
success: false,
|
|
19
|
-
error: "Missing Okta OAuth token (authToken) or base URL (baseUrl) in authParams.",
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
try {
|
|
23
|
-
const requestConfig = {
|
|
24
|
-
headers: {
|
|
25
|
-
Authorization: `Bearer ${authToken}`,
|
|
26
|
-
Accept: "application/json",
|
|
27
|
-
"Content-Type": "application/json",
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
const endpointUrl = new URL(`/api/v1/users/${params.userId}/groups`, baseUrl);
|
|
31
|
-
if (params.maxResults) {
|
|
32
|
-
endpointUrl.searchParams.set("limit", Math.min(DEFAULT_LIMIT, params.maxResults).toString());
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
endpointUrl.searchParams.set("limit", DEFAULT_LIMIT.toString());
|
|
36
|
-
}
|
|
37
|
-
let nextUrl = endpointUrl.toString();
|
|
38
|
-
let groups = [];
|
|
39
|
-
let totalFetched = 0;
|
|
40
|
-
while (nextUrl) {
|
|
41
|
-
const remainingResults = params.maxResults ? params.maxResults - totalFetched : DEFAULT_LIMIT;
|
|
42
|
-
const adjustedUrl = new URL(nextUrl);
|
|
43
|
-
if (params.maxResults && remainingResults < DEFAULT_LIMIT) {
|
|
44
|
-
adjustedUrl.searchParams.set("limit", Math.min(DEFAULT_LIMIT, remainingResults).toString());
|
|
45
|
-
}
|
|
46
|
-
const response = yield axiosClient.get(adjustedUrl.toString(), requestConfig);
|
|
47
|
-
if (response.status === 200 && Array.isArray(response.data)) {
|
|
48
|
-
groups = groups.concat(response.data);
|
|
49
|
-
totalFetched += response.data.length;
|
|
50
|
-
if (params.maxResults && totalFetched >= params.maxResults) {
|
|
51
|
-
groups = groups.slice(0, params.maxResults);
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
nextUrl = ((_c = (_b = response.headers.link) === null || _b === void 0 ? void 0 : _b.match(/<([^>]+)>;\s*rel="next"/)) === null || _c === void 0 ? void 0 : _c[1]) || null;
|
|
55
|
-
if (nextUrl) {
|
|
56
|
-
console.debug("Next page URL:", nextUrl);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
const errorDetail = ((_d = response.data) === null || _d === void 0 ? void 0 : _d.errorSummary) || ((_e = response.data) === null || _e === void 0 ? void 0 : _e.message) || `Okta API responded with status ${response.status}`;
|
|
61
|
-
return { success: false, error: `Failed to list user groups: ${errorDetail}` };
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return { success: true, groups };
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
console.error("Error listing user groups:", error);
|
|
68
|
-
let errorMessage = "Unknown error while listing user groups";
|
|
69
|
-
if (error instanceof AxiosError && error.response) {
|
|
70
|
-
const oktaError = error.response.data;
|
|
71
|
-
errorMessage =
|
|
72
|
-
(oktaError === null || oktaError === void 0 ? void 0 : oktaError.errorSummary) || (oktaError === null || oktaError === void 0 ? void 0 : oktaError.message) || `Okta API request failed with status ${error.response.status}`;
|
|
73
|
-
}
|
|
74
|
-
else if (error instanceof Error) {
|
|
75
|
-
errorMessage = error.message;
|
|
76
|
-
}
|
|
77
|
-
return {
|
|
78
|
-
success: false,
|
|
79
|
-
error: errorMessage,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
export default listOktaUserGroups;
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { AxiosError } from "axios";
|
|
11
|
-
import { axiosClient } from "../../util/axiosClient.js";
|
|
12
|
-
// page limit default in Okta documentation
|
|
13
|
-
// https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers
|
|
14
|
-
const DEFAULT_LIMIT = 200;
|
|
15
|
-
const listOktaUsers = (_a) => __awaiter(void 0, [_a], void 0, function* ({ authParams, params, }) {
|
|
16
|
-
var _b, _c, _d, _e;
|
|
17
|
-
const { authToken, baseUrl } = authParams;
|
|
18
|
-
if (!authToken || !baseUrl) {
|
|
19
|
-
return {
|
|
20
|
-
success: false,
|
|
21
|
-
error: "Missing Okta OAuth token (authToken) or base URL (baseUrl) in authParams.",
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
try {
|
|
25
|
-
const requestConfig = {
|
|
26
|
-
headers: {
|
|
27
|
-
Authorization: `Bearer ${authToken}`,
|
|
28
|
-
Accept: "application/json",
|
|
29
|
-
"Content-Type": "application/json",
|
|
30
|
-
},
|
|
31
|
-
};
|
|
32
|
-
const endpointUrl = new URL("/api/v1/users", baseUrl);
|
|
33
|
-
if (params.searchQuery) {
|
|
34
|
-
endpointUrl.searchParams.set("search", params.searchQuery);
|
|
35
|
-
}
|
|
36
|
-
if (params.maxResults) {
|
|
37
|
-
endpointUrl.searchParams.set("limit", Math.min(DEFAULT_LIMIT, params.maxResults).toString());
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
endpointUrl.searchParams.set("limit", DEFAULT_LIMIT.toString());
|
|
41
|
-
}
|
|
42
|
-
let nextUrl = endpointUrl.toString();
|
|
43
|
-
let users = [];
|
|
44
|
-
let totalFetched = 0;
|
|
45
|
-
while (nextUrl) {
|
|
46
|
-
const remainingResults = params.maxResults ? params.maxResults - totalFetched : DEFAULT_LIMIT;
|
|
47
|
-
const adjustedUrl = new URL(nextUrl);
|
|
48
|
-
if (params.maxResults && remainingResults < DEFAULT_LIMIT) {
|
|
49
|
-
adjustedUrl.searchParams.set("limit", Math.min(DEFAULT_LIMIT, remainingResults).toString());
|
|
50
|
-
}
|
|
51
|
-
const response = yield axiosClient.get(adjustedUrl.toString(), requestConfig);
|
|
52
|
-
if (response.status === 200 && Array.isArray(response.data)) {
|
|
53
|
-
users = users.concat(response.data.map(user => ({
|
|
54
|
-
id: user.id,
|
|
55
|
-
status: user.status,
|
|
56
|
-
created: user.created,
|
|
57
|
-
activated: user.activated,
|
|
58
|
-
statusChanged: user.statusChanged,
|
|
59
|
-
lastLogin: user.lastLogin,
|
|
60
|
-
lastUpdated: user.lastUpdated,
|
|
61
|
-
passwordChanged: user.passwordChanged,
|
|
62
|
-
type: user.type,
|
|
63
|
-
profile: user.profile,
|
|
64
|
-
realmId: user.realmId,
|
|
65
|
-
})));
|
|
66
|
-
totalFetched += response.data.length;
|
|
67
|
-
if (params.maxResults && totalFetched >= params.maxResults) {
|
|
68
|
-
users = users.slice(0, params.maxResults);
|
|
69
|
-
break;
|
|
70
|
-
}
|
|
71
|
-
nextUrl = ((_c = (_b = response.headers.link) === null || _b === void 0 ? void 0 : _b.match(/<([^>]+)>;\s*rel="next"/)) === null || _c === void 0 ? void 0 : _c[1]) || null;
|
|
72
|
-
if (nextUrl) {
|
|
73
|
-
console.debug("Next page URL:", nextUrl);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
const errorDetail = ((_d = response.data) === null || _d === void 0 ? void 0 : _d.errorSummary) || ((_e = response.data) === null || _e === void 0 ? void 0 : _e.message) || `Okta API responded with status ${response.status}`;
|
|
78
|
-
return { success: false, error: `Failed to list Okta users: ${errorDetail}` };
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return { success: true, users };
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
console.error("Error listing Okta users:", error);
|
|
85
|
-
let errorMessage = "Unknown error while listing Okta users";
|
|
86
|
-
if (error instanceof AxiosError && error.response) {
|
|
87
|
-
const oktaError = error.response.data;
|
|
88
|
-
errorMessage =
|
|
89
|
-
(oktaError === null || oktaError === void 0 ? void 0 : oktaError.errorSummary) || (oktaError === null || oktaError === void 0 ? void 0 : oktaError.message) || `Okta API request failed with status ${error.response.status}`;
|
|
90
|
-
}
|
|
91
|
-
else if (error instanceof Error) {
|
|
92
|
-
errorMessage = error.message;
|
|
93
|
-
}
|
|
94
|
-
return {
|
|
95
|
-
success: false,
|
|
96
|
-
error: errorMessage,
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
export default listOktaUsers;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { AxiosError } from "axios";
|
|
11
|
-
import { axiosClient } from "../../util/axiosClient.js";
|
|
12
|
-
const removeUserFromGroup = (_a) => __awaiter(void 0, [_a], void 0, function* ({ authParams, params, }) {
|
|
13
|
-
var _b, _c;
|
|
14
|
-
const { authToken, baseUrl } = authParams;
|
|
15
|
-
if (!authToken || !baseUrl) {
|
|
16
|
-
return {
|
|
17
|
-
success: false,
|
|
18
|
-
error: "Missing Okta OAuth token (authToken) or base URL (baseUrl) in authParams.",
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
try {
|
|
22
|
-
const requestConfig = {
|
|
23
|
-
headers: {
|
|
24
|
-
Authorization: `Bearer ${authToken}`,
|
|
25
|
-
Accept: "application/json",
|
|
26
|
-
"Content-Type": "application/json",
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
const endpointUrl = new URL(`/api/v1/groups/${params.groupId}/users/${params.userId}`, baseUrl).toString();
|
|
30
|
-
const response = yield axiosClient.delete(endpointUrl, requestConfig);
|
|
31
|
-
if (response.status === 204) {
|
|
32
|
-
return { success: true };
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
const errorDetail = ((_b = response.data) === null || _b === void 0 ? void 0 : _b.errorSummary) || ((_c = response.data) === null || _c === void 0 ? void 0 : _c.message) || `Okta API responded with status ${response.status}`;
|
|
36
|
-
return { success: false, error: `Failed to remove user from group: ${errorDetail}` };
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
console.error("Error removing user from group:", error);
|
|
41
|
-
let errorMessage = "Unknown error while removing user from group";
|
|
42
|
-
if (error instanceof AxiosError && error.response) {
|
|
43
|
-
const oktaError = error.response.data;
|
|
44
|
-
errorMessage =
|
|
45
|
-
(oktaError === null || oktaError === void 0 ? void 0 : oktaError.errorSummary) || (oktaError === null || oktaError === void 0 ? void 0 : oktaError.message) || `Okta API request failed with status ${error.response.status}`;
|
|
46
|
-
}
|
|
47
|
-
else if (error instanceof Error) {
|
|
48
|
-
errorMessage = error.message;
|
|
49
|
-
}
|
|
50
|
-
return {
|
|
51
|
-
success: false,
|
|
52
|
-
error: errorMessage,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
export default removeUserFromGroup;
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { AxiosError } from "axios";
|
|
11
|
-
import { axiosClient } from "../../util/axiosClient.js";
|
|
12
|
-
const resetMFA = (_a) => __awaiter(void 0, [_a], void 0, function* ({ authParams, params, }) {
|
|
13
|
-
var _b, _c;
|
|
14
|
-
const { authToken, baseUrl } = authParams;
|
|
15
|
-
if (!authToken || !baseUrl) {
|
|
16
|
-
return {
|
|
17
|
-
success: false,
|
|
18
|
-
error: "Missing Okta OAuth token (authToken) or base URL (baseUrl) in authParams.",
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
try {
|
|
22
|
-
let endpointUrl;
|
|
23
|
-
let method;
|
|
24
|
-
if (params.factorId) {
|
|
25
|
-
endpointUrl = new URL(`/api/v1/users/${params.userId}/factors/${params.factorId}`, baseUrl).toString();
|
|
26
|
-
method = "DELETE";
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
endpointUrl = new URL(`/api/v1/users/${params.userId}/lifecycle/reset_factors`, baseUrl).toString();
|
|
30
|
-
method = "POST";
|
|
31
|
-
}
|
|
32
|
-
const requestConfig = {
|
|
33
|
-
headers: {
|
|
34
|
-
Authorization: `Bearer ${authToken}`,
|
|
35
|
-
Accept: "application/json",
|
|
36
|
-
"Content-Type": "application/json",
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
const response = yield axiosClient.request(Object.assign({ url: endpointUrl, method, data: method === "POST" ? {} : undefined }, requestConfig));
|
|
40
|
-
if (response.status === 200 || (method === "DELETE" && response.status === 204)) {
|
|
41
|
-
return { success: true };
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
const errorDetail = ((_b = response.data) === null || _b === void 0 ? void 0 : _b.errorSummary) || ((_c = response.data) === null || _c === void 0 ? void 0 : _c.message) || `Okta API responded with status ${response.status}`;
|
|
45
|
-
return { success: false, error: `Failed to reset MFA factor(s): ${errorDetail}` };
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
console.error("Error resetting MFA:", error);
|
|
50
|
-
let errorMessage = "Unknown error while resetting MFA";
|
|
51
|
-
if (error instanceof AxiosError && error.response) {
|
|
52
|
-
const oktaError = error.response.data;
|
|
53
|
-
errorMessage =
|
|
54
|
-
(oktaError === null || oktaError === void 0 ? void 0 : oktaError.errorSummary) || (oktaError === null || oktaError === void 0 ? void 0 : oktaError.message) || `Okta API request failed with status ${error.response.status}`;
|
|
55
|
-
}
|
|
56
|
-
else if (error instanceof Error) {
|
|
57
|
-
errorMessage = error.message;
|
|
58
|
-
}
|
|
59
|
-
return { success: false, error: errorMessage };
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
export default resetMFA;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { AxiosError } from "axios";
|
|
11
|
-
import { axiosClient } from "../../util/axiosClient.js";
|
|
12
|
-
const resetPassword = (_a) => __awaiter(void 0, [_a], void 0, function* ({ authParams, params, }) {
|
|
13
|
-
var _b, _c;
|
|
14
|
-
const { authToken, baseUrl } = authParams;
|
|
15
|
-
if (!authToken || !baseUrl) {
|
|
16
|
-
return {
|
|
17
|
-
success: false,
|
|
18
|
-
error: "Missing Okta OAuth token (authToken) or base URL (baseUrl) in authParams.",
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
try {
|
|
22
|
-
const endpointUrl = new URL(`/api/v1/users/${params.userId}/lifecycle/reset_password`, baseUrl);
|
|
23
|
-
endpointUrl.searchParams.append("sendEmail", params.sendEmail.toString());
|
|
24
|
-
if (params.revokeSessions !== undefined) {
|
|
25
|
-
endpointUrl.searchParams.append("revokeSessions", params.revokeSessions.toString());
|
|
26
|
-
}
|
|
27
|
-
const requestConfig = {
|
|
28
|
-
headers: {
|
|
29
|
-
Authorization: `Bearer ${authToken}`,
|
|
30
|
-
Accept: "application/json",
|
|
31
|
-
"Content-Type": "application/json",
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
const response = yield axiosClient.post(endpointUrl.toString(), {}, requestConfig);
|
|
35
|
-
if (response.status === 200) {
|
|
36
|
-
return { success: true, resetPasswordUrl: response.data.resetPasswordUrl };
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
const errorDetail = ((_b = response.data) === null || _b === void 0 ? void 0 : _b.errorSummary) || ((_c = response.data) === null || _c === void 0 ? void 0 : _c.message) || `Okta API responded with status ${response.status}`;
|
|
40
|
-
return { success: false, error: `Failed to reset password: ${errorDetail}` };
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
console.error("Error resetting password:", error);
|
|
45
|
-
let errorMessage = "Unknown error while resetting password";
|
|
46
|
-
if (error instanceof AxiosError && error.response) {
|
|
47
|
-
const oktaError = error.response.data;
|
|
48
|
-
errorMessage =
|
|
49
|
-
(oktaError === null || oktaError === void 0 ? void 0 : oktaError.errorSummary) || (oktaError === null || oktaError === void 0 ? void 0 : oktaError.message) || `Okta API request failed with status ${error.response.status}`;
|
|
50
|
-
}
|
|
51
|
-
else if (error instanceof Error) {
|
|
52
|
-
errorMessage = error.message;
|
|
53
|
-
}
|
|
54
|
-
return { success: false, error: errorMessage };
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
export default resetPassword;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { ApiError, axiosClient } from "../../util/axiosClient.js";
|
|
11
|
-
const triggerOktaWorkflow = (_a) => __awaiter(void 0, [_a], void 0, function* ({ authParams, params, }) {
|
|
12
|
-
var _b, _c;
|
|
13
|
-
const { authToken, subdomain } = authParams;
|
|
14
|
-
const { workflowId, workflowParameters } = params;
|
|
15
|
-
if (!authToken || !subdomain) {
|
|
16
|
-
return { success: false, error: "Missing authToken or subdomain in authParams." };
|
|
17
|
-
}
|
|
18
|
-
try {
|
|
19
|
-
const requestConfig = {
|
|
20
|
-
headers: Object.assign({ Accept: "application/json", "Content-Type": "application/json" }, (authToken && { Authorization: `Bearer ${authToken}` })),
|
|
21
|
-
};
|
|
22
|
-
const workflowUrl = `https://${subdomain}.workflows.okta.com/api/flo/${workflowId}/invoke`;
|
|
23
|
-
const response = yield axiosClient.post(workflowUrl, workflowParameters !== null && workflowParameters !== void 0 ? workflowParameters : {}, requestConfig);
|
|
24
|
-
if (response.status >= 200 && response.status < 300) {
|
|
25
|
-
return { success: true, output: response.data };
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
const errorDetail = ((_b = response.data) === null || _b === void 0 ? void 0 : _b.errorSummary) || ((_c = response.data) === null || _c === void 0 ? void 0 : _c.message) || `Workflow responded with status ${response.status}`;
|
|
29
|
-
return { success: false, error: `Workflow trigger failed: ${errorDetail}` };
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
let errorMessage = "Unknown error while triggering workflow";
|
|
34
|
-
if (error instanceof ApiError && error.data) {
|
|
35
|
-
const workflowError = error.data.error;
|
|
36
|
-
errorMessage = workflowError + ` Status: ${error.status}`;
|
|
37
|
-
}
|
|
38
|
-
else if (error instanceof Error) {
|
|
39
|
-
errorMessage = error.message;
|
|
40
|
-
}
|
|
41
|
-
return { success: false, error: errorMessage };
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
export default triggerOktaWorkflow;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { axiosClient } from "../../util/axiosClient.js";
|
|
11
|
-
const fetchSalesforceSchemaByObject = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
|
12
|
-
const { authToken, baseUrl } = authParams;
|
|
13
|
-
const { objectType } = params;
|
|
14
|
-
if (!authToken || !baseUrl) {
|
|
15
|
-
return {
|
|
16
|
-
success: false,
|
|
17
|
-
error: "authToken and baseUrl are required for Salesforce API",
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
const url = `${baseUrl}/services/data/v56.0/sobjects/${objectType}/describe/`;
|
|
21
|
-
try {
|
|
22
|
-
const response = yield axiosClient.get(url, {
|
|
23
|
-
headers: {
|
|
24
|
-
Authorization: `Bearer ${authToken}`,
|
|
25
|
-
},
|
|
26
|
-
});
|
|
27
|
-
return {
|
|
28
|
-
success: true,
|
|
29
|
-
schema: response.data.fields,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
console.error("Error retrieving Salesforce schema:", error);
|
|
34
|
-
return {
|
|
35
|
-
success: false,
|
|
36
|
-
error: error instanceof Error ? error.message : "An unknown error occurred",
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
export default fetchSalesforceSchemaByObject;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { WebClient } from "@slack/web-api";
|
|
11
|
-
import { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
|
|
12
|
-
import { getSlackChannels } from "./helpers.js";
|
|
13
|
-
const archiveChannel = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
|
14
|
-
if (!authParams.authToken) {
|
|
15
|
-
throw new Error(MISSING_AUTH_TOKEN);
|
|
16
|
-
}
|
|
17
|
-
try {
|
|
18
|
-
const client = new WebClient(authParams.authToken);
|
|
19
|
-
const { channelName } = params;
|
|
20
|
-
const allChannels = yield getSlackChannels(client);
|
|
21
|
-
const channel = allChannels.find(channel => channel.name == channelName);
|
|
22
|
-
if (!channel || !channel.id) {
|
|
23
|
-
throw Error(`Channel with name ${channelName} not found`);
|
|
24
|
-
}
|
|
25
|
-
yield client.conversations.join({ channel: channel.id });
|
|
26
|
-
const result = yield client.conversations.archive({ channel: channel.id });
|
|
27
|
-
if (!result.ok) {
|
|
28
|
-
return {
|
|
29
|
-
success: false,
|
|
30
|
-
error: result.error || "Unknown error archiving channel",
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
return { success: true };
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
return {
|
|
37
|
-
success: false,
|
|
38
|
-
error: error instanceof Error ? error.message : "Unknown error archiving channel",
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
export default archiveChannel;
|