Add timeline tracking features with database schema updates

- Introduced new tables `timeline_footprints` and `timeline_activities` to manage employee location data and activity records.
- Updated `company_settings` to include `gps_interval_seconds` and `checkout_warning_radius_meters` for enhanced tracking configuration.
- Implemented foreign key constraints to ensure data integrity between new tables and existing `employees`, `customers`, and `visits` tables.
- Created services and controllers for handling timeline activities and footprints, including ingestion and retrieval of data.
- Enhanced DTOs and validation logic to support new fields and ensure correct data formats in API requests.
- Added unit and integration tests to validate the new functionalities and ensure proper handling of timeline records.
- Created migration scripts to apply the necessary database schema changes for the new features.
This commit is contained in:
shancheas
2026-09-01 20:36:47 +07:00
parent 9428a983f5
commit 4b48dbdf3c
37 changed files with 1477 additions and 2 deletions
+3
View File
@@ -25,6 +25,7 @@ import { VisitsWriteController } from './visits/visits-write.controller';
import { VisitsRepository } from './visits/visits.repository';
import { VisitsService } from './visits/visits.service';
import { FieldPrivilegeGuard } from './shared/field-privilege.guard';
import { TimelineModule } from './timeline/timeline.module';
@Module({
imports: [
@@ -34,6 +35,7 @@ import { FieldPrivilegeGuard } from './shared/field-privilege.guard';
CustomersModule,
SalesInvoicesModule,
PackingSlipsModule,
TimelineModule,
],
controllers: [
CompanySettingsController,
@@ -65,6 +67,7 @@ import { FieldPrivilegeGuard } from './shared/field-privilege.guard';
CyclesService,
PlansService,
VisitsService,
TimelineModule,
],
})
export class FieldModule {}