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

Function resolveSelfHostOrgRole

apps/host-selfhost/src/auth/identity.ts:38–51  ·  view source on GitHub ↗
(
  betterAuth: BetterAuthHandle,
  headers: Headers | Record<string, string>,
  organizationId: string,
)

Source from the content-addressed store, hash-verified

36 * Lookup failures fail closed to member authority.
37 */
38export const resolveSelfHostOrgRole = (
39 betterAuth: BetterAuthHandle,
40 headers: Headers | Record<string, string>,
41 organizationId: string,
42): Effect.Effect<"admin" | "member"> =>
43 Effect.tryPromise(() =>
44 betterAuth.auth.api.getActiveMemberRole({
45 headers,
46 query: { organizationId },
47 }),
48 ).pipe(
49 Effect.orElseSucceed(() => null),
50 Effect.map((membership) => (membership && isPrivileged(membership.role) ? "admin" : "member")),
51 );
52
53// ---------------------------------------------------------------------------
54// The production IdentityProvider: resolve a request to a Better Auth session

Callers 2

principalFromSessionFunction · 0.90
identity.tsFile · 0.85

Calls 1

isPrivilegedFunction · 0.90

Tested by

no test coverage detected