api_response_entity.dart 790 Bytes
import 'dart:convert';

// No json_serializable here; keep a lightweight manual model to mimic old behavior
import 'package:wow_english/generated/json/base/json_convert_content.dart';
class ApiResponse<T> {
  int? code;
  String? msg;
  T? data;

  ApiResponse();

  factory ApiResponse.fromJson(Map<String, dynamic> json) {
    final resp = ApiResponse<T>();
    resp.code = jsonConvert.convert<int>(json['code']);
    resp.msg = jsonConvert.convert<String>(json['msg']);
    if (json['data'] != null) {
      resp.data = JsonConvert.fromJsonAsT<T>(json['data']);
    }
    return resp;
  }

  Map<String, dynamic> toJson() => <String, dynamic>{
        'code': code,
        'msg': msg,
        'data': data,
      };

  @override
  String toString() {
    return jsonEncode(this);
  }
}