A social knowledge tool for researchers built on ATProto
at development 59 lines 1.9 kB view raw
1import { Result, ok, err } from 'src/shared/core/Result'; 2import { IAppPasswordSessionService } from '../../application/IAppPasswordSessionService'; 3import { AtpSessionData } from '@atproto/api'; 4 5export class FakeAppPasswordSessionService 6 implements IAppPasswordSessionService 7{ 8 async getSession(did: string): Promise<Result<AtpSessionData>> { 9 try { 10 // Use mock data from environment variables 11 const mockDid = process.env.BSKY_DID || 'did:plc:mock123'; 12 const mockHandle = process.env.BSKY_HANDLE || 'mock.bsky.social'; 13 const mockAccessToken = 14 process.env.MOCK_ACCESS_TOKEN || 'mock-access-token-123'; 15 const mockRefreshToken = 16 process.env.MOCK_REFRESH_TOKEN || 'mock-refresh-token-456'; 17 18 const mockSession: AtpSessionData = { 19 did: mockDid, 20 handle: mockHandle, 21 accessJwt: mockAccessToken, 22 refreshJwt: mockRefreshToken, 23 active: true, 24 }; 25 26 return ok(mockSession); 27 } catch (error: any) { 28 return err(error); 29 } 30 } 31 32 async createSession( 33 identifier: string, 34 appPassword: string, 35 ): Promise<Result<AtpSessionData>> { 36 try { 37 // Use mock data from environment variables 38 const mockDid = process.env.BSKY_DID || 'did:plc:mock123'; 39 const mockHandle = process.env.BSKY_HANDLE || 'mock.bsky.social'; 40 const mockAccessToken = 41 process.env.MOCK_ACCESS_TOKEN || 'mock-access-token-123'; 42 const mockRefreshToken = 43 process.env.MOCK_REFRESH_TOKEN || 'mock-refresh-token-456'; 44 45 // Simulate successful session creation with any identifier/password 46 const mockSession: AtpSessionData = { 47 did: mockDid, 48 handle: mockHandle, 49 accessJwt: mockAccessToken, 50 refreshJwt: mockRefreshToken, 51 active: true, 52 }; 53 54 return ok(mockSession); 55 } catch (error: any) { 56 return err(error); 57 } 58 } 59}