UNPKG

@arkasuryawan/m2-interfaces

Version:

Squaremetre Data Interfaces

165 lines (164 loc) 4.7 kB
import mongoose from "mongoose"; import { AuditInterface, ProjectInterface, TenantInterface } from "."; export declare const PaymentGatewayOption: string[]; export declare type PaymentGatewayType = "SQUAREUP" | "DOKU" | "BRAINTREE" | "TAZAPAY" | "NAB" | "PAYPALL"; export declare const SocialMediaName: string[]; export declare type SocialMediaNameType = "FACEBOOK" | "INSTAGRAM" | "YOUTUBE" | "LINKEDIN" | "TIKTOK" | "GOOGLE+" | "TWITER" | "PINTEREST"; export declare const TemplateTypeData: string[]; export declare type TemplateType = "NAVBAR" | "FOOTER" | "SECTION"; export interface MenuType { name: any; url: string; subItems?: MenuType[]; class?: string; col?: number; active?: boolean; } export interface CustomRelationshipManagement { name?: string; credential?: unknown; active?: boolean; } export interface WhiteLabelInterface extends AuditInterface { logo: string; cssRoot: string; menu?: MenuType[]; footer: string; type: "MULTI PROJECTS" | "SINGLE PROJECT"; accessToken: string; domainName: string; proejctUrl?: string; favicon?: string; metaTitle?: string; metaDescription?: string; keyword?: string; bannerUrl?: string; metaImage?: string; menus?: { [code: string]: MenuType[]; }; /** * @abstract New Field for Whitelabel */ tenantId: string; tenant: TenantInterface; headerTracker?: string; footerTracker?: string; /** * @abstract New available on version 1.1.17 */ socialMedia?: SocialMediaInterface[]; darkLogo?: string; lightLogo?: string; pipedriveToken?: string; customerRelationshipManagement?: CustomRelationshipManagement[]; officeTime?: { iconUrl?: string; title?: string; description?: string; }; } export interface WhiteLabelInterfaceServer extends AuditInterface { logo: string; cssRoot: string; menu?: MenuType[]; footer: string; type: "MULTI PROJECTS" | "SINGLE PROJECT"; accessToken: string; domainName: string; proejctUrl?: string; favicon?: string; metaTitle?: string; metaDescription?: string; keyword?: string; bannerUrl?: string; metaImage?: string; menus?: { [code: string]: MenuType[]; }; /** * @abstract New Field for Whitelabel */ tenantId: string; tenant: mongoose.Types.ObjectId; headerTracker?: string; footerTracker?: string; /** * @abstract New available on version 1.1.17 */ socialMedia?: mongoose.Types.ObjectId[]; darkLogo?: string; lightLogo?: string; officeTime?: { iconUrl?: string; title?: string; description?: string; }; } /** * @abstract New available on version 1.1.17 */ export interface TemplateDesignInterface extends AuditInterface { name: string; imageUrl: string; type: TemplateType; exampleURL?: string; dataType?: "ARRAY" | "OBJECT"; templateDataType: string; } export interface SocialMediaInterface { name: SocialMediaNameType; url: string; tile: string; } export interface NavbarDataInterface { } export interface FooterSectionInterface { title?: string; image?: string; shortDescription?: string; menus?: MenuType[]; listStyle?: "list-none" | "list-disc" | "list-decimal"; listStylePosition?: "list-inside" | "list-outside"; listPosition?: "row" | "Col"; listStyleImage?: string; lineHeight?: number; } export interface FooterDataInterface { [code: number]: FooterSectionInterface[]; } export interface WhitelabelTemplateInterface { navbarDesignId: string; navbarDesign: TemplateDesignInterface; navbarData: NavbarDataInterface; footerDesignId: string; footerDesign: TemplateDesignInterface; footerData: FooterDataInterface; } export interface WhitelabelTemplateInterfaceServer { navbarDesignId: string; navbarDesign: mongoose.Types.ObjectId; navbarData: NavbarDataInterface; footerDesignId: string; footerDesign: mongoose.Types.ObjectId; footerData: FooterDataInterface; } /** * @abstract ===== END update version */ export interface WhiteLabelPaymentGatewayInterface extends AuditInterface { whitelableId: string; whiteLabel: WhiteLabelInterface; projectId: string; project: ProjectInterface; paymentGateway: PaymentGatewayType; token: any; } export interface WhiteLabelPaymentGatewayInterfaceServer extends AuditInterface { whitelableId: string; whiteLabel: mongoose.Types.ObjectId; projectId: string; project: mongoose.Types.ObjectId; paymentGateway: PaymentGatewayType; token: any; }