fix: handle missing readme

This commit is contained in:
tdurieux
2021-09-06 20:48:58 +02:00
parent 7bcc3c76f5
commit 36c1098d55
+16 -13
View File
@@ -98,23 +98,26 @@ export class GitHubRepository {
this._data.branches = await this.branches(opt); this._data.branches = await this.branches(opt);
model.branches = this._data.branches; model.branches = this._data.branches;
const selected = model.branches.filter((f) => f.name == opt.branch)[0]; const selected = model.branches.filter((f) => f.name == opt.branch)[0];
if (selected && (!selected.readme || opt?.force === true)) { if (selected && (!selected.readme || opt?.force === true)) {
// get the list of repo from github // get the list of repo from github
const octokit = new Octokit({ auth: opt.accessToken }); const octokit = new Octokit({ auth: opt.accessToken });
const ghRes = await octokit.repos.getReadme({ try {
owner: this.owner, const ghRes = await octokit.repos.getReadme({
repo: this.repo, owner: this.owner,
ref: selected?.commit, repo: this.repo,
}); ref: selected?.commit,
const readme = Buffer.from( });
ghRes.data.content, const readme = Buffer.from(
ghRes.data.encoding as BufferEncoding ghRes.data.content,
).toString("utf-8"); ghRes.data.encoding as BufferEncoding
selected.readme = readme; ).toString("utf-8");
selected.readme = readme;
await model.save(); await model.save();
} catch (error) {
throw new Error("readme_not_available");
}
} }
return selected.readme; return selected.readme;