atproto pastebin service: https://plonk.li

fmt

Changed files
+78 -73
src
+48 -41
src/auth/storage.ts
··· 1 1 import type { 2 - NodeSavedSession, 3 - NodeSavedSessionStore, 4 - NodeSavedState, 5 - NodeSavedStateStore, 6 - } from '@atproto/oauth-client-node' 7 - import type { Database } from '#/db' 2 + NodeSavedSession, 3 + NodeSavedSessionStore, 4 + NodeSavedState, 5 + NodeSavedStateStore, 6 + } from "@atproto/oauth-client-node"; 7 + import type { Database } from "#/db"; 8 8 9 9 export class StateStore implements NodeSavedStateStore { 10 - constructor(private db: Database) {} 11 - async get(key: string): Promise<NodeSavedState | undefined> { 12 - const result = await this.db.selectFrom('auth_state').selectAll().where('key', '=', key).executeTakeFirst() 13 - if (!result) return 14 - return JSON.parse(result.state) as NodeSavedState 15 - } 16 - async set(key: string, val: NodeSavedState) { 17 - const state = JSON.stringify(val) 18 - await this.db 19 - .insertInto('auth_state') 20 - .values({ key, state }) 21 - .onConflict((oc) => oc.doUpdateSet({ state })) 22 - .execute() 23 - } 24 - async del(key: string) { 25 - await this.db.deleteFrom('auth_state').where('key', '=', key).execute() 26 - } 10 + constructor(private db: Database) {} 11 + async get(key: string): Promise<NodeSavedState | undefined> { 12 + const result = await this.db 13 + .selectFrom("auth_state") 14 + .selectAll() 15 + .where("key", "=", key) 16 + .executeTakeFirst(); 17 + if (!result) return; 18 + return JSON.parse(result.state) as NodeSavedState; 19 + } 20 + async set(key: string, val: NodeSavedState) { 21 + const state = JSON.stringify(val); 22 + await this.db 23 + .insertInto("auth_state") 24 + .values({ key, state }) 25 + .onConflict((oc) => oc.doUpdateSet({ state })) 26 + .execute(); 27 + } 28 + async del(key: string) { 29 + await this.db.deleteFrom("auth_state").where("key", "=", key).execute(); 30 + } 27 31 } 28 32 29 33 export class SessionStore implements NodeSavedSessionStore { 30 - constructor(private db: Database) {} 31 - async get(key: string): Promise<NodeSavedSession | undefined> { 32 - const result = await this.db.selectFrom('auth_session').selectAll().where('key', '=', key).executeTakeFirst() 33 - if (!result) return 34 - return JSON.parse(result.session) as NodeSavedSession 35 - } 36 - async set(key: string, val: NodeSavedSession) { 37 - const session = JSON.stringify(val) 38 - await this.db 39 - .insertInto('auth_session') 40 - .values({ key, session }) 41 - .onConflict((oc) => oc.doUpdateSet({ session })) 42 - .execute() 43 - } 44 - async del(key: string) { 45 - await this.db.deleteFrom('auth_session').where('key', '=', key).execute() 46 - } 34 + constructor(private db: Database) {} 35 + async get(key: string): Promise<NodeSavedSession | undefined> { 36 + const result = await this.db 37 + .selectFrom("auth_session") 38 + .selectAll() 39 + .where("key", "=", key) 40 + .executeTakeFirst(); 41 + if (!result) return; 42 + return JSON.parse(result.session) as NodeSavedSession; 43 + } 44 + async set(key: string, val: NodeSavedSession) { 45 + const session = JSON.stringify(val); 46 + await this.db 47 + .insertInto("auth_session") 48 + .values({ key, session }) 49 + .onConflict((oc) => oc.doUpdateSet({ session })) 50 + .execute(); 51 + } 52 + async del(key: string) { 53 + await this.db.deleteFrom("auth_session").where("key", "=", key).execute(); 54 + } 47 55 } 48 -
+30 -32
src/id-resolver.ts
··· 1 - import { IdResolver, MemoryCache } from '@atproto/identity' 2 - 3 - const HOUR = 60e3 * 60 4 - const DAY = HOUR * 24 1 + import { IdResolver, MemoryCache } from "@atproto/identity"; 5 2 3 + const HOUR = 60e3 * 60; 4 + const DAY = HOUR * 24; 6 5 7 6 export function createIdResolver() { 8 - return new IdResolver({ 9 - didCache: new MemoryCache(HOUR, DAY), 10 - }) 7 + return new IdResolver({ 8 + didCache: new MemoryCache(HOUR, DAY), 9 + }); 11 10 } 12 11 13 12 export interface BidirectionalResolver { 14 - resolveDidToHandle(did: string): Promise<string> 15 - resolveDidsToHandles(dids: string[]): Promise<Record<string, string>> 13 + resolveDidToHandle(did: string): Promise<string>; 14 + resolveDidsToHandles(dids: string[]): Promise<Record<string, string>>; 16 15 } 17 16 18 17 export function createBidirectionalResolver(resolver: IdResolver) { 19 - return { 20 - async resolveDidToHandle(did: string): Promise<string> { 21 - const didDoc = await resolver.did.resolveAtprotoData(did) 22 - const resolvedHandle = await resolver.handle.resolve(didDoc.handle) 23 - if (resolvedHandle === did) { 24 - return didDoc.handle 25 - } 26 - return did 27 - }, 18 + return { 19 + async resolveDidToHandle(did: string): Promise<string> { 20 + const didDoc = await resolver.did.resolveAtprotoData(did); 21 + const resolvedHandle = await resolver.handle.resolve(didDoc.handle); 22 + if (resolvedHandle === did) { 23 + return didDoc.handle; 24 + } 25 + return did; 26 + }, 28 27 29 - async resolveDidsToHandles( 30 - dids: string[] 31 - ): Promise<Record<string, string>> { 32 - const didHandleMap: Record<string, string> = {} 33 - const resolves = await Promise.all( 34 - dids.map((did) => this.resolveDidToHandle(did).catch((_) => did)) 35 - ) 36 - for (let i = 0; i < dids.length; i++) { 37 - didHandleMap[dids[i]] = resolves[i] 38 - } 39 - return didHandleMap 40 - }, 41 - } 28 + async resolveDidsToHandles( 29 + dids: string[], 30 + ): Promise<Record<string, string>> { 31 + const didHandleMap: Record<string, string> = {}; 32 + const resolves = await Promise.all( 33 + dids.map((did) => this.resolveDidToHandle(did).catch((_) => did)), 34 + ); 35 + for (let i = 0; i < dids.length; i++) { 36 + didHandleMap[dids[i]] = resolves[i]; 37 + } 38 + return didHandleMap; 39 + }, 40 + }; 42 41 } 43 -