|
|
- /**
- * Simple file which uses jQuery's ajax
- * calls to make it easier to get data
- * from the github api.
- *
- * @author Jeffery Russell 2-16-19
- */
-
-
- const APIROOT = "api";
-
- const API_USER_PATH = "/users/";
-
- const API_ORG_PATH = "/orgs/";
-
- const API_ORG_MEMBERS = "/members";
-
- const API_REPOS = "/repos";
-
- const API_REPOSITORIES = "/repos";
-
- const API_ORGANIZATIONS = "/orgs";
-
-
- /**
- * Builds a query for the github rest api and
- * allows you to get at the data using a
- * callback which gives you a json object.
- *
- * @param user the username to query
- * @param successCallBack callback to complete when data is returned
- * @param errorCallBack callback which is invoked on error
- */
- function queryAPIByUser(apiPath, user, successCallBack, errorCallBack)
- {
- const urlpath = APIROOT + API_USER_PATH + user + apiPath;
- runAjax(urlpath, successCallBack, errorCallBack);
- }
-
- /**
- * Makes API calls for orgs on github
- *
- * @param {*} apiPath
- * @param {*} org
- * @param {*} successCallBack
- * @param {*} errorCallBack
- */
- function queryAPIByOrg(apiPath, org, successCallBack, errorCallBack)
- {
- const urlpath = APIROOT + API_ORG_PATH + org + apiPath;
- runAjax(urlpath, successCallBack, errorCallBack);
- }
-
-
- /**
- * Fetches a list of fiends for a user.
- *
- * @param {*} userName
- * @param {*} suc
- * @param {*} err
- */
- function getFriendsAPI(userName, suc, err)
- {
- // api/friends/jrtechs
- const urlpath = APIROOT + "/friends/" + userName;
- runAjax(urlpath, suc, err);
- }
-
-
- function getUserRepositories(userName, suc, err)
- {
- //ex: http://localhost:7000/api/repositories/jwflory
- const urlpath = APIROOT + "/repositories/" + userName;
- runAjax(urlpath, suc, err);
- }
-
-
- function getOrganizationRepositories(orgName, suc, err)
- {
- //ex: http://localhost:7000/api/org/repositories/ComputerScienceHouse
- const urlpath = APIROOT + "/org/repositories/" + orgName;
- runAjax(urlpath, suc, err);
- }
-
-
- function getOrganizationMembers(orgName, suc, err)
- {
- const urlpath = APIROOT + "/org/users/" + orgName;
- runAjax(urlpath, suc, err);
- }
-
-
- /**
- * Queries github API end points with the backend
- * proxy server for github graphs.
- *
- * @param {*} url
- * @param {*} successCallBack
- * @param {*} errorCallBack
- */
- function queryUrl(url, successCallBack, errorCallBack)
- {
- url = url.split("https://api.github.com/").join("api/");
- runAjax(url, successCallBack, errorCallBack);
- }
-
-
- /**
- * Wrapper for AJAX calls so we can unify
- * all of our settings.
- *
- * @param {*} url -- url to query
- * @param {*} successCallBack -- callback with data retrieved
- * @param {*} errorCallBack -- callback with error message
- */
- function runAjax(url, successCallBack, errorCallBack)
- {
- console.log(url);
- $.ajax({
- type:'GET',
- url: url,
- crossDomain: true,
- dataType: "json",
- success: successCallBack,
- error:errorCallBack,
- timeout: 3000
- });
- }
|