Thanks to visit codestin.com
Credit goes to github.com

Skip to content

arve0/feathers-custom-methods

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

feathers-custom-methods

Add custom methods to your services. For example:

emailService.send(address, subject, content)

Install

npm i feathers-custom-methods

Usage

Server side, configure the plugin and implement the method:

const customMethods = require('feathers-custom-methods')

app.configure(customMethods({
  methods: {
    email: ['send']  // allow calling app.service('email').send client side
  }
}))

app.service('email').send = function (address, subject, content) {
  // implement the method

  // or implement it through a custom service:
  // const emailService = {
  //   send(address, subject, content) { /* implementation */ }
  // }
  // app.use('/email', emailService)
}

Client side, configure the client plugin:

import customMethods from 'feathers-custom-methods/client'

app.configure(customMethods({
  methods: {
    email: ['send']
  }
}))

Now you can use send as a method on the email service client side:

app.service('email').send(address, subject, content)
  .then(response => {
    // handle response
  }).catch(err => {
    // handle error
  })

The code above will call app.service('email').send server side with the same arguments.

HTTP requests

feathers-custom-methods uses the create method to send data from client to server. In other words, the call service.send(arg1, arg2) is equivalent to:

service.create({
  method: 'send',
  arguments: [arg1, arg2]
})

Which means that you can call custom methods through HTTP requests like this:

curl -X POST -H "Content-Type:application/json" -d '{ "method": "send", "arguments": ["[email protected]", "subject", "content"] }' http://localhost:3030/email

Development

npm test # will start node test.js

The test will open in a browser window. When the test ends, you must navigate back to the terminal. For more information, see test.js and index.html.

License

MIT

About

add custom methods to your feathersjs services

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •