Add Docker support and enhance data models for tender details

- Introduced a .dockerignore file to optimize Docker builds by excluding unnecessary files.
- Updated the Dockerfile to use a Flutter base image, enabling web builds for the application.
- Added new data models for `Lot` and `OrganizationAddress` to represent tender details more accurately.
- Enhanced the `Organization` model to include `companyId` and a nested `address` field.
- Updated the `TenderData` model to include new fields such as `noticeTypeCode`, `formType`, and `lots`, reflecting the API response structure.
- Regenerated necessary code for data models to ensure compatibility with the updated structures.
This commit is contained in:
AmirReza Jamali
2026-06-03 13:32:42 +03:30
parent 83b77c05ef
commit dde66521f6
35 changed files with 1362 additions and 659 deletions
+20
View File
@@ -0,0 +1,20 @@
// ignore_for_file: invalid_annotation_target
import 'package:freezed_annotation/freezed_annotation.dart';
part 'lot.freezed.dart';
part 'lot.g.dart';
// AI-NOTE (for PR reviewer): New model for entries in the tender-details
// `lots` array. Only lot_id, title and description are mapped — the fields the
// tender-details "Lots" section renders. Add more fields here if the UI grows.
@freezed
abstract class Lot with _$Lot {
const factory Lot({
@JsonKey(name: 'lot_id') required String? lotId,
required String? title,
required String? description,
}) = _Lot;
factory Lot.fromJson(Map<String, Object?> json) => _$LotFromJson(json);
}