2023-12-19 00:48:02 +01:00
|
|
|
const { reqBody } = require("../utils/http");
|
|
|
|
|
|
|
|
function extensions(app) {
|
|
|
|
if (!app) return;
|
|
|
|
|
|
|
|
app.post("/ext/github-repo", async function (request, response) {
|
|
|
|
try {
|
|
|
|
const loadGithubRepo = require("../utils/extensions/GithubRepo");
|
|
|
|
const { success, reason, data } = await loadGithubRepo(reqBody(request));
|
|
|
|
response.status(200).json({
|
|
|
|
success,
|
|
|
|
reason,
|
|
|
|
data
|
|
|
|
});
|
|
|
|
} catch (e) {
|
|
|
|
console.error(e);
|
|
|
|
response.status(200).json({
|
|
|
|
success: false,
|
|
|
|
reason: e.message || "A processing error occurred.",
|
|
|
|
data: {},
|
|
|
|
});
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
});
|
|
|
|
|
|
|
|
// gets all branches for a specific repo
|
|
|
|
app.post("/ext/github-repo/branches", async function (request, response) {
|
|
|
|
try {
|
|
|
|
const GithubRepoLoader = require("../utils/extensions/GithubRepo/RepoLoader");
|
|
|
|
const allBranches = await (new GithubRepoLoader(reqBody(request))).getRepoBranches()
|
|
|
|
response.status(200).json({
|
|
|
|
success: true,
|
|
|
|
reason: null,
|
|
|
|
data: {
|
|
|
|
branches: allBranches
|
|
|
|
}
|
|
|
|
});
|
|
|
|
} catch (e) {
|
|
|
|
console.error(e);
|
|
|
|
response.status(400).json({
|
|
|
|
success: false,
|
|
|
|
reason: e.message,
|
|
|
|
data: {
|
|
|
|
branches: []
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
});
|
2023-12-19 02:17:26 +01:00
|
|
|
|
|
|
|
app.post("/ext/youtube-transcript", async function (request, response) {
|
|
|
|
try {
|
|
|
|
const loadYouTubeTranscript = require("../utils/extensions/YoutubeTranscript");
|
|
|
|
const { success, reason, data } = await loadYouTubeTranscript(reqBody(request));
|
|
|
|
response.status(200).json({ success, reason, data });
|
|
|
|
} catch (e) {
|
|
|
|
console.error(e);
|
|
|
|
response.status(400).json({
|
|
|
|
success: false,
|
|
|
|
reason: e.message,
|
|
|
|
data: {
|
|
|
|
title: null,
|
|
|
|
author: null
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
});
|
2023-12-19 00:48:02 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = extensions;
|