Files
bakery-ia/frontend/src/api/index.ts

746 lines
16 KiB
TypeScript
Raw Normal View History

/**
* Main API exports for clean imports
* Export all services, types, and hooks
*/
// Client
export { apiClient } from './client';
export type { ApiError } from './client';
// Services
export { authService } from './services/auth';
export { userService } from './services/user';
export { onboardingService } from './services/onboarding';
export { tenantService } from './services/tenant';
export { subscriptionService } from './services/subscription';
export { salesService } from './services/sales';
export { inventoryService } from './services/inventory';
// New API Services
export { trainingService } from './services/training';
export { alertProcessorService } from './services/alert_processor';
export { suppliersService } from './services/suppliers';
2025-09-09 08:30:06 +02:00
export { OrdersService } from './services/orders';
2025-09-09 21:39:12 +02:00
export { forecastingService } from './services/forecasting';
2025-09-10 08:00:50 +02:00
export { productionService } from './services/production';
2025-09-11 18:21:32 +02:00
export { posService } from './services/pos';
export { recipesService } from './services/recipes';
2025-10-30 21:08:07 +01:00
// NEW: Sprint 2 & 3 Services
2025-11-01 21:35:03 +01:00
export { ProcurementService } from './services/procurement-service';
2025-10-30 21:08:07 +01:00
export * as orchestratorService from './services/orchestrator';
// Types - Auth
export type {
User,
UserRegistration,
UserLogin,
TokenResponse,
RefreshTokenRequest,
PasswordChange,
PasswordReset,
UserResponse,
UserUpdate as AuthUserUpdate,
TokenVerificationResponse,
AuthHealthResponse,
} from './types/auth';
// Types - User
export type {
UserUpdate,
AdminDeleteRequest,
AdminDeleteResponse,
} from './types/user';
// Types - Onboarding
export type {
OnboardingStepStatus,
UserProgress,
UpdateStepRequest,
} from './types/onboarding';
// Types - Tenant
export type {
BakeryRegistration,
TenantResponse,
TenantAccessResponse,
TenantUpdate,
TenantMemberResponse,
TenantStatistics,
TenantSearchParams,
TenantNearbyParams,
} from './types/tenant';
// Types - Subscription
export type {
SubscriptionLimits,
FeatureCheckResponse,
UsageCheckResponse,
2025-09-20 08:59:12 +02:00
UsageSummary,
AvailablePlans,
Plan,
PlanUpgradeValidation,
PlanUpgradeResult,
SubscriptionTier,
BillingCycle,
PlanMetadata
} from './types/subscription';
export {
SUBSCRIPTION_TIERS,
BILLING_CYCLES,
ANALYTICS_LEVELS
} from './types/subscription';
// Types - Sales
export type {
SalesDataCreate,
SalesDataUpdate,
SalesDataResponse,
SalesDataQuery,
SalesAnalytics,
SalesValidationRequest,
} from './types/sales';
// Types - Data Import
export type {
ImportValidationRequest,
ImportValidationResponse,
ImportProcessRequest,
ImportProcessResponse,
ImportStatusResponse,
} from './types/dataImport';
// Types - Inventory
export type {
IngredientCreate,
IngredientUpdate,
IngredientResponse,
StockCreate,
StockUpdate,
StockResponse,
StockMovementCreate,
StockMovementResponse,
InventoryFilter,
StockFilter,
StockConsumptionRequest,
StockConsumptionResponse,
PaginatedResponse,
} from './types/inventory';
2025-09-15 15:31:27 +02:00
export { ProductType } from './types/inventory';
// Types - Classification
export type {
ProductClassificationRequest,
BatchClassificationRequest,
ProductSuggestionResponse,
BusinessModelAnalysisResponse,
ClassificationApprovalRequest,
ClassificationApprovalResponse,
} from './types/classification';
// Types - Dashboard
export type {
InventoryDashboardSummary,
InventoryAnalytics,
BusinessModelInsights,
DashboardFilter,
AlertsFilter,
RecentActivity,
StockMovementSummary,
CategorySummary,
AlertSummary,
StockStatusSummary,
} from './types/dashboard';
// Types - Food Safety
export type {
FoodSafetyComplianceCreate,
FoodSafetyComplianceUpdate,
FoodSafetyComplianceResponse,
TemperatureLogCreate,
BulkTemperatureLogCreate,
TemperatureLogResponse,
FoodSafetyAlertCreate,
FoodSafetyAlertUpdate,
FoodSafetyAlertResponse,
FoodSafetyFilter,
TemperatureMonitoringFilter,
FoodSafetyMetrics,
TemperatureAnalytics,
FoodSafetyDashboard,
} from './types/foodSafety';
// Types - Training
export type {
TrainingJobRequest,
TrainingJobResponse,
TrainingJobStatus,
SingleProductTrainingRequest,
TrainingResults,
TrainingMetrics,
ActiveModelResponse,
ModelMetricsResponse,
TrainedModelResponse,
TenantStatistics as TrainingTenantStatistics,
ModelPerformanceResponse,
TrainingProgressMessage,
TrainingCompletedMessage,
TrainingErrorMessage,
TrainingWebSocketMessage,
ModelsQueryParams,
} from './types/training';
export { TrainingStatus } from './types/training';
// Types - Alert Processor
export type {
AlertMessage,
AlertResponse,
AlertUpdateRequest,
AlertQueryParams,
AlertDashboardData,
NotificationSettings,
ChannelRoutingConfig,
WebhookConfig,
AlertProcessingStatus,
ProcessingMetrics,
AlertAction,
BusinessHours,
} from './types/alert_processor';
export {
AlertItemType,
AlertType,
AlertSeverity,
AlertService,
NotificationChannel,
} from './types/alert_processor';
// Types - Suppliers
export type {
SupplierCreate,
SupplierUpdate,
SupplierResponse,
SupplierSummary,
SupplierApproval,
SupplierQueryParams,
SupplierStatistics,
TopSuppliersResponse,
PurchaseOrderCreate,
PurchaseOrderUpdate,
PurchaseOrderResponse,
PurchaseOrderApproval,
PurchaseOrderQueryParams,
DeliveryCreate,
DeliveryUpdate,
DeliveryResponse,
DeliveryReceiptConfirmation,
DeliveryQueryParams,
PerformanceCalculationRequest,
PerformanceMetrics,
PerformanceAlert,
PurchaseOrderItem,
DeliveryItem,
} from './types/suppliers';
export {
SupplierType,
SupplierStatus,
PaymentTerms,
PurchaseOrderStatus,
DeliveryStatus,
OrderPriority,
PerformanceMetricType,
} from './types/suppliers';
2025-09-09 08:30:06 +02:00
// Types - Orders
export type {
CustomerType,
DeliveryMethod,
PaymentTerms as OrdersPaymentTerms,
PaymentMethod,
PaymentStatus,
CustomerSegment,
PriorityLevel,
OrderType,
OrderStatus,
OrderSource,
SalesChannel,
BusinessModel,
CustomerBase,
CustomerCreate,
CustomerUpdate,
CustomerResponse,
OrderItemBase,
OrderItemCreate,
OrderItemUpdate,
OrderItemResponse,
OrderBase,
OrderCreate,
OrderUpdate,
OrderResponse,
OrdersDashboardSummary,
DemandRequirements,
BusinessModelDetection,
ServiceStatus,
GetOrdersParams,
GetCustomersParams,
UpdateOrderStatusParams,
GetDemandRequirementsParams,
2025-11-01 21:35:03 +01:00
} from './types/orders';
// Types - Procurement
export type {
// Enums
ProcurementPlanType,
ProcurementStrategy,
RiskLevel,
RequirementStatus,
PlanStatus,
2025-11-01 21:35:03 +01:00
DeliveryStatus as ProcurementDeliveryStatus,
PriorityLevel as ProcurementPriorityLevel,
BusinessModel as ProcurementBusinessModel,
// Requirement types
ProcurementRequirementBase,
ProcurementRequirementCreate,
ProcurementRequirementUpdate,
ProcurementRequirementResponse,
2025-11-01 21:35:03 +01:00
// Plan types
ProcurementPlanBase,
ProcurementPlanCreate,
ProcurementPlanUpdate,
ProcurementPlanResponse,
2025-11-01 21:35:03 +01:00
ApprovalWorkflowEntry,
// Dashboard & Analytics
ProcurementSummary,
ProcurementDashboardData,
2025-11-01 21:35:03 +01:00
// Request/Response types
GeneratePlanRequest,
GeneratePlanResponse,
2025-11-01 21:35:03 +01:00
AutoGenerateProcurementRequest,
AutoGenerateProcurementResponse,
CreatePOsResult,
LinkRequirementToPORequest,
UpdateDeliveryStatusRequest,
ApprovalRequest,
RejectionRequest,
PaginatedProcurementPlans,
2025-11-01 21:35:03 +01:00
ForecastRequest as ProcurementForecastRequest,
// Query params
GetProcurementPlansParams,
GetPlanRequirementsParams,
UpdatePlanStatusParams,
2025-11-01 21:35:03 +01:00
} from './types/procurement';
2025-09-09 08:30:06 +02:00
2025-09-09 21:39:12 +02:00
// Types - Forecasting
export type {
ForecastRequest,
ForecastResponse,
BatchForecastRequest,
BatchForecastResponse,
ForecastStatistics,
ForecastListResponse,
ForecastByIdResponse,
DeleteForecastResponse,
GetForecastsParams,
ForecastingHealthResponse,
} from './types/forecasting';
export { BusinessType } from './types/forecasting';
2025-09-10 08:00:50 +02:00
// Types - Production
export type {
ProductionBatchBase,
ProductionBatchCreate,
ProductionBatchUpdate,
ProductionBatchStatusUpdate,
ProductionBatchResponse,
ProductionScheduleBase,
ProductionScheduleCreate,
ProductionScheduleUpdate,
ProductionScheduleResponse,
QualityCheckBase,
QualityCheckCreate,
QualityCheckResponse,
ProductionDashboardSummary,
DailyProductionRequirements,
ProductionMetrics,
ProductionBatchListResponse,
ProductionScheduleListResponse,
QualityCheckListResponse,
ProductionScheduleData,
ProductionCapacityStatus,
ProductionRequirements,
ProductionYieldMetrics,
} from './types/production';
export {
ProductionStatusEnum,
ProductionPriorityEnum,
2025-09-20 08:59:12 +02:00
ProductionBatchStatus,
QualityCheckStatus,
2025-09-10 08:00:50 +02:00
} from './types/production';
2025-09-11 18:21:32 +02:00
// Types - POS
export type {
POSConfiguration,
POSTransaction,
POSTransactionItem,
POSWebhookLog,
POSSyncLog,
POSSystemInfo,
POSProviderConfig,
POSCredentialsField,
GetPOSConfigurationsRequest,
GetPOSConfigurationsResponse,
CreatePOSConfigurationRequest,
CreatePOSConfigurationResponse,
UpdatePOSConfigurationRequest,
UpdatePOSConfigurationResponse,
TestPOSConnectionRequest,
TestPOSConnectionResponse,
POSSyncSettings,
SyncHealth,
SyncAnalytics,
TransactionSummary,
WebhookStatus,
POSSystem,
POSEnvironment,
} from './types/pos';
// Types - Recipes
export type {
RecipeStatus,
MeasurementUnit,
ProductionStatus as RecipeProductionStatus,
ProductionPriority as RecipeProductionPriority,
RecipeIngredientCreate,
RecipeIngredientUpdate,
RecipeIngredientResponse,
RecipeCreate,
RecipeUpdate,
RecipeResponse,
RecipeSearchRequest,
RecipeSearchParams,
RecipeDuplicateRequest,
RecipeFeasibilityResponse,
RecipeStatisticsResponse,
RecipeCategoriesResponse,
ProductionBatchCreate as RecipeProductionBatchCreate,
ProductionBatchUpdate as RecipeProductionBatchUpdate,
ProductionBatchResponse as RecipeProductionBatchResponse,
RecipeFormData,
RecipeUpdateFormData,
} from './types/recipes';
// Hooks - Auth
export {
useAuthProfile,
useAuthHealth,
useVerifyToken,
useRegister,
useLogin,
useRefreshToken,
useLogout,
useChangePassword,
useResetPassword,
useUpdateProfile,
useVerifyEmail,
authKeys,
} from './hooks/auth';
// Hooks - User
export {
useCurrentUser,
useAllUsers,
useUserById,
useUpdateUser,
useDeleteUser,
useAdminDeleteUser,
userKeys,
} from './hooks/user';
// Hooks - Onboarding
export {
useUserProgress,
useAllSteps,
useStepDetails,
useUpdateStep,
useMarkStepCompleted,
useResetProgress,
onboardingKeys,
} from './hooks/onboarding';
// Hooks - Tenant
export {
useTenant,
useTenantBySubdomain,
useUserTenants,
useUserOwnedTenants,
useTenantAccess,
useSearchTenants,
useNearbyTenants,
useTeamMembers,
useTenantStatistics,
useRegisterBakery,
useUpdateTenant,
useDeactivateTenant,
useActivateTenant,
useUpdateModelStatus,
useAddTeamMember,
useUpdateMemberRole,
useRemoveTeamMember,
tenantKeys,
} from './hooks/tenant';
// Hooks - Sales
export {
useSalesRecords,
useSalesRecord,
useSalesAnalytics,
useProductSales,
useProductCategories,
useCreateSalesRecord,
useUpdateSalesRecord,
useDeleteSalesRecord,
useValidateSalesRecord,
salesKeys,
} from './hooks/sales';
// Hooks - Inventory
export {
useIngredients,
useIngredient,
useIngredientsByCategory,
useLowStockIngredients,
useStock,
useStockByIngredient,
useExpiringStock,
useExpiredStock,
useStockMovements,
useStockAnalytics,
useCreateIngredient,
useUpdateIngredient,
2025-09-17 16:06:30 +02:00
useSoftDeleteIngredient,
useHardDeleteIngredient,
useAddStock,
useUpdateStock,
useConsumeStock,
useCreateStockMovement,
inventoryKeys,
} from './hooks/inventory';
2025-10-06 15:27:01 +02:00
// Note: Classification hooks consolidated into inventory.ts hooks (useClassifyBatch)
// Note: Data Import hooks consolidated into sales.ts hooks (useValidateImportFile, useImportSalesData)
// Note: Inventory Dashboard and Food Safety hooks consolidated into inventory.ts hooks
// Hooks - Training
export {
useTrainingJobStatus,
useActiveModel,
useModels,
useModelMetrics,
useModelPerformance,
useTenantTrainingStatistics,
useCreateTrainingJob,
useTrainSingleProduct,
useDeleteAllTenantModels,
useTrainingWebSocket,
useIsTrainingInProgress,
useTrainingProgress,
trainingKeys,
} from './hooks/training';
// Hooks - Alert Processor
export {
useAlerts,
useAlert,
useAlertDashboardData,
useAlertProcessingStatus,
useNotificationSettings,
useChannelRoutingConfig,
useWebhooks,
useProcessingMetrics,
useUpdateAlert,
useDismissAlert,
useAcknowledgeAlert,
useResolveAlert,
useUpdateNotificationSettings,
useCreateWebhook,
useUpdateWebhook,
useDeleteWebhook,
useTestWebhook,
useAlertSSE,
useActiveAlertsCount,
useAlertsByPriority,
useUnreadAlertsCount,
alertProcessorKeys,
} from './hooks/alert_processor';
// Hooks - Suppliers
export {
useSuppliers,
useSupplier,
useSupplierStatistics,
useActiveSuppliers,
useTopSuppliers,
usePendingApprovalSuppliers,
useSuppliersByType,
usePurchaseOrders,
usePurchaseOrder,
useDeliveries,
useDelivery,
useSupplierPerformanceMetrics,
usePerformanceAlerts,
useCreateSupplier,
useUpdateSupplier,
useDeleteSupplier,
useApproveSupplier,
useCreatePurchaseOrder,
useUpdatePurchaseOrder,
useApprovePurchaseOrder,
useCreateDelivery,
useUpdateDelivery,
useConfirmDeliveryReceipt,
useCalculateSupplierPerformance,
useEvaluatePerformanceAlerts,
useSuppliersByStatus,
useSuppliersCount,
useActiveSuppliersCount,
usePendingOrdersCount,
suppliersKeys,
} from './hooks/suppliers';
2025-09-09 08:30:06 +02:00
// Hooks - Orders
export {
useOrders,
useOrder,
useCustomers,
useCustomer,
useOrdersDashboard,
useDemandRequirements,
useBusinessModelDetection,
useOrdersServiceStatus,
useCreateOrder,
useUpdateOrderStatus,
useCreateCustomer,
useUpdateCustomer,
useInvalidateOrders,
2025-11-01 21:35:03 +01:00
ordersKeys,
} from './hooks/orders';
// Hooks - Procurement
export {
// Queries
useProcurementDashboard,
useProcurementPlans,
useProcurementPlan,
useProcurementPlanByDate,
useCurrentProcurementPlan,
usePlanRequirements,
useCriticalRequirements,
2025-11-01 21:35:03 +01:00
// Mutations
useGenerateProcurementPlan,
2025-11-01 21:35:03 +01:00
useAutoGenerateProcurement,
useUpdateProcurementPlanStatus,
useRecalculateProcurementPlan,
useApproveProcurementPlan,
useRejectProcurementPlan,
useCreatePurchaseOrdersFromPlan,
useLinkRequirementToPurchaseOrder,
useUpdateRequirementDeliveryStatus,
2025-11-01 21:35:03 +01:00
// Query keys
procurementKeys,
} from './hooks/procurement';
2025-09-09 08:30:06 +02:00
2025-09-09 21:39:12 +02:00
// Hooks - Forecasting
export {
useTenantForecasts,
useForecastById,
useForecastStatistics,
useForecastingHealth,
useInfiniteTenantForecasts,
useCreateSingleForecast,
useCreateBatchForecast,
useDeleteForecast,
usePrefetchForecast,
useInvalidateForecasting,
forecastingKeys,
} from './hooks/forecasting';
2025-09-10 08:00:50 +02:00
// Hooks - Production
export {
useProductionDashboard,
useDailyProductionRequirements,
useProductionRequirements,
useActiveBatches,
useBatchDetails,
useProductionSchedule,
useCapacityStatus,
useYieldMetrics,
useCreateProductionBatch,
useUpdateBatchStatus,
useProductionDashboardData,
useProductionPlanningData,
2025-10-24 13:05:04 +02:00
useTriggerProductionScheduler,
2025-09-10 08:00:50 +02:00
productionKeys,
} from './hooks/production';
2025-09-11 18:21:32 +02:00
// Hooks - POS
export {
usePOSConfigurations,
usePOSConfiguration,
useSupportedPOSSystems,
useCreatePOSConfiguration,
useUpdatePOSConfiguration,
useDeletePOSConfiguration,
useTestPOSConnection,
usePOSTransactions,
usePOSTransaction,
useTriggerManualSync,
usePOSSyncStatus,
useDetailedSyncLogs,
useSyncSingleTransaction,
usePOSSyncAnalytics,
useResyncFailedTransactions,
usePOSSyncLogs,
usePOSWebhookLogs,
useWebhookStatus,
usePOSUtils,
usePOSConfigurationData,
usePOSConfigurationManager,
posKeys,
} from './hooks/pos';
// Hooks - Recipes
export {
useRecipe,
useRecipes,
useInfiniteRecipes,
useRecipeStatistics,
useRecipeCategories,
useRecipeFeasibility,
useCreateRecipe,
useUpdateRecipe,
useDeleteRecipe,
useDuplicateRecipe,
useActivateRecipe,
recipesKeys,
} from './hooks/recipes';
2025-10-30 21:08:07 +01:00
// Hooks - Orchestrator
export {
useRunDailyWorkflow,
} from './hooks/orchestrator';
// Note: All query key factories are already exported in their respective hook sections above