import { Injectable } from "@nestjs/common"; import { InjectRepository } from "@nestjs/typeorm"; import { Repository } from "typeorm"; import { TrackingEvent } from "./entities/tracking-event.entity"; @Injectable() export class TrackingService { constructor( @InjectRepository(TrackingEvent) private readonly trackingRepository: Repository, ) {} /** Get the full timeline of tracking events for a consignment. */ findByConsignment(consignmentId: string): Promise { return this.trackingRepository.find({ where: { consignmentId }, order: { occurredAt: "ASC" }, }); } /** Record a new tracking event for a consignment. */ record(event: Partial): Promise { const entity = this.trackingRepository.create(event); return this.trackingRepository.save(entity); } }