MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / listUsersWithConnections

Function listUsersWithConnections

packages/core/api/src/admin/reads.ts:280–298  ·  view source on GitHub ↗
(
  admin: ExecutorAdmin,
  options: AdminUsersListOptions,
  directory?: AdminIdentityDirectory | AdminUserDirectory,
)

Source from the content-addressed store, hash-verified

278 });
279
280export const listUsersWithConnections = (
281 admin: ExecutorAdmin,
282 options: AdminUsersListOptions,
283 directory?: AdminIdentityDirectory | AdminUserDirectory,
284): Effect.Effect<typeof AdminUsersWithConnectionsResponse.Type, AdminUsersError> =>
285 Effect.gen(function* () {
286 const dir = asDirectory(directory);
287 const wanted =
288 options.email === undefined ? undefined : yield* resolveEmailFilter(dir, options.email);
289 const all = yield* admin
290 .listSubjectsWithConnections(options)
291 .pipe(Effect.mapError(readFailed("users")));
292 const subjects = wanted === undefined ? all : filterToId(all, wanted);
293 const identities = yield* resolveIdentities(
294 dir.identities,
295 subjects.map((subject) => subject.externalId),
296 );
297 return { users: subjects.map((subject) => toUserWithConnections(subject, identities)) };
298 });
299
300/**
301 * One user by `externalId` OR email, with connections.

Callers 1

stubProviderFunction · 0.90

Calls 6

asDirectoryFunction · 0.85
resolveEmailFilterFunction · 0.85
readFailedFunction · 0.85
filterToIdFunction · 0.85
resolveIdentitiesFunction · 0.85
toUserWithConnectionsFunction · 0.85

Tested by 1

stubProviderFunction · 0.72