Files
property-match/src/mock-data/reviewQueue.ts
T
Benjamin Sutter 5ef8b9d69d feat(services): F005 – complete service layer
New domain types:
- shortlist.ts: Shortlist, ShortlistItem, CreateShortlistInput
- review.ts: ReviewQueueItem, ReviewPriority, ReviewQueueStatus

New mock data:
- shortlists.ts: 2 sample shortlists
- reviewQueue.ts: 3 pending review items

New providers (interface + mockup):
- IShortlistProvider / MockupShortlistProvider (with 150ms latency)
- IReviewProvider / MockupReviewProvider (priority-sorted, with latency)
- IDashboardProvider / MockupDashboardProvider (computed from all mock data)

New services:
- reviewService: getQueue, approve, reject, assign
- shortlistService: CRUD + addItem/removeItem
- authService: wraps sessionStore, swappable for real auth
- dashboardService: getStats(organizationId?)

Enhancements:
- types.ts: typed ServiceErrorCode + ServiceError, Pagination alias
- aiService.ts: openRouterAIService stub (throws ai_generation_failed)
- lib/mockUtils.ts: mockDelay(ms) utility

New hooks:
- useUnifiedResults(needId?): joins matches+properties+signals → UnifiedMatchResult[]
- useReviewQueue: + useApproveReviewItem + useRejectReviewItem
- useMatchDetail, usePropertyDetail, useNeedProfiles aliases

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 11:12:06 +02:00

44 lines
1.0 KiB
TypeScript

import type { ReviewQueueItem } from '../domain/review'
export const mockReviewQueue: ReviewQueueItem[] = [
{
id: 'review-001',
matchId: 'match-001',
needId: 'need-001',
propertyId: 'prop-001',
matchScore: 88,
priority: 'HIGH',
status: 'PENDING',
assignedTo: 'user-001',
dueAt: '2025-06-15T17:00:00Z',
organizationId: 'org-wincasa',
createdAt: '2025-05-10T08:00:00Z',
updatedAt: '2025-05-10T08:00:00Z',
},
{
id: 'review-002',
matchId: 'match-002',
needId: 'need-001',
propertyId: 'prop-004',
matchScore: 64,
priority: 'MEDIUM',
status: 'PENDING',
dueAt: '2025-06-20T17:00:00Z',
organizationId: 'org-wincasa',
createdAt: '2025-05-10T08:15:00Z',
updatedAt: '2025-05-10T08:15:00Z',
},
{
id: 'review-003',
matchId: 'match-004',
needId: 'need-002',
propertyId: 'prop-006',
matchScore: 47,
priority: 'LOW',
status: 'PENDING',
organizationId: 'org-wincasa',
createdAt: '2025-05-11T09:00:00Z',
updatedAt: '2025-05-11T09:00:00Z',
},
]