You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
2.0 KiB
Dart
52 lines
2.0 KiB
Dart
import 'dart:async';
|
|
import 'dart:convert';
|
|
import 'dart:io';
|
|
import 'package:mc_common_app/models/model/provider_model.dart';
|
|
import 'package:mc_common_app/models/services/item_model.dart';
|
|
import 'package:mc_common_app/models/services/near_branch_model.dart';
|
|
import 'package:http/http.dart' as http;
|
|
|
|
import 'package:mc_common_app/api/api_client.dart';
|
|
import 'package:mc_common_app/classes/app_state.dart';
|
|
|
|
import 'package:mc_common_app/classes/consts.dart';
|
|
import 'package:mc_common_app/config/dependencies.dart';
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
abstract class ProviderRepo {
|
|
Future<NearBrancheModel> getAllNearBranchAndServices();
|
|
|
|
Future<ItemModel> getServiceItems(int serviceId);
|
|
|
|
Future<ProviderModel> getBranchAndServices(int providerId);
|
|
}
|
|
|
|
class ProviderRepoImp implements ProviderRepo {
|
|
@override
|
|
Future<NearBrancheModel> getAllNearBranchAndServices() async {
|
|
// var postParams = {"serviceProviderID": AppState().getUser.data?.userInfo?.providerId.toString() ?? ""};
|
|
String t = AppState().getUser.data!.accessToken ?? "";
|
|
return await injector.get<ApiClient>().getJsonForObject((json) => NearBrancheModel.fromJson(json), ApiConsts.GetAllNearBranches, token: t);
|
|
}
|
|
|
|
@override
|
|
Future<ItemModel> getServiceItems(int serviceId) async {
|
|
var queryParameters = {
|
|
"ServiceProviderServiceID": serviceId.toString(),
|
|
};
|
|
String? token = AppState().getUser.data?.accessToken;
|
|
debugPrint(token);
|
|
return await injector
|
|
.get<ApiClient>()
|
|
.getJsonForObject((json) => ItemModel.fromJson(json), ApiConsts.getServiceItems, queryParameters: queryParameters, token: AppState().getUser.data!.accessToken ?? "");
|
|
}
|
|
|
|
@override
|
|
Future<ProviderModel> getBranchAndServices(int providerId) async {
|
|
var postParams = {"serviceProviderID": providerId.toString()};
|
|
String t = AppState().getUser.data!.accessToken ?? "";
|
|
return await injector.get<ApiClient>().getJsonForObject((json) => ProviderModel.fromJson(json), ApiConsts.BranchesAndServices, queryParameters: postParams, token: t);
|
|
}
|
|
}
|