6.0.14 • Published 8 years ago

apeman-app-rest v6.0.14

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

apeman-app-rest

Build Status Code Climate Code Coverage npm Version JS Standard

apeman app to handle restful endpoint.

Installation

$ npm install apeman-app-rest --save

Usage

  1. Define an app within Apemanfile.js
  2. Call the app via apeman app command.

Apemanfile.js

/** This is an example Apemanfile to use apeman-app-rest */

'use strict'

const db = require('./db') // Apeman db modle instance
const { User } = db.models

module.exports = {
  $pkg: { /* ... */ },
  $apps: {
    // Define your own app.
    'my-app-01': {
      // Map url and handlers.
      '/': [
        require('apeman-app-rest')(User, {
          // Options
        })
      ]
    }
  }
}

Then,

$ apeman app my-app-01 -p 3000
'use strict'

const apemanrequest = require('apemanrequest')
const co = require('co')
const assert = require('assert')

let request = apemanrequest.create({ jar: true })

co(function * () {
  // Create a resource.
  {
    let res = yield request({
      method: 'POST',
      url: 'http://localhost:3000/user',
      form: {
        account_name: 'foo_bar',
        email: 'apbc@example.com'
      }
    })
    /* ... */
  }

  // Get a resource.
  {
    let res = yield request({
      method: 'GET',
      url: 'http://localhost:3000/user/1' // Pass resource id as url-param.
    })
    /* ... */
  }

  // List resource.
  {
    let res = yield request({
      method: 'GET',
      url: 'http://localhost:3000/user?account_name.$like=foo&limit=5&offset=5'
    })
    /* ... */
  }

  // Update the resource.
  {
    let res = yield request({
      method: 'PATCH',
      url: 'http://localhost:3000/user/1', // Pass resource id as url-param.
      form: {
        account_name: 'foo_bar2_updated'
      }
    })
    /* ... */
  }

  // Destroy the resource.
  {
    let res = yield request({
      method: 'DELETE',
      url: 'http://localhost:3000/user/1' // Pass resource id as url-param.
    })
    /* ... */
  }
}).catch((err) => {
  console.error(err)
})

Signature

apemanAppRest(models, options) -> function

apeman app to handle restful endpoint.

Args
NameTypeDefaultDescription
modelsobjectModel objects.
optionsobjectOptional settings.
options.pathnamefunction'/'+apemanmodel.toType(model)Spec path name.
options.knockEndpointboolean
options.specEndpointboolean
options.listEndpointboolean
options.createEndpointboolean
options.bulkUpdateEndpointboolean
options.bulkDestroyEndpointboolean
options.oneEndpointboolean
options.updateEndpointboolean
options.destroyEndpointboolean
options.relatedListEndpointboolean
options.relatedCreateEndpointboolean
options.relatedUpdateBulkEndpointboolean
options.relatedDestroyBulkEndpointboolean
options.relatedOneEndpointboolean
options.relatedUpdateEndpointboolean
options.relatedDestroyEndpointboolean
options.relationListEndpointboolean
options.relationCreateEndpointboolean
options.relationUpdateEndpointboolean
options.relationDestroyEndpointboolean

License

This software is released under the MIT License.

Links

6.0.14

8 years ago

6.0.13

8 years ago

6.0.12

8 years ago

6.0.11

8 years ago

6.0.9

8 years ago

6.0.8

8 years ago

6.0.7

8 years ago

6.0.6

8 years ago

6.0.5

8 years ago

6.0.3

8 years ago

6.0.2

8 years ago

6.0.1

8 years ago

5.0.6

8 years ago

5.0.5

8 years ago

5.0.4

8 years ago

5.0.3

8 years ago

5.0.1

8 years ago

5.0.0

8 years ago

4.0.2

8 years ago

4.0.1

8 years ago

4.0.0

8 years ago

3.3.5

8 years ago

3.3.4

8 years ago

3.3.3

8 years ago

3.3.2

8 years ago

3.3.1

8 years ago

3.3.0

8 years ago

3.1.19

8 years ago

3.1.18

8 years ago

3.1.17

8 years ago

3.1.16

8 years ago

3.1.15

8 years ago

3.1.14

8 years ago

3.1.13

8 years ago

3.1.12

8 years ago

3.1.11

8 years ago

3.1.10

8 years ago

3.1.9

8 years ago

3.1.8

8 years ago

3.1.7

8 years ago

3.1.6

8 years ago

3.1.5

8 years ago

3.1.4

8 years ago

3.1.3

8 years ago

3.1.2

8 years ago

3.1.1

8 years ago

3.1.0

8 years ago

3.0.11

8 years ago

3.0.10

8 years ago

3.0.9

8 years ago

3.0.8

8 years ago

3.0.7

8 years ago

3.0.6

8 years ago

3.0.5

8 years ago

3.0.4

8 years ago

3.0.3

8 years ago

3.0.2

8 years ago

3.0.1

8 years ago

3.0.0

8 years ago

2.2.4

8 years ago

2.2.3

8 years ago

2.2.2

8 years ago

2.2.1

8 years ago

2.2.0

8 years ago

2.1.2

8 years ago

2.1.1

8 years ago

2.1.0

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.0.5

8 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago