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:
@@ -25,6 +25,20 @@ export class UpdateCompanySettingDto {
|
||||
@Min(1)
|
||||
@Max(10_000)
|
||||
checkInRadiusMeters?: number;
|
||||
|
||||
@ApiPropertyOptional({ example: 5, minimum: 5, maximum: 300 })
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
@Min(5)
|
||||
@Max(300)
|
||||
gpsIntervalSeconds?: number;
|
||||
|
||||
@ApiPropertyOptional({ example: 200, minimum: 1, maximum: 10000 })
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
@Max(10_000)
|
||||
checkoutWarningRadiusMeters?: number;
|
||||
}
|
||||
|
||||
export class CompanySettingDto {
|
||||
@@ -37,6 +51,12 @@ export class CompanySettingDto {
|
||||
@ApiProperty({ example: 100 })
|
||||
checkInRadiusMeters!: number;
|
||||
|
||||
@ApiProperty({ example: 5 })
|
||||
gpsIntervalSeconds!: number;
|
||||
|
||||
@ApiProperty({ example: 200 })
|
||||
checkoutWarningRadiusMeters!: number;
|
||||
|
||||
@ApiProperty()
|
||||
status!: string;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user