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

Function listUsersWithConnections

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

Source from the content-addressed store, hash-verified

315 });
316
317export const listUsersWithConnections = (
318 admin: ExecutorAdmin,
319 options: AdminUsersListOptions,
320 directory?: AdminIdentityDirectory | AdminUserDirectory,
321): Effect.Effect<typeof AdminUsersWithConnectionsResponse.Type, AdminUsersError> =>
322 Effect.gen(function* () {
323 const dir = asDirectory(directory);
324 const subjects =
325 options.email === undefined
326 ? yield* admin
327 .listSubjectsWithConnections(options)
328 .pipe(Effect.mapError(readFailed("users")))
329 : yield* selectByEmail(dir, options.email, options, (externalId) =>
330 admin.getSubjectWithConnections(externalId).pipe(Effect.mapError(readFailed("users"))),
331 );
332 const identities = yield* resolveIdentities(
333 dir.identities,
334 subjects.map((subject) => subject.externalId),
335 );
336 return { users: subjects.map((subject) => toUserWithConnections(subject, identities)) };
337 });
338
339/**
340 * One user by `externalId` OR email, with connections.

Callers 2

stubProviderFunction · 0.90

Calls 5

asDirectoryFunction · 0.85
readFailedFunction · 0.85
selectByEmailFunction · 0.85
resolveIdentitiesFunction · 0.85
toUserWithConnectionsFunction · 0.85

Tested by 1

stubProviderFunction · 0.72