import {
  TransactionCancellationReason,
  TransactionState,
} from '../../types/enums';
import { IAccount } from '../../payme.module';
import { BaseResponseDto } from './base-response.dto';

export class GetStatementResponseDto extends BaseResponseDto<IGetStatementResponse> {}

interface IGetStatementResponse {
  transactions: ITransactionResponseItem[];
}

export interface ITransactionResponseItem {
  id: string;
  time: number;
  amount: number;
  account: IAccount;
  create_time: number;
  perform_time: number;
  cancel_time: number;
  transaction: string;
  state: TransactionState;
  reason: TransactionCancellationReason | string | null;
}
