validatePostRequest()

in source/api/lib/operations/editLabelOp.js [54:106]


  validatePostRequest(params = {}) {
    if (!params.uuid || !CommonUtils.validateUuid(params.uuid)) {
      throw new Error('invalid uuid');
    }

    if ([
      'transcript',
      'comprehend',
      'rekognition',
      'rekog-image',
    ].indexOf(params.trackCategory) < 0) {
      throw new Error('invalid trackCategory');
    }

    if ([
      'audio',
      'video',
      'image',
    ].indexOf(params.trackType) < 0) {
      throw new Error('invalid trackType');
    }

    if (!/^[a-zA-Z]+$/.test(params.trackGroup)) {
      throw new Error('invalid trackGroup');
    }

    if (typeof params.track !== 'object') {
      throw new Error('invalid track params');
    }

    if ([
      'name',
      'action',
      'applyAll',
    ].filter(x => (params.track || {})[x] === undefined).length > 0) {
      throw new Error('invalid track params');
    }

    if (!params.track.name.original || !params.track.name.modified) {
      throw new Error('invalid track params');
    }

    if (!Array.isArray(params.track[params.track.action])) {
      throw new Error('invalid track params');
    }

    if (params.track[params.track.action].filter(x =>
      (typeof x !== 'object' || typeof x.startTime !== 'number' || typeof x.endTime !== 'number')).length > 0) {
      throw new Error('invalid track params');
    }

    return params;
  }