diff --git a/docs/_config.yml b/docs/_config.yml deleted file mode 100644 index c4192631..00000000 --- a/docs/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman \ No newline at end of file diff --git a/docs/api.md b/docs/api.md deleted file mode 100644 index 0966f4b8..00000000 --- a/docs/api.md +++ /dev/null @@ -1,448 +0,0 @@ -phpVMS has a REST-api for integration with any standalone programs, including any flight simulator addons, or ACARS applications. - -# Authentication and Authorization - -Each user is given an API key (and can regenerate it) when they register. Requests to a phpVMS API will require an `X-API-Key` header, with this key. Addons can take advantage of this by adding the `api.auth` middleware to their route group. - -### Headers Example - -```http -X-API-Key: {user API key} -Content-type: application/json -``` - -## Sample cURL Request - -```php -$api_key = 'YOUR API KEY'; -$url = "http://your-site.com/api/user"; -$headers = [ - 'X-API-Key:' . $api_key, - 'Content-type:application/json', -]; - -$ch = curl_init(); - -curl_setopt($ch,CURLOPT_URL,$url); -curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); -curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); - -json_response = \json_decode(curl_exec($ch)); -curl_close($ch); - -echo $json_response; -``` -## Types - -Not all IDs are numeric integers. At the moment, the primary keys on these tables are strings. They are hashed IDs that are generated: - -* acars -* flights -* pireps - -## Errors - -Where possible, the standard HTTP error codes are followed and returned, with extra information in the body, if available. - -### Unauthorized - -`401` is returned if the API key is invalid, or the user is disallowed from API access. The `message` parameter will offer more error. - -### Not Found - -`404` is returned if an entity is not found - -### Validation Errors - -`400`, with details in the `message` parameter about the bad input. - -## Pagination - -Where indicated, pagination is enabled/available. When calling those APIs, the data is returned in this format: - -- `data` contains a list of all of the objects (for example, the airports) -- `links` contains the links to navigate through the paginated list -- `meta` contains information about the current dataset - -```json -{ - "data": [ ... ], - "links": { - "first":"http://phpvms.test/api/airports?page=1", - "last":"http://phpvms.test/api/airports?page=3", - "prev":null, - "next":"http://phpvms.test/api/airports?page=2" - }, - "meta": { - "current_page": 1, - "from":1, - "last_page":3, - "path":"http://phpvms.test/api/airports", - "per_page":50, - "to":50, - "total":120 - } -} -``` - -# APIs Available - -## User - -### GET /api/user - -Returns the user's information, including bids, etc. Example response: - -```json -{ - "id":2, - "name":"Adam Lockman PhD", - "email":"miles.sporer@example.net", - "apikey":null, - "rank_id":"1", - "home_airport": "KJFK", - "curr_airport": "KJFK", - "last_pirep_id": 1, - "flights":0, - "flight_time":914, - "balance":0, - "timezone": "American/Chicago", - "status":0, - "state":1, - "airline":{ - "id":1, - "icao":"VMS", - "iata":"VMS", - "name":"phpVMS Airlines", - "country":"United States", - "logo":null - }, - "bids":[ - - ], - "rank":{ - "name":"New Pilot", - "subfleets":[ - - ] - } -} -``` -*** - -## Airlines - -### GET /api/airlines - -Get all of the airlines. Paginated - -```json -{ - "data":[ - { - "id":1, - "icao": "VMS", - "iata": "VMS", - "name": "phpVMS Airlines", - "country": "United States", - "logo": null - } - ], - "links":{ - "first":"http://phpvms.test/api/airlines?page=1", - "last":"http://phpvms.test/api/airlines?page=1", - "prev":null, - "next":null - }, - "meta":{ - "current_page":1, - "from":1, - "last_page":1, - "path":"http://phpvms.test/api/airlines", - "per_page":50, - "to":1, - "total":1 - } -} -``` - -### GET /api/airlines/{ID} - -Get information about a specific airline - -```json -{ - "id":1, - "icao": "VMS", - "iata": "VMS", - "name": "phpVMS Airlines", - "country": "United States", - "logo": null -} -``` - -*** - -## Airports - -### GET /api/airports - -Get all of the airports, paginated list - -```json -{ - "data":[ - { - "id":"KJFK", - "iata":"KJFK", - "icao":"KJFK", - "name":"John F Kennedy International Airport", - "city":"New York", - "country":"United States", - "location":null, - "hub": true, - "fuel_100ll_cost": 0.00, - "fuel_jeta_cost": 0.00, - "fuel_mogas_cost": 0.00, - "tz":"America/New_York", - "lat":40.6398, - "lon":-73.7789 - } - ], - "links":{ - "first":"http://phpvms.test/api/airports?page=1", - "last":"http://phpvms.test/api/airports?page=2", - "prev":null, - "next":"http://phpvms.test/api/airports?page=2" - }, - "meta":{ - "current_page":1, - "from":1, - "last_page":2, - "path":"http://phpvms.test/api/airports", - "per_page":50, - "to":2, - "total":2 - } -} -``` - -### GET /api/airports/hubs - -Get all of the hubs, paginated list - -```json -{ - "data":[ - { - "id":"KJFK", - "iata":"KJFK", - "icao":"KJFK", - "name":"John F Kennedy International Airport", - "city":"New York", - "country":"United States", - "location":null, - "hub": true, - "fuel_100ll_cost": 0.00, - "fuel_jeta_cost": 0.00, - "fuel_mogas_cost": 0.00, - "tz":"America/New_York", - "lat":40.6398, - "lon":-73.7789 - } - ], - "links":{ - "first":"http://phpvms.test/api/airports?page=1", - "last":"http://phpvms.test/api/airports?page=2", - "prev":null, - "next":"http://phpvms.test/api/airports?page=2" - }, - "meta":{ - "current_page":1, - "from":1, - "last_page":2, - "path":"http://phpvms.test/api/airports", - "per_page":50, - "to":2, - "total":2 - } -} -``` - -### GET /api/airports/{ICAO} - -Get the details about an airport - -```json -{ - "id":"KJFK", - "iata":"KJFK", - "icao":"KJFK", - "name":"John F Kennedy International Airport", - "city":"New York", - "country":"United States", - "location":null, - "hub": true, - "fuel_100ll_cost": 0.00, - "fuel_jeta_cost": 0.00, - "fuel_mogas_cost": 0.00, - "tz":"America/New_York", - "lat":40.6398, - "lon":-73.7789 -} -``` - -*** - -## Fleet - -### GET /api/fleet - -Get all of the subfleets and aircraft under the fleet. Includes the fare and airline information. Paginated - -```json -{ - "data":[ - { - "id":1, - "airline_id":1, - "name":"Boeing 747-400", - "type":"B744", - "fuel_type":null, - "cargo_capacity":null, - "fuel_capacity":null, - "gross_weight":null, - "aircraft":[ - { - "id":1, - "subfleet_id":"1", - "icao":"B744", - "airport_id":"KJFK", - "hex_code":null, - "name":"Boeing 747 \"The Queen\"", - "registration":"NC17", - "tail_number":"17", - "active":true, - "created_at":"2018-01-08 21:37:13", - "updated_at":"2018-01-08 21:37:13" - } - ] - } - ], - "links":{ - "first":"http://phpvms.test/api/fleet?page=1", - "last":"http://phpvms.test/api/fleet?page=1", - "prev":null, - "next":null - }, - "meta":{ - "current_page":1, - "from":1, - "last_page":1, - "path":"http://phpvms.test/api/fleet", - "per_page":50, - "to":2, - "total":2 - } -} -``` - -### GET /api/aircraft/{id} - -Return information about an aircraft, including the subfleet information - -Query string parameters: `?type=registration|tail_number|icao`. Default/blank is the DB ID - -```json -{ - "id":1, - "subfleet_id":"1", - "icao":"B744", - "airport_id":"KJFK", - "hex_code":null, - "name":"Boeing 747 \"The Queen\"", - "registration":"NC17", - "tail_number":"17", - "active":true, - "subfleet": { - "id":1, - "airline_id":1, - "name":"Boeing 747-400", - "type":"B744", - "fuel_type":null, - "cargo_capacity":null, - "fuel_capacity":null, - "gross_weight":null - }, - "created_at":"2018-01-08 21:37:13", - "updated_at":"2018-01-08 21:37:13" -} -``` - -*** - -## Flights - -### GET /api/flights - -Return all of the flights, paginated - -### GET /api/flights/{FLIGHT ID} - -Return details about a given flight - -### GET /api/flights/search - -Do a search for a flight - -Query String Example: -`/api/flights/search?depicao=KJFK&arricao=KAUS` - - - `airline_id` - ID of the airline - - `dep_icao` - Departure airport code - - `arr_icao` - Arrival airport code - - `flight_number` - Can be a partial match - - `route_code` - -*** - -## PIREPs - -### GET /api/pireps/{PIREP ID} - -Retrieve the PIREP information - -### GET /api/pireps/{PIREP ID}/route - -Retrieve the route - -### GET /api/pireps/{PIREP ID}/acars/geojson - -Get the ACARS data in GeoJSON format - -### GET /api/pireps/{PIREP ID}/acars/positions - -Get the ACARS data in plain rows - -[See the ACARS documentation](https://github.com/nabeelio/phpvms/wiki/acars) for details about the PIREPs and ACARS API details - -*** - -## Users - -### GET /api/users/{id} - -Retrieve info about a user - -### GET /api/users/{id}/bids - -Get a user's bids - -*** - -## Settings - -### GET /api/settings - -Get all of the phpVMS configuration settings, including things like the units and individual configuration options. -[See the list of settings here](https://github.com/nabeelio/phpvms/blob/master/app/Database/migrations/2017_06_07_014930_create_settings_table.php#L41). Remember to look at the `type` column in order to properly parse the value. diff --git a/docs/index.md b/docs/index.md deleted file mode 100755 index a712eca2..00000000 --- a/docs/index.md +++ /dev/null @@ -1,42 +0,0 @@ -# phpvms 7 - -[![Build Status](https://travis-ci.org/nabeelio/phpvms.svg)](https://travis-ci.org/nabeelio/phpvms) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/d668bebb0a3c46bda381af16ce3d9450)](https://www.codacy.com/app/nabeelio/phpvms?utm_source=github.com&utm_medium=referral&utm_content=nabeelio/phpvms&utm_campaign=Badge_Grade) [![Total Downloads](https://poser.pugx.org/nabeel/phpvms/downloads)](https://packagist.org/packages/nabeel/phpvms) [![Latest Stable Version](https://poser.pugx.org/nabeel/phpvms/v/stable)](https://packagist.org/packages/nabeel/phpvms) [![Latest Unstable Version](https://poser.pugx.org/nabeel/phpvms/v/unstable)](https://packagist.org/packages/nabeel/phpvms) [![License](https://poser.pugx.org/nabeel/phpvms/license)](https://packagist.org/packages/nabeel/phpvms) - -The next phpvms version built on the laravel framework. This is a separate version from the old v2/v5 classic version. - -# installation - -## Requirements - -- PHP 7.0+, extensions: - - cURL - - JSON - - mbstring - - openssl - - pdo - - tokenizer -- Database: - - MySQL (or MySQL variant, including MariaDB, Percona) - - SQLite (for testing) - - Postgres is supported by Laravel but not enabled/tested for phpVMS, yet -- Apache or Nginx -- Redis (optional, for job queuing, various optimizations) - -## Download - -A full distribution, with all of the composer dependencies, is available at this -[tarball link](http://phpvms.net/downloads/phpvms-7.0.0-master.tar.gz). It's currently -updated with every commit - -## Upload the files - -If you're on shared hosting, just upload all of the files. If you have your own server, it's -recommended to create a vhost that points to the `/public` directory. ([see laravel's installation docs](https://laravel.com/docs/5.5/installation#web-server-configuration)) - -## Browse to the site - -Once you browse to the site, you will be given a link to the installer (`/install`) (Note: there -isn't a separate `install` folder). If the installation with the vhost and/or htaccess is working -correctly, you'll be able to see the installer. - -Follow the instructions to complete the install.