21 lines
522 B
Dart
21 lines
522 B
Dart
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
part 'api_response.freezed.dart';
|
|
part 'api_response.g.dart';
|
|
|
|
@Freezed(genericArgumentFactories: true)
|
|
class ApiResponse<T> with _$ApiResponse<T> {
|
|
const factory ApiResponse({
|
|
required bool success,
|
|
required T data,
|
|
String? message,
|
|
@Default(200) int statusCode,
|
|
}) = _ApiResponse<T>;
|
|
|
|
factory ApiResponse.fromJson(
|
|
Map<String, dynamic> json,
|
|
T Function(Object?) fromJsonT,
|
|
) =>
|
|
_$ApiResponseFromJson(json, fromJsonT);
|
|
}
|