/// Domain Entity: Customer Group (Role) /// /// Represents a customer group/role for user registration. library; /// Customer Group Entity class CustomerGroup { /// Unique identifier final String name; /// Display name final String customerGroupName; /// Group value/code final String? value; const CustomerGroup({ required this.name, required this.customerGroupName, this.value, }); /// Create from JSON map factory CustomerGroup.fromJson(Map json) { return CustomerGroup( name: json['name'] as String, customerGroupName: json['customer_group_name'] as String, value: json['value'] as String?, ); } /// Convert to JSON map Map toJson() { return { 'name': name, 'customer_group_name': customerGroupName, if (value != null) 'value': value, }; } @override bool operator ==(Object other) { if (identical(this, other)) return true; return other is CustomerGroup && other.name == name && other.customerGroupName == customerGroupName && other.value == value; } @override int get hashCode { return Object.hash(name, customerGroupName, value); } @override String toString() { return 'CustomerGroup(name: $name, customerGroupName: $customerGroupName, value: $value)'; } }