From a13786d6cc185822f5940582efde2349ef729145 Mon Sep 17 00:00:00 2001 From: HampusM Date: Thu, 24 Jun 2021 22:50:38 +0200 Subject: Refactored the backend yet again --- packages/server/src/api/v1/repo/branches.ts | 33 +++++++++++++++++------------ 1 file changed, 19 insertions(+), 14 deletions(-) (limited to 'packages/server/src/api/v1/repo/branches.ts') diff --git a/packages/server/src/api/v1/repo/branches.ts b/packages/server/src/api/v1/repo/branches.ts index fd8056a..fe962aa 100644 --- a/packages/server/src/api/v1/repo/branches.ts +++ b/packages/server/src/api/v1/repo/branches.ts @@ -1,18 +1,22 @@ import { FastifyInstance, FastifyPluginOptions } from "fastify"; -import { GitAPI } from "../../git"; +import { Branch } from "../../../git/branch"; import { Route } from "../../../fastify_types"; -import { verifySHA } from "../../util"; export default function(fastify: FastifyInstance, opts: FastifyPluginOptions, done: (err?: Error) => void): void { - const git: GitAPI = opts.config.git; - fastify.route({ method: "GET", url: "/branches", handler: async(req, reply) => { - const branches = await git.getBranches(req.params.repo); - - reply.send({ data: branches }); + const branches = await (await req.repository).branches(); + + reply.send({ + data: branches.map(branch => { + return { + id: branch.id, + name: branch.name + }; + }) + }); } }); @@ -20,19 +24,20 @@ export default function(fastify: FastifyInstance, opts: FastifyPluginOptions, do method: "GET", url: "/branches/:branch", handler: async(req, reply) => { - const branch_verification = await verifySHA(git, req.params.repo, req.params.branch); - if(branch_verification.success === false && branch_verification.code) { - reply.code(branch_verification.code).send({ error: branch_verification.message }); - } - - const branch = await git.getBranch(req.params.repo, req.params.branch); + const branch = await Branch.lookup(await req.repository, req.params.branch); if(!branch) { reply.code(404).send({ error: "Branch not found!" }); return; } - reply.send({ data: branch }); + reply.send({ + data: { + id: branch.id, + name: branch.name, + latest_commit: await branch.latestCommit() + } + }); } }); -- cgit v1.2.3-18-g5258