feat: Add resource count tracking to import responses#205
Merged
roncodes merged 1 commit intodev-v0.6.36from Feb 12, 2026
Merged
feat: Add resource count tracking to import responses#205roncodes merged 1 commit intodev-v0.6.36from
roncodes merged 1 commit intodev-v0.6.36from
Conversation
Implements import count tracking across all import operations to enable
accurate analytics event tracking in PostHog.
Changes:
Import Classes (8 files):
- Added public $imported counter property to track successfully imported rows
- Incremented counter for each processed row in collection() method
- Files: ContactImport, DriverImport, FleetImport, FuelReportImport,
IssueImport, PlaceImport, VehicleImport, VendorImport
Controllers (8 files):
- Added $importedCount variable to accumulate counts across multiple files
- Instantiate import class to access the counter
- Return 'imported' field in JSON response with total count
- Files: ContactController, DriverController, FleetController,
FuelReportController, IssueController, PlaceController,
VehicleController, VendorController
Response Format:
{
"status": "ok",
"message": "Import completed",
"imported": 47
}
Benefits:
- Frontend can now track exact import counts in PostHog analytics
- Better UX - users see how many records were imported
- Consistent with existing patterns (OrderController.importFromFiles)
- Enables accurate resource.imported event tracking
Related:
- Complements ember-core events service implementation
- Supports PostHog analytics integration in internals
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎯 Feature Enhancement
Adds resource count tracking to all import operations, enabling accurate analytics event tracking in PostHog and providing better user feedback.
📋 Problem
The frontend
events.trackResourceImported()method expects animportedcount in the response:However, backend import endpoints were returning generic responses without any count data:
{ "status": "ok", "message": "Import completed" }This forced the frontend to fall back to
files.length, which is inaccurate since:✅ Solution
Implemented count tracking at both the import class and controller levels:
Import Classes (8 files)
public int $imported = 0propertyContactImport,DriverImport,FleetImport,FuelReportImport,IssueImport,PlaceImport,VehicleImport,VendorImportControllers (8 files)
$importedCountvariable to accumulate across multiple filesContactController,DriverController,FleetController,FuelReportController,IssueController,PlaceController,VehicleController,VendorController🔧 Implementation Example
Before:
After:
📊 Response Format
{ "status": "ok", "message": "Import completed", "imported": 47 }✅ Benefits
OrderController.importFromFiles()pattern📁 Files Changed
Import Classes (8):
server/src/Imports/ContactImport.phpserver/src/Imports/DriverImport.phpserver/src/Imports/FleetImport.phpserver/src/Imports/FuelReportImport.phpserver/src/Imports/IssueImport.phpserver/src/Imports/PlaceImport.phpserver/src/Imports/VehicleImport.phpserver/src/Imports/VendorImport.phpControllers (8):
server/src/Http/Controllers/Internal/v1/ContactController.phpserver/src/Http/Controllers/Internal/v1/DriverController.phpserver/src/Http/Controllers/Internal/v1/FleetController.phpserver/src/Http/Controllers/Internal/v1/FuelReportController.phpserver/src/Http/Controllers/Internal/v1/IssueController.phpserver/src/Http/Controllers/Internal/v1/PlaceController.phpserver/src/Http/Controllers/Internal/v1/VehicleController.phpserver/src/Http/Controllers/Internal/v1/VendorController.phpTotal: 16 files modified
🔗 Related
ember-coreevents service implementationinternals