mymuseum-visitapp/lib/Models/visitContext.dart
2024-07-07 22:17:34 +02:00

58 lines
2.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:manager_api/api.dart';
import 'package:mymuseum_visitapp/Models/articleRead.dart';
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
import 'package:mymuseum_visitapp/client.dart';
class VisitAppContext with ChangeNotifier {
Client clientAPI = Client("https://api.myinfomate.be"); // Replace by https://api.mymuseum.be //http://192.168.31.140:8089
String? id = "";
String? language = "";
String? instanceId = "65ccc67265373befd15be511"; // 63514fd67ed8c735aaa4b8f2 MyInfoMate test instance -- Fort de Saint-Héribert Mymuseum instance id : 633ee379d9405f32f166f047 // 63514fd67ed8c735aaa4b8f1 Mymuseum test // MDLF instance 65ccc67265373befd15be511
List<ConfigurationDTO>? configurations;
ConfigurationDTO? configuration;
List<String?>? sectionIds; // Use to valid QR code found
List<BeaconSection?>? beaconSections;
List<SectionDTO?>? currentSections;
List<SectionRead> readSections = [];
bool isContentCurrentlyShown = false;
bool isScanningBeacons = false;
bool isScanBeaconAlreadyAllowed = false;
bool isMaximizeTextSize = false;
List<ResourceModel> audiosNotWorking = [];
bool? isAdmin = false;
bool? isAllLanguages = false;
String? localPath;
VisitAppContext({this.language, this.id, this.configuration, this.isAdmin, this.isAllLanguages, this.instanceId});
Map<String, dynamic> toMap() {
return {
'id': id,
'instanceId': instanceId,
'language': language,
'isAdmin': isAdmin != null ? isAdmin! ? 1 : 0 : 0,
'isAllLanguages': isAllLanguages != null ? isAllLanguages! ? 1 : 0 : 0
};
}
factory VisitAppContext.fromJson(Map<String, dynamic> json) {
return VisitAppContext(
id: json['id'] as String,
instanceId: json['instanceId'] as String,
language: json['language'] as String,
configuration: json['configuration'] == null ? null : ConfigurationDTO.fromJson(json['configuration']),
);
}
@override
String toString() {
return 'VisitAppContext{id: $id, instanceId: $instanceId, language: $language, configuration: $configuration, beaconSections: $beaconSections, isAdmin: $isAdmin}';
}
}