Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 
 

184 lignes
5.4 KiB

  1. import 'package:dio/dio.dart';
  2. import 'package:qadirneyriz/config/config.dart';
  3. import 'package:qadirneyriz/models/meetings/meetings_location_model.dart';
  4. import 'package:qadirneyriz/models/meetings/meetings_managers_model.dart';
  5. import 'package:qadirneyriz/models/meetings/meetings_subjects_model.dart';
  6. import 'package:qadirneyriz/models/meetings/meetings_users_model.dart';
  7. import 'package:qadirneyriz/setting/setting.dart';
  8. import 'package:qadirneyriz/utils/result/result.dart';
  9. class GlobalServices {
  10. // location
  11. Future<List<LocationsModel>> getLocation() async {
  12. Map<String, String> headers = {
  13. 'Accept': 'application/json',
  14. };
  15. final String link = "${config.network.baseUrl}admin/locations";
  16. final response = await Dio().get(link,
  17. options: Options(
  18. headers: headers,
  19. ));
  20. final list = response.data
  21. .map<LocationsModel>((e) => LocationsModel.fromJson(e))
  22. .toList();
  23. return list;
  24. }
  25. // subjects
  26. Future<List<SubjectsModel>> getSubjects() async {
  27. Map<String, String> headers = {
  28. 'Accept': 'application/json',
  29. };
  30. final String link = "${config.network.baseUrl}admin/subjects";
  31. final response = await Dio().get(link,
  32. options: Options(
  33. headers: headers,
  34. ));
  35. final list = response.data
  36. .map<SubjectsModel>((e) => SubjectsModel.fromJson(e))
  37. .toList();
  38. print('$list subjecthaaaaa');
  39. return list;
  40. }
  41. // managers
  42. Future<List<MeetingsMangersModel>> getManagers() async {
  43. Map<String, String> headers = {
  44. 'Accept': 'application/json',
  45. };
  46. String dataToken = setting.userLocalDb.getUser().token!;
  47. if (dataToken != '') {
  48. headers['Authorization'] = "Bearer $dataToken";
  49. }
  50. final String link = "${config.network.baseUrl}meeting-manager";
  51. final response = await Dio().get(link,
  52. options: Options(
  53. headers: headers,
  54. ));
  55. final list = response.data
  56. .map<MeetingsMangersModel>((e) => MeetingsMangersModel.fromJson(e))
  57. .toList();
  58. return list;
  59. }
  60. // users
  61. Future<List<UsersModel>> getUsers() async {
  62. Map<String, String> headers = {
  63. 'Accept': 'application/json',
  64. };
  65. String dataToken = setting.userLocalDb.getUser().token!;
  66. if (dataToken != '') {
  67. headers['Authorization'] = "Bearer $dataToken";
  68. }
  69. final String link = "${config.network.baseUrl}admin/users";
  70. final response = await Dio().get(link,
  71. options: Options(
  72. headers: headers,
  73. ));
  74. final list =
  75. response.data.map<UsersModel>((e) => UsersModel.fromJson(e)).toList();
  76. return list;
  77. }
  78. // add new subject
  79. Future<Result> addNewSubject({
  80. required String subject,
  81. }) async {
  82. try {
  83. Map<String, String> headers = {"Accept": "application/json"};
  84. FormData? formData;
  85. String dataToken = setting.userLocalDb.getUser().token!;
  86. if (dataToken != '') {
  87. headers['Authorization'] = "Bearer $dataToken";
  88. }
  89. formData = FormData.fromMap({"subject": subject});
  90. final res = await Dio().post("${config.network.baseUrl}admin/add-subject",
  91. data: formData, options: Options(headers: headers));
  92. if (res.statusCode == 200 || res.statusCode == 201) {
  93. return Result(isOk: true, message: res.data['msg']);
  94. }
  95. } on DioException catch (e) {
  96. return Result(
  97. isOk: false,
  98. errors: e.response!.data['errors'],
  99. message: e.response!.data['msg']);
  100. }
  101. return const Result(isOk: false);
  102. }
  103. // add new user
  104. Future<Result> addNewUser({
  105. required String mobile,
  106. required String name,
  107. required String password,
  108. required int role,
  109. }) async {
  110. try {
  111. Map<String, String> headers = {"Accept": "application/json"};
  112. FormData? formData;
  113. String dataToken = setting.userLocalDb.getUser().token!;
  114. if (dataToken != '') {
  115. headers['Authorization'] = "Bearer $dataToken";
  116. }
  117. formData = FormData.fromMap(
  118. {"mobile": mobile, "name": name, "password": password, "role": role});
  119. final res = await Dio().post("${config.network.baseUrl}admin/add-user",
  120. data: formData, options: Options(headers: headers));
  121. if (res.statusCode == 200 || res.statusCode == 201) {
  122. return Result(isOk: true, message: res.data['msg']);
  123. }
  124. } on DioException catch (e) {
  125. return Result(
  126. isOk: false,
  127. errors: e.response!.data['errors'],
  128. message: e.response!.data['msg']);
  129. }
  130. return const Result(isOk: false);
  131. }
  132. // add new location
  133. Future<Result> addNewLocation({
  134. required String address,
  135. }) async {
  136. try {
  137. Map<String, String> headers = {"Accept": "application/json"};
  138. FormData? formData;
  139. String dataToken = setting.userLocalDb.getUser().token!;
  140. if (dataToken != '') {
  141. headers['Authorization'] = "Bearer $dataToken";
  142. }
  143. formData = FormData.fromMap({"address": address});
  144. final res = await Dio().post(
  145. "${config.network.baseUrl}admin/add-location",
  146. data: formData,
  147. options: Options(headers: headers));
  148. if (res.statusCode == 200 || res.statusCode == 201) {
  149. return Result(isOk: true, message: res.data['msg']);
  150. }
  151. } on DioException catch (e) {
  152. return Result(
  153. isOk: false,
  154. errors: e.response!.data['errors'],
  155. message: e.response!.data['msg']);
  156. }
  157. return const Result(isOk: false);
  158. }
  159. }