removed hardcoded status feedback and submission mode

This commit is contained in:
amirrezaghabeli
2025-09-08 12:22:08 +03:30
parent 65822036c8
commit f6da74f739
25 changed files with 228 additions and 113 deletions
+7
View File
@@ -0,0 +1,7 @@
/// Barrel export for all status enums
library;
export 'tender_approval_status.dart';
export 'tender_approval_status_extension.dart';
export 'tender_feedback.dart';
export 'tender_feedback_extension.dart';
@@ -0,0 +1,21 @@
/// Enum for tender approval statuses
enum TenderApprovalStatus {
submitted,
rejected,
unsubmitted,
unrejected;
/// Convert enum to string value for API
String get value {
switch (this) {
case TenderApprovalStatus.submitted:
return 'submitted';
case TenderApprovalStatus.rejected:
return 'rejected';
case TenderApprovalStatus.unsubmitted:
return 'unsubmitted';
case TenderApprovalStatus.unrejected:
return 'unrejected';
}
}
}
@@ -0,0 +1,20 @@
import 'tender_approval_status.dart';
/// Extension for parsing string to TenderApprovalStatus
extension TenderApprovalStatusExtension on String {
/// Parse string to TenderApprovalStatus
TenderApprovalStatus? toTenderApprovalStatus() {
switch (toLowerCase()) {
case 'submitted':
return TenderApprovalStatus.submitted;
case 'rejected':
return TenderApprovalStatus.rejected;
case 'unsubmitted':
return TenderApprovalStatus.unsubmitted;
case 'unrejected':
return TenderApprovalStatus.unrejected;
default:
return null;
}
}
}
+21
View File
@@ -0,0 +1,21 @@
/// Enum for tender feedback
enum TenderFeedback {
liked,
disliked,
unliked,
undisliked;
/// Convert enum to string value for API
String get value {
switch (this) {
case TenderFeedback.liked:
return 'like';
case TenderFeedback.disliked:
return 'dislike';
case TenderFeedback.unliked:
return 'unlike';
case TenderFeedback.undisliked:
return 'undislike';
}
}
}
@@ -0,0 +1,20 @@
import 'tender_feedback.dart';
/// Extension for parsing string to TenderFeedback
extension TenderFeedbackExtension on String {
/// Parse string to TenderFeedback
TenderFeedback? toTenderFeedback() {
switch (this) {
case 'like':
return TenderFeedback.liked;
case 'dislike':
return TenderFeedback.disliked;
case 'unlike':
return TenderFeedback.unliked;
case 'undislike':
return TenderFeedback.undisliked;
default:
return null;
}
}
}
@@ -0,0 +1,15 @@
/// Enum for tender submission mode
enum TenderSubmissionMode {
selfApply,
partnership;
/// Convert enum to string value for API
String get value {
switch (this) {
case TenderSubmissionMode.selfApply:
return 'self-apply';
case TenderSubmissionMode.partnership:
return 'partnership';
}
}
}
@@ -0,0 +1,17 @@
import 'tender_submision_mode.dart';
/// Extension for parsing string to TenderSubmissionMode
extension TenderSubmissionModeExtension on String {
/// Parse string to TenderSubmissionMode
TenderSubmissionMode? toTenderSubmissionMode() {
switch (this) {
case 'self-apply':
return TenderSubmissionMode.selfApply;
case 'partnership':
return TenderSubmissionMode.partnership;
default:
return null;
}
}
}