24 lines
		
	
	
		
			586 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			586 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
import 'package:base_project/data/response/status.dart';
 | 
						|
 | 
						|
class ApiResponse<T> {
 | 
						|
  Status? status;
 | 
						|
  T? data;
 | 
						|
  String? message;
 | 
						|
 | 
						|
  ApiResponse(this.status, this.data, this.message);
 | 
						|
 | 
						|
  // Named constructor for loading state
 | 
						|
  ApiResponse.loading() : status = Status.LOADING;
 | 
						|
 | 
						|
  // Named constructor for completed state
 | 
						|
  ApiResponse.success(this.data) : status = Status.SUCCESS;
 | 
						|
 | 
						|
  // Named constructor for error state
 | 
						|
  ApiResponse.error(this.message) : status = Status.ERROR;
 | 
						|
 | 
						|
  @override
 | 
						|
  String toString() {
 | 
						|
    return "Status: $status \n Message: $message \n Data: $data";
 | 
						|
  }
 | 
						|
}
 |