1.0.0 • Published 4 years ago

@phoenix-cg/service v1.0.0

Weekly downloads
-
License
ISC
Repository
bitbucket
Last release
4 years ago

Services

All services are classes that extend base class Service.

Url configuration

Urls and configuration params located in /front_sources/src/conf.env.js: frontendBaseURL - url for frontend services, browser will make requests to this host. backendTestServer - url for express. If browser make requests to local server, that server will proxy requests to this host. backendMockServer - postman mock server url. It works this way: 1. local server try to make request to backendTestServer and 2. If it fails then (if usePostmanMock flag is true) make request to backendMockServer usePostmanMock - flag to use or not postman mock server useLocalMocks - you can additionaly have local mocks, this flag controls to load or not requests with them.

Service interface

Service has inner properties that could be useful:

Property nameDescription
namespaceCommon part of the url, it will be placed first when constructing the url (e.g. if namespace is 'catalog' and unique url part is 'fields', result url will '/catalog/fields/')
isDevIf you need to change url if mode is development, there is a flag for it.
httpAxios instance, in most cases you will not need it but if you do, there it is.

Service has two main methods you will work with: get and post.

get method takes 2 arguments: url part and config. In config you can pass the parameters in params field. post method takes 3 arguments: url part, FormData payload and config.

Url part should not have slashes.

For example:

  class CommonService extend Service {
    async getTabs (id) {
      return this.get('tabs', { params: { id } })
    }
    async sendFeedback (payload) {
      return this.post('feedback', payload)
    }
  }

You can combine services and models:

  class CommonService extend Service {
    async getTabs (id) {
      const data = this.get('tabs', { params: { id } })
      return TabsModel.checkValue(data)
    }
  }

More info about models you can find in the corresponding md file.

1.0.0

4 years ago