Skip to content

VSN-1988 : Using previouslt defined prepared passengers export batch to finalize & Expose exportation feature via controller.

yassine.elazami a demandé de fusionner VSN-1988 vers develop

Exportation Feature — Detailed Merge Request Description

Overview

This merge request introduces the complete implementation of the exportation feature within the preparation module. It delivers the core service definition, its implementation, utility components for resolving identifiers, the execution workflow for export initiation, file generation capabilities, and the final exposure of the functionality through REST endpoints. The work also includes auditing adjustments and documentation updates to ensure clarity and traceability.


Scope and Objectives

The primary objectives of this merge request are:

  • Provide a structured service layer responsible for handling export operations.
  • Enable the generation of export files based on prepared passenger data.
  • Offer utilities that translate user-friendly inputs (such as names or codes) into internal identifiers.
  • Expose the export feature through a clear and accessible API endpoint.
  • Ensure auditing consistency by specifying proper sheet metadata.
  • Maintain documentation accuracy through changelog updates.

Included Changes

1. feat(exportation) : Exportation service

  • Defined the core methods required for export handling.
  • Established the contract for starting an export and retrieving data intended for export.
  • Provided a foundational interface used across the exportation workflow.

2. feat(exporation) : Exportation service impl

  • Added the concrete implementation of the exportation service.
  • Implemented business logic for extracting prepared passenger data.
  • Connected the service layer to dependent utilities and repositories.

3. feat(utility) : Department utility

  • Introduced a utility component responsible for resolving department identifiers by name.
  • Simplified lookup operations for export filtering based on department information.

4. feat(utility) : Circuit utility

  • Added utility logic to retrieve circuit identifiers using circuit codes.
  • Facilitated export scenarios requiring circuit-based filtering.

5. feat(utility) : Establishment utility

  • Added identifier resolution for establishments based on their names.
  • Supported exports scoped to a specific establishment.

6. feat(exportation) : Starting Exportation

  • Implemented the startExport service method.
  • Defined the initial execution pipeline for launching an export process.
  • Prepared the necessary flow to build and assemble export data.

7. feat(exportation) : File exportation

  • Added the functionality responsible for generating export files.
  • Enabled transformation of extracted data into a file format suitable for download.
  • Ensured structured formatting aligned with export requirements.

8. feat(exportation) : Exposing feature

  • Exposed the exportation workflow through a REST controller.
  • Provided an HTTP entry point to trigger the export process externally.
  • Enabled client applications to consume the new feature.

9. refactor(exportation) : Endpoint + Audit info

  • Updated the exportation endpoint to a finalized and consistent route.
  • Specified the sheet type as "Preparation Usager" to ensure correct auditing metadata.
  • Improved traceability and logging for export activities.

10. docs(changelog) : Changelog update

  • Updated the changelog markdown file.
  • Documented all changes introduced in this feature for transparency and future reference.

Impact

  • Introduces a complete export pipeline from data extraction to file generation and API exposure.
  • Improves data accessibility for operational usage and reporting.
  • Enhances maintainability through clear separation between service logic and utility components.
  • Ensures auditing accuracy for exported data.

Testing and Validation

  • Successful execution paths validated for service methods and file generation.
  • Verified identifier resolution utilities for realistic name/code inputs.
  • Confirmed endpoint accessibility and proper export triggering.
  • Ensured exported files are correctly generated and formatted.

Next Steps and Possible Enhancements

  • Support for additional file formats.
  • Pagination or filtering options for large datasets.
  • Export job tracking or asynchronous processing.
  • UI integration for manual export triggering.

Conclusion

This merge request delivers the complete exportation capability required to extract, format, and expose prepared passenger data. It lays a solid foundation for future enhancements while providing a production-ready workflow backed by proper auditing and documentation.

Closes VSN-1988

Rapports de requête de fusion