/**
 * Account and Transaction API SpecificationLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

import { Schema, stringEnum } from '../schema';

/**
 * Enum for ErrorCodeEnum
 */
export enum ErrorCodeEnum {
  EnumFieldExpected = 'Field.Expected',
  EnumFieldInvalid = 'Field.Invalid',
  EnumFieldMissing = 'Field.Missing',
  EnumFieldUnexpected = 'Field.Unexpected',
  EnumHeaderInvalid = 'Header.Invalid',
  EnumHeaderMissing = 'Header.Missing',
  EnumQueryParamInvalid = 'QueryParam.Invalid',
  Reauthenticate = 'Reauthenticate',
  Reauthorise = 'Reauthorise',
  EnumResourceConsentCreditorAccount = 'Resource.Consent.CreditorAccount',
  EnumResourceConsentDebtorAccount = 'Resource.Consent.DebtorAccount',
  EnumResourceConsentExceedDataPermissions = 'Resource.Consent.Exceed.DataPermissions',
  EnumResourceConsentExceedDates = 'Resource.Consent.Exceed.Dates',
  EnumResourceConsentExceedFrequency = 'Resource.Consent.Exceed.Frequency',
  EnumResourceConsentExceedMaximumAmount = 'Resource.Consent.Exceed.MaximumAmount',
  EnumResourceConsentExceedTotalAmount = 'Resource.Consent.Exceed.TotalAmount',
  EnumResourceConsentExceedTotalCount = 'Resource.Consent.Exceed.TotalCount',
  EnumResourceConsentExceedTransactionDates = 'Resource.Consent.Exceed.TransactionDates',
  EnumResourceConsentInvalidStatus = 'Resource.Consent.InvalidStatus',
  EnumResourceConsentMismatch = 'Resource.Consent.Mismatch',
  EnumResourceInvalid = 'Resource.Invalid',
  UnexpectedError = 'UnexpectedError',
  EnumUnsupportedAccountIdentifier = 'Unsupported.AccountIdentifier',
  EnumUnsupportedAccountSecondaryIdentifier = 'Unsupported.AccountSecondaryIdentifier',
  EnumUnsupportedCurrency = 'Unsupported.Currency',
  EnumUnsupportedScheme = 'Unsupported.Scheme',
}

/**
 * Schema for ErrorCodeEnum
 */
export const errorCodeEnumSchema: Schema<ErrorCodeEnum> = stringEnum(
  ErrorCodeEnum
);
