/ahana-api

Primary LanguageJavaScript

ahana_api

AhanaApi - JavaScript client for ahana_api Ahana Web Server API This SDK is automatically generated by the Swagger Codegen project:

  • API version: 1.0.0
  • Package version: 1.0.0
  • Build package: io.swagger.codegen.languages.JavascriptClientCodegen

Installation

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install ahana_api --save
Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:

npm install

Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:

npm link

Finally, switch to the directory you want to use your ahana_api from, and run:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

You should now be able to require('ahana_api') in javascript files from the directory you ran the last command above from.

git

If the library is hosted at a git repository, e.g. https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:

    npm install GIT_USER_ID/GIT_REPO_ID --save

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file, that's to say your javascript file where you actually use this library):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var AhanaApi = require('ahana_api');

var api = new AhanaApi.CodingProblemsApi()

var key = "key_example"; // {String} key

var pid = 789; // {Number} the problem id you want to get


var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
};
api.codingProblemControllerDownloadInputFile(key, pid, callback);

Documentation for API Endpoints

All URIs are relative to http://127.0.0.1:8081/api/v1

Class Method HTTP request Description
AhanaApi.CodingProblemsApi codingProblemControllerDownloadInputFile GET /coding-problems/in/download
AhanaApi.CodingProblemsApi codingProblemControllerGetCodingProblemById GET /coding-problems/{problemId}
AhanaApi.CodingProblemsApi codingProblemControllerGetCodingProblemsByContest GET /coding-problems/
AhanaApi.CodingProblemsApi codingProblemControllerInitSubmissionDeadline POST /coding-problems/{pid}/init
AhanaApi.ContestsApi contestControllerGetContest GET /contests/{contestId}
AhanaApi.ContestsApi contestControllerGetContestsBySeries GET /contests/
AhanaApi.ContestsApi contestControllerRegisterForContest POST /contests/{contestId}/register
AhanaApi.McqProblemsApi mcqProblemControllerGetMcqProblemsByContest GET /mcq-problems/
AhanaApi.SeriesApi seriesControllerGetAllSeries GET /series/
AhanaApi.SeriesApi seriesControllerGetSeries GET /series/{sid}
AhanaApi.SubmissionsApi submissionControllerGetAllUserSubmissionsByContest GET /submissions/
AhanaApi.SubmissionsApi submissionControllerGetSubmission GET /submissions/{submissionId}
AhanaApi.SubmissionsApi submissionControllerGetSubmissionDeadlineByProblem GET /submissions/deadline
AhanaApi.SubmissionsApi submissionControllerSubmitCodeSolution POST /submissions/code
AhanaApi.SubmissionsMcqApi mcqSubmissionControllerGetAllUserMcqSubmissionByContest GET /submissions-mcq/
AhanaApi.SubmissionsMcqApi mcqSubmissionControllerSubmitMcqProblems POST /submissions-mcq/
AhanaApi.UsersApi userControllerCreateUser POST /users/
AhanaApi.UsersApi userControllerGetUser GET /users/{firebaseUid}

Documentation for Models

Documentation for Authorization

All endpoints do not require authorization.