MCPcopy
hub / github.com/Kong/insomnia / removeAllSecrets

Function removeAllSecrets

packages/insomnia-data/node-src/services/environment.ts:10–39  ·  view source on GitHub ↗
(organizationIds: string[])

Source from the content-addressed store, hash-verified

8
9// remove all secret items when user reset vault key
10export const removeAllSecrets = async (organizationIds: string[]) => {
11 const allProjects = await db.find<Project>(models.project.type, {
12 parentId: { $in: organizationIds },
13 });
14 const allProjectIds = allProjects.map(project => project._id);
15 const allGlobalEnvironmentWorkspaces = await db.find<Workspace>(models.workspace.type, {
16 parentId: { $in: allProjectIds },
17 scope: models.workspace.WorkspaceScopeKeys.environment,
18 });
19 const allGlobalBaseEnvironments = await db.find<Environment>(type, {
20 parentId: {
21 $in: allGlobalEnvironmentWorkspaces.map(w => w._id),
22 },
23 });
24 const allGlobalSubEnvironments = await db.find<Environment>(type, {
25 parentId: {
26 $in: allGlobalBaseEnvironments.map(e => e._id),
27 },
28 });
29 const allGlobalEnvironments = allGlobalBaseEnvironments.concat(allGlobalSubEnvironments);
30 const allGlobalPrivateEnvironments = allGlobalEnvironments.filter(env => env.isPrivate);
31 allGlobalPrivateEnvironments.forEach(async privateEnv => {
32 const { kvPairData, data } = privateEnv;
33 if (vaultEnvironmentPath in data) {
34 const { [vaultEnvironmentPath]: secretData, ...restData } = data;
35 const filteredKvPairData = kvPairData?.filter(kvPair => kvPair.type !== EnvironmentKvPairDataType.SECRET);
36 await update(privateEnv, { data: restData, kvPairData: filteredKvPairData });
37 }
38 });
39};
40
41export function create(patch: Partial<Environment> = {}) {
42 if (!patch.parentId) {

Callers

nothing calls this directly

Calls 5

mapMethod · 0.80
concatMethod · 0.80
updateFunction · 0.70
filterMethod · 0.45
forEachMethod · 0.45

Tested by

no test coverage detected