Home Reference Source
import Api from 'fablabsjs/src/api.js'
public class | source

Api

This class encapsulates the methods exposed by the FabLabs.io API You can use this standalone providing a valid access_token and the same config used by the FablabsAPI class.

Example:

let config = {...}
let access_token = '<something>'
let api = new Api(config, access_token)

Constructor Summary

Public Constructor
public

Member Summary

Public Members
public

config: *

public

token: *

Method Summary

Public Methods
public

async get(token: string, url: string, params: *, options: *): object

Perform a GET request on the API endpoint, passing the access token

public

async getLab(lab_id: Number): Object

Get the details for a given lab identified by id

public

async getUser(): Object

Get the profile for the user associated to the current access_token

public

async labs(page: Number, per_page: Number): {"error": string}

List approved labs

public

async nearbyLabs(lat: Number, lng: Number, page: Number, per_page: Number): {"error": string}

Search approved labs by location

public

async searchLabs(query: String, page: Number, per_page: Number): {"error": string}

Search approved labs by name

Public Constructors

public constructor() source

Public Members

public config: * source

public token: * source

Public Methods

public async get(token: string, url: string, params: *, options: *): object source

Perform a GET request on the API endpoint, passing the access token

Params:

NameTypeAttributeDescription
token string
url string
params *
options *

Return:

object

the GET request result

public async getLab(lab_id: Number): Object source

Get the details for a given lab identified by id

Params:

NameTypeAttributeDescription
lab_id Number

Return:

Object

public async getUser(): Object source

Get the profile for the user associated to the current access_token

Return:

Object

public async labs(page: Number, per_page: Number): {"error": string} source

List approved labs

Params:

NameTypeAttributeDescription
page Number

the desired result page, default 1

per_page Number

the desired number of results per page, default 10 @ @returns {Object}

Return:

{"error": string}

public async nearbyLabs(lat: Number, lng: Number, page: Number, per_page: Number): {"error": string} source

Search approved labs by location

Params:

NameTypeAttributeDescription
lat Number

latitute

lng Number

longitude

page Number

the desired result page, default 1

per_page Number

the desired number of results per page, default 10 @ @returns {Object}

Return:

{"error": string}

public async searchLabs(query: String, page: Number, per_page: Number): {"error": string} source

Search approved labs by name

Params:

NameTypeAttributeDescription
query String

the search query

page Number

the desired result page, default 1

per_page Number

the desired number of results per page, default 10 @ @returns {Object}

Return:

{"error": string}