buildapi
install
npm install buildapi
How
buildapi
has two exports.
import buildapi, { Route } from 'buildapi'
buildapi
This is API builder function.
Route class
Define route extending Route class.
In Route class, you can use methods below.
const fileId = 'dkfjaklfjdkfldjsflksdf'
const file = evt.file
this.put(
`file/update/${fileId}`,
{ key1: 'value1' },
{ data: file }
)
- get
- post
- put
- delete
- head
- option
- download
Usage
At first, define your routes extending Route
object.
file_route.js
import { Route } from 'buildapi'
const e = encodeURIComponent
export default class File extends Route {
fetchPermissions(id, cursor) {
return this.get(`file/permissions/${e(id)}`, { cursor })
}
download(fileId) {
return this.download(`file/data/${e(fileId)}`)
}
setAttribute(fileId, key, value) {
return this.put(`file/attr/${e(fileId)}/${e(key)}/${e(value)}`)
}
delete(fileId) {
return this.delete(`file/${e(fileId)}`)
}
fetchData(fileId) {
return this.get(`file/data/${e(fileId)}`)
}
fetch(fileId) {
return this.get(`file/${e(fileId)}`)
}
fetchChunk(fileId, chunkId, from, length) {
return this.get(`file/data/${e(fileId)}/${e(chunkId)}/${e(from)}/${e(length)}`)
}
uploadChunk(fileId, chunkIndex, offset, length, file) {
return this.put(`file/data/${e(fileId)}/${e(chunkIndex)}/${e(offset)}/${e(length)}`, {}, { data: file })
}
}
And build your api with buildapi
.
api.js
import buildapi from 'buildapi'
const routes = { File }
module.exports = buildapi({ routes, api: 'https://api.fata.io/v0/' })
And use api.
import API from './api.js'
const api = new API({
api: 'staging.server.api'
})
api.file.fetchData('testsetsetset')
.then(res => {
})
.catch(err => {
console.error(err.status)
})
Authorize support
buildapi
supports Oauth token.
const api = new API()
api.setToken('fsjdkfjdlkfjdsfklsdjflksdf')
This set request header Authorization section internally.
req.set('Authorization', 'Bearer ' + tokenString)
Author
Yusuke Shibata
Lisense
MIT