Skip to Content
Tiposuser
user.d.ts
import type { Address, SocialMedia } from "~/types/general"; type JuridicalType = | "IBUYER" | "INCORPORADOR" | "IMOBILIARIA" | "GRUPO_IMOBILIARIO" | "FUNDO_IMOBILIARIO" | "GESTAO_DE_PATRIMONIO"; interface Portfolio { vgv: number; total: number; soldVgv: number; soldTotal: number; } interface BrokerageEmbed { id: string; name: string | null; email: string; corporateEmail: string | null; phone: string | null; whatsapp: string | null; hrWhatsapp: string | null; profileImage: string | null; slug: string; site: string | null; } export interface UserEmbed { id: string; name: string | null; type: "AGENTE" | JuridicalType; email: string; corporateEmail: string | null; phone: string | null; whatsapp: string | null; hrWhatsapp: string | null; profileImage: string | null; slug: string; site: string | null; reputation: number; brokerage: BrokerageEmbed | null; } export interface Contact { name: string | null; phone: string | null; whatsapp: string | null; email: string; address: Address; socialMedias: SocialMedia[]; }

ActuationArea

actuation-area.d.ts
import type { UF } from "~/types/general"; export interface ActuationArea { id: string; state: UF; city: string; area: string; }

AgentsPageAgent

agents-page-agent.d.ts
import type { ActuationArea } from "~/types/user"; export interface AgentsPageAgent { id: string; profileImage: string | null; whatsapp: string | null; actuationAreas: ActuationArea[]; name: string; email: string; vgv: number; slug: string; }

UserProfile

Perfil completo do usuário. É uma união discriminada pelo campo type: agentes (type: "AGENTE") trazem cpf, education, languages e brokerage; pessoas jurídicas (IBUYER, INCORPORADOR, IMOBILIARIA, GRUPO_IMOBILIARIO, FUNDO_IMOBILIARIO, GESTAO_DE_PATRIMONIO) trazem apenas o type.

user-profile.d.ts
import type { OptionalAddress, SocialMedia, UF } from "~/types/general"; import type { ActuationArea, BrokerageEmbed, Portfolio } from "~/types/user"; type Language = "PORTUGUES" | "INGLES" | "ESPANHOL" | "FRANCES" | "ALEMAO" | "ITALIANO" | "MANDARIM" | "JAPONES"; interface BaseProfile { id: string; slug: string; name: string | null; email: string; corporateEmail: string | null; creci: string | null; profileImage: string | null; about: string | null; site: string | null; whatsapp: string | null; phone: string | null; actuationAreas: ActuationArea[]; socialMedias: SocialMedia[]; partnershipRules: string | null; zapRating: number | null; portfolio: Portfolio; reputation: number; network: { id: string; name: string } | null; } interface AgentProfile extends BaseProfile { type: "AGENTE"; cpf: string | null; education: string | null; languages: Language[]; brokerage: BrokerageEmbed | null; } interface JuridicalProfile extends BaseProfile { type: | "IBUYER" | "INCORPORADOR" | "IMOBILIARIA" | "GRUPO_IMOBILIARIO" | "FUNDO_IMOBILIARIO" | "GESTAO_DE_PATRIMONIO"; } export type UserProfile = AgentProfile | JuridicalProfile;
Last updated on