Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
744 B · 19 lines
TypeScript
1234567891011121314151617181920import * as Effect from "effect/Effect";import type { Env } from "./config.ts";import { InstallationNotFound } from "./installation-errors.ts";import { installationId, parse } from "./installation-metadata.ts";import { installationRegistry } from "./registry-client.ts";import { authenticatedPrincipal } from "./session.ts";
export function ownedInstallation(request: Request, env: Env, id: string) { return Effect.gen(function* () { parse(installationId, id); const principal = yield* authenticatedPrincipal(request, env); const record = yield* installationRegistry(env, principal.subject).get( principal.subject, id, ); if (!record) return yield* new InstallationNotFound(); return record; });}