Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | /** * Services Layer * * This module provides a centralized business logic layer for the application. * Services encapsulate complex operations and database interactions, keeping * API routes thin and focused on HTTP concerns. * * ## Service Pattern * * Each service: * - Uses static methods for stateless operations * - Handles database operations through Prisma * - Provides validation and business rule enforcement * - Logs significant events * - Throws descriptive errors for failure cases * * ## Usage * * ```typescript * import { CartService, OrderService, ProductService } from '@/services'; * * // In API route * const cart = await CartService.getCart(userId); * const order = await OrderService.create(orderData); * const product = await ProductService.getBySlug(slug); * ``` */ // Cart operations export { CartService } from './cart.service'; export type { TransformedCartItem, CartResponse, MergeResult, ConflictItem } from './cart.service'; // Order operations export { OrderService } from './order.service'; export type { OrderWithItems, OrderFilters, PaginationOptions as OrderPaginationOptions } from './order.service'; // Product operations export { ProductService } from './product.service'; export type { ProductWithDetails, ProductFilters, SortOptions, PaginationOptions as ProductPaginationOptions, PaginatedResult } from './product.service'; // Chat operations export { ChatService } from './chat.service'; export type { StartConversationOptions, SendMessageOptions, ChatAttachment, ConversationWithContext, StartConversationResult, AgentQueueStats } from './chat.service'; // Chatbot operations export { generateBotResponse, handleQuickReply, getSuggestedResponses, isPositiveSentiment, isFrustrated } from './chatbot.service'; export type { BotResponse, IntentMatch, QuickReplyOption } from './chatbot.service'; // Support Analytics operations export { SupportAnalyticsService } from './support-analytics.service'; export type { ChatMetrics, AgentPerformance, DailyMetrics, TimeRange, SupportAnalyticsSummary } from './support-analytics.service'; |