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.
doctor_app_flutter/lib/utils/exception_report.dart

66 lines
2.4 KiB
Dart

import 'package:cloud_firestore/cloud_firestore.dart';
List<String> monitoredEndpoints = [
"Services/Sentry.svc/REST/MemberLogIN_New",
'Services/DoctorApplication.svc/REST/GetProjectInfo',
'Services/DoctorApplication.svc/REST/DoctorApp_GetDeviceDetailsByIMEI',
'Services/DoctorApplication.svc/REST/SendActivationCodeForDoctorApp',
'Services/DoctorApplication.svc/REST/CheckActivationCodeForDoctorApp',
'Services/Doctors.svc/REST/GetDocProfiles',
'Services/DoctorApplication.svc/REST/DoctorApp_GetDoctorNotRepliedCounts',
'Services/DoctorApplication.svc/REST/GetClinicsForDoctor',
'Services/DoctorApplication.svc/REST/GetDoctorDashboardKPI',
'Services/DoctorApplication.svc/REST/GetSpecialClinicalCareList',
'Services/DoctorApplication.svc/REST/IsInfectiousDiseasesConsultant',
'Services/DoctorApplication.svc/REST/IsInterventionAccessLevel3Pending',
'Services/DoctorApplication.svc/REST/CheckDoctorHasLiveCare',
'Services/DoctorApplication.svc/REST/FetchRadCriticalFinding',
'Services/DoctorApplication.svc/REST/DoctorApp_InsertOrUpdateDeviceDetails'
];
void postFailureResponse({
required dynamic doctorId,
required String url,
required String request,
required String response,
required String exception,
}) async {
// Map<String, String> data = {
// "url" : url,
// "request" : request,
// "response" : response,
// "exception" : exception
// };
// final firestore = FirebaseFirestore.instance;
// final collectionRef = firestore.collection(doctorId.toString());
// await collectionRef.doc(DateTime.now().toIso8601String()).set(data);
}
void postRequestAndResponse({
required dynamic doctorId,
required String completeUrl,
required String urlSuffix,
required String request,
required String response,
required String statusCode,
}) async {
if(!monitoredEndpoints.contains(urlSuffix)) {
return;
}
print(" the url is being logged ");
Map<String, String> data = {
"url" : completeUrl,
"request" : request,
"response" : response,
"statusCode" : statusCode,
};
final firestore = FirebaseFirestore.instance;
// Sanitize urlSuffix to be Firestore-safe
final safeSuffix = urlSuffix.replaceAll(RegExp(r'[^a-zA-Z0-9_-]'), '_');
final collectionRef = firestore.collection('doctors')
.doc(doctorId.toString())
.collection(safeSuffix);
await collectionRef.doc(DateTime.now().toIso8601String()).set(data);
}