import { ok } from '@atcute/client'; import { mainSchema as putRecordSchema } from '@atcute/atproto/types/repo/putRecord'; import type { Nsid, RecordKey } from '@atcute/lexicons/syntax'; import type { OAuthUserAgent } from '@atcute/oauth-browser-client'; import { createClient } from '$lib/auth/agent'; import type { ProfileRecord } from './records'; const PROFILE_COLLECTION = 'sh.tangled.actor.profile' as Nsid; // the profile record lives at the fixed rkey `self`; put upserts it. export const putProfile = async (agent: OAuthUserAgent, record: ProfileRecord): Promise => { const rpc = createClient(agent); await ok( rpc.call(putRecordSchema, { input: { repo: agent.sub, collection: PROFILE_COLLECTION, rkey: 'self' as RecordKey, record } }) ); };