UNPKG

@arkasuryawan/m2-interfaces

Version:

Squaremetre Data Interfaces

365 lines (364 loc) 10.1 kB
import mongoose from "mongoose"; import { AgentInterface } from "./agent.interface"; import { GooglePlacesInterface, ProjectGooglePlacesInterface } from "./google-places"; import { TenantInterface } from "./tenant.interface"; import { TemplateDesignInterface } from "./whitelabel.interface"; export * from "./agent.interface"; export * from "./blog.interface"; export * from "./contact.interface"; export * from "./leads.interface"; export * from "./office.interface"; export * from "./project.interface"; export * from "./properties/appraisal.interface"; export * from "./properties/listing.interface"; export * from "./properties/prospect"; export * from "./tenant.interface"; export * from "./testimonial.interface"; export * from "./TokenData.interface"; export * from "./user.interface"; export * from "./notification.interface"; export * from "./whitelabel.interface"; export * from "./industry-report.interface"; export * from "./transaction"; export declare type PermissionTypeEnum = "EVERYONE" | "SELECT" | "EXCLUSIVE"; export declare type SourceList = "Website" | "Facebook" | "Instagram" | "Phone-in" | "Newspaper" | "Wolk-in" | "Door Knoking" | "Other"; export declare type EmployeeType = "Administrator" | "Director" | "Personal Sisten" | "Office Admin" | "Agent Repesentative" | "Property Management" | "Sales Repesentative" | "Inactive"; export declare const EmployeeTypeData: string[]; export declare type TenantType = "Developer" | "Agency" | "Geonet" | "Aggregator" | "M2" | "Builder"; export declare type BlogDisplay = "APPS" | "WEBSITE" | "BOTH"; export declare type StatusType = "Active" | "Archived"; export declare type EditorState = "ADD" | "DELETE" | "UPDATE" | "VIEW"; export * from "./tripadvisor"; export interface Cordinat { lat: number; lng: number; } export interface CategoryInterface extends AuditInterface { name?: string; shortDescription?: string; description?: string; slug?: string; parentCategoryId?: string; parentCategory?: CategoryInterface; bannerURL?: string; thumbnailURL?: string; status?: StatusType; } export interface CategoryInterfaceServer extends AuditInterface { name?: string; shortDescription?: string; description?: string; slug?: string; parentCategoryId?: string; parentCategory?: mongoose.Types.ObjectId; bannerURL?: string; thumbnailURL?: string; status?: StatusType; } export declare const PipeLineFlowData: string[]; export declare const SourceListData: string[]; export interface GroupRole { code: EmployeeType; role: string; allow: boolean; } export declare type agentLanguage = "English" | "Bahasa" | "French" | "Mandarin"; export declare const agentLanguageOption: string[]; export declare const PropertyTypeData: string[]; export declare const ProductCategoryData: string[]; export declare const SubscribedOptions: string[]; export interface MetaDataFileInterface { name: string; url: string; fileType: string; } export interface AuditInterface { _id?: string; _ids?: string; featured?: boolean; hideOnWebsite?: boolean; extraFilter?: any; keyword?: string; order?: number; createdAt: string; createdBy: string; createdByDetail?: AgentInterface; updateddAt?: string; updatedAt?: string; updatedBy?: string; updatedByDetail?: AgentInterface; archivedAt?: string; archivedBy?: string; archivedByDetail?: AgentInterface; ArchivedAt?: string; ArchivedBy?: string; ArchivedByDetail?: AgentInterface; } export interface AuditInterfaceServer { _id?: string; _ids?: string; featured?: boolean; hideOnWebsite?: boolean; extraFilter?: any; keyword?: string; order?: number; createdAt: string; createdBy: string; createdByDetail?: mongoose.Types.ObjectId; updateddAt?: string; updatedAt?: string; updatedBy?: string; updatedByDetail?: mongoose.Types.ObjectId; archivedAt?: string; archivedBy?: string; archivedByDetail?: AgentInterface; ArchivedAt?: string; ArchivedBy?: string; ArchivedByDetail?: mongoose.Types.ObjectId; } export interface AuditLogInterface extends AuditInterface { type: string; data: { field: string; value: string; }[]; description?: string; } export interface SearchParamInterface<DATA> { id?: string; page?: number; limit?: number; orderBy?: string; include?: string; order?: "ASC" | "DESC"; sort?: any; filter?: DATA | string; select?: string; total?: number; } export interface singgleResponse<DATA> { data?: DATA; haveError: boolean; errorCode?: string; errorMessage?: string; code?: string; message?: string; } export interface SingleResponse<D> { data?: D; haveError: boolean; errorCode?: string; errorMessage?: string; code?: string; message?: string; } export interface ListResponse<DATA> { total: number; page: number; limit: number; data: DATA[]; haveError: boolean; } export interface AddressInterface { _id?: string; streetAddress: string; suburb: string; state: string; postcode: string; country: string; location: locationType; } export interface locationType { _id?: string; lat: number; long: number; } export interface LocationType { _id?: string; lat: number; long: number; } export interface ImageThumbnail { height: number; size: string; url: string; width: number; } export interface ImageInterface { id: number; lastModified: string; order: number; thumbnails: ImageThumbnail[]; title: string; url: string; } export interface ProjectTypeInterface extends AuditInterface { name: string; bannerURL?: string; iconURL?: string; thumbnailURL?: string; slug?: string; shortDescription?: string; description?: string; promotionBanner?: { general: string; country: { [slug: string]: string; }; state: { [slug: string]: string; }; suburb: { [slug: string]: string; }; }; byTenants: { [tenantId: string]: { bannerURL?: string; thumbnailURL?: string; iconUrl?: string; promotionBanner?: { general: string; country: { [slug: string]: string; }; state: { [slug: string]: string; }; suburb: { [slug: string]: string; }; }; }; }; } export interface AddressDetail extends AuditInterface { name: string; displayName: string; bannerURL?: string; thumbnailURL?: string; iconUrl?: string; slug?: string; shortDescription?: string; description?: string; tenantIds?: string[]; tenants?: TenantInterface[]; } export interface AddressDetailServer extends AuditInterface { name: string; displayName: string; bannerURL?: string; thumbnailURL?: string; iconUrl?: string; slug?: string; shortDescription?: string; description?: string; tenantIds?: string[]; tenants?: mongoose.Types.ObjectId[]; } export interface CountryInterface extends AddressDetail { byTenants: { [tenantId: string]: { bannerURL?: string; thumbnailURL?: string; iconUrl?: string; }; }; } export interface StateInterface extends CountryInterface { countryId: string; country: CountryInterface; } export interface StateInterfaceServer extends CountryInterface { countryId: string; country: mongoose.Types.ObjectId; } export interface RegionInterface extends StateInterface { stateId: string; state: StateInterface; } export interface RegionInterfaceServer extends StateInterface { stateId: string; state: mongoose.Types.ObjectId; } export interface SuburbInterface extends RegionInterface { regionId: string; region: RegionInterface; } export interface SuburbInterfaceServer extends RegionInterface { regionId: string; region: mongoose.Types.ObjectId; } export interface SuburbDataReport extends AuditInterface { headline: string; type: string; label: string; value: string; valueType: "percent" | "money"; suburbId: string; suburb: SuburbInterface; } export interface SuburbDataReportServer extends AuditInterface { headline: string; type: string; label: string; value: string; valueType: "percent" | "money"; suburbId: string; suburb: mongoose.Types.ObjectId; } export interface SuburbDemographic extends AuditInterface { label: string; icon: string; value: string; suburbId: string; suburb: SuburbInterface; } export interface SuburbDemographicServer extends AuditInterface { label: string; icon: string; value: string; suburbId: string; suburb: mongoose.Types.ObjectId; } export interface SuburbStatistic extends AuditInterface { category: string; label: string; value: number; suburbId: string; suburb: SuburbInterface; } export interface SuburbStatisticServer extends AuditInterface { category: string; label: string; value: number; suburbId: string; suburb: mongoose.Types.ObjectId; } export interface CurrencyDataInterface { _id?: string; code: string; value: number; } export interface AuthInterface { uid: string; token: string; sessionTime: string; } export { TenantInterface, GooglePlacesInterface, ProjectGooglePlacesInterface }; export interface PageInterface extends AuditInterface { tenantId: string; tenant: TenantInterface; slug: string; title: string; description: string; imageUrl: string; } export interface PageDetailInterface extends AuditInterface { pageId: string; page: PageInterface; templateId: string; template: TemplateDesignInterface; order: number; templateData: string[]; }