# ctf_scoreboard_api

CtfScoreboardApi - JavaScript client for ctf_scoreboard_api
Manage the CTF scoreboard of the BFH ITSEC laboratory
This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:

- API version: 1.1.0
- Package version: 1.1.0
- Build package: io.swagger.codegen.languages.JavascriptClientCodegen
For more information, please visit [http://iam1.nslab.ch](http://iam1.nslab.ch)

## Installation

### For [Node.js](https://nodejs.org/)

#### npm

To publish the library as a [npm](https://www.npmjs.com/),
please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages).

Then install it via:

```shell
npm install ctf_scoreboard_api --save
```

#### 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:

```shell
    npm install GIT_USER_ID/GIT_REPO_ID --save
```

### For browser

The library also works in the browser environment via npm and [browserify](http://browserify.org/). 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):

```shell
browserify main.js > bundle.js
```

Then include *bundle.js* in the HTML pages.

## Getting Started

Please follow the [installation](#installation) instruction and execute the following JS code:

```javascript
var CtfScoreboardApi = require('ctf_scoreboard_api');

var api = new CtfScoreboardApi.ChallengeApi()

var body = new CtfScoreboardApi.Challenge(); // {Challenge} Challenge object to be added to the scoreboard


var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.addChallenge(body, callback);

```

## Documentation for API Endpoints

All URIs are relative to *https://localhost/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*CtfScoreboardApi.ChallengeApi* | [**addChallenge**](docs/ChallengeApi.md#addChallenge) | **POST** /challenge | add a challenge
*CtfScoreboardApi.ChallengeApi* | [**deleteChallenge**](docs/ChallengeApi.md#deleteChallenge) | **DELETE** /challenge/{id} | Delete challenge
*CtfScoreboardApi.ChallengeApi* | [**getAllChallenges**](docs/ChallengeApi.md#getAllChallenges) | **GET** /challenge/all | Get all challenge
*CtfScoreboardApi.ChallengeApi* | [**getChallengeById**](docs/ChallengeApi.md#getChallengeById) | **GET** /challenge/{id} | Get challenge
*CtfScoreboardApi.ChallengeApi* | [**submitFlag**](docs/ChallengeApi.md#submitFlag) | **POST** /challenge/submitflag | Submit a flag
*CtfScoreboardApi.ChallengeApi* | [**updateChallenge**](docs/ChallengeApi.md#updateChallenge) | **PUT** /challenge/{id} | Updated challenge
*CtfScoreboardApi.ScoreApi* | [**getScoreBoard**](docs/ScoreApi.md#getScoreBoard) | **GET** /scoreboard | add a score
*CtfScoreboardApi.StudentApi* | [**addStudent**](docs/StudentApi.md#addStudent) | **POST** /register | register a new student
*CtfScoreboardApi.StudentApi* | [**deleteStudent**](docs/StudentApi.md#deleteStudent) | **DELETE** /student/{id} | Delete student
*CtfScoreboardApi.StudentApi* | [**getAllStudents**](docs/StudentApi.md#getAllStudents) | **GET** /student/all | All students
*CtfScoreboardApi.StudentApi* | [**getScorelist**](docs/StudentApi.md#getScorelist) | **GET** /student/me/scorelist | Own detailed score list
*CtfScoreboardApi.StudentApi* | [**getSelfStudent**](docs/StudentApi.md#getSelfStudent) | **GET** /student/me | Own data
*CtfScoreboardApi.StudentApi* | [**getUserById**](docs/StudentApi.md#getUserById) | **GET** /student/{id} | Get user by id
*CtfScoreboardApi.StudentApi* | [**updateStudent**](docs/StudentApi.md#updateStudent) | **PUT** /student/{id} | Updated student


## Documentation for Models

 - [CtfScoreboardApi.Challenge](docs/Challenge.md)
 - [CtfScoreboardApi.ChallengeList](docs/ChallengeList.md)
 - [CtfScoreboardApi.Score](docs/Score.md)
 - [CtfScoreboardApi.ScoreBoard](docs/ScoreBoard.md)
 - [CtfScoreboardApi.ScoreBoardInner](docs/ScoreBoardInner.md)
 - [CtfScoreboardApi.ScoreBoardInnerChallengeid](docs/ScoreBoardInnerChallengeid.md)
 - [CtfScoreboardApi.Student](docs/Student.md)
 - [CtfScoreboardApi.StudentList](docs/StudentList.md)


## Documentation for Authorization

 All endpoints do not require authorization.

