Files
super-app/App/common/interface/MemberDetailsResponse.ts
2024-03-27 15:06:03 +00:00

182 lines
3.2 KiB
TypeScript

import { Widget, GenericWidgetData } from "./widgets/Widget";
export interface MemberDetailsRootObject {
applicationResponse: ApplicationResponse;
currentScreenCta: CurrentScreenCta;
currentScreenDefinition: CurrentScreenDefinition;
}
interface CurrentScreenDefinition {
screenData: ScreenData;
}
interface ScreenData {
metaData: ScreenMetaData;
screenStructure: ScreenStructure;
}
interface ScreenStructure {
drawer: Drawer;
footer: Footer;
header: Header;
content: Content;
renderActions: RenderActions;
systemBackCta: SystemBackCta;
floatingActionButton: Drawer;
}
interface SystemBackCta {
actions: Action2[];
}
interface Action2 {
type: string;
ctaData: Cta;
}
interface RenderActions {
preRenderAction: Drawer;
postRenderAction: PostRenderAction;
}
interface PostRenderAction {
actions: Action[];
}
interface Action {
type: string;
isNeededForFirebase: boolean;
isNeededForAppsflyer: boolean;
predefinedEventProperties: PredefinedEventProperty[];
}
interface PredefinedEventProperty {
propertyName: string;
propertyValue: string;
}
interface Content {
widgets: Widget[];
backgroundColor: string;
}
interface InfoDisplayWidgetData extends GenericWidgetData {
cardData?: Container;
titleData?: Banner;
leftIconData?: LeftBottomEndTextIcon;
}
interface NameDobWidget extends GenericWidgetData {
endInput?: EndInput;
labelTitle?: Banner;
startInput?: StartInput;
outputFields?: OutputFields;
}
interface OutputFields {
endInputField: string;
startInputField: string;
}
interface StartInput {
hint: string;
style: Drawer;
keyboardType: string;
}
interface EndInput {
hint: string;
style: Drawer;
endIconUrl: string;
}
interface Header {
widgetId: string;
widgetData: HeaderWidgetData;
widgetType: string;
}
interface HeaderWidgetData {
backIconData: LeftBottomEndTextIcon;
endTitleData: Banner;
middleTitleData: Banner;
}
interface Footer {
widgetId: string;
widgetData: FooterWidgetData;
widgetName: string;
widgetType: string;
}
interface FooterWidgetData {
banner: Banner;
progress: Progress;
rightCta: RightCta;
leftBottomText: Banner;
leftTopStrikedText: Banner;
leftTopUnstrikedText: Banner;
leftBottomEndTextIcon: LeftBottomEndTextIcon;
}
interface LeftBottomEndTextIcon {
style: Drawer;
iconUrl: string;
}
interface RightCta {
title: Banner;
container: Container;
}
interface Container {
style: Drawer;
}
interface Progress {
style: Drawer;
progress: string;
}
interface Banner {
text: string;
style: Drawer;
}
interface Drawer {}
interface CurrentScreenCta {
cta: Cta;
shouldPoll: boolean;
shouldRender: boolean;
screenMetaData: ScreenMetaData;
screenPollingConfigs: ScreenPollingConfigs;
}
interface ScreenPollingConfigs {
initialDelay: number;
interval: number;
numOfRetries: number;
}
interface ScreenMetaData {
screenName: string;
screenType: string;
}
interface Cta {
url: string;
parameters: Parameter[];
}
interface Parameter {
key: string;
value: string;
}
interface ApplicationResponse {
applicationType: string;
applicationId: string;
applicantType: string;
applicationStatus: string;
configVersion: string;
}