Skip to content

Commit

Permalink
chore: testing github api for fetching repos by id
Browse files Browse the repository at this point in the history
  • Loading branch information
aaa006bd committed Aug 21, 2023
1 parent 2915932 commit 748518c
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 19 deletions.
3 changes: 3 additions & 0 deletions server/api/forges/[forge_id]/repos/add.post.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,13 @@ export default defineEventHandler(async (event) => {
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)

const repoId = await readBody(event) satisfies string;

const forgeRepo = await forge.getRepo(repoId);
console.log("🚀 ~ file: add.post.ts:33 ~ defineEventHandler ~ forgeRepo:", forgeRepo)


const repo = await db
.insert(repoSchema)
Expand Down
47 changes: 28 additions & 19 deletions server/forges/github.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@ export class Github implements Forge {
constructor(forge: DBForge) {
this.clientId = forge.clientId;
this.clientSecret = forge.clientSecret;
this.forgeId = forge.id
this.forgeId = forge.id;
}


private getClient(token: string) {
return new Octokit({
Expand Down Expand Up @@ -102,25 +101,35 @@ export class Github implements Forge {
sort: 'updated',
});

return repos.data.items.map((repo) => ({
name: repo.full_name,
cloneUrl: repo.clone_url,
id: repo.id,
forgeId:this.forgeId,
url: repo.url,
} satisfies Repo));
return repos.data.items.map(
(repo) =>
({
name: repo.full_name,
cloneUrl: repo.clone_url,
id: repo.id,
forgeId: this.forgeId,
url: repo.url,
}) satisfies Repo,
);
}

async getRepo(token: string,repoId: string): Promise<Repo> {
async getRepo(token: string, id: string): Promise<Repo> {
console.log('🚀 ~ file: github.ts:115 ~ Github ~ getRepo ~ repoId:', id);
const client = this.getClient(token);
const repo = await client.request('GET /repositories/:id', {repoId})

return {
name: repo.data.full_name,
cloneUrl: repo.data.clone_url,
id: repo.data.id,
forgeId:this.forgeId,
url: repo.data.url,
} satisfies Repo
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);
}
}
}

0 comments on commit 748518c

Please sign in to comment.