import { EventName, UsageType, AccountType, BanksUserTransactionType, BanksUserStatus, EventStatus } from './Algoan.enum'; import { SubscriptionStatus } from './Algoan.interface'; import { ApplicationStatus, ExternalError, PartnerData } from './Application.interface'; import { PlugIn, Score, Analysis, LoanDetails, AdenTriggers } from './BanksUser.interface'; import { DocumentPeriod, ESPlugIn, FileState, Holder, LegalDocumentCategory, LegalFileType, RejectionCode, SignatureState } from './Folder.interface'; export interface PostSubscriptionDTO { eventName: EventName; target: string; secret?: string; } export interface PatchSubscriptionDTO { status: SubscriptionStatus; } export interface GetSubscriptionEventsDTO { applicationId: string; highIndex?: number; lowIndex?: number; } export interface PatchSubscriptionEventDTO { status: EventStatus; } export interface PatchBanksUserDTO { status?: BanksUserStatus; redirectUrl?: string; redirectUrlTTL?: number; plugIn?: PlugIn; scores?: Score[]; analysis?: Analysis; } export interface PostBanksUserAccountDTO { balance: number; balanceDate: string; connectionSource: string; currency: string; type: AccountType; usage: UsageType; bank?: string; bic?: string; iban?: string; loanDetails?: LoanDetails; name?: string; reference?: string; savingsDetails?: string; status?: 'MANUAL' | 'ACTIVE' | 'ERROR' | 'NOT_FOUND' | 'CLOSED'; owner?: { name?: string; }; number?: string; } export interface PostBanksUserTransactionDTO { amount: number; category: string; date: string; description: string; type: BanksUserTransactionType; banksUserCardId?: string; currency?: string; reference?: string; simplifiedDescription?: string; userDescription?: string; } export interface PatchApplicationDTO { status?: ApplicationStatus; partnerId?: string; skipAggregation?: boolean; skipGDPF?: boolean; externalErrors?: ExternalError[]; partnerData?: PartnerData; } export interface PostLegalDocumentDTO { category: LegalDocumentCategory; holder: Holder; required: boolean; partnerId?: string; period?: DocumentPeriod; redirectUrl?: string; redirectUrlTTL?: number; rejectionCode?: RejectionCode; validFileTypes?: LegalFileType[]; } export interface PostLegalFileDTO { file?: any; rejectionCode?: number; state?: FileState; type?: LegalFileType; name?: string; } export interface PostSignatureDTO { holder: Holder; legalDocumentIds: string[]; partnerId: string; redirectUrl?: string; redirectUrlTTL?: number; metadata?: { [key: string]: string | number | boolean; }; plugIn?: ESPlugIn; state?: SignatureState; } export interface PatchSignatureDTO { plugIn?: ESPlugIn; state?: SignatureState; redirectUrl?: string; redirectUrlTTL?: number; holder?: Holder; } export interface PostBanksUserDTO { callbackUrl?: string; adenTriggers?: AdenTriggers; partnerId?: string; applicationId?: string; }