All files / src/services index.ts

0% Statements 0/89
100% Branches 0/0
0% Functions 0/1
0% Lines 0/89

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';