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

Function principalFromSession

apps/host-selfhost/src/mcp/index.ts:87–106  ·  view source on GitHub ↗
(
  resolved: BetterAuthSession,
  betterAuth: BetterAuthHandle,
  headers: Headers,
)

Source from the content-addressed store, hash-verified

85>;
86
87const principalFromSession = (
88 resolved: BetterAuthSession,
89 betterAuth: BetterAuthHandle,
90 headers: Headers,
91): Effect.Effect<Principal> => {
92 const organizationId = resolved.session.activeOrganizationId ?? betterAuth.organizationId;
93 return resolveSelfHostOrgRole(betterAuth, headers, organizationId).pipe(
94 Effect.map((orgRole) => ({
95 accountId: resolved.user.id,
96 organizationId,
97 organizationName: betterAuth.organizationName,
98 email: resolved.user.email,
99 name: resolved.user.name ?? null,
100 avatarUrl: resolved.user.image ?? null,
101 roles: parseRoles(resolved.user.role ?? null),
102 orgRoleModel: "organization" as const,
103 orgRole,
104 })),
105 );
106};
107
108/**
109 * Gate the browser-approval endpoints behind a valid Better Auth session (the

Callers 1

makeApprovalHandlerFunction · 0.85

Calls 2

resolveSelfHostOrgRoleFunction · 0.90
parseRolesFunction · 0.70

Tested by

no test coverage detected