4.1 KiB
TypeId Verification Report
✅ All TypeId Conflicts Resolved
Changes Made
-
storage_constants.dart - Added new typeIds:
memberCardModel = 25promotionModel = 26categoryModel = 27
-
member_card_model.dart - Changed from hardcoded
typeId: 10totypeId: HiveTypeIds.memberCardModel(25) -
promotion_model.dart - Changed from hardcoded
typeId: 11totypeId: HiveTypeIds.promotionModel(26) -
category_model.dart - Changed from hardcoded
typeId: 12totypeId: HiveTypeIds.categoryModel(27)
TypeId Range Summary
Core Models: 0-9 (10 slots, all assigned)
Loyalty Models: 10-13 (4 slots, all assigned)
Project/Quote: 14-17 (4 slots, all assigned)
Chat: 18-19 (2 slots, all assigned)
Extended Models: 20-27 (8 used, 2 available: 28-29)
Enums: 30-51 (22 assigned, 8 available: 52-59)
Cache/Sync: 60-62 (3 assigned, 7 available: 63-69)
Reserved Future: 70-99 (30 slots available)
Special: 100 (2 values - max cache size config)
Unique TypeIds Assigned (0-69)
Models: 0-27
0 = userModel
1 = userSessionModel
2 = productModel
3 = stockLevelModel
4 = cartModel
5 = cartItemModel
6 = orderModel
7 = orderItemModel
8 = invoiceModel
9 = paymentLineModel
10 = loyaltyPointEntryModel
11 = giftCatalogModel
12 = redeemedGiftModel
13 = pointsRecordModel
14 = projectSubmissionModel
15 = designRequestModel
16 = quoteModel
17 = quoteItemModel
18 = chatRoomModel
19 = messageModel
20 = notificationModel
21 = showroomModel
22 = showroomProductModel
23 = paymentReminderModel
24 = auditLogModel
25 = memberCardModel ✨ (NEW - was conflicting at 10)
26 = promotionModel ✨ (NEW - was conflicting at 11)
27 = categoryModel ✨ (NEW - was conflicting at 12)
Enums: 30-51
30 = userRole
31 = userStatus
32 = loyaltyTier
33 = orderStatus
34 = invoiceType
35 = invoiceStatus
36 = paymentMethod
37 = paymentStatus
38 = entryType
39 = entrySource
40 = complaintStatus
41 = giftCategory
42 = giftStatus
43 = pointsStatus
44 = projectType
45 = submissionStatus
46 = designStatus
47 = quoteStatus
48 = roomType
49 = contentType
50 = reminderType
51 = notificationType
Cache/Sync: 60-62
60 = cachedData
61 = syncState
62 = offlineRequest
Aliases (Reference existing typeIds)
memberTier = loyaltyTier (32)
userType = userRole (30)
projectStatus = submissionStatus (45)
transactionType = entryType (38)
✅ No Duplicates Found
Verified using command:
grep "static const int" lib/core/constants/storage_constants.dart | awk '{print $5}' | sort | uniq -d
Result: No duplicate values
✅ No Hardcoded TypeIds Found
Verified using command:
grep -r "@HiveType(typeId: [0-9]" lib/
Result: No hardcoded typeIds in lib/ directory
✅ All Models Use Constants
Verified that all 47+ models now use HiveTypeIds.constantName format:
- ✅ All auth models
- ✅ All product models
- ✅ All cart models
- ✅ All order models
- ✅ All loyalty models
- ✅ All project models
- ✅ All quote models
- ✅ All chat models
- ✅ All showroom models
- ✅ All notification models
- ✅ All enum types
- ✅ All cache models
Next Actions Required
1. Regenerate Hive Adapters
flutter pub run build_runner build --delete-conflicting-outputs
This will regenerate:
member_card_model.g.dartwith new typeId 25promotion_model.g.dartwith new typeId 26category_model.g.dartwith new typeId 27
2. Clear Development Data (Optional)
If testing locally, you may want to clear existing Hive boxes:
await Hive.deleteBoxFromDisk('home_box');
await Hive.deleteBoxFromDisk('products_box');
3. Test the App
Run the app and verify:
- ✅ No HiveError about duplicate typeIds
- ✅ Member cards load correctly
- ✅ Promotions load correctly
- ✅ Product categories load correctly
- ✅ All Hive operations work as expected
Status: ✅ READY FOR ADAPTER GENERATION
All typeId conflicts have been resolved. The codebase is now ready for running the build_runner to regenerate adapters.