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

Function listUsers

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

Source from the content-addressed store, hash-verified

375});
376
377export const listUsers = (
378 admin: ExecutorAdmin,
379 options: AdminUsersListOptions,
380 directory?: AdminIdentityDirectory | AdminUserDirectory,
381): Effect.Effect<typeof AdminUsersResponse.Type, AdminUsersError> =>
382 Effect.gen(function* () {
383 const dir = asDirectory(directory);
384 const subjects = yield* selectSubjects(dir, options, {
385 page: (paging) => admin.listSubjects(paging).pipe(Effect.mapError(readFailed("users"))),
386 one: (externalId) => admin.getSubject(externalId).pipe(Effect.mapError(readFailed("users"))),
387 });
388 // One directory read for the page that was actually returned, joined in
389 // memory — never a lookup per user.
390 const identities = yield* resolveIdentities(
391 dir.identities,
392 subjects.map((subject) => subject.externalId),
393 );
394 return { users: subjects.map((subject) => toUser(subject, identities)) };
395 });
396
397export const listUsersWithConnections = (
398 admin: ExecutorAdmin,

Callers 2

stubProviderFunction · 0.90

Calls 5

asDirectoryFunction · 0.85
selectSubjectsFunction · 0.85
readFailedFunction · 0.85
resolveIdentitiesFunction · 0.85
toUserFunction · 0.85

Tested by 1

stubProviderFunction · 0.72