All files / src/redux/slices/enterprise types.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111                                                                                                                                                                                                                             
import { MerchantsQueryType } from "@redux/types/enterprise/merchants";
import { TInviteElement } from "@components/Merchants/BulkInvite/types";
import { MerchantData } from "@hooks/enterprise-api/account/types";
import { EnterpriseConfiguration } from "@components/AcquirerEnterprises/CreateEnterprise/types";
import { FOUND_IN } from "./consts";
import { BankAccountType } from "./BankAccountType";
import { ProcessorValue } from "@features/Merchants/MerchantSidePanel/types";
 
export type FoundInType = (typeof FOUND_IN)[keyof typeof FOUND_IN];
export type PartialFoundInType = (typeof FOUND_IN)[Exclude<
  keyof typeof FOUND_IN,
  "ALL"
>];
 
export type LevelType = {
  title: string;
  count: number;
  description: string;
  level: number;
  nbMerchants: number;
  requirements: string[];
  selected?: boolean;
};
 
export interface MerchantState {
  providerId: number;
  query: MerchantsQueryType;
  levels: LevelType[];
  invitationsEntriesDraft: Record<
    number,
    {
      entries: [string, TInviteElement][];
      providerId?: number;
      processor?: ProcessorValue;
    }
  >;
  statusDisplayName: string;
  tab: string;
  names: {
    type: string[];
    conversion: number[];
    amount: (string | number)[];
    transactions: (string | number)[];
    visitors: (string | number)[];
    created: (string | number)[];
    status: string[];
    "Underwriting Status": string[];
    "Instant Fundraising Status": string[];
    enterprise: string[];
    processingVolume: string[];
    mcc: string[];
  };
  watchlist: MerchantData[];
  masquerade: {
    name: string | null;
    location: string;
    skipModal: boolean;
    masqueradeID: string | null;
    enterpriseId?: string | null;
  };
  businessOwners: {
    list: any[];
    removedList: number[];
    addedList: number[];
  };
  isBusinessOwnerAddress: boolean;
  bankAccounts: {
    list: BankAccountType[];
    removedList: number[];
    addedList: number[];
  };
  legalEntityID: number | null;
  isDisabledSubmit: boolean;
  markedMerchants: {
    auto: boolean;
    pre: boolean;
    exclude: MarkedMerchant[];
    include: MarkedMerchant[];
  };
}
 
export type MarkedMerchant = {
  id: number;
  foundIn: PartialFoundInType;
};
 
export interface RootState {
  merchants: MerchantState;
}
 
export type SwitchAndSelect = {
  type:
    | "type"
    | "status"
    | "Underwriting Status"
    | "Instant Fundraising Status";
  value: string;
};
 
type SettingsStateTheme = {
  logos: {
    smallLogoSrc: string;
    wideLogoSrc: string;
  };
};
 
export interface EnterpriseSettingsState {
  theme: SettingsStateTheme;
  configuration: EnterpriseConfiguration;
}