aboutsummaryrefslogtreecommitdiff
path: root/packages/server/src/api/v1/repo/log.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src/api/v1/repo/log.ts')
-rw-r--r--packages/server/src/api/v1/repo/log.ts81
1 files changed, 0 insertions, 81 deletions
diff --git a/packages/server/src/api/v1/repo/log.ts b/packages/server/src/api/v1/repo/log.ts
deleted file mode 100644
index 24937ad..0000000
--- a/packages/server/src/api/v1/repo/log.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-import { FastifyInstance, FastifyPluginOptions } from "fastify";
-import { Commit } from "../../../git/commit";
-import { Patch } from "../../../git/patch";
-import { Route } from "../../../types/fastify";
-import { verifySHA } from "../../util";
-import { LogCommit as APILogCommit, Patch as APIPatch, Commit as APICommit } from "shared_types";
-
-async function commitMap(commit: Commit) {
- const stats = await commit.stats();
- return <APILogCommit>{
- id: commit.id,
- author: {
- name: commit.author.name,
- email: commit.author.email
- },
- message: commit.message,
- date: commit.date,
- insertions: stats.insertions,
- deletions: stats.deletions,
- files_changed: stats.files_changed
- };
-}
-
-async function patchMap(patch: Patch, index: number) {
- return <APIPatch>{
- additions: patch.additions,
- deletions: patch.deletions,
- from: patch.from,
- to: patch.to,
- too_large: await patch.isTooLarge(index),
- hunks: await patch.getHunks(index)
- };
-}
-
-export default function(fastify: FastifyInstance, opts: FastifyPluginOptions, done: (err?: Error) => void): void {
- fastify.route<Route>({
- method: "GET",
- url: "/log",
- handler: async(req, reply) => {
- const commits = await req.repository.commits();
-
- reply.send({
- data: await Promise.all(commits.map(commitMap))
- });
- }
- });
-
- fastify.route<Route>({
- method: "GET",
- url: "/log/:commit",
- handler: async(req, reply) => {
- const commit_verification = await verifySHA(req.repository, req.params.commit);
- if(commit_verification.success === false && commit_verification.code) {
- reply.code(commit_verification.code).send({ error: commit_verification.message });
- }
-
- const commit = await Commit.lookup(req.repository, req.params.commit);
-
- const stats = await commit.stats();
-
- const data: APICommit = {
- message: commit.message,
- author: {
- name: commit.author.name,
- email: commit.author.email
- },
- date: commit.date,
- insertions: stats.insertions,
- deletions: stats.deletions,
- files_changed: stats.files_changed,
- diff: await Promise.all((await (await commit.diff()).patches()).map(patchMap))
- };
-
- reply.send({
- data: data
- });
- }
- });
-
- done();
-} \ No newline at end of file