validate #
Validate the payload format before processing.
This method must throw an error if the payload is not valid.
validate (payload: JSONObject, request: KuzzleRequest): Promise<void> | never| Arguments | Type | Description | 
|---|---|---|
payload | JSONObject  | Raw payload received in the API action body | 
request | KuzzleRequest  | Original request | 
Returns #
Returns a promise resolving if the payload is valid.
Usage #
Considering the following payload:
{
  deviceEUI: '12345',
  register55: 23.3,
  batteryLevel: 0.8,
}The following validate method could be implemented:
import { JSONObject, KuzzleRequest, BadRequestError } from 'kuzzle';
import { Decoder } from 'kuzzle-plugin-device-manager';
class KarakoyDecoder extends Decoder {
  // [...]
  async validate (payload: JSONObject, request: KuzzleRequest): Promise<void> | never {
    if (typeof payload.deviceEUI !== 'string') {
      throw new BadRequestError('Missing "deviceEUI" property');
    }
  }
}