apiClientTemplate top-level constant

String const apiClientTemplate

Implementation

const String apiClientTemplate = '''
import 'package:dio/dio.dart';
import 'api_response.dart';

class ApiClient {
  final Dio dio;

  ApiClient(this.dio);

  Future<ApiResponse<T>> get<T>(
    String path,
    T Function(dynamic json) fromJson,
  ) async {
    try {
      final response = await dio.get(path);
      return ApiResponse(
        status: true,
        data: fromJson(response.data['data']),
        statusCode: response.statusCode,
      );
    } on DioException catch (e) {
      return ApiResponse(
        status: false,
        message: e.message,
        statusCode: e.response?.statusCode,
      );
    }
  }
}
''';