/* eslint-disable no-unused-vars */
/* eslint-disable no-shadow */

export enum EustIssueUnit {
  Conciliation = 'CONCILIATION',

  Integration = 'INTEGRATION',
}

export enum EustIssueType {
  InternalError = 'INTERNAL_ERROR',

  InvoiceInCancellationPeriod = 'INVOICE_IN_CANCELLATION_PERIOD',

  MultipleInvoices = 'MULTIPLE_INVOICES',

  AccountingSegmentNotFound = 'ACCOUNTING_SEGMENT_NOT_FOUND',

  SupplierNotFound = 'ERP_SUPPLIER_NOT_FOUND',

  BusinessUnitNotFound = 'ERP_BUSINESS_UNIT_NOT_FOUND',

  ERPIntegrationError = 'ERP_INTEGRATION_ERROR',

  CannotUpdateInvoiceStatus = 'CANNOT_UPDATE_INVOICE_STATUS',

  CannotUpdateDebitsStatus = 'CANNOT_UPDATE_DEBITS_STATUS',
}

export type EustIssue = {
  id: string,

  debitIds: string[],

  invoiceId?: string | null,

  unit: EustIssueUnit,

  type: EustIssueType,

  description: string,

  causedBy?: any,

  resolved: boolean,

  createdAt: Date,

  updatedAt: Date,
};
