aboutsummaryrefslogtreecommitdiff
path: root/packages/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src')
-rw-r--r--packages/server/src/api/git.ts12
-rw-r--r--packages/server/src/api/v1.ts2
2 files changed, 13 insertions, 1 deletions
diff --git a/packages/server/src/api/git.ts b/packages/server/src/api/git.ts
index 1f39692..9987bcf 100644
--- a/packages/server/src/api/git.ts
+++ b/packages/server/src/api/git.ts
@@ -392,4 +392,16 @@ export class Git {
return false;
}
}
+
+ async doesReadmeExist(repo_name) {
+ const full_repo_name = addRepoDirSuffix(repo_name);
+ const repo = await Repository.openBare(`${this.base_dir}/${full_repo_name}`);
+
+ const master_commit = await repo.getMasterCommit();
+ const tree = await master_commit.getTree();
+
+ const readme = await tree.getEntry("README.md").catch(() => null);
+
+ return Boolean(readme);
+ }
}; \ No newline at end of file
diff --git a/packages/server/src/api/v1.ts b/packages/server/src/api/v1.ts
index 617e5f1..7aa1f16 100644
--- a/packages/server/src/api/v1.ts
+++ b/packages/server/src/api/v1.ts
@@ -40,7 +40,7 @@ export default function(fastify: FastifyInstance, opts, done) {
const desc = await git.getRepoFile(params.repo, "description");
- reply.send({ data: { name: params.repo, description: desc } });
+ reply.send({ data: { name: params.repo, description: desc, has_readme: await git.doesReadmeExist(params.repo) } });
}
});