FileUploadAction.fromYaml constructor

FileUploadAction.fromYaml({
  1. Map? payload,
})

Implementation

factory FileUploadAction.fromYaml({Map? payload}) {
  if (payload == null || payload['uploadApi'] == null) {
    throw LanguageError("${ActionType.uploadFiles.name} requires '  '.");
  }
  if (payload['files'] == null) {
    throw LanguageError("${ActionType.uploadFiles.name} requires 'files'.");
  }
  return FileUploadAction(
    id: Utils.optionalString(payload['id']),
    onComplete: EnsembleAction.from(payload['onComplete']),
    onError: EnsembleAction.from(payload['onError']),
    uploadApi: payload['uploadApi'],
    inputs: Utils.getMap(payload['inputs']),
    fieldName: Utils.getString(payload['fieldName'], fallback: 'files'),
    maxFileSize: Utils.optionalInt(payload['options']?['maxFileSize']),
    overMaxFileSizeMessage:
        Utils.optionalString(payload['options']?['overMaxFileSizeMessage']),
    files: payload['files'],
    isBackgroundTask:
        Utils.getBool(payload['options']?['backgroundTask'], fallback: false),
    networkType: Utils.optionalString(payload['options']?['networkType']),
    requiresBatteryNotLow:
        Utils.optionalBool(payload['options']?['requiresBatteryNotLow']),
    showNotification: Utils.getBool(payload['options']?['showNotification'],
        fallback: false),
    batchSize: Utils.optionalInt(payload['options']?['batchSize']),
  );
}