refactor(data): migrate project ids to PRJ-2026-### (with inbound FKs)
This commit is contained in:
+47
-47
@@ -1045,10 +1045,10 @@ const MOCK_OWNERS = [
|
||||
openRFIs: 1,
|
||||
disputes: 1,
|
||||
upcomingMilestones: [
|
||||
{ name: 'Shingle Install Complete', project: '2604 Dunwick Dr', dueDate: '2026-02-14', projectId: 'proj_001' },
|
||||
{ name: 'Electrical Hookup', project: '6613 Phoenix Pl', dueDate: '2026-02-14', projectId: 'proj_003' },
|
||||
{ name: 'Flooring and Trim', project: '2612 Dunwick Dr', dueDate: '2026-02-18', projectId: 'proj_004' },
|
||||
{ name: 'Panel Replacement', project: '3913 Arizona Pl', dueDate: '2026-02-20', projectId: 'proj_006' }
|
||||
{ name: 'Shingle Install Complete', project: '2604 Dunwick Dr', dueDate: '2026-02-14', projectId: 'PRJ-2026-001' },
|
||||
{ name: 'Electrical Hookup', project: '6613 Phoenix Pl', dueDate: '2026-02-14', projectId: 'PRJ-2026-003' },
|
||||
{ name: 'Flooring and Trim', project: '2612 Dunwick Dr', dueDate: '2026-02-18', projectId: 'PRJ-2026-004' },
|
||||
{ name: 'Panel Replacement', project: '3913 Arizona Pl', dueDate: '2026-02-20', projectId: 'PRJ-2026-006' }
|
||||
],
|
||||
cashFlowForecast: [
|
||||
{ month: 'Mar 2026', inflow: 45000, outflow: 38000 },
|
||||
@@ -1101,10 +1101,10 @@ const MOCK_OWNERS = [
|
||||
openRFIs: 3,
|
||||
disputes: 2,
|
||||
upcomingMilestones: [
|
||||
{ name: 'Section A - TPO Install', project: '6909 Custer Rd', dueDate: '2026-02-28', projectId: 'proj_007' },
|
||||
{ name: 'Final Grade and Drainage', project: '2112 Winslow Dr', dueDate: '2026-02-10', projectId: 'proj_008' },
|
||||
{ name: 'Floor 2 Installation', project: '7224 Independence Pkwy', dueDate: '2026-02-14', projectId: 'proj_009' },
|
||||
{ name: 'Waterproofing Application', project: 'Legacy Town Center', dueDate: '2026-02-12', projectId: 'proj_011' }
|
||||
{ name: 'Section A - TPO Install', project: '6909 Custer Rd', dueDate: '2026-02-28', projectId: 'PRJ-2026-007' },
|
||||
{ name: 'Final Grade and Drainage', project: '2112 Winslow Dr', dueDate: '2026-02-10', projectId: 'PRJ-2026-008' },
|
||||
{ name: 'Floor 2 Installation', project: '7224 Independence Pkwy', dueDate: '2026-02-14', projectId: 'PRJ-2026-009' },
|
||||
{ name: 'Waterproofing Application', project: 'Legacy Town Center', dueDate: '2026-02-12', projectId: 'PRJ-2026-011' }
|
||||
],
|
||||
cashFlowForecast: [
|
||||
{ month: 'Mar 2026', inflow: 95000, outflow: 72000 },
|
||||
@@ -1404,7 +1404,7 @@ const MOCK_ORDERS = [
|
||||
{
|
||||
id: 'ORD-001',
|
||||
vendorId: 'v3',
|
||||
projectId: 'proj_001',
|
||||
projectId: 'PRJ-2026-001',
|
||||
projectAddress: '2604 Dunwick Dr, Plano, TX 75023',
|
||||
orderDate: '2026-01-18',
|
||||
dueDate: '2026-01-28',
|
||||
@@ -1458,7 +1458,7 @@ const MOCK_ORDERS = [
|
||||
{
|
||||
id: 'ORD-002',
|
||||
vendorId: 'v3',
|
||||
projectId: 'proj_002',
|
||||
projectId: 'PRJ-2026-002',
|
||||
projectAddress: '2617 Rothland Ln, Plano, TX 75023',
|
||||
orderDate: '2025-11-10',
|
||||
dueDate: '2025-11-20',
|
||||
@@ -1512,7 +1512,7 @@ const MOCK_ORDERS = [
|
||||
{
|
||||
id: 'ORD-003',
|
||||
vendorId: 'v6',
|
||||
projectId: 'proj_003',
|
||||
projectId: 'PRJ-2026-003',
|
||||
projectAddress: '6613 Phoenix Pl, Plano, TX 75023',
|
||||
orderDate: '2026-01-25',
|
||||
dueDate: '2026-02-08',
|
||||
@@ -1565,7 +1565,7 @@ const MOCK_ORDERS = [
|
||||
{
|
||||
id: 'ORD-004',
|
||||
vendorId: 'v5',
|
||||
projectId: 'proj_008',
|
||||
projectId: 'PRJ-2026-008',
|
||||
projectAddress: '2112 Winslow Dr, Plano, TX 75023',
|
||||
orderDate: '2025-12-02',
|
||||
dueDate: '2025-12-15',
|
||||
@@ -1620,7 +1620,7 @@ const MOCK_ORDERS = [
|
||||
{
|
||||
id: 'ORD-005',
|
||||
vendorId: 'v3',
|
||||
projectId: 'proj_007',
|
||||
projectId: 'PRJ-2026-007',
|
||||
projectAddress: '6909 Custer Rd, Plano, TX 75023',
|
||||
orderDate: '2026-02-01',
|
||||
dueDate: '2026-02-14',
|
||||
@@ -1682,7 +1682,7 @@ const MOCK_ORDERS = [
|
||||
{
|
||||
id: 'ORD-006',
|
||||
vendorId: 'v4',
|
||||
projectId: 'proj_012',
|
||||
projectId: 'PRJ-2026-012',
|
||||
projectAddress: 'Dallas/Plano Marriott at Legacy Town Center, 7121 Bishop Rd, Plano, TX 75024',
|
||||
orderDate: '2026-01-15',
|
||||
dueDate: '2026-01-30',
|
||||
@@ -1746,7 +1746,7 @@ const MOCK_ORDERS = [
|
||||
{
|
||||
id: 'ORD-007',
|
||||
vendorId: 'v3',
|
||||
projectId: 'proj_004',
|
||||
projectId: 'PRJ-2026-004',
|
||||
projectAddress: '2612 Dunwick Dr, Plano, TX 75023',
|
||||
orderDate: '2026-02-15',
|
||||
dueDate: '2026-02-28',
|
||||
@@ -1772,7 +1772,7 @@ const MOCK_ORDERS = [
|
||||
{
|
||||
id: 'ORD-008',
|
||||
vendorId: 'v3',
|
||||
projectId: 'proj_009',
|
||||
projectId: 'PRJ-2026-009',
|
||||
projectAddress: '7224 Independence Pkwy, Plano, TX 75025',
|
||||
orderDate: '2026-02-10',
|
||||
dueDate: '2026-02-22',
|
||||
@@ -1804,7 +1804,7 @@ const MOCK_VENDOR_INVOICES = [
|
||||
id: 'INV-2026-001',
|
||||
vendorId: 'v3',
|
||||
orderId: 'ORD-002',
|
||||
projectId: 'proj_002',
|
||||
projectId: 'PRJ-2026-002',
|
||||
project: '2617 Rothland Ln, Plano, TX 75023',
|
||||
invoiceDate: '2025-11-22',
|
||||
dueDate: '2025-12-07',
|
||||
@@ -1817,7 +1817,7 @@ const MOCK_VENDOR_INVOICES = [
|
||||
id: 'INV-2026-002',
|
||||
vendorId: 'v3',
|
||||
orderId: 'ORD-001',
|
||||
projectId: 'proj_001',
|
||||
projectId: 'PRJ-2026-001',
|
||||
project: '2604 Dunwick Dr, Plano, TX 75023',
|
||||
invoiceDate: '2026-01-28',
|
||||
dueDate: '2026-02-12',
|
||||
@@ -1830,7 +1830,7 @@ const MOCK_VENDOR_INVOICES = [
|
||||
id: 'INV-2026-003',
|
||||
vendorId: 'v6',
|
||||
orderId: 'ORD-003',
|
||||
projectId: 'proj_003',
|
||||
projectId: 'PRJ-2026-003',
|
||||
project: '6613 Phoenix Pl, Plano, TX 75023',
|
||||
invoiceDate: '2026-02-04',
|
||||
dueDate: '2026-02-19',
|
||||
@@ -1843,7 +1843,7 @@ const MOCK_VENDOR_INVOICES = [
|
||||
id: 'INV-2026-004',
|
||||
vendorId: 'v5',
|
||||
orderId: 'ORD-004',
|
||||
projectId: 'proj_008',
|
||||
projectId: 'PRJ-2026-008',
|
||||
project: '2112 Winslow Dr, Plano, TX 75023',
|
||||
invoiceDate: '2025-12-16',
|
||||
dueDate: '2025-12-31',
|
||||
@@ -1856,7 +1856,7 @@ const MOCK_VENDOR_INVOICES = [
|
||||
id: 'INV-2026-005',
|
||||
vendorId: 'v3',
|
||||
orderId: 'ORD-005',
|
||||
projectId: 'proj_007',
|
||||
projectId: 'PRJ-2026-007',
|
||||
project: '6909 Custer Rd, Plano, TX 75023',
|
||||
invoiceDate: '2026-02-03',
|
||||
dueDate: '2026-02-18',
|
||||
@@ -1869,7 +1869,7 @@ const MOCK_VENDOR_INVOICES = [
|
||||
id: 'INV-2026-006',
|
||||
vendorId: 'v4',
|
||||
orderId: 'ORD-006',
|
||||
projectId: 'proj_012',
|
||||
projectId: 'PRJ-2026-012',
|
||||
project: 'Dallas/Plano Marriott, 7121 Bishop Rd, Plano, TX 75024',
|
||||
invoiceDate: '2026-01-30',
|
||||
dueDate: '2026-02-14',
|
||||
@@ -1882,7 +1882,7 @@ const MOCK_VENDOR_INVOICES = [
|
||||
id: 'INV-2026-007',
|
||||
vendorId: 'v1',
|
||||
orderId: 'ORD-LABOR-001',
|
||||
projectId: 'proj_004',
|
||||
projectId: 'PRJ-2026-004',
|
||||
project: '2612 Dunwick Dr, Plano, TX 75023',
|
||||
invoiceDate: '2026-02-10',
|
||||
dueDate: '2026-02-25',
|
||||
@@ -1895,7 +1895,7 @@ const MOCK_VENDOR_INVOICES = [
|
||||
id: 'INV-2026-008',
|
||||
vendorId: 'v3',
|
||||
orderId: 'ORD-MAT-006',
|
||||
projectId: 'proj_006',
|
||||
projectId: 'PRJ-2026-006',
|
||||
project: '3913 Arizona Pl, Plano, TX 75023',
|
||||
invoiceDate: '2026-02-07',
|
||||
dueDate: '2026-02-22',
|
||||
@@ -1908,7 +1908,7 @@ const MOCK_VENDOR_INVOICES = [
|
||||
id: 'INV-2025-045',
|
||||
vendorId: 'v1',
|
||||
orderId: 'ORD-HIST-001',
|
||||
projectId: 'proj_010',
|
||||
projectId: 'PRJ-2026-010',
|
||||
project: '2100 Legacy Dr, Plano, TX 75023',
|
||||
invoiceDate: '2025-10-15',
|
||||
dueDate: '2025-10-30',
|
||||
@@ -1921,7 +1921,7 @@ const MOCK_VENDOR_INVOICES = [
|
||||
id: 'INV-2025-046',
|
||||
vendorId: 'v3',
|
||||
orderId: 'ORD-HIST-002',
|
||||
projectId: 'proj_010',
|
||||
projectId: 'PRJ-2026-010',
|
||||
project: '2100 Legacy Dr, Plano, TX 75023',
|
||||
invoiceDate: '2025-10-02',
|
||||
dueDate: '2025-10-17',
|
||||
@@ -2123,7 +2123,7 @@ const MOCK_PROJECTS = [
|
||||
|
||||
// Project 1: Active, on track, healthy budget
|
||||
{
|
||||
id: 'proj_001',
|
||||
id: 'PRJ-2026-001',
|
||||
ownerId: 'own_001',
|
||||
propertyId: 'P-2602',
|
||||
address: '2604 Dunwick Dr, Plano, TX 75023',
|
||||
@@ -2206,7 +2206,7 @@ const MOCK_PROJECTS = [
|
||||
|
||||
// Project 2: Completed, zero variance (perfectly on budget)
|
||||
{
|
||||
id: 'proj_002',
|
||||
id: 'PRJ-2026-002',
|
||||
ownerId: 'own_001',
|
||||
propertyId: 'P-2608',
|
||||
address: '2617 Rothland Ln, Plano, TX 75023',
|
||||
@@ -2259,7 +2259,7 @@ const MOCK_PROJECTS = [
|
||||
|
||||
// Project 3: Delayed with missed milestone
|
||||
{
|
||||
id: 'proj_003',
|
||||
id: 'PRJ-2026-003',
|
||||
ownerId: 'own_001',
|
||||
propertyId: 'P-2610',
|
||||
address: '6613 Phoenix Pl, Plano, TX 75023',
|
||||
@@ -2339,7 +2339,7 @@ const MOCK_PROJECTS = [
|
||||
|
||||
// Project 4: Active, on track, under budget
|
||||
{
|
||||
id: 'proj_004',
|
||||
id: 'PRJ-2026-004',
|
||||
ownerId: 'own_001',
|
||||
propertyId: 'P-2600',
|
||||
address: '2612 Dunwick Dr, Plano, TX 75023',
|
||||
@@ -2430,7 +2430,7 @@ const MOCK_PROJECTS = [
|
||||
|
||||
// Project 5: On Hold with pending dispute
|
||||
{
|
||||
id: 'proj_005',
|
||||
id: 'PRJ-2026-005',
|
||||
ownerId: 'own_001',
|
||||
propertyId: 'P-2601',
|
||||
address: '2608 Dunwick Dr, Plano, TX 75023',
|
||||
@@ -2507,7 +2507,7 @@ const MOCK_PROJECTS = [
|
||||
|
||||
// Project 6: Active, on track, early stage
|
||||
{
|
||||
id: 'proj_006',
|
||||
id: 'PRJ-2026-006',
|
||||
ownerId: 'own_001',
|
||||
propertyId: 'P-2625',
|
||||
address: '3913 Arizona Pl, Plano, TX 75023',
|
||||
@@ -2570,7 +2570,7 @@ const MOCK_PROJECTS = [
|
||||
|
||||
// Project 7: Active, on track, healthy budget (commercial)
|
||||
{
|
||||
id: 'proj_007',
|
||||
id: 'PRJ-2026-007',
|
||||
ownerId: 'own_002',
|
||||
propertyId: 'P-2640',
|
||||
address: '6909 Custer Rd, Plano, TX 75023',
|
||||
@@ -2670,7 +2670,7 @@ const MOCK_PROJECTS = [
|
||||
|
||||
// Project 8: Active, on track, under budget
|
||||
{
|
||||
id: 'proj_008',
|
||||
id: 'PRJ-2026-008',
|
||||
ownerId: 'own_002',
|
||||
propertyId: 'P-2641',
|
||||
address: '2112 Winslow Dr, Plano, TX 75023',
|
||||
@@ -2737,7 +2737,7 @@ const MOCK_PROJECTS = [
|
||||
|
||||
// Project 9: Delayed with missed milestone
|
||||
{
|
||||
id: 'proj_009',
|
||||
id: 'PRJ-2026-009',
|
||||
ownerId: 'own_002',
|
||||
propertyId: 'P-2642',
|
||||
address: '7224 Independence Pkwy, Plano, TX 75025',
|
||||
@@ -2797,7 +2797,7 @@ const MOCK_PROJECTS = [
|
||||
|
||||
// Project 10: Completed, zero variance
|
||||
{
|
||||
id: 'proj_010',
|
||||
id: 'PRJ-2026-010',
|
||||
ownerId: 'own_002',
|
||||
propertyId: 'P-2656',
|
||||
address: '2100 Legacy Dr, Plano, TX 75023',
|
||||
@@ -2858,7 +2858,7 @@ const MOCK_PROJECTS = [
|
||||
|
||||
// Project 11: Disputed with open change orders and unresolved issues
|
||||
{
|
||||
id: 'proj_011',
|
||||
id: 'PRJ-2026-011',
|
||||
ownerId: 'own_002',
|
||||
propertyId: 'P-2645',
|
||||
address: 'Legacy Town Center, 5760 Daniel Rd, Plano, TX 75024',
|
||||
@@ -2927,7 +2927,7 @@ const MOCK_PROJECTS = [
|
||||
|
||||
// Project 12: On Hold
|
||||
{
|
||||
id: 'proj_012',
|
||||
id: 'PRJ-2026-012',
|
||||
ownerId: 'own_002',
|
||||
propertyId: 'P-2644',
|
||||
address: 'Dallas/Plano Marriott at Legacy Town Center, 7121 Bishop Rd, Plano, TX 75024',
|
||||
@@ -5356,7 +5356,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [
|
||||
at: '2026-05-16T14:20:00Z',
|
||||
},
|
||||
],
|
||||
projectId: 'proj_004',
|
||||
projectId: 'PRJ-2026-004',
|
||||
paymentStatus: 'Unpaid',
|
||||
paymentRequestedAt: '2026-05-16T17:30:00Z',
|
||||
createdAt: '2026-05-15T09:12:00Z',
|
||||
@@ -5448,7 +5448,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [
|
||||
at: '2026-05-12T16:00:00Z',
|
||||
},
|
||||
],
|
||||
projectId: 'proj_003',
|
||||
projectId: 'PRJ-2026-003',
|
||||
paymentStatus: 'Unpaid',
|
||||
paymentRequestedAt: '2026-05-12T17:00:00Z',
|
||||
createdAt: '2026-05-10T15:40:00Z',
|
||||
@@ -5489,7 +5489,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [
|
||||
fees: [
|
||||
{ id: 'sct_003_f1', description: 'Touch-up paint labour', type: 'Labour / Service Fee', amount: 180, createdAt: '2026-05-14T17:35:00Z' },
|
||||
],
|
||||
projectId: 'proj_006',
|
||||
projectId: 'PRJ-2026-006',
|
||||
paymentStatus: 'Paid',
|
||||
paymentRequestedAt: '2026-05-14T17:35:00Z',
|
||||
paidAt: '2026-05-18T10:15:00Z',
|
||||
@@ -5528,7 +5528,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [
|
||||
],
|
||||
expenses: [],
|
||||
fees: [],
|
||||
projectId: 'proj_001',
|
||||
projectId: 'PRJ-2026-001',
|
||||
paymentStatus: 'Unpaid',
|
||||
paymentRequestedAt: null,
|
||||
createdAt: '2026-05-18T22:40:00Z',
|
||||
@@ -5597,7 +5597,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [
|
||||
at: '2026-05-15T16:00:00Z',
|
||||
},
|
||||
],
|
||||
projectId: 'proj_007',
|
||||
projectId: 'PRJ-2026-007',
|
||||
paymentStatus: 'Unpaid',
|
||||
paymentRequestedAt: '2026-05-14T13:00:00Z',
|
||||
createdAt: '2026-05-12T10:00:00Z',
|
||||
@@ -5628,7 +5628,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [
|
||||
thread: [],
|
||||
expenses: [],
|
||||
fees: [],
|
||||
projectId: 'proj_009',
|
||||
projectId: 'PRJ-2026-009',
|
||||
paymentStatus: 'Unpaid',
|
||||
paymentRequestedAt: null,
|
||||
createdAt: '2026-05-17T14:00:00Z',
|
||||
@@ -5671,7 +5671,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [
|
||||
fees: [
|
||||
{ id: 'sct_007_f1', description: 'Labour — deck repair (2 days)', type: 'Labour / Service Fee', amount: 920, createdAt: '2026-05-07T16:50:00Z' },
|
||||
],
|
||||
projectId: 'proj_001',
|
||||
projectId: 'PRJ-2026-001',
|
||||
paymentStatus: 'Paid',
|
||||
paymentRequestedAt: '2026-05-07T16:50:00Z',
|
||||
paidAt: '2026-05-12T14:00:00Z',
|
||||
@@ -5754,7 +5754,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [
|
||||
at: '2026-05-19T12:30:00Z',
|
||||
},
|
||||
],
|
||||
projectId: 'proj_004',
|
||||
projectId: 'PRJ-2026-004',
|
||||
paymentStatus: 'Unpaid',
|
||||
paymentRequestedAt: '2026-05-19T12:35:00Z',
|
||||
createdAt: '2026-05-16T13:00:00Z',
|
||||
@@ -5791,7 +5791,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [
|
||||
expenses: [],
|
||||
fees: [],
|
||||
activities: [],
|
||||
projectId: 'proj_006',
|
||||
projectId: 'PRJ-2026-006',
|
||||
paymentStatus: 'Unpaid',
|
||||
paymentRequestedAt: null,
|
||||
createdAt: '2026-05-20T09:00:00Z',
|
||||
|
||||
Reference in New Issue
Block a user