- Build complete Next.js CRM for commercial real estate - Add authentication with JWT sessions and role-based access - Add GoHighLevel API integration for contacts, conversations, opportunities - Add AI-powered Control Center with tool calling - Add Setup page with onboarding checklist (/setup) - Add sidebar navigation with Setup menu item - Fix type errors in onboarding API, GHL services, and control center tools - Add Prisma schema with SQLite for local development - Add UI components with clay morphism design system Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
195 lines
4.7 KiB
TypeScript
195 lines
4.7 KiB
TypeScript
/**
|
|
* CRESyncFlow Type Definitions
|
|
*
|
|
* Central export point for all TypeScript types used in the application.
|
|
* Import types from this file for convenience:
|
|
*
|
|
* @example
|
|
* import { User, Role, GHLContact, APIResponse } from '@/types';
|
|
*/
|
|
|
|
// =============================================================================
|
|
// Authentication Types
|
|
// =============================================================================
|
|
export {
|
|
Role,
|
|
type User,
|
|
type Session,
|
|
type LoginCredentials,
|
|
type SignupData,
|
|
type AuthState,
|
|
type PasswordResetRequest,
|
|
type PasswordResetConfirm
|
|
} from './auth';
|
|
|
|
// =============================================================================
|
|
// Onboarding Types
|
|
// =============================================================================
|
|
export {
|
|
ExperienceLevel,
|
|
GCIRange,
|
|
GoalPrimary,
|
|
LeadType,
|
|
Channel,
|
|
CRMPainPoint,
|
|
ExternalSystem,
|
|
ViewState,
|
|
type OnboardingData,
|
|
type OnboardingDataLegacy,
|
|
type SetupStatus,
|
|
type SystemState,
|
|
type OnboardingStep,
|
|
type OnboardingState,
|
|
createInitialOnboardingData
|
|
} from './onboarding';
|
|
|
|
// =============================================================================
|
|
// GoHighLevel API Types
|
|
// =============================================================================
|
|
export {
|
|
// Contact types
|
|
type GHLContact,
|
|
type GHLDNDSettings,
|
|
type CreateContactDTO,
|
|
type UpdateContactDTO,
|
|
type ContactSearchParams,
|
|
|
|
// Conversation types
|
|
type ConversationType,
|
|
type GHLConversation,
|
|
type MessageType,
|
|
type MessageDirection,
|
|
type MessageStatus,
|
|
type GHLMessage,
|
|
type GHLAttachment,
|
|
type SendMessageDTO,
|
|
|
|
// Opportunity types
|
|
type OpportunityStatus,
|
|
type GHLOpportunity,
|
|
type CreateOpportunityDTO,
|
|
type UpdateOpportunityDTO,
|
|
type GHLPipeline,
|
|
type GHLPipelineStage,
|
|
|
|
// Location types
|
|
type GHLLocation,
|
|
type GHLLocationSettings,
|
|
type CreateLocationDTO,
|
|
|
|
// Workflow types
|
|
type WorkflowStatus,
|
|
type GHLWorkflow,
|
|
|
|
// Calendar types
|
|
type GHLCalendar,
|
|
type GHLAppointment,
|
|
|
|
// Tag types
|
|
type GHLTag,
|
|
type CreateTagDTO,
|
|
|
|
// Custom field types
|
|
type CustomFieldDataType,
|
|
type GHLCustomField,
|
|
|
|
// API response types
|
|
type GHLPaginatedResponse,
|
|
type GHLSingleResponse,
|
|
type GHLErrorResponse,
|
|
|
|
// Webhook types
|
|
type GHLWebhookEvent,
|
|
type GHLWebhookPayload
|
|
} from './ghl';
|
|
|
|
// =============================================================================
|
|
// API Types
|
|
// =============================================================================
|
|
export {
|
|
type APIResponse,
|
|
type APIErrorResponse,
|
|
type APISuccessResponse,
|
|
type PaginationParams,
|
|
type PaginatedResponse,
|
|
type CursorPaginationParams,
|
|
type CursorPaginatedResponse,
|
|
type FilterOperator,
|
|
type FilterCondition,
|
|
type SearchParams,
|
|
type BatchOperationResult,
|
|
type BulkDeleteRequest,
|
|
type BulkUpdateRequest,
|
|
type FileUploadResponse,
|
|
type FileUploadProgress,
|
|
type WebhookPayload,
|
|
type WebhookRegistration,
|
|
type RateLimitInfo,
|
|
type HealthCheckResponse,
|
|
type ServiceStatus
|
|
} from './api';
|
|
|
|
// =============================================================================
|
|
// Admin Types
|
|
// =============================================================================
|
|
export {
|
|
type SystemSettings,
|
|
type AdminDashboardStats,
|
|
type UserGrowthData,
|
|
type RevenueData,
|
|
type AdminUserView,
|
|
type UserActivity,
|
|
type UpdateSettingsRequest,
|
|
type SettingsValidationResult,
|
|
type AdminAction,
|
|
type AdminActionType,
|
|
type AdminNotification,
|
|
type AdminNotificationType,
|
|
type AuditLogEntry,
|
|
type AuditLogFilter
|
|
} from './admin';
|
|
|
|
// =============================================================================
|
|
// DFY (Done For You) Types
|
|
// =============================================================================
|
|
export {
|
|
DFYServiceType,
|
|
DFYStatus,
|
|
DFYPriority,
|
|
type DFYType,
|
|
type DFYRequest,
|
|
type DFYRequirements,
|
|
type DFYServiceDefinition,
|
|
DFY_SERVICES,
|
|
type CreateDFYRequestDTO,
|
|
type UpdateDFYRequestDTO,
|
|
type DFYDashboardStats,
|
|
type DFYRequestSummary,
|
|
type DFYCheckoutSession,
|
|
type DFYPaymentIntent
|
|
} from './dfy';
|
|
|
|
// =============================================================================
|
|
// Control Center Types
|
|
// =============================================================================
|
|
export {
|
|
type MessageRole,
|
|
type ControlCenterMessage,
|
|
type ControlCenterConversation,
|
|
type JSONSchema,
|
|
type ToolDefinition,
|
|
type ToolCall,
|
|
type ToolResult,
|
|
type ChatRequest,
|
|
type ChatResponse,
|
|
type MessageStartEvent,
|
|
type ContentDeltaEvent,
|
|
type ToolCallStartEvent,
|
|
type ToolResultEvent,
|
|
type MessageCompleteEvent,
|
|
type StreamErrorEvent,
|
|
type StreamEvent,
|
|
type ControlCenterStatus,
|
|
type ControlCenterState
|
|
} from './control-center';
|