UNPKG

@arkasuryawan/m2-interfaces

Version:

Squaremetre Data Interfaces

120 lines (119 loc) 3.5 kB
import mongoose from "mongoose"; import { AddressInterface, AuditInterface, ProjectInterface, ProjectLotInterface, TenantType } from "../interfaces"; export declare type TenantAggregatorRequestType = "Requesting" | "Approved" | "Rejected"; export interface TenantInterface extends AuditInterface { legalName?: string; name?: string; status?: "Active" | "Archived"; /** * @deprecated The method should not be used move to `tenantTypes` */ tenantType?: TenantType; coa?: string; /** * @abstract New field moving from `tenantType` */ tenantTypes?: string[]; bannerURL?: string; thumbnailURL?: string; externalId?: string; slug?: string; shortDescription?: string; description?: string; address?: AddressInterface[]; website?: string; email?: string; phone?: string; phone2?: string; legalName_lower?: string; name_lower?: string; website_lower?: string; email_lower?: string; accessToken?: string; referenceCode?: string; aggregatorIds?: string[]; aggregators?: TenantInterface[]; integrationTokens: { provider: string; token: any; }[]; packageId?: string; package?: TenantPackageInterface; } export interface TenantInterfaceServer extends AuditInterface { legalName?: string; name?: string; status?: "Active" | "Archived"; /** * @deprecated The method should not be used move to `tenantTypes` */ tenantType?: TenantType; coa?: string; /** * @abstract New field moving from `tenantType` */ tenantTypes?: string[]; bannerURL?: string; thumbnailURL?: string; externalId?: string; slug?: string; shortDescription?: string; description?: string; address?: mongoose.Types.ObjectId[]; website?: string; email?: string; phone?: string; phone2?: string; legalName_lower?: string; name_lower?: string; website_lower?: string; email_lower?: string; accessToken?: string; referenceCode?: string; aggregatorIds?: string[]; aggregators?: mongoose.Types.ObjectId[]; integrationTokens: { provider: string; token: any; }[]; packageId?: string; package?: mongoose.Types.ObjectId; } export interface TenantPackageInterface extends AuditInterface { name: string; description: string; } export interface TenantAggregatorRequestInterface extends AuditInterface { agencyId: string; agency?: TenantInterface; aggregatorId: string; aggregator?: TenantInterface; status: TenantAggregatorRequestType; } export interface TenantAggregatorRequestInterfaceServer extends AuditInterface { agencyId: string; agency?: mongoose.Types.ObjectId; aggregatorId: string; aggregator?: mongoose.Types.ObjectId; status: TenantAggregatorRequestType; } export interface TenantExcludeProjectInterface extends AuditInterface { tenantId: string; projectId: string; } export interface TenantProjectInterface extends AuditInterface { tenantId: string; tenant: TenantInterface; projectId: string; project: ProjectInterface; projectLotIds: string[]; projectLots: ProjectLotInterface[]; } export interface TenantProjectInterfaceServer extends AuditInterface { tenantId: string; tenant: mongoose.Types.ObjectId; projectId: string; project: mongoose.Types.ObjectId; projectLotIds: string[]; projectLots: mongoose.Types.ObjectId[]; }