This repository has no description
1import { ok } from '@atcute/client';
2import { mainSchema as putRecordSchema } from '@atcute/atproto/types/repo/putRecord';
3import type { Nsid, RecordKey } from '@atcute/lexicons/syntax';
4import type { OAuthUserAgent } from '@atcute/oauth-browser-client';
5import { createClient } from '$lib/auth/agent';
6import type { ProfileRecord } from './records';
7
8const PROFILE_COLLECTION = 'sh.tangled.actor.profile' as Nsid;
9
10// the profile record lives at the fixed rkey `self`; put upserts it.
11export const putProfile = async (agent: OAuthUserAgent, record: ProfileRecord): Promise<void> => {
12 const rpc = createClient(agent);
13 await ok(
14 rpc.call(putRecordSchema, {
15 input: {
16 repo: agent.sub,
17 collection: PROFILE_COLLECTION,
18 rkey: 'self' as RecordKey,
19 record
20 }
21 })
22 );
23};