feat: add OrderType enum and integrate orderType in OrderItem and ViewOrdersCubit
This commit is contained in:
@@ -40,6 +40,7 @@ export 'src/entities/orders/recurring_order.dart';
|
|||||||
export 'src/entities/orders/recurring_order_position.dart';
|
export 'src/entities/orders/recurring_order_position.dart';
|
||||||
export 'src/entities/orders/permanent_order.dart';
|
export 'src/entities/orders/permanent_order.dart';
|
||||||
export 'src/entities/orders/permanent_order_position.dart';
|
export 'src/entities/orders/permanent_order_position.dart';
|
||||||
|
export 'src/entities/orders/order_type.dart';
|
||||||
export 'src/entities/orders/order_item.dart';
|
export 'src/entities/orders/order_item.dart';
|
||||||
|
|
||||||
// Skills & Certs
|
// Skills & Certs
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
import 'package:equatable/equatable.dart';
|
import 'package:equatable/equatable.dart';
|
||||||
|
|
||||||
|
import 'order_type.dart';
|
||||||
|
|
||||||
/// Represents a customer's view of an order or shift.
|
/// Represents a customer's view of an order or shift.
|
||||||
///
|
///
|
||||||
/// This entity captures the details necessary for the dashboard/view orders screen,
|
/// This entity captures the details necessary for the dashboard/view orders screen,
|
||||||
@@ -9,6 +11,7 @@ class OrderItem extends Equatable {
|
|||||||
const OrderItem({
|
const OrderItem({
|
||||||
required this.id,
|
required this.id,
|
||||||
required this.orderId,
|
required this.orderId,
|
||||||
|
required this.orderType,
|
||||||
required this.title,
|
required this.title,
|
||||||
required this.clientName,
|
required this.clientName,
|
||||||
required this.status,
|
required this.status,
|
||||||
@@ -31,6 +34,9 @@ class OrderItem extends Equatable {
|
|||||||
/// Parent order identifier.
|
/// Parent order identifier.
|
||||||
final String orderId;
|
final String orderId;
|
||||||
|
|
||||||
|
/// The type of order (e.g., ONE_TIME, PERMANENT).
|
||||||
|
final OrderType orderType;
|
||||||
|
|
||||||
/// Title or name of the role.
|
/// Title or name of the role.
|
||||||
final String title;
|
final String title;
|
||||||
|
|
||||||
@@ -77,6 +83,7 @@ class OrderItem extends Equatable {
|
|||||||
List<Object?> get props => <Object?>[
|
List<Object?> get props => <Object?>[
|
||||||
id,
|
id,
|
||||||
orderId,
|
orderId,
|
||||||
|
orderType,
|
||||||
title,
|
title,
|
||||||
clientName,
|
clientName,
|
||||||
status,
|
status,
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
/// Defines the type of an order.
|
||||||
|
enum OrderType {
|
||||||
|
/// A single occurrence shift.
|
||||||
|
oneTime,
|
||||||
|
|
||||||
|
/// A long-term or permanent staffing position.
|
||||||
|
permanent,
|
||||||
|
|
||||||
|
/// Shifts that repeat on a defined schedule.
|
||||||
|
recurring,
|
||||||
|
|
||||||
|
/// A quickly created shift.
|
||||||
|
rapid;
|
||||||
|
|
||||||
|
/// Creates an [OrderType] from a string value (typically from the backend).
|
||||||
|
static OrderType fromString(String value) {
|
||||||
|
switch (value.toUpperCase()) {
|
||||||
|
case 'ONE_TIME':
|
||||||
|
return OrderType.oneTime;
|
||||||
|
case 'PERMANENT':
|
||||||
|
return OrderType.permanent;
|
||||||
|
case 'RECURRING':
|
||||||
|
return OrderType.recurring;
|
||||||
|
case 'RAPID':
|
||||||
|
return OrderType.rapid;
|
||||||
|
default:
|
||||||
|
return OrderType.oneTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -63,6 +63,7 @@ class ViewOrdersRepositoryImpl implements IViewOrdersRepository {
|
|||||||
return domain.OrderItem(
|
return domain.OrderItem(
|
||||||
id: _shiftRoleKey(shiftRole.shiftId, shiftRole.roleId),
|
id: _shiftRoleKey(shiftRole.shiftId, shiftRole.roleId),
|
||||||
orderId: shiftRole.shift.order.id,
|
orderId: shiftRole.shift.order.id,
|
||||||
|
orderType: domain.OrderType.fromString(shiftRole.shift.order.orderType.stringValue),
|
||||||
title: '${shiftRole.role.name} - $eventName',
|
title: '${shiftRole.role.name} - $eventName',
|
||||||
clientName: businessName,
|
clientName: businessName,
|
||||||
status: status,
|
status: status,
|
||||||
|
|||||||
@@ -178,6 +178,7 @@ class ViewOrdersCubit extends Cubit<ViewOrdersState>
|
|||||||
return OrderItem(
|
return OrderItem(
|
||||||
id: order.id,
|
id: order.id,
|
||||||
orderId: order.orderId,
|
orderId: order.orderId,
|
||||||
|
orderType: order.orderType,
|
||||||
title: order.title,
|
title: order.title,
|
||||||
clientName: order.clientName,
|
clientName: order.clientName,
|
||||||
status: status,
|
status: status,
|
||||||
|
|||||||
Reference in New Issue
Block a user