/** * Appwrite 연결 테스트 스크립트 * * 이 파일은 Appwrite 서비스와의 연결을 테스트하기 위한 스크립트입니다. * 개발 가이드라인에 따라 UI 스레드를 차단하지 않도록 비동기 처리와 오류 처리를 포함합니다. */ import { Client, Account } from "appwrite"; import { appwriteLogger } from "@/utils/logger"; // 설정 값 직접 지정 const endpoint = "https://a11.ism.kr/v1"; const projectId = "68182a300039f6d700a6"; // 올바른 프로젝트 ID const apiKey = "standard_9672cc2d052d4fc56d9d28e75c6476ff1029d932b7d375dbb4bb0f705d741d8e6d9ae154929009e01c7168810884b6ee80e6bb564d3fe6439b8b142ed4a8d287546bb0bed2531c20188a7ecc36e6f9983abb1ab0022c1656cf2219d4c2799655c7baef00ae4861fe74186dbb421141d9e2332f2fad812975ae7b4b7f57527cea"; // 테스트 함수 async function testAppwriteConnection() { appwriteLogger.info("Appwrite 연결 테스트 시작..."); appwriteLogger.info("설정 정보:", { endpoint, projectId, apiKey: apiKey ? "설정됨" : "설정되지 않음", }); try { // Appwrite 클라이언트 생성 const client = new Client(); client.setEndpoint(endpoint).setProject(projectId); // 계정 서비스 초기화 const account = new Account(client); // 연결 테스트 (익명 세션 생성 시도) try { appwriteLogger.info("익명 세션 생성 시도..."); const session = await account.createAnonymousSession(); appwriteLogger.info("익명 세션 생성 성공:", session.$id); // 세션 정보 확인 try { const user = await account.get(); appwriteLogger.info("사용자 정보 확인 성공:", user.$id); } catch (userError) { appwriteLogger.error("사용자 정보 확인 실패:", userError); } // 세션 삭제 try { await account.deleteSession(session.$id); appwriteLogger.info("세션 삭제 성공"); } catch (deleteError) { appwriteLogger.error("세션 삭제 실패:", deleteError); } } catch (sessionError) { appwriteLogger.error("익명 세션 생성 실패:", sessionError); // 프로젝트 정보 확인 시도 try { appwriteLogger.info("프로젝트 정보 확인 시도..."); // 프로젝트 정보는 API 키가 있어야 확인 가능 if (!apiKey) { appwriteLogger.error( "API 키가 없어 프로젝트 정보를 확인할 수 없습니다." ); } else { appwriteLogger.info( "API 키가 있지만 클라이언트에서는 사용할 수 없습니다." ); } } catch (projectError) { appwriteLogger.error("프로젝트 정보 확인 실패:", projectError); } } } catch (error) { appwriteLogger.error("Appwrite 클라이언트 생성 오류:", error); } appwriteLogger.info("Appwrite 연결 테스트 완료"); } // 테스트 실행 testAppwriteConnection() .then(() => { appwriteLogger.info("테스트가 완료되었습니다."); }) .catch((error) => { appwriteLogger.error("테스트 중 예외 발생:", error); });