diff --git a/server/api/forges/[forge_id]/repos/add.post.ts b/server/api/forges/[forge_id]/repos/add.post.ts index c21d9f0..ba7b7e4 100644 --- a/server/api/forges/[forge_id]/repos/add.post.ts +++ b/server/api/forges/[forge_id]/repos/add.post.ts @@ -12,26 +12,25 @@ export default defineEventHandler(async (event) => { ); } - const forgeIdFromParams = event.context.params?.forge_id; if (!forgeIdFromParams) { throw createError({ statusCode: 400, statusMessage: 'repo_id is required', }); - } if (!forgeIdFromParams) { + } + if (!forgeIdFromParams) { return; } - const forgeId = parseInt(forgeIdFromParams,10) - console.log("🚀 ~ file: add.post.ts:26 ~ defineEventHandler ~ forgeId:", forgeId) + const forgeId = parseInt(forgeIdFromParams, 10); + console.log('🚀 ~ file: add.post.ts:26 ~ defineEventHandler ~ forgeId:', forgeId); const forge = await getUserForgeAPI(user, forgeId); - console.log("🚀 ~ file: add.post.ts:28 ~ defineEventHandler ~ forge:", forge) + console.log('🚀 ~ file: add.post.ts:28 ~ defineEventHandler ~ forge:', forge); - const repoId = await readBody(event) satisfies string; + const { repoId } = (await readBody(event)) as { repoId: string }; const forgeRepo = await forge.getRepo(repoId); - console.log("🚀 ~ file: add.post.ts:33 ~ defineEventHandler ~ forgeRepo:", forgeRepo) - + console.log('🚀 ~ file: add.post.ts:33 ~ defineEventHandler ~ forgeRepo:', forgeRepo); const repo = await db .insert(repoSchema) @@ -50,9 +49,9 @@ export default defineEventHandler(async (event) => { repoId: repo.id, }); - await $fetch(`/api/repos/${repoId}/clone`,{ + await $fetch(`/api/repos/${repoId}/clone`, { method: 'POST', - }) + }); return repo; }); diff --git a/server/forges/github.ts b/server/forges/github.ts index cac2353..4ffd5aa 100644 --- a/server/forges/github.ts +++ b/server/forges/github.ts @@ -67,7 +67,7 @@ export class Github implements Forge { return { accessToken: response.access_token, accessTokenExpiresIn: response.expires_in || -1, // TODO: we use -1 as github access_tokens don't expire - refreshToken: undefined, // TODO: we use an empty string for now as github access_tokens don't expire + refreshToken: null, // TODO: we use an empty string for now as github access_tokens don't expire }; } @@ -89,7 +89,7 @@ export class Github implements Forge { return { accessToken: response.access_token, accessTokenExpiresIn: response.expires_in, - refreshToken: undefined, // TODO: we use an empty string for now as github access_tokens don't expire + refreshToken: null, // TODO: we use an empty string for now as github access_tokens don't expire }; } @@ -113,23 +113,19 @@ export class Github implements Forge { ); } - async getRepo(token: string, id: string): Promise { - console.log('🚀 ~ file: github.ts:115 ~ Github ~ getRepo ~ repoId:', id); + async getRepo(token: string, repoId: string): Promise { const client = this.getClient(token); - try { - const repo = await client.request(`GET /repositories/{id}`, { - id - }); - - return { - name: repo.data.full_name, - cloneUrl: repo.data.clone_url, - id: repo.data.id, - forgeId: this.forgeId, - url: repo.data.url, - } satisfies Repo; - } catch (error) { - console.log(error); - } + + const repo = await client.request(`GET /repositories/{repoId}`, { + repoId, + }); + + return { + name: repo.data.full_name, + cloneUrl: repo.data.clone_url, + id: repo.data.id, + forgeId: this.forgeId, + url: repo.data.url, + }; } }