1.1.0 • Published 5 years ago

socialreviews-apm v1.1.0

Weekly downloads
4
License
ISC
Repository
github
Last release
5 years ago

client wrapper

Allows easier communication with the APM service.

Usage

const clientWrapper = require('socialreviews-apm');

const baseUrl = 'http://localhost:8080'

const client = clientWrapper({ baseUrl })

Note

Before we continue. There are a few things that are important to mention.

  • The API acts as a proxy for requests through to APM.
  • A response via callback or async/await got cycle.

Profiles

  1. CreateNewProfile

    This method creates a profile.

    const client = clientWrapper({ baseUrl })
    
    const profile = await client.createNewProfile(profile)

    The profile object above should contain the following properties. i.e.

    {
        external_platform_domain: string, // Required
        access_token: string, // Required
        external_shop_id: string, // Required
        email: string, // Required
        business_id: ObjectId, // Required
        platform: string, // Current only available options 'shopify'
        business_name: string // Optional
    }

    The response body should contain the following properties. Response Body

  2. fetchProfileById

    This method fetches a profile by id provided.

    const client = clientWrapper({ baseUrl })
    
    const profile = await client.fetchProfileById('profile_id')

    The response body should contain the following properties. Response Body

  3. toggleProfileStatus

    This method changes the activation/deactivation status of a given profile.

    const client = clientWrapper({ baseUrl })
    
    const toggleStatus = await client.toggleProfileStatus({
      profileId: 'someid',
      status: 'D'
    })
    
    // 'A' for activated and 'D' for deactivated

    The response body should contain the following properties. Response Body

Businesses

  1. getProfilesByBusinessId

    This fetches profiles related to a given business using the business_id field.

    const client = clientWrapper({ baseUrl })
    
    const profile = await client.getProfilesByBusinessId('somebusinessid')

    The response body should contain the following properties. Response Body

Errors

Any response errors that occur will be in the following formats

  • Profile does not exist error

    {
      "error": {
          "message": "profile does not exist"
      },
      "status": 404
    }
  • Profile already exists error

    {
      "error": {
          "message": "profile already exist"
      },
      "status": 400
    }
  • Validation error

     {
       "error": {
         "details": [
           {
             "message": "\"business_id\" is not allowed to be empty",
             "param": "business_id"
           }
       ],
       "message": "error validating req parameters"
     },
     "status": 400
     }
  • Internal server error

    {
      "error": {
        "message": "internal server error"
        },
      "status": 500
    }
1.1.0

5 years ago