Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:dashboard/model.dart';
- import 'package:rxdart/rxdart.dart';
- import 'dart:convert';
- import 'package:http/http.dart' as http;
- import 'dart:collection';
- class NetworkManager {
- final _countSubject = BehaviorSubject<UnmodifiableListView<Count>>();
- var _statusList = <Count>[];
- List<String> _items = ["new", "open", "stalled", "resolved"];
- NetworkManager(){
- getQueueStatus().then((_) {
- _countSubject.onAdd(UnmodifiableListView(_statusList));
- print(_statusList);
- });
- }
- Stream<UnmodifiableListView<Count>> get statusCount => _countSubject.stream;
- Future<List<Count>> getQueueStatus() async {
- final getList = _items.map((str) => getStatus(str));
- final list = await Future.wait(getList);
- print(list);
- return list;
- }
- Future<Count> getStatus(String str) async {
- final username = "divyanshu.kumar";
- final password = "ilovestats";
- String basicAuth =
- 'Basic ' + base64Encode(utf8.encode('$username:$password'));
- final dataUrl =
- "http://staging.agreeya.net:8088/REST/2.0/tickets?query=Queue='InternalTools'ANDStatus='$str'/";
- final response =
- await http.get((dataUrl), headers: {'authorization': basicAuth});
- var map = Count.fromJson(json.decode(response.body));
- print(map);
- return map;
- }
- dispose() {
- _countSubject.close();
- }
- }
Add Comment
Please, Sign In to add comment