diff options
Diffstat (limited to 'server/gitea.js')
-rw-r--r-- | server/gitea.js | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/server/gitea.js b/server/gitea.js deleted file mode 100644 index 6b52b72..0000000 --- a/server/gitea.js +++ /dev/null @@ -1,115 +0,0 @@ -global.log = require('./log')
-global.serverRoot = __dirname + "/..";
-global.fs = require('fs')
-log.info("Reading configuration...")
-global.config = require('../global/config.json')
-global.mpws = require('./version');
-
-log.verbose("Initializing Gitea projects refresh...")
-
-function get(url) {
- return {
- stdout: require('child_process').execSync("curl -s -A \"Sattelite/" + mpws.version + "\" -X GET \"https://source.minteck.org/" + url + "\" -H \"accept: application/json\" -H \"authorization: Basic " + fs.readFileSync(serverRoot + "/auth.txt").toString().trim() + "\"")
- };
-}
-
-function giteaRefresh() {
- giteaDataTmp = [];
- repos = [];
-
- log.info("Refreshing Gitea cache...")
-
- orgs_raw = JSON.parse(get("/api/v1/orgs").stdout.toString());
-
- let orgs = [];
- for (let org of orgs_raw) {
- orgs.push(org.username);
- }
-
- log.verbose("Found " + orgs.length + " orgs");
-
- let orgs_mtk = [];
- for (let org of orgs) {
- log.verbose("Gathering members of '" + org + "'...");
- members_raw = JSON.parse(get("/api/v1/orgs/" + org + "/members").stdout.toString());
-
- let members = [];
- for (let member of members_raw) {
- members.push(member.login);
- }
-
- log.verbose("Has " + members.length + " members");
-
- if (members.includes("minteck")) {
- log.verbose("Includes Minteck, adding to list");
- orgs_mtk.push(org);
- } else {
- log.verbose("Doesn't include Minteck, not adding to list");
- }
- }
-
- log.verbose("Minteck part of " + orgs_mtk.length + "/" + orgs.length + " orgs, exclusing themself");
-
- log.verbose("Gathering personal projects");
- personal_raw = JSON.parse(get("/api/v1/users/minteck/repos").stdout.toString());
-
- for (let repo of personal_raw) {
- repos.push(repo.full_name);
- }
-
- for (let org of orgs_mtk) {
- log.verbose("Gathering projects from '" + org + "'");
-
- org_projects_raw = JSON.parse(get("/api/v1/users/" + org + "/repos").stdout.toString());
-
- for (let repo of org_projects_raw) {
- repos.push(repo.full_name);
- }
- }
-
- log.verbose("Found " + repos.length + " projects: " + repos.join(", "));
-
- for (let repo of repos) {
- thisRepo = {};
-
- log.verbose("Gathering info about " + repo);
- repo_data = JSON.parse(get('/api/v1/repos/' + repo).stdout.toString());
-
- if (!repo_data.empty && !repo_data.private && !repo_data.internal && !repo_data.archived && repo_data.full_name !== "minteck/minteck") {
- thisRepo.name = repo_data.full_name.trim() !== "" ? repo_data.full_name : null;
- thisRepo.id = repo_data.full_name.trim() !== "" ? repo_data.full_name : null;
- thisRepo.icon = repo_data.avatar_url.trim() !== "" ? repo_data.avatar_url : null;
- thisRepo.description = repo_data.description.trim() !== "" ? repo_data.description : null;
- thisRepo.size = repo_data.size;
- thisRepo.website = repo_data.website.trim() !== "" ? repo_data.website : null;
- thisRepo.update = new Date(repo_data.updated_at) - 1 + 1;
-
- sattelite_data = JSON.parse(get("/api/v1/repos/" + repo + "/contents/SatteliteGiteaData.txt").stdout.toString());
-
- if (!sattelite_data.documentation_url) {
- thisRepo.name = Buffer.from(sattelite_data.content, "base64").toString();
- }
-
- giteaDataTmp.push(thisRepo);
- }
- }
-
- fs.writeFileSync("../global/gitea.json", JSON.stringify(giteaDataTmp, null, 4));
- log.info("Gitea cache successfully refreshed");
-}
-
-setInterval(() => {
- try {
- giteaRefresh()
- } catch (e) {
- log.error("Gitea projects refresh failed: " + e.message)
- }
-}, 3600000)
-
-setTimeout(() => {
- try {
- giteaRefresh()
- } catch (e) {
- log.error("Gitea projects refresh failed: " + e.message)
- }
-}, 1000)
\ No newline at end of file |