johnandersen777.bsky.social/knotless
git that lives in your Atmosphere account
Forked from chadtmiller.com/knotless
0
0
import type * as listRunners from '#lib/lexicons/dev/knotless/listRunners.ts';
import type * as listSecrets from '#lib/lexicons/dev/knotless/listSecrets.ts';
import type { PageLoad } from './$types';
import { repoPage, xrpc } from '#lib/data.ts';
/** A repository's runners, and to its owner, or an admin of the organization that owns it, the secrets it gives them. */
export const load: PageLoad = async (event) => {
const [{ repo, answer }, { viewer }] = await Promise.all([
repoPage<typeof listRunners.main>(event, 'dev.knotless.listRunners'),
event.parent()
]);
const owns = (viewer?.actor?.did === repo.owner.did || !!repo.viewer?.admin) && !!repo.key;
const quiet = { ...event, setHeaders: () => {} };
const secrets = owns
? await xrpc<typeof listSecrets.main>(quiet, 'dev.knotless.listSecrets', {
owner: repo.owner.did,
repo: repo.key!
})
: null;
return {
repo,
runners: answer.runners,
minutes: answer.minutes ?? [],
keys: answer.keys ?? [],
secrets: secrets?.secrets ?? null
};
};