Erdnaxela3/bioptim_gui

View on GitHub
gui/lib/models/generic_ocp_request_maker.dart

Summary

Maintainability
Test Coverage
import 'dart:convert';

import 'package:bioptim_gui/models/api_config.dart';
import 'package:bioptim_gui/models/generic_ocp_data.dart';
import 'package:bioptim_gui/models/ocp_data.dart';
import 'package:bioptim_gui/models/ocp_request_maker.dart';
import 'package:flutter/foundation.dart';
import 'package:http/http.dart' as http;

class GenericOCPRequestMaker extends OCPRequestMaker<GenericOcpData> {
  GenericOCPRequestMaker()
      : super(prefix: 'generic_ocp', phaseInfoString: 'phases_info');

  Future<GenericOcpData> fetchData() async {
    final url = Uri.parse('${APIConfig.url}/$prefix/');
    final response = await http.get(url);

    if (response.statusCode != 200) throw Exception("Fetch error");
    if (kDebugMode) print("Data fetch success.");

    final data = json.decode(response.body);

    GenericOcpData genericOcpData = GenericOcpData.fromJson(data);
    OCPAvailableValues availableValues = await getAvailableValues();
    genericOcpData.availablesValue = availableValues;

    return genericOcpData;
  }
}