diff --git a/android/app/build.gradle b/android/app/build.gradle
index fc7e5e7..01ad02e 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -57,7 +57,7 @@ android {
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "be.unov.mymuseum.fortsaintheribert" // Update for mdlf and other clients -- "be.unov.mymuseum.fortsaintheribert" // be.unov.myinfomate.mdlf
- minSdkVersion flutter.minSdkVersion
+ minSdkVersion 24// flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
diff --git a/assets/files/Duck.glb b/assets/files/Duck.glb
new file mode 100644
index 0000000..217170d
Binary files /dev/null and b/assets/files/Duck.glb differ
diff --git a/assets/files/xr_environment.html b/assets/files/xr_environment.html
new file mode 100644
index 0000000..8288c6b
--- /dev/null
+++ b/assets/files/xr_environment.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Immersive AR Session
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/Components/LanguageSelection.dart b/lib/Components/LanguageSelection.dart
index e9ba842..9fab41e 100644
--- a/lib/Components/LanguageSelection.dart
+++ b/lib/Components/LanguageSelection.dart
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
//import 'package:flutter_svg_provider/flutter_svg_provider.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Models/visitContext.dart';
import 'package:mymuseum_visitapp/app_context.dart';
import 'package:mymuseum_visitapp/constants.dart';
diff --git a/lib/Components/ScannerDialog.dart b/lib/Components/ScannerDialog.dart
index 4e4fc21..2e2f5d9 100644
--- a/lib/Components/ScannerDialog.dart
+++ b/lib/Components/ScannerDialog.dart
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'dart:io';
import 'package:flutter/foundation.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Helpers/translationHelper.dart';
import 'package:mymuseum_visitapp/Models/visitContext.dart';
import 'package:mymuseum_visitapp/Screens/Article/article_page.dart';
@@ -191,7 +191,7 @@ class _ScannerDialogState extends State {
),
);
break;
- case SectionType.Quizz:
+ case SectionType.Quiz:
Navigator.pushReplacement(
context,
MaterialPageRoute(
diff --git a/lib/Components/ShowImagePopup.dart b/lib/Components/ShowImagePopup.dart
index b6fba39..9c3f3c3 100644
--- a/lib/Components/ShowImagePopup.dart
+++ b/lib/Components/ShowImagePopup.dart
@@ -3,7 +3,7 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_widget_from_html/flutter_widget_from_html.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Helpers/translationHelper.dart';
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
import 'package:mymuseum_visitapp/Models/visitContext.dart';
diff --git a/lib/Components/SliderImages.dart b/lib/Components/SliderImages.dart
index 561e4df..cdb01b7 100644
--- a/lib/Components/SliderImages.dart
+++ b/lib/Components/SliderImages.dart
@@ -1,7 +1,7 @@
import 'dart:convert';
import 'package:carousel_slider/carousel_slider.dart';
import 'package:flutter/material.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Components/ShowImagePopup.dart';
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
import 'package:mymuseum_visitapp/Models/visitContext.dart';
diff --git a/lib/Components/loading_common.dart b/lib/Components/loading_common.dart
index 96396a9..9ee3739 100644
--- a/lib/Components/loading_common.dart
+++ b/lib/Components/loading_common.dart
@@ -2,7 +2,7 @@ import 'dart:io';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Models/visitContext.dart';
import 'package:mymuseum_visitapp/app_context.dart';
import 'package:mymuseum_visitapp/constants.dart';
diff --git a/lib/Helpers/DatabaseHelper.dart b/lib/Helpers/DatabaseHelper.dart
index 46c518e..24f15ee 100644
--- a/lib/Helpers/DatabaseHelper.dart
+++ b/lib/Helpers/DatabaseHelper.dart
@@ -1,6 +1,6 @@
import 'dart:convert';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Models/articleRead.dart';
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
diff --git a/lib/Helpers/modelsHelper.dart b/lib/Helpers/modelsHelper.dart
index 28e96b3..20335f6 100644
--- a/lib/Helpers/modelsHelper.dart
+++ b/lib/Helpers/modelsHelper.dart
@@ -1,6 +1,6 @@
import 'dart:convert';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
class ModelsHelper {
diff --git a/lib/Helpers/translationHelper.dart b/lib/Helpers/translationHelper.dart
index 91d3a1a..4672655 100644
--- a/lib/Helpers/translationHelper.dart
+++ b/lib/Helpers/translationHelper.dart
@@ -1,4 +1,4 @@
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Models/visitContext.dart';
import 'package:mymuseum_visitapp/translations.dart';
diff --git a/lib/Models/ResponseSubDTO.dart b/lib/Models/ResponseSubDTO.dart
index 2c7fce0..6da3844 100644
--- a/lib/Models/ResponseSubDTO.dart
+++ b/lib/Models/ResponseSubDTO.dart
@@ -1,4 +1,4 @@
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
class ResponseSubDTO {
List? label;
diff --git a/lib/Models/articleRead.dart b/lib/Models/articleRead.dart
index 3bcd71b..af1d69f 100644
--- a/lib/Models/articleRead.dart
+++ b/lib/Models/articleRead.dart
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
class SectionRead {
String id = "";
diff --git a/lib/Models/beaconSection.dart b/lib/Models/beaconSection.dart
index aac1daa..6f315dd 100644
--- a/lib/Models/beaconSection.dart
+++ b/lib/Models/beaconSection.dart
@@ -1,4 +1,4 @@
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
class BeaconSection {
int? minorBeaconId;
diff --git a/lib/Models/resourceModel.dart b/lib/Models/resourceModel.dart
index 6342b2a..24459b2 100644
--- a/lib/Models/resourceModel.dart
+++ b/lib/Models/resourceModel.dart
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
class ResourceModel {
String? id = "";
diff --git a/lib/Models/translation.dart b/lib/Models/translation.dart
index b049c5f..506b190 100644
--- a/lib/Models/translation.dart
+++ b/lib/Models/translation.dart
@@ -1,4 +1,4 @@
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
class Translation {
String? language = "";
diff --git a/lib/Models/visitContext.dart b/lib/Models/visitContext.dart
index ebe1bc7..1912256 100644
--- a/lib/Models/visitContext.dart
+++ b/lib/Models/visitContext.dart
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Models/articleRead.dart';
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
@@ -10,7 +10,7 @@ class VisitAppContext with ChangeNotifier {
String? id = "";
String? language = "";
- String? instanceId = "633ee379d9405f32f166f047"; // 63514fd67ed8c735aaa4b8f2 MyInfoMate test instance -- Fort de Saint-Héribert Mymuseum instance id : 633ee379d9405f32f166f047 // 63514fd67ed8c735aaa4b8f1 Mymuseum test // MDLF instance 65ccc67265373befd15be511
+ String? instanceId = "63514fd67ed8c735aaa4b8f2"; // 63514fd67ed8c735aaa4b8f2 MyInfoMate test instance -- Fort de Saint-Héribert Mymuseum instance id : 633ee379d9405f32f166f047 // 63514fd67ed8c735aaa4b8f1 Mymuseum test // MDLF instance 65ccc67265373befd15be511
List? configurations;
ConfigurationDTO? configuration;
diff --git a/lib/Screens/Article/article_page.dart b/lib/Screens/Article/article_page.dart
index 7a492dc..aa0cd87 100644
--- a/lib/Screens/Article/article_page.dart
+++ b/lib/Screens/Article/article_page.dart
@@ -4,7 +4,7 @@ import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:flutter_widget_from_html/flutter_widget_from_html.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Components/CustomAppBar.dart';
import 'package:mymuseum_visitapp/Components/loading_common.dart';
import 'package:mymuseum_visitapp/Components/SliderImages.dart';
@@ -24,9 +24,9 @@ import 'package:path_provider/path_provider.dart';
import 'audio_player_floating.dart';
class ArticlePage extends StatefulWidget {
- const ArticlePage({Key? key, required this.visitAppContextIn, required this.articleId}) : super(key: key);
+ const ArticlePage({Key? key, required this.visitAppContextIn, required this.articleDTO}) : super(key: key);
- final String articleId;
+ final ArticleDTO articleDTO;
final VisitAppContext visitAppContextIn;
@override
@@ -70,7 +70,7 @@ class _ArticlePageState extends State {
isTextSizeButton: true,
),
body: FutureBuilder(
- future: getArticle(appContext, visitAppContext.clientAPI, widget.articleId, false),
+ future: getArticle(appContext, visitAppContext.clientAPI, widget.articleDTO.id, false),
builder: (context, AsyncSnapshot snapshot) {
if(articleDTO != null && sectionDTO != null) {
if(size.height > size.width) {
@@ -387,7 +387,7 @@ class _ArticlePageState extends State {
// Not needed as it's in display logic
//ResourceModel? resourceImageOnline = await ApiService.downloadImage(client, image);
//if(resourceImageOnline != null) {
- resourcesModel.add(ResourceModel(id: image.resourceId, source: image.resourceUrl, type: ResourceType.Image));
+ resourcesModel.add(ResourceModel(id: image.resourceId, source: image.resource?.url, type: ResourceType.Image));
/*} else {
print("EMPTY resourcesModel online - audio");
}*/
diff --git a/lib/Screens/Home/configurations_list.dart b/lib/Screens/Home/configurations_list.dart
index b359772..6534e0a 100644
--- a/lib/Screens/Home/configurations_list.dart
+++ b/lib/Screens/Home/configurations_list.dart
@@ -3,7 +3,7 @@ import 'dart:convert';
import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart';
import 'package:flutter_widget_from_html/flutter_widget_from_html.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Components/LanguageSelection.dart';
import 'package:mymuseum_visitapp/Components/loading_common.dart';
import 'package:mymuseum_visitapp/Helpers/translationHelper.dart';
diff --git a/lib/Screens/Home/home.dart b/lib/Screens/Home/home.dart
index 3e8a4d5..7f1ee2c 100644
--- a/lib/Screens/Home/home.dart
+++ b/lib/Screens/Home/home.dart
@@ -4,7 +4,7 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/services.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Components/CustomAppBar.dart';
import 'package:mymuseum_visitapp/Components/loading_common.dart';
import 'package:mymuseum_visitapp/Helpers/DatabaseHelper.dart';
@@ -14,7 +14,6 @@ import 'package:mymuseum_visitapp/Helpers/requirement_state_controller.dart';
import 'package:mymuseum_visitapp/Helpers/translationHelper.dart';
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
import 'package:mymuseum_visitapp/Models/visitContext.dart';
-import 'package:mymuseum_visitapp/Screens/Visit/visit.dart';
import 'package:mymuseum_visitapp/Services/apiService.dart';
import 'package:mymuseum_visitapp/Services/downloadConfiguration.dart';
import 'package:mymuseum_visitapp/app_context.dart';
@@ -22,6 +21,7 @@ import 'package:mymuseum_visitapp/client.dart';
import 'package:mymuseum_visitapp/constants.dart';
import 'package:provider/provider.dart';
+import '../Tests/TestAR.dart';
import 'configurations_list.dart';
class HomePage extends StatefulWidget {
@@ -50,40 +50,63 @@ class _HomePageState extends State with WidgetsBindingObserver {
isHomeButton: false,
),
body: SingleChildScrollView(
- child: SizedBox(
- width: size.width,
- height: size.height,
- child: FutureBuilder(
- future: getConfigurationsCall(visitAppContext.clientAPI, appContext),
- builder: (context, AsyncSnapshot snapshot) {
- if (snapshot.connectionState == ConnectionState.done) {
- configurations = List.from(snapshot.data).where((configuration) => configuration.isMobile!).toList();
- return RefreshIndicator (
- onRefresh: () {
- setState(() {});
- return Future(() => null);
- },
- color: kSecondColor,
- child: ConfigurationsList(
- alreadyDownloaded: alreadyDownloaded,
- configurations: configurations,
- requestRefresh: () {
- setState(() {}); // For refresh
+ child: Column(
+ children: [
+ SizedBox(
+ width: size.width,
+ height: size.height,
+ child: FutureBuilder(
+ future: getConfigurationsCall(visitAppContext.clientAPI, appContext),
+ builder: (context, AsyncSnapshot snapshot) {
+ if (snapshot.connectionState == ConnectionState.done) {
+ configurations = List.from(snapshot.data).where((configuration) => configuration.isMobile!).toList();
+ return RefreshIndicator (
+ onRefresh: () {
+ setState(() {});
+ return Future(() => null);
},
- ),
- );
- } else if (snapshot.connectionState == ConnectionState.none) {
- return Text(TranslationHelper.getFromLocale("noData", appContext.getContext()));
- } else {
- return Center(
- child: Container(
- height: size.height * 0.15,
- child: LoadingCommon()
- )
- );
- }
- }
- ),
+ color: kSecondColor,
+ child: ConfigurationsList(
+ alreadyDownloaded: alreadyDownloaded,
+ configurations: configurations,
+ requestRefresh: () {
+ setState(() {}); // For refresh
+ },
+ ),
+ );
+ } else if (snapshot.connectionState == ConnectionState.none) {
+ return Text(TranslationHelper.getFromLocale("noData", appContext.getContext()));
+ } else {
+ return Center(
+ child: Container(
+ height: size.height * 0.15,
+ child: LoadingCommon()
+ )
+ );
+ }
+ }
+ ),
+ ),
+ /*InkWell(
+ onTap: () {
+ Navigator.pushReplacement(
+ context,
+ MaterialPageRoute(
+ builder: (context) {
+ return TestAR();
+ //return XRWithQRScannerPage();
+ },
+ ),
+ );
+
+ },
+ child: const SizedBox(
+ height: 50,
+ width: 10,
+ child: Text('TEST XR'),
+ ),
+ ),*/
+ ],
)
),
//floatingActionButton: ScannerBouton(appContext: appContext),
diff --git a/lib/Screens/Quizz/quizz_page.dart b/lib/Screens/Quizz/quizz_page.dart
index 2a36c07..8f80b3f 100644
--- a/lib/Screens/Quizz/quizz_page.dart
+++ b/lib/Screens/Quizz/quizz_page.dart
@@ -4,7 +4,7 @@ import 'dart:typed_data';
//import 'package:confetti/confetti.dart';
import 'package:flutter/material.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Components/CustomAppBar.dart';
import 'package:mymuseum_visitapp/Components/Loading.dart';
import 'package:mymuseum_visitapp/Components/loading_common.dart';
@@ -41,7 +41,7 @@ class _QuizzPageState extends State {
late Uint8List audiobytes;
late VisitAppContext visitAppContext;
- QuizzDTO? quizzDTO;
+ QuizDTO? quizDTO;
List _questionsSubDTO = [];
//ConfettiController? _controllerCenter;
int currentIndex = 1;
@@ -66,9 +66,9 @@ class _QuizzPageState extends State {
visitAppContext.isContentCurrentlyShown = false;
currentIndex = 1;
//_controllerCenter!.dispose();
- if(quizzDTO != null) {
- if(quizzDTO!.questions != null) {
- _questionsSubDTO = QuestionSubDTO().fromJSON(quizzDTO!.questions!);
+ if(quizDTO != null) {
+ if(quizDTO!.questions != null) {
+ _questionsSubDTO = QuestionSubDTO().fromJSON(quizDTO!.questions!);
}
}
@@ -84,7 +84,7 @@ class _QuizzPageState extends State {
return Scaffold(
key: _scaffoldKey,
appBar: CustomAppBar(
- title: sectionDTO != null ? TranslationHelper.get(sectionDTO!.title, visitAppContext!) : "",
+ title: sectionDTO != null ? TranslationHelper.get(sectionDTO!.title, visitAppContext) : "",
isHomeButton: false,
),
body: OrientationBuilder(
@@ -92,7 +92,7 @@ class _QuizzPageState extends State {
return FutureBuilder(
future: getQuizz(appContext, visitAppContext.clientAPI, widget.sectionId), // MAYBE MOVE THAT TO PARENT ..
builder: (context, AsyncSnapshot snapshot) {
- if(quizzDTO != null && sectionDTO != null) {
+ if(quizDTO != null && sectionDTO != null) {
if(showResult) {
var goodResponses = 0;
@@ -102,20 +102,20 @@ class _QuizzPageState extends State {
}
}
log("goodResponses =" + goodResponses.toString());
- LevelDTO levelToShow = LevelDTO();
- var test = goodResponses/quizzDTO!.questions!.length;
+ List levelToShow = [];
+ var test = goodResponses/quizDTO!.questions!.length;
- if((0 == test || test < 0.25) && quizzDTO!.badLevel != null) {
- levelToShow = quizzDTO!.badLevel!;
+ if((0 == test || test < 0.25) && quizDTO!.badLevel != null) {
+ levelToShow = quizDTO!.badLevel!;
}
- if((test>=0.25 && test < 0.5) && quizzDTO!.mediumLevel != null) {
- levelToShow = quizzDTO!.mediumLevel!;
+ if((test>=0.25 && test < 0.5) && quizDTO!.mediumLevel != null) {
+ levelToShow = quizDTO!.mediumLevel!;
}
- if((test>=0.5 && test < 0.75) && quizzDTO!.goodLevel != null) {
- levelToShow = quizzDTO!.goodLevel!;
+ if((test>=0.5 && test < 0.75) && quizDTO!.goodLevel != null) {
+ levelToShow = quizDTO!.goodLevel!;
}
- if((test>=0.75 && test <= 1) && quizzDTO!.greatLevel != null) {
- levelToShow = quizzDTO!.greatLevel!;
+ if((test>=0.75 && test <= 1) && quizDTO!.greatLevel != null) {
+ levelToShow = quizDTO!.greatLevel!;
}
return SizedBox(
@@ -148,11 +148,11 @@ class _QuizzPageState extends State {
if (orientation == Orientation.portrait)
Column(
children: [
- if (!showResponses && levelToShow.label!.firstWhere((label) => label.language == visitAppContext!.language).resourceUrl != null) // TODO SUPPORT OTHER THAN IMAGES
- resultImage(visitAppContext!, size, levelToShow, orientation),
+ if (!showResponses && levelToShow.firstWhere((label) => label.language == visitAppContext.language).resource?.url != null) // TODO SUPPORT OTHER THAN IMAGES
+ resultImage(visitAppContext, size, levelToShow, orientation),
if(!showResponses)
// TEXT BOX WITH MAIN SCORE
- Text('$goodResponses/${quizzDTO!.questions!.length}', textAlign: TextAlign.center, style: TextStyle(fontSize: kIsWeb ? (showResponses ? 60 : 100) : 75, color: kBackgroundSecondGrey)),
+ Text('$goodResponses/${quizDTO!.questions!.length}', textAlign: TextAlign.center, style: TextStyle(fontSize: kIsWeb ? (showResponses ? 60 : 100) : 75, color: kBackgroundSecondGrey)),
],
),
@@ -163,9 +163,9 @@ class _QuizzPageState extends State {
children: [
if(!showResponses)
// TEXT BOX WITH MAIN SCORE
- Text('$goodResponses/${quizzDTO!.questions!.length}', textAlign: TextAlign.center, style: TextStyle(fontSize: kIsWeb ? (showResponses ? 60 : 100) : 75, color: kBackgroundSecondGrey)),
- if (!showResponses && levelToShow.label!.firstWhere((label) => label.language == visitAppContext!.language).resourceUrl != null)
- resultImage(visitAppContext!, size, levelToShow, orientation),
+ Text('$goodResponses/${quizDTO!.questions!.length}', textAlign: TextAlign.center, style: TextStyle(fontSize: kIsWeb ? (showResponses ? 60 : 100) : 75, color: kBackgroundSecondGrey)),
+ if (!showResponses && levelToShow.firstWhere((label) => label.language == visitAppContext.language).resource?.url != null)
+ resultImage(visitAppContext, size, levelToShow, orientation),
],
),
@@ -225,7 +225,7 @@ class _QuizzPageState extends State {
showResult = false;
showResponses = false;
currentIndex = 1;
- _questionsSubDTO = QuestionSubDTO().fromJSON(quizzDTO!.questions!);
+ _questionsSubDTO = QuestionSubDTO().fromJSON(quizDTO!.questions!);
});
},
backgroundColor: kBackgroundSecondGrey,
@@ -235,9 +235,9 @@ class _QuizzPageState extends State {
);
}
- Future getQuizz(AppContext appContext, Client client, String sectionId) async {
+ Future getQuizz(AppContext appContext, Client client, String sectionId) async {
try {
- if(sectionDTO == null || quizzDTO == null) {
+ if(sectionDTO == null || quizDTO == null) {
bool isConfigOffline = (appContext.getContext() as VisitAppContext).configuration!.isOffline!;
if(isConfigOffline)
{
@@ -248,9 +248,9 @@ class _QuizzPageState extends State {
try {
SectionRead sectionRead = SectionRead(id: sectionDTO!.id!, readTime: DateTime.now().millisecondsSinceEpoch);
await DatabaseHelper.instance.insert(DatabaseTableType.articleRead, sectionRead.toMap());
- visitAppContext!.readSections.add(sectionRead);
+ visitAppContext.readSections.add(sectionRead);
- appContext.setContext(visitAppContext!);
+ appContext.setContext(visitAppContext);
} catch (e) {
print("DATABASE ERROR SECTIONREAD");
print(e);
@@ -269,15 +269,15 @@ class _QuizzPageState extends State {
}
}
- if(sectionDTO!.type == SectionType.Quizz) {
- quizzDTO = QuizzDTO.fromJson(jsonDecode(sectionDTO!.data!));
+ if(sectionDTO!.type == SectionType.Quiz) {
+ quizDTO = QuizDTO.fromJson(jsonDecode(sectionDTO!.data!));
}
- if(quizzDTO != null) {
- quizzDTO!.questions!.sort((a, b) => a.order!.compareTo(b.order!));
- _questionsSubDTO = QuestionSubDTO().fromJSON(quizzDTO!.questions!);
- if(quizzDTO!.questions != null && quizzDTO!.questions!.isNotEmpty) {
- quizzDTO!.questions!.sort((a, b) => a.order!.compareTo(b.order!));
- for (var question in quizzDTO!.questions!) {
+ if(quizDTO != null) {
+ quizDTO!.questions!.sort((a, b) => a.order!.compareTo(b.order!));
+ _questionsSubDTO = QuestionSubDTO().fromJSON(quizDTO!.questions!);
+ if(quizDTO!.questions != null && quizDTO!.questions!.isNotEmpty) {
+ quizDTO!.questions!.sort((a, b) => a.order!.compareTo(b.order!));
+ for (var question in quizDTO!.questions!) {
if(isConfigOffline)
{
// OFFLINE
@@ -314,7 +314,7 @@ class _QuizzPageState extends State {
}
}
- resultImage(VisitAppContext visitAppContext, Size size, LevelDTO levelToShow, Orientation orientation) {
+ resultImage(VisitAppContext visitAppContext, Size size, List levelToShow, Orientation orientation) {
return Container(
//height: size.height * 0.2,
//width: size.width * 0.25,
@@ -324,11 +324,11 @@ class _QuizzPageState extends State {
),
alignment: Alignment.center,
decoration: BoxDecoration(
- image: levelToShow.label!.where((label) => label.language == visitAppContext.language).isNotEmpty ? DecorationImage(
+ image: levelToShow.where((label) => label.language == visitAppContext.language).isNotEmpty ? DecorationImage(
fit: BoxFit.contain,
opacity: 0.85,
image: NetworkImage(
- levelToShow.label!.firstWhere((label) => label.language == visitAppContext.language).resourceUrl!,
+ levelToShow.firstWhere((label) => label.language == visitAppContext.language).resource!.url!,
),
): null,
borderRadius: const BorderRadius.all( Radius.circular(50.0)),
@@ -343,7 +343,7 @@ class _QuizzPageState extends State {
color: const Color(0xff7c94b6),
image: DecorationImage(
image: NetworkImage(
- levelToShow.label!.firstWhere((label) => label.language == visitAppContext.language).resourceUrl!, // TODO REDUNDANCY here??
+ levelToShow.firstWhere((label) => label.language == visitAppContext.language).resource!.url!, // TODO REDUNDANCY here??
),
fit: BoxFit.cover,
),
@@ -357,7 +357,7 @@ class _QuizzPageState extends State {
);
}
- resultText(Size size, LevelDTO levelToShow, AppContext appContext) {
+ resultText(Size size, List levelToShow, AppContext appContext) {
return Padding(
padding: const EdgeInsets.only(bottom: 10),
child: Container(
@@ -382,7 +382,7 @@ class _QuizzPageState extends State {
child: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(15.0),
- child: Text(TranslationHelper.getWithResource(levelToShow.label, appContext.getContext() as VisitAppContext), textAlign: TextAlign.center, style: TextStyle(fontSize: kIsWeb ? kDescriptionSize : kDescriptionSize)),
+ child: Text(TranslationHelper.getWithResource(levelToShow, appContext.getContext() as VisitAppContext), textAlign: TextAlign.center, style: TextStyle(fontSize: kIsWeb ? kDescriptionSize : kDescriptionSize)),
),
),
),
@@ -408,7 +408,7 @@ class _QuizzPageState extends State {
showResult = false;
showResponses = false;
currentIndex = 1;
- _questionsSubDTO = QuestionSubDTO().fromJSON(quizzDTO!.questions!);
+ _questionsSubDTO = QuestionSubDTO().fromJSON(quizDTO!.questions!);
});
},
fontSize: 18,
diff --git a/lib/Screens/Tests/DebugOptionsWidget.dart b/lib/Screens/Tests/DebugOptionsWidget.dart
new file mode 100644
index 0000000..6906476
--- /dev/null
+++ b/lib/Screens/Tests/DebugOptionsWidget.dart
@@ -0,0 +1,117 @@
+import 'package:ar_flutter_plugin/managers/ar_location_manager.dart';
+import 'package:ar_flutter_plugin/managers/ar_session_manager.dart';
+import 'package:ar_flutter_plugin/managers/ar_object_manager.dart';
+import 'package:ar_flutter_plugin/managers/ar_anchor_manager.dart';
+import 'package:flutter/material.dart';
+import 'package:ar_flutter_plugin/ar_flutter_plugin.dart';
+import 'package:ar_flutter_plugin/datatypes/config_planedetection.dart';
+
+class DebugOptionsWidget extends StatefulWidget {
+ DebugOptionsWidget({Key? key}) : super(key: key);
+ @override
+ _DebugOptionsWidgetState createState() => _DebugOptionsWidgetState();
+}
+
+class _DebugOptionsWidgetState extends State {
+ ARSessionManager? arSessionManager;
+ ARObjectManager? arObjectManager;
+ bool _showFeaturePoints = false;
+ bool _showPlanes = false;
+ bool _showWorldOrigin = false;
+ bool _showAnimatedGuide = true;
+ String _planeTexturePath = "Images/triangle.png";
+ bool _handleTaps = false;
+
+ @override
+ void dispose() {
+ super.dispose();
+ arSessionManager!.dispose();
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: AppBar(
+ title: const Text('Debug Options'),
+ ),
+ body: Container(
+ child: Stack(children: [
+ ARView(
+ onARViewCreated: onARViewCreated,
+ planeDetectionConfig: PlaneDetectionConfig.horizontalAndVertical,
+ showPlatformType: true,
+ ),
+ Align(
+ alignment: FractionalOffset.bottomRight,
+ child: Container(
+ width: MediaQuery.of(context).size.width * 0.5,
+ color: Color(0xFFFFFFF).withOpacity(0.5),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.end,
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ SwitchListTile(
+ title: const Text('Feature Points'),
+ value: _showFeaturePoints,
+ onChanged: (bool value) {
+ setState(() {
+ _showFeaturePoints = value;
+ updateSessionSettings();
+ });
+ },
+ ),
+ SwitchListTile(
+ title: const Text('Planes'),
+ value: _showPlanes,
+ onChanged: (bool value) {
+ setState(() {
+ _showPlanes = value;
+ updateSessionSettings();
+ });
+ },
+ ),
+ SwitchListTile(
+ title: const Text('World Origin'),
+ value: _showWorldOrigin,
+ onChanged: (bool value) {
+ setState(() {
+ _showWorldOrigin = value;
+ updateSessionSettings();
+ });
+ },
+ ),
+ ],
+ ),
+ ),
+ ),
+ ])));
+ }
+
+ void onARViewCreated(
+ ARSessionManager arSessionManager,
+ ARObjectManager arObjectManager,
+ ARAnchorManager arAnchorManager,
+ ARLocationManager arLocationManager) {
+ this.arSessionManager = arSessionManager;
+ this.arObjectManager = arObjectManager;
+
+ this.arSessionManager!.onInitialize(
+ showFeaturePoints: _showFeaturePoints,
+ showPlanes: _showPlanes,
+ customPlaneTexturePath: _planeTexturePath,
+ showWorldOrigin: _showWorldOrigin,
+ showAnimatedGuide: _showAnimatedGuide,
+ handleTaps: _handleTaps,
+ );
+ this.arObjectManager!.onInitialize();
+ }
+
+ void updateSessionSettings() {
+ this.arSessionManager!.onInitialize(
+ showFeaturePoints: _showFeaturePoints,
+ showPlanes: _showPlanes,
+ customPlaneTexturePath: _planeTexturePath,
+ showWorldOrigin: _showWorldOrigin,
+ );
+ }
+}
\ No newline at end of file
diff --git a/lib/Screens/Tests/TestAR.dart b/lib/Screens/Tests/TestAR.dart
new file mode 100644
index 0000000..28e0c34
--- /dev/null
+++ b/lib/Screens/Tests/TestAR.dart
@@ -0,0 +1,144 @@
+import 'package:flutter/material.dart';
+import 'dart:async';
+import 'package:flutter/services.dart';
+import 'package:ar_flutter_plugin/ar_flutter_plugin.dart';
+import 'package:mymuseum_visitapp/Screens/Tests/DebugOptionsWidget.dart';
+import 'package:mymuseum_visitapp/Screens/Tests/cloudtest.dart';
+import 'package:mymuseum_visitapp/Screens/Tests/testother.dart';
+import 'localtest.dart';
+
+class TestAR extends StatefulWidget {
+ @override
+ _MyAppState createState() => _MyAppState();
+}
+
+class _MyAppState extends State {
+ String _platformVersion = 'Unknown';
+ static const String _title = 'AR Plugin Demo';
+
+ @override
+ void initState() {
+ super.initState();
+ initPlatformState();
+ }
+
+ // Platform messages are asynchronous, so we initialize in an async method.
+ Future initPlatformState() async {
+ String platformVersion;
+ // Platform messages may fail, so we use a try/catch PlatformException.
+ try {
+ platformVersion = await ArFlutterPlugin.platformVersion;
+ } on PlatformException {
+ platformVersion = 'Failed to get platform version.';
+ }
+
+ // If the widget was removed from the tree while the asynchronous platform
+ // message was in flight, we want to discard the reply rather than calling
+ // setState to update our non-existent appearance.
+ if (!mounted) return;
+
+ setState(() {
+ _platformVersion = platformVersion;
+ });
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return MaterialApp(
+ home: Scaffold(
+ appBar: AppBar(
+ title: const Text(_title),
+ ),
+ body: Column(children: [
+ Text('Running on: $_platformVersion\n'),
+ Expanded(
+ child: ExampleList(),
+ ),
+ ]),
+ ),
+ );
+ }
+}
+
+class ExampleList extends StatelessWidget {
+ ExampleList({Key? key}) : super(key: key);
+
+ @override
+ Widget build(BuildContext context) {
+ final examples = [
+ Example(
+ 'Debug Options',
+ 'Visualize feature points, planes and world coordinate system',
+ () => Navigator.push(context,
+ MaterialPageRoute(builder: (context) => DebugOptionsWidget()))),
+ /*Example(
+ 'Local & Online Objects',
+ 'Place 3D objects from Flutter assets and the web into the scene',
+ () => Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) => LocalAndWebObjectsWidget()))),*/
+ Example(
+ 'Anchors & Objects on Planes',
+ 'Place 3D objects on detected planes using anchors',
+ () => Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) => ObjectsOnPlanesWidget()))),
+ Example(
+ 'Object Transformation Gestures',
+ 'Rotate and Pan Objects',
+ () => Navigator.push(context,
+ MaterialPageRoute(builder: (context) => ObjectGesturesWidget()))),
+ Example(
+ 'Screenshots',
+ 'Place 3D objects on planes and take screenshots',
+ () => Navigator.push(context,
+ MaterialPageRoute(builder: (context) => ScreenshotWidget()))),
+ /*Example(
+ 'Cloud Anchors',
+ 'Place and retrieve 3D objects using the Google Cloud Anchor API',
+ () => Navigator.push(context,
+ MaterialPageRoute(builder: (context) => CloudAnchorWidget()))),
+ Example(
+ 'External Model Management',
+ 'Similar to Cloud Anchors example, but uses external database to choose from available 3D models',
+ () => Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) => ExternalModelManagementWidget())))*/
+ ];
+ return ListView(
+ children:
+ examples.map((example) => ExampleCard(example: example)).toList(),
+ );
+ }
+}
+
+class ExampleCard extends StatelessWidget {
+ ExampleCard({Key? key, required this.example}) : super(key: key);
+ final Example example;
+
+ @override
+ build(BuildContext context) {
+ return Card(
+ child: InkWell(
+ splashColor: Colors.blue.withAlpha(30),
+ onTap: () {
+ example.onTap();
+ },
+ child: ListTile(
+ title: Text(example.name),
+ subtitle: Text(example.description),
+ ),
+ ),
+ );
+ }
+}
+
+class Example {
+ const Example(this.name, this.description, this.onTap);
+ final String name;
+ final String description;
+ final Function onTap;
+}
\ No newline at end of file
diff --git a/lib/Screens/Tests/XRTest.dart b/lib/Screens/Tests/XRTest.dart
new file mode 100644
index 0000000..01231ad
--- /dev/null
+++ b/lib/Screens/Tests/XRTest.dart
@@ -0,0 +1,72 @@
+import 'package:flutter/material.dart';
+import 'package:qr_code_scanner/qr_code_scanner.dart';
+import 'package:webview_flutter/webview_flutter.dart';
+
+class XRWithQRScannerPage extends StatefulWidget {
+ @override
+ _XRWithQRScannerPageState createState() => _XRWithQRScannerPageState();
+}
+
+class _XRWithQRScannerPageState extends State {
+ String qrCode = "";
+ late final WebViewController _webViewController;
+ final GlobalKey qrKey = GlobalKey(debugLabel: 'QR');
+
+ @override
+ void initState() {
+ super.initState();
+ _webViewController = WebViewController()
+ ..setJavaScriptMode(JavaScriptMode.unrestricted)
+ ..loadRequest(Uri.parse("https://immersive-web.github.io/webxr-samples/immersive-ar-session.html"))
+ ;
+ //..loadFlutterAsset('assets/files/xr_environment.html'); // Charge le fichier local
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: AppBar(title: Text("XR avec Scanner QR Code")),
+ body: Stack(
+ children: [
+ // La couche QR code scanner (superposée au-dessus de l'XR)
+ Positioned.fill(
+ child: QRView(
+ onQRViewCreated: (controller) {
+ controller.scannedDataStream.listen((scanData) {
+ setState(() {
+ qrCode = scanData.code!;
+ print('QR Code détecté : $qrCode');
+ fetchData(qrCode);
+ });
+ });
+ }, key: qrKey,
+ ),
+ ),
+ // La couche XR (WebXR avec Three.js ou autre moteur)
+ WebViewWidget(
+ controller: _webViewController
+ ..setJavaScriptMode(JavaScriptMode.unrestricted)
+ ..setBackgroundColor(Color(0x00000000))
+ ..addJavaScriptChannel(
+ 'WebViewChannel',
+ onMessageReceived: (message) {
+ // Message reçu de JavaScript
+ print(message.message);
+ showDialog(
+ context: context,
+ builder: (context) => AlertDialog(
+ content: Text(message.message),
+ ),
+ );
+ },
+ ),
+ ),
+ ],
+ ),
+ );
+ }
+
+ Future fetchData(String? qrCode) async {
+ print('Fetching data for QR Code: $qrCode');
+ }
+}
diff --git a/lib/Screens/Tests/cloudtest.dart b/lib/Screens/Tests/cloudtest.dart
new file mode 100644
index 0000000..1968b72
--- /dev/null
+++ b/lib/Screens/Tests/cloudtest.dart
@@ -0,0 +1,170 @@
+import 'package:ar_flutter_plugin/managers/ar_location_manager.dart';
+import 'package:ar_flutter_plugin/managers/ar_session_manager.dart';
+import 'package:ar_flutter_plugin/managers/ar_object_manager.dart';
+import 'package:ar_flutter_plugin/managers/ar_anchor_manager.dart';
+import 'package:ar_flutter_plugin/models/ar_anchor.dart';
+import 'package:flutter/material.dart';
+import 'package:ar_flutter_plugin/ar_flutter_plugin.dart';
+import 'package:ar_flutter_plugin/datatypes/config_planedetection.dart';
+import 'package:ar_flutter_plugin/datatypes/node_types.dart';
+import 'package:ar_flutter_plugin/datatypes/hittest_result_types.dart';
+import 'package:ar_flutter_plugin/models/ar_node.dart';
+import 'package:ar_flutter_plugin/models/ar_hittest_result.dart';
+import 'package:flutter/services.dart';
+import 'package:vector_math/vector_math_64.dart';
+import 'dart:math';
+
+class ObjectGesturesWidget extends StatefulWidget {
+ ObjectGesturesWidget({Key? key}) : super(key: key);
+ @override
+ _ObjectGesturesWidgetState createState() => _ObjectGesturesWidgetState();
+}
+
+class _ObjectGesturesWidgetState extends State {
+ ARSessionManager? arSessionManager;
+ ARObjectManager? arObjectManager;
+ ARAnchorManager? arAnchorManager;
+
+ List nodes = [];
+ List anchors = [];
+
+ @override
+ void dispose() {
+ super.dispose();
+ arSessionManager!.dispose();
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: AppBar(
+ title: const Text('Object Transformation Gestures'),
+ ),
+ body: Container(
+ child: Stack(children: [
+ ARView(
+ onARViewCreated: onARViewCreated,
+ planeDetectionConfig: PlaneDetectionConfig.horizontalAndVertical,
+ ),
+ Align(
+ alignment: FractionalOffset.bottomCenter,
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ children: [
+ ElevatedButton(
+ onPressed: onRemoveEverything,
+ child: Text("Remove Everything")),
+ ]),
+ )
+ ])));
+ }
+
+ void onARViewCreated(
+ ARSessionManager arSessionManager,
+ ARObjectManager arObjectManager,
+ ARAnchorManager arAnchorManager,
+ ARLocationManager arLocationManager) {
+ this.arSessionManager = arSessionManager;
+ this.arObjectManager = arObjectManager;
+ this.arAnchorManager = arAnchorManager;
+
+ this.arSessionManager!.onInitialize(
+ showFeaturePoints: false,
+ showPlanes: true,
+ customPlaneTexturePath: "Images/triangle.png",
+ showWorldOrigin: true,
+ handlePans: true,
+ handleRotation: true,
+ );
+ this.arObjectManager!.onInitialize();
+
+ this.arSessionManager!.onPlaneOrPointTap = onPlaneOrPointTapped;
+ this.arObjectManager!.onPanStart = onPanStarted;
+ this.arObjectManager!.onPanChange = onPanChanged;
+ this.arObjectManager!.onPanEnd = onPanEnded;
+ this.arObjectManager!.onRotationStart = onRotationStarted;
+ this.arObjectManager!.onRotationChange = onRotationChanged;
+ this.arObjectManager!.onRotationEnd = onRotationEnded;
+ }
+
+ Future onRemoveEverything() async {
+ /*nodes.forEach((node) {
+ this.arObjectManager.removeNode(node);
+ });*/
+ anchors.forEach((anchor) {
+ this.arAnchorManager!.removeAnchor(anchor);
+ });
+ anchors = [];
+ }
+
+ Future onPlaneOrPointTapped(
+ List hitTestResults) async {
+ var singleHitTestResult = hitTestResults.firstWhere(
+ (hitTestResult) => hitTestResult.type == ARHitTestResultType.plane);
+ if (singleHitTestResult != null) {
+ var newAnchor =
+ ARPlaneAnchor(transformation: singleHitTestResult.worldTransform);
+ bool? didAddAnchor = await this.arAnchorManager!.addAnchor(newAnchor);
+ if (didAddAnchor!) {
+ this.anchors.add(newAnchor);
+ // Add note to anchor
+ var newNode = ARNode(
+ type: NodeType.webGLB,
+ uri:
+ "assets/files/Duck.glb",
+ scale: Vector3(0.2, 0.2, 0.2),
+ position: Vector3(0.0, 0.0, 0.0),
+ rotation: Vector4(1.0, 0.0, 0.0, 0.0));
+ bool? didAddNodeToAnchor =
+ await this.arObjectManager!.addNode(newNode, planeAnchor: newAnchor);
+ if (didAddNodeToAnchor!) {
+ this.nodes.add(newNode);
+ } else {
+ this.arSessionManager!.onError("Adding Node to Anchor failed");
+ }
+ } else {
+ this.arSessionManager!.onError("Adding Anchor failed");
+ }
+ }
+ }
+
+ onPanStarted(String nodeName) {
+ print("Started panning node " + nodeName);
+ }
+
+ onPanChanged(String nodeName) {
+ print("Continued panning node " + nodeName);
+ }
+
+ onPanEnded(String nodeName, Matrix4 newTransform) {
+ print("Ended panning node " + nodeName);
+ final pannedNode =
+ this.nodes.firstWhere((element) => element.name == nodeName);
+
+ /*
+ * Uncomment the following command if you want to keep the transformations of the Flutter representations of the nodes up to date
+ * (e.g. if you intend to share the nodes through the cloud)
+ */
+ //pannedNode.transform = newTransform;
+ }
+
+ onRotationStarted(String nodeName) {
+ print("Started rotating node " + nodeName);
+ }
+
+ onRotationChanged(String nodeName) {
+ print("Continued rotating node " + nodeName);
+ }
+
+ onRotationEnded(String nodeName, Matrix4 newTransform) {
+ print("Ended rotating node " + nodeName);
+ final rotatedNode =
+ this.nodes.firstWhere((element) => element.name == nodeName);
+
+ /*
+ * Uncomment the following command if you want to keep the transformations of the Flutter representations of the nodes up to date
+ * (e.g. if you intend to share the nodes through the cloud)
+ */
+ //rotatedNode.transform = newTransform;
+ }
+}
\ No newline at end of file
diff --git a/lib/Screens/Tests/localtest.dart b/lib/Screens/Tests/localtest.dart
new file mode 100644
index 0000000..533d004
--- /dev/null
+++ b/lib/Screens/Tests/localtest.dart
@@ -0,0 +1,157 @@
+import 'package:ar_flutter_plugin/managers/ar_location_manager.dart';
+import 'package:ar_flutter_plugin/managers/ar_session_manager.dart';
+import 'package:ar_flutter_plugin/managers/ar_object_manager.dart';
+import 'package:ar_flutter_plugin/managers/ar_anchor_manager.dart';
+import 'package:ar_flutter_plugin/models/ar_anchor.dart';
+import 'package:flutter/material.dart';
+import 'package:ar_flutter_plugin/ar_flutter_plugin.dart';
+import 'package:ar_flutter_plugin/datatypes/config_planedetection.dart';
+import 'package:ar_flutter_plugin/datatypes/node_types.dart';
+import 'package:ar_flutter_plugin/datatypes/hittest_result_types.dart';
+import 'package:ar_flutter_plugin/models/ar_node.dart';
+import 'package:ar_flutter_plugin/models/ar_hittest_result.dart';
+import 'package:vector_math/vector_math_64.dart';
+
+class ScreenshotWidget extends StatefulWidget {
+ const ScreenshotWidget({Key? key}) : super(key: key);
+ @override
+ _ScreenshotWidgetState createState() => _ScreenshotWidgetState();
+}
+
+class _ScreenshotWidgetState extends State {
+ ARSessionManager? arSessionManager;
+ ARObjectManager? arObjectManager;
+ ARAnchorManager? arAnchorManager;
+
+ List nodes = [];
+ List anchors = [];
+
+ @override
+ void dispose() {
+ super.dispose();
+ arSessionManager!.dispose();
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: AppBar(
+ title: const Text('Screenshots'),
+ ),
+ body:
+ Container(
+ child:
+ Stack(children: [
+ ARView(
+ onARViewCreated: onARViewCreated,
+ planeDetectionConfig: PlaneDetectionConfig.horizontalAndVertical,
+ ),
+ Align(
+ alignment: FractionalOffset.bottomCenter,
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ children: [
+ ElevatedButton(
+ onPressed: onRemoveEverything,
+ child: const Text("Remove Everything")),
+ ElevatedButton(
+ onPressed: onTakeScreenshot,
+ child: const Text("Take Screenshot")),
+ ]),
+ )
+ ])));
+ }
+
+ void onARViewCreated(
+ ARSessionManager arSessionManager,
+ ARObjectManager arObjectManager,
+ ARAnchorManager arAnchorManager,
+ ARLocationManager arLocationManager) {
+ this.arSessionManager = arSessionManager;
+ this.arObjectManager = arObjectManager;
+ this.arAnchorManager = arAnchorManager;
+
+ this.arSessionManager!.onInitialize(
+ showFeaturePoints: false,
+ showPlanes: true,
+ customPlaneTexturePath: "Images/triangle.png",
+ showWorldOrigin: true,
+ );
+ this.arObjectManager!.onInitialize();
+
+ this.arSessionManager!.onPlaneOrPointTap = onPlaneOrPointTapped;
+ this.arObjectManager!.onNodeTap = onNodeTapped;
+ }
+
+ Future onRemoveEverything() async {
+ /*nodes.forEach((node) {
+ this.arObjectManager.removeNode(node);
+ });*/
+ // anchors.forEach((anchor)
+ for (var anchor in anchors)
+ {
+ arAnchorManager!.removeAnchor(anchor);
+ };
+ anchors = [];
+ }
+
+ Future onTakeScreenshot() async {
+ var image = await arSessionManager!.snapshot();
+ await showDialog(
+ context: context,
+ builder: (_) => Dialog(
+ child: Container(
+ decoration: BoxDecoration(
+ image: DecorationImage(image: image, fit: BoxFit.cover)),
+ ),
+ ));
+ }
+
+ Future onNodeTapped(List nodes) async {
+ var number = nodes.length;
+ arSessionManager!.onError("Tapped $number node(s)");
+ }
+
+ Future onPlaneOrPointTapped(
+ List hitTestResults) async {
+ var singleHitTestResult = hitTestResults.firstWhere(
+ (hitTestResult) => hitTestResult.type == ARHitTestResultType.plane);
+ if (singleHitTestResult != null) {
+ var newAnchor =
+ ARPlaneAnchor(transformation: singleHitTestResult.worldTransform);
+ bool? didAddAnchor = await arAnchorManager!.addAnchor(newAnchor);
+ if (didAddAnchor != null && didAddAnchor) {
+ anchors.add(newAnchor);
+ // Add note to anchor
+ var newNode = ARNode(
+ type: NodeType.webGLB,
+ uri:
+ "https://github.com/KhronosGroup/glTF-Sample-Models/blob/main/2.0/Duck/glTF-Binary/Duck.glb",
+ scale: Vector3(0.2, 0.2, 0.2),
+ position: Vector3(0.0, 0.0, 0.0),
+ rotation: Vector4(1.0, 0.0, 0.0, 0.0));
+ bool? didAddNodeToAnchor =
+ await arObjectManager!.addNode(newNode, planeAnchor: newAnchor);
+
+ if (didAddNodeToAnchor != null && didAddNodeToAnchor) {
+ nodes.add(newNode);
+ } else {
+ arSessionManager!.onError("Adding Node to Anchor failed");
+ }
+ } else {
+ arSessionManager!.onError("Adding Anchor failed");
+ }
+ /*
+ // To add a node to the tapped position without creating an anchor, use the following code (Please mind: the function onRemoveEverything has to be adapted accordingly!):
+ var newNode = ARNode(
+ type: NodeType.localGLTF2,
+ uri: "Models/Chicken_01/Chicken_01.gltf",
+ scale: Vector3(0.2, 0.2, 0.2),
+ transformation: singleHitTestResult.worldTransform);
+ bool didAddWebNode = await this.arObjectManager.addNode(newNode);
+ if (didAddWebNode) {
+ this.nodes.add(newNode);
+ }*/
+ }
+ }
+}
\ No newline at end of file
diff --git a/lib/Screens/Tests/testother.dart b/lib/Screens/Tests/testother.dart
new file mode 100644
index 0000000..0856e3b
--- /dev/null
+++ b/lib/Screens/Tests/testother.dart
@@ -0,0 +1,139 @@
+import 'package:ar_flutter_plugin/managers/ar_location_manager.dart';
+import 'package:ar_flutter_plugin/managers/ar_session_manager.dart';
+import 'package:ar_flutter_plugin/managers/ar_object_manager.dart';
+import 'package:ar_flutter_plugin/managers/ar_anchor_manager.dart';
+import 'package:ar_flutter_plugin/models/ar_anchor.dart';
+import 'package:flutter/material.dart';
+import 'package:ar_flutter_plugin/ar_flutter_plugin.dart';
+import 'package:ar_flutter_plugin/datatypes/config_planedetection.dart';
+import 'package:ar_flutter_plugin/datatypes/node_types.dart';
+import 'package:ar_flutter_plugin/datatypes/hittest_result_types.dart';
+import 'package:ar_flutter_plugin/models/ar_node.dart';
+import 'package:ar_flutter_plugin/models/ar_hittest_result.dart';
+import 'package:flutter/services.dart';
+import 'package:vector_math/vector_math_64.dart';
+import 'dart:math';
+
+class ObjectsOnPlanesWidget extends StatefulWidget {
+ ObjectsOnPlanesWidget({Key? key}) : super(key: key);
+ @override
+ _ObjectsOnPlanesWidgetState createState() => _ObjectsOnPlanesWidgetState();
+}
+
+class _ObjectsOnPlanesWidgetState extends State {
+ ARSessionManager? arSessionManager;
+ ARObjectManager? arObjectManager;
+ ARAnchorManager? arAnchorManager;
+
+ List nodes = [];
+ List anchors = [];
+
+ @override
+ void dispose() {
+ super.dispose();
+ arSessionManager!.dispose();
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: AppBar(
+ title: const Text('Anchors & Objects on Planes'),
+ ),
+ body: Container(
+ child: Stack(children: [
+ ARView(
+ onARViewCreated: onARViewCreated,
+ planeDetectionConfig: PlaneDetectionConfig.horizontalAndVertical,
+ ),
+ Align(
+ alignment: FractionalOffset.bottomCenter,
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ children: [
+ ElevatedButton(
+ onPressed: onRemoveEverything,
+ child: Text("Remove Everything")),
+ ]),
+ )
+ ])));
+ }
+
+ void onARViewCreated(
+ ARSessionManager arSessionManager,
+ ARObjectManager arObjectManager,
+ ARAnchorManager arAnchorManager,
+ ARLocationManager arLocationManager) {
+ this.arSessionManager = arSessionManager;
+ this.arObjectManager = arObjectManager;
+ this.arAnchorManager = arAnchorManager;
+
+ this.arSessionManager!.onInitialize(
+ showFeaturePoints: false,
+ showPlanes: true,
+ customPlaneTexturePath: "Images/triangle.png",
+ showWorldOrigin: true,
+ );
+ this.arObjectManager!.onInitialize();
+
+ this.arSessionManager!.onPlaneOrPointTap = onPlaneOrPointTapped;
+ this.arObjectManager!.onNodeTap = onNodeTapped;
+ }
+
+ Future onRemoveEverything() async {
+ /*nodes.forEach((node) {
+ this.arObjectManager.removeNode(node);
+ });*/
+ anchors.forEach((anchor) {
+ this.arAnchorManager!.removeAnchor(anchor);
+ });
+ anchors = [];
+ }
+
+ Future onNodeTapped(List nodes) async {
+ var number = nodes.length;
+ this.arSessionManager!.onError("Tapped $number node(s)");
+ }
+
+ Future onPlaneOrPointTapped(
+ List hitTestResults) async {
+ var singleHitTestResult = hitTestResults.firstWhere(
+ (hitTestResult) => hitTestResult.type == ARHitTestResultType.plane);
+ if (singleHitTestResult != null) {
+ var newAnchor =
+ ARPlaneAnchor(transformation: singleHitTestResult.worldTransform);
+ bool? didAddAnchor = await this.arAnchorManager!.addAnchor(newAnchor);
+ if (didAddAnchor!) {
+ this.anchors.add(newAnchor);
+ // Add note to anchor
+ var newNode = ARNode(
+ type: NodeType.webGLB,
+ uri:
+ "https://github.com/KhronosGroup/glTF-Sample-Models/blob/main/2.0/Duck/glTF-Binary/Duck.glb",
+ scale: Vector3(0.2, 0.2, 0.2),
+ position: Vector3(0.0, 0.0, 0.0),
+ rotation: Vector4(1.0, 0.0, 0.0, 0.0));
+ bool? didAddNodeToAnchor =
+ await this.arObjectManager!.addNode(newNode, planeAnchor: newAnchor);
+ if (didAddNodeToAnchor!) {
+ this.nodes.add(newNode);
+ } else {
+ this.arSessionManager!.onError("Adding Node to Anchor failed");
+ }
+ } else {
+ this.arSessionManager!.onError("Adding Anchor failed");
+ }
+ /*
+ // To add a node to the tapped position without creating an anchor, use the following code (Please mind: the function onRemoveEverything has to be adapted accordingly!):
+ var newNode = ARNode(
+ type: NodeType.localGLTF2,
+ uri: "Models/Chicken_01/Chicken_01.gltf",
+ scale: Vector3(0.2, 0.2, 0.2),
+ transformation: singleHitTestResult.worldTransform);
+ bool didAddWebNode = await this.arObjectManager.addNode(newNode);
+ if (didAddWebNode) {
+ this.nodes.add(newNode);
+ }*/
+ }
+ }
+}
\ No newline at end of file
diff --git a/lib/Screens/Visit/beaconArticleFound.dart b/lib/Screens/Visit/beaconArticleFound.dart
index b50e715..cac1803 100644
--- a/lib/Screens/Visit/beaconArticleFound.dart
+++ b/lib/Screens/Visit/beaconArticleFound.dart
@@ -3,7 +3,7 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_widget_from_html/flutter_widget_from_html.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Components/Loading.dart';
import 'package:mymuseum_visitapp/Components/SearchBox.dart';
import 'package:mymuseum_visitapp/Components/SearchNumberBox.dart';
diff --git a/lib/Screens/Visit/components/body.dart b/lib/Screens/Visit/components/body.dart
index 20e295d..1554b89 100644
--- a/lib/Screens/Visit/components/body.dart
+++ b/lib/Screens/Visit/components/body.dart
@@ -1,6 +1,6 @@
import 'package:diacritic/diacritic.dart';
import 'package:flutter/material.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Components/loading_common.dart';
import 'package:mymuseum_visitapp/Components/SearchBox.dart';
import 'package:mymuseum_visitapp/Components/SearchNumberBox.dart';
@@ -113,7 +113,7 @@ class _BodyState extends State {
),
);
break;
- case SectionType.Quizz:
+ case SectionType.Quiz:
Navigator.push(
context,
MaterialPageRoute(
@@ -166,7 +166,7 @@ class _BodyState extends State {
List? sectionsDownloaded = await ApiService.getAllSections(visitAppContext.clientAPI, visitAppContext.configuration!.id!);
//print(sectionsDownloaded);
if(sectionsDownloaded!.isNotEmpty) {
- sections = sectionsDownloaded.where((s) => s.type == SectionType.Article || s.type == SectionType.Quizz).toList(); // TODO Support more than Article and Quizz section type
+ sections = sectionsDownloaded.where((s) => s.type == SectionType.Article || s.type == SectionType.Quiz).toList(); // TODO Support more than Article and Quizz section type
//print(sections);
}
}
diff --git a/lib/Screens/Visit/components/section_card.dart b/lib/Screens/Visit/components/section_card.dart
index b6054a1..7c43b03 100644
--- a/lib/Screens/Visit/components/section_card.dart
+++ b/lib/Screens/Visit/components/section_card.dart
@@ -2,7 +2,7 @@ import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter_widget_from_html/flutter_widget_from_html.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Components/loading_common.dart';
import 'package:mymuseum_visitapp/Helpers/DatabaseHelper.dart';
import 'package:mymuseum_visitapp/Helpers/translationHelper.dart';
diff --git a/lib/Screens/Visit/visit.dart b/lib/Screens/Visit/visit.dart
index ecab74c..1e1d712 100644
--- a/lib/Screens/Visit/visit.dart
+++ b/lib/Screens/Visit/visit.dart
@@ -6,7 +6,7 @@ import 'package:flutter/services.dart';
import 'package:flutter_beacon/flutter_beacon.dart';
import 'package:get/get.dart';
import 'package:intl/intl.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Components/CustomAppBar.dart';
import 'package:mymuseum_visitapp/Components/ScannerBouton.dart';
import 'package:mymuseum_visitapp/Helpers/requirement_state_controller.dart';
@@ -299,7 +299,7 @@ class _VisitPageState extends State with WidgetsBindingObserver {
),
);
break;
- case SectionType.Quizz:
+ case SectionType.Quiz:
Navigator.push(
context,
MaterialPageRoute(
diff --git a/lib/Screens/section_page.dart b/lib/Screens/section_page.dart
new file mode 100644
index 0000000..e957ec6
--- /dev/null
+++ b/lib/Screens/section_page.dart
@@ -0,0 +1,423 @@
+import 'dart:convert';
+import 'dart:developer';
+import 'dart:typed_data';
+
+//import 'package:confetti/confetti.dart';
+import 'package:flutter/material.dart';
+import 'package:manager_api_new/api.dart';
+import 'package:mymuseum_visitapp/Components/CustomAppBar.dart';
+import 'package:mymuseum_visitapp/Components/Loading.dart';
+import 'package:mymuseum_visitapp/Components/loading_common.dart';
+import 'package:mymuseum_visitapp/Components/rounded_button.dart';
+import 'package:mymuseum_visitapp/Helpers/DatabaseHelper.dart';
+import 'package:mymuseum_visitapp/Helpers/translationHelper.dart';
+import 'package:mymuseum_visitapp/Models/ResponseSubDTO.dart';
+import 'package:mymuseum_visitapp/Models/articleRead.dart';
+import 'package:mymuseum_visitapp/Models/resourceModel.dart';
+import 'package:mymuseum_visitapp/Models/visitContext.dart';
+//import 'package:mymuseum_visitapp/Screens/Quizz/drawPath.dart';
+import 'package:mymuseum_visitapp/Screens/Quizz/questions_list.dart';
+//import 'package:mymuseum_visitapp/Screens/Quizz/showResponses.dart';
+import 'package:mymuseum_visitapp/app_context.dart';
+import 'package:mymuseum_visitapp/client.dart';
+import 'package:mymuseum_visitapp/constants.dart';
+import 'package:provider/provider.dart';
+
+class SectionPage extends StatefulWidget {
+ const SectionPage({Key? key, required this.visitAppContextIn, required this.sectionId}) : super(key: key);
+
+ final String sectionId;
+ final VisitAppContext visitAppContextIn;
+
+ @override
+ State createState() => _SectionPageState();
+}
+
+class _SectionPageState extends State {
+ final GlobalKey _scaffoldKey = GlobalKey();
+ SectionDTO? sectionDTO;
+ late VisitAppContext visitAppContext;
+ late dynamic rawSectionData;
+
+ @override
+ void initState() {
+ widget.visitAppContextIn.isContentCurrentlyShown = true;
+
+ //_controllerCenter = ConfettiController(duration: const Duration(seconds: 10));
+ //_controllerCenter!.play();
+
+ super.initState();
+ }
+
+ @override
+ void dispose() {
+ visitAppContext.isContentCurrentlyShown = false;
+ super.dispose();
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ final appContext = Provider.of(context);
+ Size size = MediaQuery.of(context).size;
+ visitAppContext = appContext.getContext();
+
+ return Scaffold(
+ key: _scaffoldKey,
+ appBar: CustomAppBar(
+ title: sectionDTO != null ? TranslationHelper.get(sectionDTO!.title, visitAppContext) : "",
+ isHomeButton: false,
+ ),
+ body: OrientationBuilder(
+ builder: (context, orientation) {
+ return FutureBuilder(
+ future: getSectionDetail(appContext, visitAppContext.clientAPI, widget.sectionId), // MAYBE MOVE THAT TO PARENT ..
+ builder: (context, AsyncSnapshot snapshot) {
+ if(quizDTO != null && sectionDTO != null) {
+
+ if(showResult) {
+ var goodResponses = 0;
+ for (var question in _questionsSubDTO) {
+ if(question.chosen == question.responsesSubDTO!.indexWhere((response) => response.isGood!)) {
+ goodResponses +=1;
+ }
+ }
+ log("goodResponses =" + goodResponses.toString());
+ List levelToShow = [];
+ var test = goodResponses/quizDTO!.questions!.length;
+
+ if((0 == test || test < 0.25) && quizDTO!.badLevel != null) {
+ levelToShow = quizDTO!.badLevel!;
+ }
+ if((test>=0.25 && test < 0.5) && quizDTO!.mediumLevel != null) {
+ levelToShow = quizDTO!.mediumLevel!;
+ }
+ if((test>=0.5 && test < 0.75) && quizDTO!.goodLevel != null) {
+ levelToShow = quizDTO!.goodLevel!;
+ }
+ if((test>=0.75 && test <= 1) && quizDTO!.greatLevel != null) {
+ levelToShow = quizDTO!.greatLevel!;
+ }
+
+ return SizedBox(
+ width: double.infinity,
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceAround,
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: [
+ /*Center(
+ child: SizedBox(
+ width: 5,
+ height: 5,
+ child: ConfettiWidget(
+ confettiController: _controllerCenter!,
+ blastDirectionality: BlastDirectionality.explosive,
+ shouldLoop: false, // start again as soon as the animation is finished
+ colors: const [
+ kMainColor,
+ kSecondColor,
+ kConfigurationColor,
+ kMainColor1
+ //Colors.pink,
+ //Colors.orange,
+ //Colors.purple
+ ], // manually specify the colors to be used
+ createParticlePath: drawPath, // define a custom shape/path.
+ ),
+ ),
+ ),*/
+ if (orientation == Orientation.portrait)
+ Column(
+ children: [
+ if (!showResponses && levelToShow.firstWhere((label) => label.language == visitAppContext.language).resource?.url != null) // TODO SUPPORT OTHER THAN IMAGES
+ resultImage(visitAppContext, size, levelToShow, orientation),
+ if(!showResponses)
+ // TEXT BOX WITH MAIN SCORE
+ Text('$goodResponses/${quizDTO!.questions!.length}', textAlign: TextAlign.center, style: TextStyle(fontSize: kIsWeb ? (showResponses ? 60 : 100) : 75, color: kBackgroundSecondGrey)),
+ ],
+ ),
+
+ if (orientation == Orientation.landscape)
+ Row(
+ crossAxisAlignment: CrossAxisAlignment.center,
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ children: [
+ if(!showResponses)
+ // TEXT BOX WITH MAIN SCORE
+ Text('$goodResponses/${quizDTO!.questions!.length}', textAlign: TextAlign.center, style: TextStyle(fontSize: kIsWeb ? (showResponses ? 60 : 100) : 75, color: kBackgroundSecondGrey)),
+ if (!showResponses && levelToShow.firstWhere((label) => label.language == visitAppContext.language).resource?.url != null)
+ resultImage(visitAppContext, size, levelToShow, orientation),
+ ],
+ ),
+
+ if(!showResponses)
+ // TEXT BOX WITH LEVEL TEXT RESULT
+ resultText(size, levelToShow, appContext),
+ if(showResponses)
+ QuestionsListWidget(
+ questionsSubDTO: _questionsSubDTO,
+ isShowResponse: true,
+ onShowResponse: () {},
+ orientation: orientation,
+ ),
+ // RESPONSE BOX
+ //ShowReponsesWidget(questionsSubDTO: _questionsSubDTO),
+
+ if(orientation == Orientation.portrait && !showResponses)
+ // Buttons
+ Column(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: resultButtons(size, orientation, visitAppContext!),
+ ),
+ if(orientation == Orientation.landscape && !showResponses)
+ // Buttons
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: resultButtons(size, orientation, visitAppContext!),
+ ),
+ ],
+ ),
+ );
+
+ } else {
+ return QuestionsListWidget(
+ isShowResponse: false,
+ questionsSubDTO: _questionsSubDTO,
+ onShowResponse: () {
+ setState(() {
+ showResult = true;
+ });
+ },
+ orientation: orientation,
+ );
+ }
+ } else {
+ return const LoadingCommon();
+ }
+ }
+ );
+ }
+ ),
+ floatingActionButton: showResponses ? FloatingActionButton(
+ onPressed: () {
+ setState(() {
+ showResult = false;
+ showResponses = false;
+ currentIndex = 1;
+ _questionsSubDTO = QuestionSubDTO().fromJSON(quizDTO!.questions!);
+ });
+ },
+ backgroundColor: kBackgroundSecondGrey,
+ child: const Icon(Icons.undo),
+ ) : null,
+ floatingActionButtonLocation: FloatingActionButtonLocation.miniEndFloat,
+ );
+ }
+
+ Future getSectionDetail(AppContext appContext, Client client, String sectionId) async {
+ try {
+ if(sectionDTO == null) {
+ bool isConfigOffline = (appContext.getContext() as VisitAppContext).configuration!.isOffline!;
+ if(isConfigOffline)
+ {
+ // OFFLINE
+ List> sectionTest = await DatabaseHelper.instance.queryWithColumnId(DatabaseTableType.sections, sectionId);
+ if(sectionTest.isNotEmpty) {
+ sectionDTO = DatabaseHelper.instance.getSectionFromDB(sectionTest.first);
+ try {
+ SectionRead sectionRead = SectionRead(id: sectionDTO!.id!, readTime: DateTime.now().millisecondsSinceEpoch);
+ await DatabaseHelper.instance.insert(DatabaseTableType.articleRead, sectionRead.toMap());
+ visitAppContext.readSections.add(sectionRead);
+
+ appContext.setContext(visitAppContext);
+ } catch (e) {
+ print("DATABASE ERROR SECTIONREAD");
+ print(e);
+ }
+ } else {
+ print("EMPTY SECTION");
+ }
+ } else
+ {
+ // ONLINE
+ SectionDTO? sectionOnline = await client.sectionApi!.sectionGetDetail(sectionId);
+ if(sectionOnline != null) {
+ sectionDTO = sectionOnline;
+ } else {
+ print("EMPTY SECTION");
+ }
+ }
+
+ if(sectionDTO!.type == SectionType.Quiz) {
+ quizDTO = QuizDTO.fromJson(jsonDecode(sectionDTO!.data!));
+ }
+ if(quizDTO != null) {
+ quizDTO!.questions!.sort((a, b) => a.order!.compareTo(b.order!));
+ _questionsSubDTO = QuestionSubDTO().fromJSON(quizDTO!.questions!);
+ if(quizDTO!.questions != null && quizDTO!.questions!.isNotEmpty) {
+ quizDTO!.questions!.sort((a, b) => a.order!.compareTo(b.order!));
+ for (var question in quizDTO!.questions!) {
+ if(isConfigOffline)
+ {
+ // OFFLINE
+ if(question.imageBackgroundResourceId != null) {
+ List> ressourceQuizz = await DatabaseHelper.instance.queryWithColumnId(DatabaseTableType.resources, question.imageBackgroundResourceId!);
+ if(ressourceQuizz.isNotEmpty) {
+ resourcesModel.add(DatabaseHelper.instance.getResourceFromDB(ressourceQuizz.first));
+ } else {
+ print("EMPTY resourcesModel - second");
+ }
+ }
+ }
+ else
+ {
+ // ONLINE
+ if(question.imageBackgroundResourceId != null) {
+ resourcesModel.add(ResourceModel(id: question.imageBackgroundResourceId, source: question.imageBackgroundResourceUrl, type: ResourceType.Image));
+ }
+ }
+ }
+ }
+ }
+
+ setState(() {
+ //print(sectionDTO!.title);
+ });
+ } else {
+ return null; // TODO return local list..
+ }
+ } catch (e) {
+ print(e);
+ print("IN CATCH");
+ return null;
+ }
+ }
+
+ resultImage(VisitAppContext visitAppContext, Size size, List levelToShow, Orientation orientation) {
+ return Container(
+ //height: size.height * 0.2,
+ //width: size.width * 0.25,
+ constraints: BoxConstraints(
+ maxHeight: size.height * 0.25,
+ maxWidth: kIsWeb ? size.width * 0.20 : orientation == Orientation.portrait ? size.width * 0.85 : size.width * 0.4,
+ ),
+ alignment: Alignment.center,
+ decoration: BoxDecoration(
+ image: levelToShow.where((label) => label.language == visitAppContext.language).isNotEmpty ? DecorationImage(
+ fit: BoxFit.contain,
+ opacity: 0.85,
+ image: NetworkImage(
+ levelToShow.firstWhere((label) => label.language == visitAppContext.language).resource!.url!,
+ ),
+ ): null,
+ borderRadius: const BorderRadius.all( Radius.circular(50.0)),
+ border: Border.all(
+ color: kBackgroundGrey,
+ width: 1.0,
+ ),
+ ),
+ child: Container(
+ //borderRadius: BorderRadius.all(Radius.circular(25.0)),
+ decoration: BoxDecoration(
+ color: const Color(0xff7c94b6),
+ image: DecorationImage(
+ image: NetworkImage(
+ levelToShow.firstWhere((label) => label.language == visitAppContext.language).resource!.url!, // TODO REDUNDANCY here??
+ ),
+ fit: BoxFit.cover,
+ ),
+ borderRadius: const BorderRadius.all( Radius.circular(50.0)),
+ border: Border.all(
+ color: kBackgroundGrey,
+ width: 1.0,
+ ),
+ ),
+ ),
+ );
+ }
+
+ resultText(Size size, List levelToShow, AppContext appContext) {
+ return Padding(
+ padding: const EdgeInsets.only(bottom: 10),
+ child: Container(
+ width: size.width *0.75,
+ height: kIsWeb ? (showResponses ? size.height *0.10 : size.height *0.20) : size.height *0.25,
+ decoration: BoxDecoration(
+ color: kBackgroundLight, //kBackgroundLight
+ shape: BoxShape.rectangle,
+ borderRadius: BorderRadius.circular(10.0),
+ boxShadow: const [
+ BoxShadow(
+ color: kBackgroundSecondGrey,
+ spreadRadius: 0.3,
+ blurRadius: 4,
+ offset: Offset(0, 2), // changes position of shadow
+ ),
+ ],
+ ),
+ child: Center(
+ child: SizedBox(
+ width: double.infinity,
+ child: SingleChildScrollView(
+ child: Padding(
+ padding: const EdgeInsets.all(15.0),
+ child: Text(TranslationHelper.getWithResource(levelToShow, appContext.getContext() as VisitAppContext), textAlign: TextAlign.center, style: TextStyle(fontSize: kIsWeb ? kDescriptionSize : kDescriptionSize)),
+ ),
+ ),
+ ),
+ ),
+ ),
+ );
+ }
+
+ resultButtons(Size size, Orientation orientation, VisitAppContext visitAppContext) {
+ return [
+ Padding(
+ padding: const EdgeInsets.all(4),
+ child: SizedBox(
+ height: kIsWeb ? 50 : 40,
+ width: orientation == Orientation.portrait ? size.width * 0.6 : size.width * 0.35,
+ child: RoundedButton(
+ text: TranslationHelper.getFromLocale("restart", visitAppContext),
+ color: kBackgroundSecondGrey,
+ textColor: kBackgroundLight,
+ icon: Icons.undo,
+ press: () {
+ setState(() {
+ showResult = false;
+ showResponses = false;
+ currentIndex = 1;
+ _questionsSubDTO = QuestionSubDTO().fromJSON(quizDTO!.questions!);
+ });
+ },
+ fontSize: 18,
+ horizontal: 20,
+ vertical: 5
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.all(4.0),
+ child: SizedBox(
+ height: kIsWeb ? 50 : 40,
+ width: orientation == Orientation.portrait ? size.width * 0.6 : size.width * 0.35,
+ child: RoundedButton(
+ text: TranslationHelper.getFromLocale("responses", visitAppContext),
+ color: kBackgroundSecondGrey,
+ textColor: kBackgroundLight,
+ icon: Icons.assignment_turned_in,
+ press: () {
+ setState(() {
+ showResponses = true;
+ });
+ },
+ fontSize: 18,
+ horizontal: 20,
+ vertical: 5
+ ),
+ ),
+ )
+ ];
+ }
+}
diff --git a/lib/Services/apiService.dart b/lib/Services/apiService.dart
index c6bdf1b..17726ab 100644
--- a/lib/Services/apiService.dart
+++ b/lib/Services/apiService.dart
@@ -1,7 +1,7 @@
import 'dart:convert';
import 'dart:io';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Helpers/DatabaseHelper.dart';
import 'package:mymuseum_visitapp/Helpers/networkCheck.dart';
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
@@ -22,7 +22,7 @@ class ApiService {
if(configurations.isNotEmpty) {
for(var configuration in configurations) {
if(configuration.imageId != null) {
- await downloadAndPushLocalImage(client, ContentDTO(resourceUrl: configuration.imageSource, resourceId: configuration.imageId));
+ await downloadAndPushLocalImage(client, ContentDTO(resource: ResourceDTO(url: configuration.imageSource, id: configuration.imageId)));
}
}
}
@@ -98,13 +98,13 @@ class ApiService {
}
}
- static Future downloadImage(Client client, ContentDTO contentDTO) async {
- var source = contentDTO.resourceUrl;
+ static Future downloadImage(Client client, ContentDTO contentDTO) async { // TODO CHECK wtf mymuseum
+ var source = contentDTO.resource!.url;
//print("SOURCE getAndDownloadImage");
- if(contentDTO.resourceUrl != null) {
- if(contentDTO.resourceUrl!.contains("localhost:5000")){
+ if(contentDTO.resource!.url != null) {
+ if(contentDTO.resource!.url!.contains("localhost:5000")){
print("Contains localhost:5000");
- source = contentDTO.resourceUrl!.replaceAll("http://localhost:5000", client.apiApi!.basePath);
+ source = contentDTO.resource!.url!.replaceAll("http://localhost:5000", client.apiApi!.basePath);
}
} else {
source = "https://api.mymuseum.be/api/Resource/"+contentDTO.resourceId!; // TODO UPDATE ROUTE
@@ -118,7 +118,7 @@ class ApiService {
await for(dynamic d in response) { _downloadData.addAll(d); }
//print("AFTER");
final base64Str = base64.encode(_downloadData);
- ResourceModel resourceModel = ResourceModel(id: contentDTO.resourceId, source: contentDTO.resourceUrl, path: base64Str, type: ResourceType.Image);
+ ResourceModel resourceModel = ResourceModel(id: contentDTO.resourceId, source: contentDTO.resource!.url, path: base64Str, type: ResourceType.Image);
return resourceModel;
}
@@ -192,8 +192,7 @@ class ApiService {
try {
bool isOnline = await hasNetwork();
if(isOnline) {
- ExportConfigurationDTO? exportConfiguration = await client.configurationApi!.configurationExport(configurationId, language);
-
+ ExportConfigurationDTO? exportConfiguration = await client.configurationApi!.configurationExport(configurationId, language: language);
return exportConfiguration;
} else {
return null; // TODO return local list..
diff --git a/lib/Services/downloadConfiguration.dart b/lib/Services/downloadConfiguration.dart
index bd0c189..0dc534c 100644
--- a/lib/Services/downloadConfiguration.dart
+++ b/lib/Services/downloadConfiguration.dart
@@ -2,7 +2,7 @@ import 'dart:convert';
import 'dart:io';
import 'package:flutter/material.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
import 'package:mymuseum_visitapp/Helpers/DatabaseHelper.dart';
import 'package:mymuseum_visitapp/Helpers/modelsHelper.dart';
import 'package:mymuseum_visitapp/Helpers/translationHelper.dart';
@@ -61,7 +61,7 @@ class _DownloadConfigurationWidgetState extends State sectionsInDB = await DatabaseHelper.instance.queryWithConfigurationId(DatabaseTableType.sections, widget.configuration.id!);
- List sectionsToKeep = sections.where((s) => s.type == SectionType.Article || s.type == SectionType.Quizz).toList(); // TODO handle other type of section (for now, Article and Quizz)
+ List sectionsToKeep = sections.where((s) => s.type == SectionType.Article || s.type == SectionType.Quiz).toList(); // TODO handle other type of section (for now, Article and Quizz)
sectionsToKeep.sort((a,b) => a.order!.compareTo(b.order!));
int newOrder = 0;
diff --git a/lib/api/openApiTest.dart b/lib/api/openApiTest.dart
index 7f98cd3..cf54230 100644
--- a/lib/api/openApiTest.dart
+++ b/lib/api/openApiTest.dart
@@ -1,12 +1,12 @@
+// Openapi Generator last run: : 2025-05-27T14:44:29.936214
import 'package:openapi_generator_annotations/openapi_generator_annotations.dart';
@Openapi(
additionalProperties:
- AdditionalProperties(pubName: 'manager_api', pubAuthor: 'Fransolet Thomas', useEnumExtension: true),
- inputSpecFile: 'lib/api/swagger.yaml',
+ AdditionalProperties(pubName: 'manager_api_new', pubAuthor: 'Fransolet Thomas', useEnumExtension: true),
+ inputSpec: InputSpec(path: 'lib/api/swagger.yaml'),
generatorName: Generator.dart,
- alwaysRun: true,
- outputDirectory: 'manager_api')
+ outputDirectory: 'manager_api_new')
class Example extends OpenapiGeneratorConfig {}
/*
diff --git a/lib/client.dart b/lib/client.dart
index 8ccfd94..886f6d4 100644
--- a/lib/client.dart
+++ b/lib/client.dart
@@ -1,7 +1,7 @@
//import 'package:managerapi/api.dart';
//import 'package:openapi_dart_common/openapi.dart';
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
class Client {
ApiClient? _apiClient;
diff --git a/lib/main.dart b/lib/main.dart
index 427b62a..bbcf2d0 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -32,7 +32,7 @@ void main() async {
List articleReadTest = List.from(await DatabaseHelper.instance.getData(DatabaseTableType.articleRead));
localContext.readSections = articleReadTest;
} else {
- localContext = VisitAppContext(language: "FR", id: "UserId_Init", instanceId: "633ee379d9405f32f166f047", isAdmin: false, isAllLanguages: false); // 63514fd67ed8c735aaa4b8f2 MyInfoMate test instance -- 633ee379d9405f32f166f047 MyMuseum Fort Saint-Héribert - MyMuseum instance 63514fd67ed8c735aaa4b8f1 // MDLF instance 65ccc67265373befd15be511
+ localContext = VisitAppContext(language: "FR", id: "UserId_Init", instanceId: "63514fd67ed8c735aaa4b8f2", isAdmin: false, isAllLanguages: false); // 63514fd67ed8c735aaa4b8f2 MyInfoMate test instance -- 633ee379d9405f32f166f047 MyMuseum Fort Saint-Héribert - MyMuseum instance 63514fd67ed8c735aaa4b8f1 // MDLF instance 65ccc67265373befd15be511
DatabaseHelper.instance.insert(DatabaseTableType.main, localContext.toMap());
List articleReadTest = List.from(await DatabaseHelper.instance.getData(DatabaseTableType.articleRead));
diff --git a/manager_api/.openapi-generator/VERSION b/manager_api/.openapi-generator/VERSION
deleted file mode 100644
index 717311e..0000000
--- a/manager_api/.openapi-generator/VERSION
+++ /dev/null
@@ -1 +0,0 @@
-unset
\ No newline at end of file
diff --git a/manager_api/README.md b/manager_api/README.md
deleted file mode 100644
index 7a47de3..0000000
--- a/manager_api/README.md
+++ /dev/null
@@ -1,192 +0,0 @@
-# manager_api
-API Manager Service
-
-This Dart package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
-
-- API version: Version Alpha
-- Build package: org.openapitools.codegen.languages.DartClientCodegen
-
-## Requirements
-
-Dart 2.12 or later
-
-## Installation & Usage
-
-### Github
-If this Dart package is published to Github, add the following dependency to your pubspec.yaml
-```
-dependencies:
- manager_api:
- git: https://github.com/GIT_USER_ID/GIT_REPO_ID.git
-```
-
-### Local
-To use the package in your local drive, add the following dependency to your pubspec.yaml
-```
-dependencies:
- manager_api:
- path: /path/to/manager_api
-```
-
-## Tests
-
-TODO
-
-## Getting Started
-
-Please follow the [installation procedure](#installation--usage) and then run the following:
-
-```dart
-import 'package:manager_api/api.dart';
-
-// TODO Configure OAuth2 access token for authorization: bearer
-//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
-
-final api_instance = AuthenticationApi();
-final grantType = grantType_example; // String |
-final username = username_example; // String |
-final password = password_example; // String |
-final clientId = clientId_example; // String |
-final clientSecret = clientSecret_example; // String |
-
-try {
- final result = api_instance.authenticationAuthenticateWithForm(grantType, username, password, clientId, clientSecret);
- print(result);
-} catch (e) {
- print('Exception when calling AuthenticationApi->authenticationAuthenticateWithForm: $e\n');
-}
-
-```
-
-## Documentation for API Endpoints
-
-All URIs are relative to *https://api.myinfomate.be*
-
-Class | Method | HTTP request | Description
------------- | ------------- | ------------- | -------------
-*AuthenticationApi* | [**authenticationAuthenticateWithForm**](doc\/AuthenticationApi.md#authenticationauthenticatewithform) | **POST** /api/Authentication/Token |
-*AuthenticationApi* | [**authenticationAuthenticateWithJson**](doc\/AuthenticationApi.md#authenticationauthenticatewithjson) | **POST** /api/Authentication/Authenticate |
-*ConfigurationApi* | [**configurationCreate**](doc\/ConfigurationApi.md#configurationcreate) | **POST** /api/Configuration |
-*ConfigurationApi* | [**configurationDelete**](doc\/ConfigurationApi.md#configurationdelete) | **DELETE** /api/Configuration/{id} |
-*ConfigurationApi* | [**configurationExport**](doc\/ConfigurationApi.md#configurationexport) | **GET** /api/Configuration/{id}/export |
-*ConfigurationApi* | [**configurationGet**](doc\/ConfigurationApi.md#configurationget) | **GET** /api/Configuration |
-*ConfigurationApi* | [**configurationGetConfigurationsByPinCode**](doc\/ConfigurationApi.md#configurationgetconfigurationsbypincode) | **GET** /api/Configuration/byPin |
-*ConfigurationApi* | [**configurationGetDetail**](doc\/ConfigurationApi.md#configurationgetdetail) | **GET** /api/Configuration/{id} |
-*ConfigurationApi* | [**configurationImport**](doc\/ConfigurationApi.md#configurationimport) | **POST** /api/Configuration/import |
-*ConfigurationApi* | [**configurationUpdate**](doc\/ConfigurationApi.md#configurationupdate) | **PUT** /api/Configuration |
-*DeviceApi* | [**deviceCreate**](doc\/DeviceApi.md#devicecreate) | **POST** /api/Device |
-*DeviceApi* | [**deviceDelete**](doc\/DeviceApi.md#devicedelete) | **DELETE** /api/Device/{id} |
-*DeviceApi* | [**deviceGet**](doc\/DeviceApi.md#deviceget) | **GET** /api/Device |
-*DeviceApi* | [**deviceGetDetail**](doc\/DeviceApi.md#devicegetdetail) | **GET** /api/Device/{id}/detail |
-*DeviceApi* | [**deviceUpdate**](doc\/DeviceApi.md#deviceupdate) | **PUT** /api/Device |
-*DeviceApi* | [**deviceUpdateMainInfos**](doc\/DeviceApi.md#deviceupdatemaininfos) | **PUT** /api/Device/mainInfos |
-*InstanceApi* | [**instanceCreateInstance**](doc\/InstanceApi.md#instancecreateinstance) | **POST** /api/Instance |
-*InstanceApi* | [**instanceDeleteInstance**](doc\/InstanceApi.md#instancedeleteinstance) | **DELETE** /api/Instance/{id} |
-*InstanceApi* | [**instanceGet**](doc\/InstanceApi.md#instanceget) | **GET** /api/Instance |
-*InstanceApi* | [**instanceGetDetail**](doc\/InstanceApi.md#instancegetdetail) | **GET** /api/Instance/{id} |
-*InstanceApi* | [**instanceGetInstanceByPinCode**](doc\/InstanceApi.md#instancegetinstancebypincode) | **GET** /api/Instance/byPin |
-*InstanceApi* | [**instanceUpdateinstance**](doc\/InstanceApi.md#instanceupdateinstance) | **PUT** /api/Instance |
-*ResourceApi* | [**resourceCreate**](doc\/ResourceApi.md#resourcecreate) | **POST** /api/Resource |
-*ResourceApi* | [**resourceDelete**](doc\/ResourceApi.md#resourcedelete) | **DELETE** /api/Resource/{id} |
-*ResourceApi* | [**resourceGet**](doc\/ResourceApi.md#resourceget) | **GET** /api/Resource |
-*ResourceApi* | [**resourceGetDetail**](doc\/ResourceApi.md#resourcegetdetail) | **GET** /api/Resource/{id}/detail |
-*ResourceApi* | [**resourceShow**](doc\/ResourceApi.md#resourceshow) | **GET** /api/Resource/{id} |
-*ResourceApi* | [**resourceUpdate**](doc\/ResourceApi.md#resourceupdate) | **PUT** /api/Resource |
-*ResourceApi* | [**resourceUpload**](doc\/ResourceApi.md#resourceupload) | **POST** /api/Resource/upload |
-*SectionApi* | [**sectionCreate**](doc\/SectionApi.md#sectioncreate) | **POST** /api/Section |
-*SectionApi* | [**sectionDelete**](doc\/SectionApi.md#sectiondelete) | **DELETE** /api/Section/{id} |
-*SectionApi* | [**sectionDeleteAllForConfiguration**](doc\/SectionApi.md#sectiondeleteallforconfiguration) | **DELETE** /api/Section/configuration/{id} |
-*SectionApi* | [**sectionGet**](doc\/SectionApi.md#sectionget) | **GET** /api/Section |
-*SectionApi* | [**sectionGetAgendaDTO**](doc\/SectionApi.md#sectiongetagendadto) | **GET** /api/Section/AgendaDTO |
-*SectionApi* | [**sectionGetAllBeaconsForInstance**](doc\/SectionApi.md#sectiongetallbeaconsforinstance) | **GET** /api/Section/beacons/{instanceId} |
-*SectionApi* | [**sectionGetAllSectionSubSections**](doc\/SectionApi.md#sectiongetallsectionsubsections) | **GET** /api/Section/{id}/subsections |
-*SectionApi* | [**sectionGetArticleDTO**](doc\/SectionApi.md#sectiongetarticledto) | **GET** /api/Section/ArticleDTO |
-*SectionApi* | [**sectionGetDetail**](doc\/SectionApi.md#sectiongetdetail) | **GET** /api/Section/{id} |
-*SectionApi* | [**sectionGetFromConfiguration**](doc\/SectionApi.md#sectiongetfromconfiguration) | **GET** /api/Section/configuration/{id} |
-*SectionApi* | [**sectionGetMapDTO**](doc\/SectionApi.md#sectiongetmapdto) | **GET** /api/Section/MapDTO |
-*SectionApi* | [**sectionGetMenuDTO**](doc\/SectionApi.md#sectiongetmenudto) | **GET** /api/Section/MenuDTO |
-*SectionApi* | [**sectionGetPdfDTO**](doc\/SectionApi.md#sectiongetpdfdto) | **GET** /api/Section/PdfDTO |
-*SectionApi* | [**sectionGetPuzzleDTO**](doc\/SectionApi.md#sectiongetpuzzledto) | **GET** /api/Section/PuzzleDTO |
-*SectionApi* | [**sectionGetQuizzDTO**](doc\/SectionApi.md#sectiongetquizzdto) | **GET** /api/Section/QuizzDTO |
-*SectionApi* | [**sectionGetSliderDTO**](doc\/SectionApi.md#sectiongetsliderdto) | **GET** /api/Section/SliderDTO |
-*SectionApi* | [**sectionGetVideoDTO**](doc\/SectionApi.md#sectiongetvideodto) | **GET** /api/Section/VideoDTO |
-*SectionApi* | [**sectionGetWeatherDTO**](doc\/SectionApi.md#sectiongetweatherdto) | **GET** /api/Section/WeatherDTO |
-*SectionApi* | [**sectionGetWebDTO**](doc\/SectionApi.md#sectiongetwebdto) | **GET** /api/Section/WebDTO |
-*SectionApi* | [**sectionPlayerMessageDTO**](doc\/SectionApi.md#sectionplayermessagedto) | **GET** /api/Section/PlayerMessageDTO |
-*SectionApi* | [**sectionUpdate**](doc\/SectionApi.md#sectionupdate) | **PUT** /api/Section |
-*SectionApi* | [**sectionUpdateOrder**](doc\/SectionApi.md#sectionupdateorder) | **PUT** /api/Section/order |
-*UserApi* | [**userCreateUser**](doc\/UserApi.md#usercreateuser) | **POST** /api/User |
-*UserApi* | [**userDeleteUser**](doc\/UserApi.md#userdeleteuser) | **DELETE** /api/User/{id} |
-*UserApi* | [**userGet**](doc\/UserApi.md#userget) | **GET** /api/User |
-*UserApi* | [**userGetDetail**](doc\/UserApi.md#usergetdetail) | **GET** /api/User/{id} |
-*UserApi* | [**userUpdateUser**](doc\/UserApi.md#userupdateuser) | **PUT** /api/User |
-
-
-## Documentation For Models
-
- - [AgendaDTO](doc\/AgendaDTO.md)
- - [ArticleDTO](doc\/ArticleDTO.md)
- - [CategorieDTO](doc\/CategorieDTO.md)
- - [ConfigurationDTO](doc\/ConfigurationDTO.md)
- - [ContentDTO](doc\/ContentDTO.md)
- - [ContentGeoPoint](doc\/ContentGeoPoint.md)
- - [DeviceDTO](doc\/DeviceDTO.md)
- - [DeviceDetailDTO](doc\/DeviceDetailDTO.md)
- - [DeviceDetailDTOAllOf](doc\/DeviceDetailDTOAllOf.md)
- - [ExportConfigurationDTO](doc\/ExportConfigurationDTO.md)
- - [ExportConfigurationDTOAllOf](doc\/ExportConfigurationDTOAllOf.md)
- - [GeoPointDTO](doc\/GeoPointDTO.md)
- - [GeoPointDTOCategorie](doc\/GeoPointDTOCategorie.md)
- - [Instance](doc\/Instance.md)
- - [InstanceDTO](doc\/InstanceDTO.md)
- - [LevelDTO](doc\/LevelDTO.md)
- - [LoginDTO](doc\/LoginDTO.md)
- - [MapDTO](doc\/MapDTO.md)
- - [MapDTOMapProvider](doc\/MapDTOMapProvider.md)
- - [MapDTOMapType](doc\/MapDTOMapType.md)
- - [MapDTOMapTypeMapbox](doc\/MapDTOMapTypeMapbox.md)
- - [MapProvider](doc\/MapProvider.md)
- - [MapTypeApp](doc\/MapTypeApp.md)
- - [MapTypeMapBox](doc\/MapTypeMapBox.md)
- - [MenuDTO](doc\/MenuDTO.md)
- - [PDFFileDTO](doc\/PDFFileDTO.md)
- - [PdfDTO](doc\/PdfDTO.md)
- - [PlayerMessageDTO](doc\/PlayerMessageDTO.md)
- - [PuzzleDTO](doc\/PuzzleDTO.md)
- - [PuzzleDTOImage](doc\/PuzzleDTOImage.md)
- - [QuestionDTO](doc\/QuestionDTO.md)
- - [QuizzDTO](doc\/QuizzDTO.md)
- - [QuizzDTOBadLevel](doc\/QuizzDTOBadLevel.md)
- - [ResourceDTO](doc\/ResourceDTO.md)
- - [ResourceType](doc\/ResourceType.md)
- - [ResponseDTO](doc\/ResponseDTO.md)
- - [SectionDTO](doc\/SectionDTO.md)
- - [SectionType](doc\/SectionType.md)
- - [SliderDTO](doc\/SliderDTO.md)
- - [TokenDTO](doc\/TokenDTO.md)
- - [TranslationAndResourceDTO](doc\/TranslationAndResourceDTO.md)
- - [TranslationDTO](doc\/TranslationDTO.md)
- - [User](doc\/User.md)
- - [UserDetailDTO](doc\/UserDetailDTO.md)
- - [VideoDTO](doc\/VideoDTO.md)
- - [WeatherDTO](doc\/WeatherDTO.md)
- - [WebDTO](doc\/WebDTO.md)
-
-
-## Documentation For Authorization
-
-
-Authentication schemes defined for the API:
-### bearer
-
-- **Type**: OAuth
-- **Flow**: password
-- **Authorization URL**: /authentication/Token
-- **Scopes**:
- - **Manager-api**: Manager WebAPI
-
-
-## Author
-
-
-
diff --git a/manager_api/doc/ArticleDTO.md b/manager_api/doc/ArticleDTO.md
deleted file mode 100644
index b8e31fb..0000000
--- a/manager_api/doc/ArticleDTO.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# manager_api.model.ArticleDTO
-
-## Load the model package
-```dart
-import 'package:manager_api/api.dart';
-```
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**content** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
-**isContentTop** | **bool** | | [optional]
-**audioIds** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
-**isReadAudioAuto** | **bool** | | [optional]
-**contents** | [**List**](ContentDTO.md) | | [optional] [default to const []]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/manager_api/doc/MapDTO.md b/manager_api/doc/MapDTO.md
deleted file mode 100644
index ffcad9b..0000000
--- a/manager_api/doc/MapDTO.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# manager_api.model.MapDTO
-
-## Load the model package
-```dart
-import 'package:manager_api/api.dart';
-```
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**zoom** | **int** | | [optional]
-**mapType** | [**MapDTOMapType**](MapDTOMapType.md) | | [optional]
-**mapTypeMapbox** | [**MapDTOMapTypeMapbox**](MapDTOMapTypeMapbox.md) | | [optional]
-**mapProvider** | [**MapDTOMapProvider**](MapDTOMapProvider.md) | | [optional]
-**points** | [**List**](GeoPointDTO.md) | | [optional] [default to const []]
-**iconResourceId** | **String** | | [optional]
-**iconSource** | **String** | | [optional]
-**categories** | [**List**](CategorieDTO.md) | | [optional] [default to const []]
-**latitude** | **String** | | [optional]
-**longitude** | **String** | | [optional]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/manager_api/doc/PuzzleDTO.md b/manager_api/doc/PuzzleDTO.md
deleted file mode 100644
index a6655c1..0000000
--- a/manager_api/doc/PuzzleDTO.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# manager_api.model.PuzzleDTO
-
-## Load the model package
-```dart
-import 'package:manager_api/api.dart';
-```
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**messageDebut** | [**List**](TranslationAndResourceDTO.md) | | [optional] [default to const []]
-**messageFin** | [**List**](TranslationAndResourceDTO.md) | | [optional] [default to const []]
-**image** | [**PuzzleDTOImage**](PuzzleDTOImage.md) | | [optional]
-**rows** | **int** | | [optional]
-**cols** | **int** | | [optional]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/manager_api/doc/SliderDTO.md b/manager_api/doc/SliderDTO.md
deleted file mode 100644
index 31d6839..0000000
--- a/manager_api/doc/SliderDTO.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# manager_api.model.SliderDTO
-
-## Load the model package
-```dart
-import 'package:manager_api/api.dart';
-```
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**contents** | [**List**](ContentDTO.md) | | [optional] [default to const []]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/manager_api/doc/WeatherDTO.md b/manager_api/doc/WeatherDTO.md
deleted file mode 100644
index fedb7d7..0000000
--- a/manager_api/doc/WeatherDTO.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# manager_api.model.WeatherDTO
-
-## Load the model package
-```dart
-import 'package:manager_api/api.dart';
-```
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**city** | **String** | | [optional]
-**updatedDate** | [**DateTime**](DateTime.md) | | [optional]
-**result** | **String** | | [optional]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/manager_api/lib/model/agenda_dto.dart b/manager_api/lib/model/agenda_dto.dart
deleted file mode 100644
index 27e2e1b..0000000
--- a/manager_api/lib/model/agenda_dto.dart
+++ /dev/null
@@ -1,123 +0,0 @@
-//
-// AUTO-GENERATED FILE, DO NOT MODIFY!
-//
-// @dart=2.12
-
-// ignore_for_file: unused_element, unused_import
-// ignore_for_file: always_put_required_named_parameters_first
-// ignore_for_file: constant_identifier_names
-// ignore_for_file: lines_longer_than_80_chars
-
-part of openapi.api;
-
-class AgendaDTO {
- /// Returns a new [AgendaDTO] instance.
- AgendaDTO({
- this.resourceIds = const [],
- this.mapProvider,
- });
-
- List? resourceIds;
-
- MapProvider? mapProvider;
-
- @override
- bool operator ==(Object other) => identical(this, other) || other is AgendaDTO &&
- other.resourceIds == resourceIds &&
- other.mapProvider == mapProvider;
-
- @override
- int get hashCode =>
- // ignore: unnecessary_parenthesis
- (resourceIds == null ? 0 : resourceIds!.hashCode) +
- (mapProvider == null ? 0 : mapProvider!.hashCode);
-
- @override
- String toString() => 'AgendaDTO[resourceIds=$resourceIds, mapProvider=$mapProvider]';
-
- Map toJson() {
- final json = {};
- if (this.resourceIds != null) {
- json[r'resourceIds'] = this.resourceIds;
- } else {
- json[r'resourceIds'] = null;
- }
- if (this.mapProvider != null) {
- json[r'mapProvider'] = this.mapProvider;
- } else {
- json[r'mapProvider'] = null;
- }
- return json;
- }
-
- /// Returns a new [AgendaDTO] instance and imports its values from
- /// [value] if it's a [Map], null otherwise.
- // ignore: prefer_constructors_over_static_methods
- static AgendaDTO? fromJson(dynamic value) {
- if (value is Map) {
- final json = value.cast();
-
- // Ensure that the map contains the required keys.
- // Note 1: the values aren't checked for validity beyond being non-null.
- // Note 2: this code is stripped in release mode!
- assert(() {
- requiredKeys.forEach((key) {
- assert(json.containsKey(key), 'Required key "AgendaDTO[$key]" is missing from JSON.');
- assert(json[key] != null, 'Required key "AgendaDTO[$key]" has a null value in JSON.');
- });
- return true;
- }());
-
- return AgendaDTO(
- resourceIds: TranslationDTO.listFromJson(json[r'resourceIds']),
- mapProvider: MapProvider.fromJson(json[r'mapProvider']),
- );
- }
- return null;
- }
-
- static List listFromJson(dynamic json, {bool growable = false,}) {
- final result = [];
- if (json is List && json.isNotEmpty) {
- for (final row in json) {
- final value = AgendaDTO.fromJson(row);
- if (value != null) {
- result.add(value);
- }
- }
- }
- return result.toList(growable: growable);
- }
-
- static Map mapFromJson(dynamic json) {
- final map = {};
- if (json is Map && json.isNotEmpty) {
- json = json.cast(); // ignore: parameter_assignments
- for (final entry in json.entries) {
- final value = AgendaDTO.fromJson(entry.value);
- if (value != null) {
- map[entry.key] = value;
- }
- }
- }
- return map;
- }
-
- // maps a json object with a list of AgendaDTO-objects as value to a dart map
- static Map> mapListFromJson(dynamic json, {bool growable = false,}) {
- final map = >{};
- if (json is Map && json.isNotEmpty) {
- // ignore: parameter_assignments
- json = json.cast();
- for (final entry in json.entries) {
- map[entry.key] = AgendaDTO.listFromJson(entry.value, growable: growable,);
- }
- }
- return map;
- }
-
- /// The list of required keys that must be present in a JSON.
- static const requiredKeys = {
- };
-}
-
diff --git a/manager_api/lib/model/article_dto.dart b/manager_api/lib/model/article_dto.dart
deleted file mode 100644
index 2221429..0000000
--- a/manager_api/lib/model/article_dto.dart
+++ /dev/null
@@ -1,168 +0,0 @@
-//
-// AUTO-GENERATED FILE, DO NOT MODIFY!
-//
-// @dart=2.12
-
-// ignore_for_file: unused_element, unused_import
-// ignore_for_file: always_put_required_named_parameters_first
-// ignore_for_file: constant_identifier_names
-// ignore_for_file: lines_longer_than_80_chars
-
-part of openapi.api;
-
-class ArticleDTO {
- /// Returns a new [ArticleDTO] instance.
- ArticleDTO({
- this.content = const [],
- this.isContentTop,
- this.audioIds = const [],
- this.isReadAudioAuto,
- this.contents = const [],
- });
-
- List? content;
-
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- bool? isContentTop;
-
- List? audioIds;
-
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- bool? isReadAudioAuto;
-
- List? contents;
-
- @override
- bool operator ==(Object other) => identical(this, other) || other is ArticleDTO &&
- other.content == content &&
- other.isContentTop == isContentTop &&
- other.audioIds == audioIds &&
- other.isReadAudioAuto == isReadAudioAuto &&
- other.contents == contents;
-
- @override
- int get hashCode =>
- // ignore: unnecessary_parenthesis
- (content == null ? 0 : content!.hashCode) +
- (isContentTop == null ? 0 : isContentTop!.hashCode) +
- (audioIds == null ? 0 : audioIds!.hashCode) +
- (isReadAudioAuto == null ? 0 : isReadAudioAuto!.hashCode) +
- (contents == null ? 0 : contents!.hashCode);
-
- @override
- String toString() => 'ArticleDTO[content=$content, isContentTop=$isContentTop, audioIds=$audioIds, isReadAudioAuto=$isReadAudioAuto, contents=$contents]';
-
- Map toJson() {
- final json = {};
- if (this.content != null) {
- json[r'content'] = this.content;
- } else {
- json[r'content'] = null;
- }
- if (this.isContentTop != null) {
- json[r'isContentTop'] = this.isContentTop;
- } else {
- json[r'isContentTop'] = null;
- }
- if (this.audioIds != null) {
- json[r'audioIds'] = this.audioIds;
- } else {
- json[r'audioIds'] = null;
- }
- if (this.isReadAudioAuto != null) {
- json[r'isReadAudioAuto'] = this.isReadAudioAuto;
- } else {
- json[r'isReadAudioAuto'] = null;
- }
- if (this.contents != null) {
- json[r'contents'] = this.contents;
- } else {
- json[r'contents'] = null;
- }
- return json;
- }
-
- /// Returns a new [ArticleDTO] instance and imports its values from
- /// [value] if it's a [Map], null otherwise.
- // ignore: prefer_constructors_over_static_methods
- static ArticleDTO? fromJson(dynamic value) {
- if (value is Map) {
- final json = value.cast();
-
- // Ensure that the map contains the required keys.
- // Note 1: the values aren't checked for validity beyond being non-null.
- // Note 2: this code is stripped in release mode!
- assert(() {
- requiredKeys.forEach((key) {
- assert(json.containsKey(key), 'Required key "ArticleDTO[$key]" is missing from JSON.');
- assert(json[key] != null, 'Required key "ArticleDTO[$key]" has a null value in JSON.');
- });
- return true;
- }());
-
- return ArticleDTO(
- content: TranslationDTO.listFromJson(json[r'content']),
- isContentTop: mapValueOfType(json, r'isContentTop'),
- audioIds: TranslationDTO.listFromJson(json[r'audioIds']),
- isReadAudioAuto: mapValueOfType(json, r'isReadAudioAuto'),
- contents: ContentDTO.listFromJson(json[r'contents']),
- );
- }
- return null;
- }
-
- static List listFromJson(dynamic json, {bool growable = false,}) {
- final result = [];
- if (json is List && json.isNotEmpty) {
- for (final row in json) {
- final value = ArticleDTO.fromJson(row);
- if (value != null) {
- result.add(value);
- }
- }
- }
- return result.toList(growable: growable);
- }
-
- static Map mapFromJson(dynamic json) {
- final map = {};
- if (json is Map && json.isNotEmpty) {
- json = json.cast(); // ignore: parameter_assignments
- for (final entry in json.entries) {
- final value = ArticleDTO.fromJson(entry.value);
- if (value != null) {
- map[entry.key] = value;
- }
- }
- }
- return map;
- }
-
- // maps a json object with a list of ArticleDTO-objects as value to a dart map
- static Map> mapListFromJson(dynamic json, {bool growable = false,}) {
- final map = >{};
- if (json is Map && json.isNotEmpty) {
- // ignore: parameter_assignments
- json = json.cast();
- for (final entry in json.entries) {
- map[entry.key] = ArticleDTO.listFromJson(entry.value, growable: growable,);
- }
- }
- return map;
- }
-
- /// The list of required keys that must be present in a JSON.
- static const requiredKeys = {
- };
-}
-
diff --git a/manager_api/lib/model/map_dto.dart b/manager_api/lib/model/map_dto.dart
deleted file mode 100644
index 0f97a93..0000000
--- a/manager_api/lib/model/map_dto.dart
+++ /dev/null
@@ -1,217 +0,0 @@
-//
-// AUTO-GENERATED FILE, DO NOT MODIFY!
-//
-// @dart=2.12
-
-// ignore_for_file: unused_element, unused_import
-// ignore_for_file: always_put_required_named_parameters_first
-// ignore_for_file: constant_identifier_names
-// ignore_for_file: lines_longer_than_80_chars
-
-part of openapi.api;
-
-class MapDTO {
- /// Returns a new [MapDTO] instance.
- MapDTO({
- this.zoom,
- this.mapType,
- this.mapTypeMapbox,
- this.mapProvider,
- this.points = const [],
- this.iconResourceId,
- this.iconSource,
- this.categories = const [],
- this.latitude,
- this.longitude,
- });
-
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- int? zoom;
-
- MapTypeApp? mapType;
-
- MapTypeMapBox? mapTypeMapbox;
-
- MapProvider? mapProvider;
-
- List? points;
-
- String? iconResourceId;
-
- String? iconSource;
-
- List? categories;
-
- String? latitude;
-
- String? longitude;
-
- @override
- bool operator ==(Object other) => identical(this, other) || other is MapDTO &&
- other.zoom == zoom &&
- other.mapType == mapType &&
- other.mapTypeMapbox == mapTypeMapbox &&
- other.mapProvider == mapProvider &&
- other.points == points &&
- other.iconResourceId == iconResourceId &&
- other.iconSource == iconSource &&
- other.categories == categories &&
- other.latitude == latitude &&
- other.longitude == longitude;
-
- @override
- int get hashCode =>
- // ignore: unnecessary_parenthesis
- (zoom == null ? 0 : zoom!.hashCode) +
- (mapType == null ? 0 : mapType!.hashCode) +
- (mapTypeMapbox == null ? 0 : mapTypeMapbox!.hashCode) +
- (mapProvider == null ? 0 : mapProvider!.hashCode) +
- (points == null ? 0 : points!.hashCode) +
- (iconResourceId == null ? 0 : iconResourceId!.hashCode) +
- (iconSource == null ? 0 : iconSource!.hashCode) +
- (categories == null ? 0 : categories!.hashCode) +
- (latitude == null ? 0 : latitude!.hashCode) +
- (longitude == null ? 0 : longitude!.hashCode);
-
- @override
- String toString() => 'MapDTO[zoom=$zoom, mapType=$mapType, mapTypeMapbox=$mapTypeMapbox, mapProvider=$mapProvider, points=$points, iconResourceId=$iconResourceId, iconSource=$iconSource, categories=$categories, latitude=$latitude, longitude=$longitude]';
-
- Map toJson() {
- final json = {};
- if (this.zoom != null) {
- json[r'zoom'] = this.zoom;
- } else {
- json[r'zoom'] = null;
- }
- if (this.mapType != null) {
- json[r'mapType'] = this.mapType;
- } else {
- json[r'mapType'] = null;
- }
- if (this.mapTypeMapbox != null) {
- json[r'mapTypeMapbox'] = this.mapTypeMapbox;
- } else {
- json[r'mapTypeMapbox'] = null;
- }
- if (this.mapProvider != null) {
- json[r'mapProvider'] = this.mapProvider;
- } else {
- json[r'mapProvider'] = null;
- }
- if (this.points != null) {
- json[r'points'] = this.points;
- } else {
- json[r'points'] = null;
- }
- if (this.iconResourceId != null) {
- json[r'iconResourceId'] = this.iconResourceId;
- } else {
- json[r'iconResourceId'] = null;
- }
- if (this.iconSource != null) {
- json[r'iconSource'] = this.iconSource;
- } else {
- json[r'iconSource'] = null;
- }
- if (this.categories != null) {
- json[r'categories'] = this.categories;
- } else {
- json[r'categories'] = null;
- }
- if (this.latitude != null) {
- json[r'latitude'] = this.latitude;
- } else {
- json[r'latitude'] = null;
- }
- if (this.longitude != null) {
- json[r'longitude'] = this.longitude;
- } else {
- json[r'longitude'] = null;
- }
- return json;
- }
-
- /// Returns a new [MapDTO] instance and imports its values from
- /// [value] if it's a [Map], null otherwise.
- // ignore: prefer_constructors_over_static_methods
- static MapDTO? fromJson(dynamic value) {
- if (value is Map) {
- final json = value.cast();
-
- // Ensure that the map contains the required keys.
- // Note 1: the values aren't checked for validity beyond being non-null.
- // Note 2: this code is stripped in release mode!
- assert(() {
- requiredKeys.forEach((key) {
- assert(json.containsKey(key), 'Required key "MapDTO[$key]" is missing from JSON.');
- assert(json[key] != null, 'Required key "MapDTO[$key]" has a null value in JSON.');
- });
- return true;
- }());
-
- return MapDTO(
- zoom: mapValueOfType(json, r'zoom'),
- mapType: MapTypeApp.fromJson(json[r'mapType']),
- mapTypeMapbox: MapTypeMapBox.fromJson(json[r'mapTypeMapbox']),
- mapProvider: MapProvider.fromJson(json[r'mapProvider']),
- points: GeoPointDTO.listFromJson(json[r'points']),
- iconResourceId: mapValueOfType(json, r'iconResourceId'),
- iconSource: mapValueOfType(json, r'iconSource'),
- categories: CategorieDTO.listFromJson(json[r'categories']),
- latitude: mapValueOfType(json, r'latitude'),
- longitude: mapValueOfType(json, r'longitude'),
- );
- }
- return null;
- }
-
- static List listFromJson(dynamic json, {bool growable = false,}) {
- final result = [];
- if (json is List && json.isNotEmpty) {
- for (final row in json) {
- final value = MapDTO.fromJson(row);
- if (value != null) {
- result.add(value);
- }
- }
- }
- return result.toList(growable: growable);
- }
-
- static Map mapFromJson(dynamic json) {
- final map = {};
- if (json is Map && json.isNotEmpty) {
- json = json.cast(); // ignore: parameter_assignments
- for (final entry in json.entries) {
- final value = MapDTO.fromJson(entry.value);
- if (value != null) {
- map[entry.key] = value;
- }
- }
- }
- return map;
- }
-
- // maps a json object with a list of MapDTO-objects as value to a dart map
- static Map> mapListFromJson(dynamic json, {bool growable = false,}) {
- final map = >{};
- if (json is Map && json.isNotEmpty) {
- // ignore: parameter_assignments
- json = json.cast();
- for (final entry in json.entries) {
- map[entry.key] = MapDTO.listFromJson(entry.value, growable: growable,);
- }
- }
- return map;
- }
-
- /// The list of required keys that must be present in a JSON.
- static const requiredKeys = {
- };
-}
-
diff --git a/manager_api/lib/model/puzzle_dto.dart b/manager_api/lib/model/puzzle_dto.dart
deleted file mode 100644
index 14654e5..0000000
--- a/manager_api/lib/model/puzzle_dto.dart
+++ /dev/null
@@ -1,168 +0,0 @@
-//
-// AUTO-GENERATED FILE, DO NOT MODIFY!
-//
-// @dart=2.12
-
-// ignore_for_file: unused_element, unused_import
-// ignore_for_file: always_put_required_named_parameters_first
-// ignore_for_file: constant_identifier_names
-// ignore_for_file: lines_longer_than_80_chars
-
-part of openapi.api;
-
-class PuzzleDTO {
- /// Returns a new [PuzzleDTO] instance.
- PuzzleDTO({
- this.messageDebut = const [],
- this.messageFin = const [],
- this.image,
- this.rows,
- this.cols,
- });
-
- List? messageDebut;
-
- List? messageFin;
-
- PuzzleDTOImage? image;
-
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- int? rows;
-
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- int? cols;
-
- @override
- bool operator ==(Object other) => identical(this, other) || other is PuzzleDTO &&
- other.messageDebut == messageDebut &&
- other.messageFin == messageFin &&
- other.image == image &&
- other.rows == rows &&
- other.cols == cols;
-
- @override
- int get hashCode =>
- // ignore: unnecessary_parenthesis
- (messageDebut == null ? 0 : messageDebut!.hashCode) +
- (messageFin == null ? 0 : messageFin!.hashCode) +
- (image == null ? 0 : image!.hashCode) +
- (rows == null ? 0 : rows!.hashCode) +
- (cols == null ? 0 : cols!.hashCode);
-
- @override
- String toString() => 'PuzzleDTO[messageDebut=$messageDebut, messageFin=$messageFin, image=$image, rows=$rows, cols=$cols]';
-
- Map toJson() {
- final json = {};
- if (this.messageDebut != null) {
- json[r'messageDebut'] = this.messageDebut;
- } else {
- json[r'messageDebut'] = null;
- }
- if (this.messageFin != null) {
- json[r'messageFin'] = this.messageFin;
- } else {
- json[r'messageFin'] = null;
- }
- if (this.image != null) {
- json[r'image'] = this.image;
- } else {
- json[r'image'] = null;
- }
- if (this.rows != null) {
- json[r'rows'] = this.rows;
- } else {
- json[r'rows'] = null;
- }
- if (this.cols != null) {
- json[r'cols'] = this.cols;
- } else {
- json[r'cols'] = null;
- }
- return json;
- }
-
- /// Returns a new [PuzzleDTO] instance and imports its values from
- /// [value] if it's a [Map], null otherwise.
- // ignore: prefer_constructors_over_static_methods
- static PuzzleDTO? fromJson(dynamic value) {
- if (value is Map) {
- final json = value.cast();
-
- // Ensure that the map contains the required keys.
- // Note 1: the values aren't checked for validity beyond being non-null.
- // Note 2: this code is stripped in release mode!
- assert(() {
- requiredKeys.forEach((key) {
- assert(json.containsKey(key), 'Required key "PuzzleDTO[$key]" is missing from JSON.');
- assert(json[key] != null, 'Required key "PuzzleDTO[$key]" has a null value in JSON.');
- });
- return true;
- }());
-
- return PuzzleDTO(
- messageDebut: TranslationAndResourceDTO.listFromJson(json[r'messageDebut']),
- messageFin: TranslationAndResourceDTO.listFromJson(json[r'messageFin']),
- image: PuzzleDTOImage.fromJson(json[r'image']),
- rows: mapValueOfType(json, r'rows'),
- cols: mapValueOfType(json, r'cols'),
- );
- }
- return null;
- }
-
- static List listFromJson(dynamic json, {bool growable = false,}) {
- final result = [];
- if (json is List && json.isNotEmpty) {
- for (final row in json) {
- final value = PuzzleDTO.fromJson(row);
- if (value != null) {
- result.add(value);
- }
- }
- }
- return result.toList(growable: growable);
- }
-
- static Map mapFromJson(dynamic json) {
- final map = {};
- if (json is Map && json.isNotEmpty) {
- json = json.cast(); // ignore: parameter_assignments
- for (final entry in json.entries) {
- final value = PuzzleDTO.fromJson(entry.value);
- if (value != null) {
- map[entry.key] = value;
- }
- }
- }
- return map;
- }
-
- // maps a json object with a list of PuzzleDTO-objects as value to a dart map
- static Map> mapListFromJson(dynamic json, {bool growable = false,}) {
- final map = >{};
- if (json is Map && json.isNotEmpty) {
- // ignore: parameter_assignments
- json = json.cast();
- for (final entry in json.entries) {
- map[entry.key] = PuzzleDTO.listFromJson(entry.value, growable: growable,);
- }
- }
- return map;
- }
-
- /// The list of required keys that must be present in a JSON.
- static const requiredKeys = {
- };
-}
-
diff --git a/manager_api/lib/model/weather_dto.dart b/manager_api/lib/model/weather_dto.dart
deleted file mode 100644
index e2447d0..0000000
--- a/manager_api/lib/model/weather_dto.dart
+++ /dev/null
@@ -1,134 +0,0 @@
-//
-// AUTO-GENERATED FILE, DO NOT MODIFY!
-//
-// @dart=2.12
-
-// ignore_for_file: unused_element, unused_import
-// ignore_for_file: always_put_required_named_parameters_first
-// ignore_for_file: constant_identifier_names
-// ignore_for_file: lines_longer_than_80_chars
-
-part of openapi.api;
-
-class WeatherDTO {
- /// Returns a new [WeatherDTO] instance.
- WeatherDTO({
- this.city,
- this.updatedDate,
- this.result,
- });
-
- String? city;
-
- DateTime? updatedDate;
-
- String? result;
-
- @override
- bool operator ==(Object other) => identical(this, other) || other is WeatherDTO &&
- other.city == city &&
- other.updatedDate == updatedDate &&
- other.result == result;
-
- @override
- int get hashCode =>
- // ignore: unnecessary_parenthesis
- (city == null ? 0 : city!.hashCode) +
- (updatedDate == null ? 0 : updatedDate!.hashCode) +
- (result == null ? 0 : result!.hashCode);
-
- @override
- String toString() => 'WeatherDTO[city=$city, updatedDate=$updatedDate, result=$result]';
-
- Map toJson() {
- final json = {};
- if (this.city != null) {
- json[r'city'] = this.city;
- } else {
- json[r'city'] = null;
- }
- if (this.updatedDate != null) {
- json[r'updatedDate'] = this.updatedDate!.toUtc().toIso8601String();
- } else {
- json[r'updatedDate'] = null;
- }
- if (this.result != null) {
- json[r'result'] = this.result;
- } else {
- json[r'result'] = null;
- }
- return json;
- }
-
- /// Returns a new [WeatherDTO] instance and imports its values from
- /// [value] if it's a [Map], null otherwise.
- // ignore: prefer_constructors_over_static_methods
- static WeatherDTO? fromJson(dynamic value) {
- if (value is Map) {
- final json = value.cast();
-
- // Ensure that the map contains the required keys.
- // Note 1: the values aren't checked for validity beyond being non-null.
- // Note 2: this code is stripped in release mode!
- assert(() {
- requiredKeys.forEach((key) {
- assert(json.containsKey(key), 'Required key "WeatherDTO[$key]" is missing from JSON.');
- assert(json[key] != null, 'Required key "WeatherDTO[$key]" has a null value in JSON.');
- });
- return true;
- }());
-
- return WeatherDTO(
- city: mapValueOfType(json, r'city'),
- updatedDate: mapDateTime(json, r'updatedDate', ''),
- result: mapValueOfType(json, r'result'),
- );
- }
- return null;
- }
-
- static List listFromJson(dynamic json, {bool growable = false,}) {
- final result = [];
- if (json is List && json.isNotEmpty) {
- for (final row in json) {
- final value = WeatherDTO.fromJson(row);
- if (value != null) {
- result.add(value);
- }
- }
- }
- return result.toList(growable: growable);
- }
-
- static Map mapFromJson(dynamic json) {
- final map = {};
- if (json is Map && json.isNotEmpty) {
- json = json.cast(); // ignore: parameter_assignments
- for (final entry in json.entries) {
- final value = WeatherDTO.fromJson(entry.value);
- if (value != null) {
- map[entry.key] = value;
- }
- }
- }
- return map;
- }
-
- // maps a json object with a list of WeatherDTO-objects as value to a dart map
- static Map> mapListFromJson(dynamic json, {bool growable = false,}) {
- final map = >{};
- if (json is Map && json.isNotEmpty) {
- // ignore: parameter_assignments
- json = json.cast();
- for (final entry in json.entries) {
- map[entry.key] = WeatherDTO.listFromJson(entry.value, growable: growable,);
- }
- }
- return map;
- }
-
- /// The list of required keys that must be present in a JSON.
- static const requiredKeys = {
- };
-}
-
diff --git a/manager_api/pubspec.lock b/manager_api/pubspec.lock
deleted file mode 100644
index be75c19..0000000
--- a/manager_api/pubspec.lock
+++ /dev/null
@@ -1,413 +0,0 @@
-# Generated by pub
-# See https://dart.dev/tools/pub/glossary#lockfile
-packages:
- _fe_analyzer_shared:
- dependency: transitive
- description:
- name: _fe_analyzer_shared
- sha256: "4826f97faae3af9761f26c52e56b2aa5ffd18d2c1721d984ad85137721c25f43"
- url: "https://pub.dev"
- source: hosted
- version: "31.0.0"
- analyzer:
- dependency: transitive
- description:
- name: analyzer
- sha256: "7337610c3f9cd13e6b7c6bb0f410644091cf63c9a1436e73352a70f3286abb03"
- url: "https://pub.dev"
- source: hosted
- version: "2.8.0"
- args:
- dependency: transitive
- description:
- name: args
- sha256: "139d809800a412ebb26a3892da228b2d0ba36f0ef5d9a82166e5e52ec8d61611"
- url: "https://pub.dev"
- source: hosted
- version: "2.3.2"
- async:
- dependency: transitive
- description:
- name: async
- sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0
- url: "https://pub.dev"
- source: hosted
- version: "2.10.0"
- boolean_selector:
- dependency: transitive
- description:
- name: boolean_selector
- sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
- url: "https://pub.dev"
- source: hosted
- version: "2.1.1"
- cli_util:
- dependency: transitive
- description:
- name: cli_util
- sha256: "66f86e916d285c1a93d3b79587d94bd71984a66aac4ff74e524cfa7877f1395c"
- url: "https://pub.dev"
- source: hosted
- version: "0.3.5"
- clock:
- dependency: transitive
- description:
- name: clock
- sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
- url: "https://pub.dev"
- source: hosted
- version: "1.1.1"
- collection:
- dependency: transitive
- description:
- name: collection
- sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0
- url: "https://pub.dev"
- source: hosted
- version: "1.17.0"
- convert:
- dependency: transitive
- description:
- name: convert
- sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
- url: "https://pub.dev"
- source: hosted
- version: "3.1.1"
- coverage:
- dependency: transitive
- description:
- name: coverage
- sha256: ad538fa2e8f6b828d54c04a438af816ce814de404690136d3b9dfb3a436cd01c
- url: "https://pub.dev"
- source: hosted
- version: "1.0.3"
- crypto:
- dependency: transitive
- description:
- name: crypto
- sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67
- url: "https://pub.dev"
- source: hosted
- version: "3.0.2"
- file:
- dependency: transitive
- description:
- name: file
- sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
- url: "https://pub.dev"
- source: hosted
- version: "6.1.4"
- frontend_server_client:
- dependency: transitive
- description:
- name: frontend_server_client
- sha256: "4f4a162323c86ffc1245765cfe138872b8f069deb42f7dbb36115fa27f31469b"
- url: "https://pub.dev"
- source: hosted
- version: "2.1.3"
- glob:
- dependency: transitive
- description:
- name: glob
- sha256: "4515b5b6ddb505ebdd242a5f2cc5d22d3d6a80013789debfbda7777f47ea308c"
- url: "https://pub.dev"
- source: hosted
- version: "2.1.1"
- http:
- dependency: "direct main"
- description:
- name: http
- sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938"
- url: "https://pub.dev"
- source: hosted
- version: "1.2.1"
- http_multi_server:
- dependency: transitive
- description:
- name: http_multi_server
- sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
- url: "https://pub.dev"
- source: hosted
- version: "3.2.1"
- http_parser:
- dependency: transitive
- description:
- name: http_parser
- sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
- url: "https://pub.dev"
- source: hosted
- version: "4.0.2"
- intl:
- dependency: "direct main"
- description:
- name: intl
- sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
- url: "https://pub.dev"
- source: hosted
- version: "0.19.0"
- io:
- dependency: transitive
- description:
- name: io
- sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
- url: "https://pub.dev"
- source: hosted
- version: "1.0.4"
- js:
- dependency: transitive
- description:
- name: js
- sha256: "323b7c70073cccf6b9b8d8b334be418a3293cfb612a560dc2737160a37bf61bd"
- url: "https://pub.dev"
- source: hosted
- version: "0.6.6"
- logging:
- dependency: transitive
- description:
- name: logging
- sha256: c0bbfe94d46aedf9b8b3e695cf3bd48c8e14b35e3b2c639e0aa7755d589ba946
- url: "https://pub.dev"
- source: hosted
- version: "1.1.0"
- matcher:
- dependency: transitive
- description:
- name: matcher
- sha256: "2e2c34e631f93410daa3ee3410250eadc77ac6befc02a040eda8a123f34e6f5a"
- url: "https://pub.dev"
- source: hosted
- version: "0.12.11"
- meta:
- dependency: "direct main"
- description:
- name: meta
- sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42"
- url: "https://pub.dev"
- source: hosted
- version: "1.8.0"
- mime:
- dependency: transitive
- description:
- name: mime
- sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e
- url: "https://pub.dev"
- source: hosted
- version: "1.0.4"
- node_preamble:
- dependency: transitive
- description:
- name: node_preamble
- sha256: "8ebdbaa3b96d5285d068f80772390d27c21e1fa10fb2df6627b1b9415043608d"
- url: "https://pub.dev"
- source: hosted
- version: "2.0.1"
- package_config:
- dependency: transitive
- description:
- name: package_config
- sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
- url: "https://pub.dev"
- source: hosted
- version: "2.1.0"
- path:
- dependency: transitive
- description:
- name: path
- sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
- url: "https://pub.dev"
- source: hosted
- version: "1.8.3"
- pedantic:
- dependency: transitive
- description:
- name: pedantic
- sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602"
- url: "https://pub.dev"
- source: hosted
- version: "1.11.1"
- pool:
- dependency: transitive
- description:
- name: pool
- sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
- url: "https://pub.dev"
- source: hosted
- version: "1.5.1"
- pub_semver:
- dependency: transitive
- description:
- name: pub_semver
- sha256: "307de764d305289ff24ad257ad5c5793ce56d04947599ad68b3baa124105fc17"
- url: "https://pub.dev"
- source: hosted
- version: "2.1.3"
- shelf:
- dependency: transitive
- description:
- name: shelf
- sha256: c24a96135a2ccd62c64b69315a14adc5c3419df63b4d7c05832a346fdb73682c
- url: "https://pub.dev"
- source: hosted
- version: "1.4.0"
- shelf_packages_handler:
- dependency: transitive
- description:
- name: shelf_packages_handler
- sha256: aef74dc9195746a384843102142ab65b6a4735bb3beea791e63527b88cc83306
- url: "https://pub.dev"
- source: hosted
- version: "3.0.1"
- shelf_static:
- dependency: transitive
- description:
- name: shelf_static
- sha256: e792b76b96a36d4a41b819da593aff4bdd413576b3ba6150df5d8d9996d2e74c
- url: "https://pub.dev"
- source: hosted
- version: "1.1.1"
- shelf_web_socket:
- dependency: transitive
- description:
- name: shelf_web_socket
- sha256: a988c0e8d8ffbdb8a28aa7ec8e449c260f3deb808781fe1284d22c5bba7156e8
- url: "https://pub.dev"
- source: hosted
- version: "1.0.3"
- source_map_stack_trace:
- dependency: transitive
- description:
- name: source_map_stack_trace
- sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae"
- url: "https://pub.dev"
- source: hosted
- version: "2.1.1"
- source_maps:
- dependency: transitive
- description:
- name: source_maps
- sha256: "490098075234dcedb83c5d949b4c93dad5e6b7702748de000be2b57b8e6b2427"
- url: "https://pub.dev"
- source: hosted
- version: "0.10.11"
- source_span:
- dependency: transitive
- description:
- name: source_span
- sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
- url: "https://pub.dev"
- source: hosted
- version: "1.9.1"
- stack_trace:
- dependency: transitive
- description:
- name: stack_trace
- sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
- url: "https://pub.dev"
- source: hosted
- version: "1.11.0"
- stream_channel:
- dependency: transitive
- description:
- name: stream_channel
- sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
- url: "https://pub.dev"
- source: hosted
- version: "2.1.1"
- string_scanner:
- dependency: transitive
- description:
- name: string_scanner
- sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
- url: "https://pub.dev"
- source: hosted
- version: "1.2.0"
- term_glyph:
- dependency: transitive
- description:
- name: term_glyph
- sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
- url: "https://pub.dev"
- source: hosted
- version: "1.2.1"
- test:
- dependency: "direct dev"
- description:
- name: test
- sha256: d8df85e0659006d6dd09dd5d1d4bf81848d34fbe5b1fdd2b2a90e690aaa8195e
- url: "https://pub.dev"
- source: hosted
- version: "1.17.12"
- test_api:
- dependency: transitive
- description:
- name: test_api
- sha256: "3c3c3eb64242eec8aeb7a7e530cd541737a84bb01fc08b363b429aaa4a91060d"
- url: "https://pub.dev"
- source: hosted
- version: "0.4.3"
- test_core:
- dependency: transitive
- description:
- name: test_core
- sha256: f269e59fdd3abd14d6d92d3da9a03f69e931e9dd9140d6f06f94fc2204584741
- url: "https://pub.dev"
- source: hosted
- version: "0.4.2"
- typed_data:
- dependency: transitive
- description:
- name: typed_data
- sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5"
- url: "https://pub.dev"
- source: hosted
- version: "1.3.1"
- vm_service:
- dependency: transitive
- description:
- name: vm_service
- sha256: "35ef1bbae978d7158e09c98dcdfe8673b58a30eb53e82833cc027e0aab2d5213"
- url: "https://pub.dev"
- source: hosted
- version: "7.5.0"
- watcher:
- dependency: transitive
- description:
- name: watcher
- sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0"
- url: "https://pub.dev"
- source: hosted
- version: "1.0.2"
- web:
- dependency: transitive
- description:
- name: web
- sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
- url: "https://pub.dev"
- source: hosted
- version: "0.5.1"
- web_socket_channel:
- dependency: transitive
- description:
- name: web_socket_channel
- sha256: ca49c0bc209c687b887f30527fb6a9d80040b072cc2990f34b9bec3e7663101b
- url: "https://pub.dev"
- source: hosted
- version: "2.3.0"
- webkit_inspection_protocol:
- dependency: transitive
- description:
- name: webkit_inspection_protocol
- sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d"
- url: "https://pub.dev"
- source: hosted
- version: "1.2.0"
- yaml:
- dependency: transitive
- description:
- name: yaml
- sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370"
- url: "https://pub.dev"
- source: hosted
- version: "3.1.1"
-sdks:
- dart: ">=3.3.0 <4.0.0"
diff --git a/manager_api/pubspec.yaml b/manager_api/pubspec.yaml
deleted file mode 100644
index 9ad30da..0000000
--- a/manager_api/pubspec.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# AUTO-GENERATED FILE, DO NOT MODIFY!
-#
-
-name: 'manager_api'
-version: '1.0.0'
-description: 'OpenAPI API client'
-homepage: 'homepage'
-environment:
- sdk: ">=3.1.0 <4.0.0"
-dependencies:
- http: '^1.1.0'
- intl: '^0.19.0'
- meta: '^1.1.8'
-dev_dependencies:
- test: '>=1.16.0 <1.18.0'
diff --git a/manager_api/.gitignore b/manager_api_new/.gitignore
similarity index 75%
rename from manager_api/.gitignore
rename to manager_api_new/.gitignore
index 1be28ce..0f74d29 100644
--- a/manager_api/.gitignore
+++ b/manager_api_new/.gitignore
@@ -3,7 +3,9 @@
.dart_tool/
.packages
build/
-pubspec.lock # Except for application packages
+
+# Except for application packages
+pubspec.lock
doc/api/
diff --git a/manager_api/.openapi-generator-ignore b/manager_api_new/.openapi-generator-ignore
similarity index 100%
rename from manager_api/.openapi-generator-ignore
rename to manager_api_new/.openapi-generator-ignore
diff --git a/manager_api/.openapi-generator/FILES b/manager_api_new/.openapi-generator/FILES
similarity index 62%
rename from manager_api/.openapi-generator/FILES
rename to manager_api_new/.openapi-generator/FILES
index 7849567..8f248e2 100644
--- a/manager_api/.openapi-generator/FILES
+++ b/manager_api_new/.openapi-generator/FILES
@@ -3,48 +3,56 @@
README.md
analysis_options.yaml
doc/AgendaDTO.md
+doc/AgendaDTOAllOfAgendaMapProvider.md
doc/ArticleDTO.md
doc/AuthenticationApi.md
doc/CategorieDTO.md
doc/ConfigurationApi.md
doc/ConfigurationDTO.md
doc/ContentDTO.md
-doc/ContentGeoPoint.md
+doc/ContentDTOResource.md
doc/DeviceApi.md
doc/DeviceDTO.md
doc/DeviceDetailDTO.md
-doc/DeviceDetailDTOAllOf.md
doc/ExportConfigurationDTO.md
-doc/ExportConfigurationDTOAllOf.md
+doc/GeoPoint.md
doc/GeoPointDTO.md
-doc/GeoPointDTOCategorie.md
+doc/GeoPointSectionMap.md
doc/Instance.md
doc/InstanceApi.md
doc/InstanceDTO.md
-doc/LevelDTO.md
doc/LoginDTO.md
doc/MapDTO.md
-doc/MapDTOMapProvider.md
-doc/MapDTOMapType.md
-doc/MapDTOMapTypeMapbox.md
+doc/MapDTOAllOfMapProvider.md
+doc/MapDTOAllOfMapType.md
+doc/MapDTOAllOfMapTypeMapbox.md
doc/MapProvider.md
doc/MapTypeApp.md
doc/MapTypeMapBox.md
doc/MenuDTO.md
-doc/PDFFileDTO.md
+doc/OrderedTranslationAndResourceDTO.md
doc/PdfDTO.md
doc/PlayerMessageDTO.md
doc/PuzzleDTO.md
-doc/PuzzleDTOImage.md
+doc/PuzzleDTOAllOfPuzzleImage.md
doc/QuestionDTO.md
-doc/QuizzDTO.md
-doc/QuizzDTOBadLevel.md
+doc/QuestionDTOImageBackgroundResourceType.md
+doc/QuizDTO.md
+doc/Resource.md
doc/ResourceApi.md
doc/ResourceDTO.md
doc/ResourceType.md
doc/ResponseDTO.md
+doc/Section.md
doc/SectionApi.md
doc/SectionDTO.md
+doc/SectionMap.md
+doc/SectionMapAllOfMapMapProvider.md
+doc/SectionMapAllOfMapMapType.md
+doc/SectionMapAllOfMapResource.md
+doc/SectionMapAllOfMapTypeMapbox.md
+doc/SectionMapApi.md
+doc/SectionQuizApi.md
doc/SectionType.md
doc/SliderDTO.md
doc/TokenDTO.md
@@ -64,6 +72,8 @@ lib/api/device_api.dart
lib/api/instance_api.dart
lib/api/resource_api.dart
lib/api/section_api.dart
+lib/api/section_map_api.dart
+lib/api/section_quiz_api.dart
lib/api/user_api.dart
lib/api_client.dart
lib/api_exception.dart
@@ -74,42 +84,48 @@ lib/auth/http_basic_auth.dart
lib/auth/http_bearer_auth.dart
lib/auth/oauth.dart
lib/model/agenda_dto.dart
+lib/model/agenda_dto_all_of_agenda_map_provider.dart
lib/model/article_dto.dart
lib/model/categorie_dto.dart
lib/model/configuration_dto.dart
lib/model/content_dto.dart
-lib/model/content_geo_point.dart
+lib/model/content_dto_resource.dart
lib/model/device_detail_dto.dart
-lib/model/device_detail_dto_all_of.dart
lib/model/device_dto.dart
lib/model/export_configuration_dto.dart
-lib/model/export_configuration_dto_all_of.dart
+lib/model/geo_point.dart
lib/model/geo_point_dto.dart
-lib/model/geo_point_dto_categorie.dart
+lib/model/geo_point_section_map.dart
lib/model/instance.dart
lib/model/instance_dto.dart
-lib/model/level_dto.dart
lib/model/login_dto.dart
lib/model/map_dto.dart
-lib/model/map_dto_map_provider.dart
-lib/model/map_dto_map_type.dart
-lib/model/map_dto_map_type_mapbox.dart
+lib/model/map_dto_all_of_map_provider.dart
+lib/model/map_dto_all_of_map_type.dart
+lib/model/map_dto_all_of_map_type_mapbox.dart
lib/model/map_provider.dart
lib/model/map_type_app.dart
lib/model/map_type_map_box.dart
lib/model/menu_dto.dart
+lib/model/ordered_translation_and_resource_dto.dart
lib/model/pdf_dto.dart
-lib/model/pdf_file_dto.dart
lib/model/player_message_dto.dart
lib/model/puzzle_dto.dart
-lib/model/puzzle_dto_image.dart
+lib/model/puzzle_dto_all_of_puzzle_image.dart
lib/model/question_dto.dart
-lib/model/quizz_dto.dart
-lib/model/quizz_dto_bad_level.dart
+lib/model/question_dto_image_background_resource_type.dart
+lib/model/quiz_dto.dart
+lib/model/resource.dart
lib/model/resource_dto.dart
lib/model/resource_type.dart
lib/model/response_dto.dart
+lib/model/section.dart
lib/model/section_dto.dart
+lib/model/section_map.dart
+lib/model/section_map_all_of_map_map_provider.dart
+lib/model/section_map_all_of_map_map_type.dart
+lib/model/section_map_all_of_map_resource.dart
+lib/model/section_map_all_of_map_type_mapbox.dart
lib/model/section_type.dart
lib/model/slider_dto.dart
lib/model/token_dto.dart
@@ -121,5 +137,3 @@ lib/model/video_dto.dart
lib/model/weather_dto.dart
lib/model/web_dto.dart
pubspec.yaml
-test/pdf_file_dto_test.dart
-test/weather_dto_test.dart
diff --git a/manager_api_new/.openapi-generator/VERSION b/manager_api_new/.openapi-generator/VERSION
new file mode 100644
index 0000000..4bc5d61
--- /dev/null
+++ b/manager_api_new/.openapi-generator/VERSION
@@ -0,0 +1 @@
+7.9.0
diff --git a/manager_api/.travis.yml b/manager_api_new/.travis.yml
similarity index 100%
rename from manager_api/.travis.yml
rename to manager_api_new/.travis.yml
diff --git a/manager_api_new/README.md b/manager_api_new/README.md
new file mode 100644
index 0000000..ca87372
--- /dev/null
+++ b/manager_api_new/README.md
@@ -0,0 +1,208 @@
+# manager_api_new
+API Manager Service
+
+This Dart package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
+
+- API version: Version Alpha 3
+- Generator version: 7.9.0
+- Build package: org.openapitools.codegen.languages.DartClientCodegen
+
+## Requirements
+
+Dart 2.12 or later
+
+## Installation & Usage
+
+### Github
+If this Dart package is published to Github, add the following dependency to your pubspec.yaml
+```
+dependencies:
+ manager_api_new:
+ git: https://github.com/GIT_USER_ID/GIT_REPO_ID.git
+```
+
+### Local
+To use the package in your local drive, add the following dependency to your pubspec.yaml
+```
+dependencies:
+ manager_api_new:
+ path: /path/to/manager_api_new
+```
+
+## Tests
+
+TODO
+
+## Getting Started
+
+Please follow the [installation procedure](#installation--usage) and then run the following:
+
+```dart
+import 'package:manager_api_new/api.dart';
+
+// TODO Configure OAuth2 access token for authorization: bearer
+//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
+
+final api_instance = AuthenticationApi();
+final grantType = grantType_example; // String |
+final username = username_example; // String |
+final password = password_example; // String |
+final clientId = clientId_example; // String |
+final clientSecret = clientSecret_example; // String |
+
+try {
+ final result = api_instance.authenticationAuthenticateWithForm(grantType, username, password, clientId, clientSecret);
+ print(result);
+} catch (e) {
+ print('Exception when calling AuthenticationApi->authenticationAuthenticateWithForm: $e\n');
+}
+
+```
+
+## Documentation for API Endpoints
+
+All URIs are relative to *https://localhost:5001*
+
+Class | Method | HTTP request | Description
+------------ | ------------- | ------------- | -------------
+*AuthenticationApi* | [**authenticationAuthenticateWithForm**](doc//AuthenticationApi.md#authenticationauthenticatewithform) | **POST** /api/Authentication/Token |
+*AuthenticationApi* | [**authenticationAuthenticateWithJson**](doc//AuthenticationApi.md#authenticationauthenticatewithjson) | **POST** /api/Authentication/Authenticate |
+*ConfigurationApi* | [**configurationCreate**](doc//ConfigurationApi.md#configurationcreate) | **POST** /api/Configuration |
+*ConfigurationApi* | [**configurationDelete**](doc//ConfigurationApi.md#configurationdelete) | **DELETE** /api/Configuration/{id} |
+*ConfigurationApi* | [**configurationExport**](doc//ConfigurationApi.md#configurationexport) | **GET** /api/Configuration/{id}/export |
+*ConfigurationApi* | [**configurationGet**](doc//ConfigurationApi.md#configurationget) | **GET** /api/Configuration |
+*ConfigurationApi* | [**configurationGetConfigurationsByPinCode**](doc//ConfigurationApi.md#configurationgetconfigurationsbypincode) | **GET** /api/Configuration/byPin |
+*ConfigurationApi* | [**configurationGetDetail**](doc//ConfigurationApi.md#configurationgetdetail) | **GET** /api/Configuration/{id} |
+*ConfigurationApi* | [**configurationImport**](doc//ConfigurationApi.md#configurationimport) | **POST** /api/Configuration/import |
+*ConfigurationApi* | [**configurationUpdate**](doc//ConfigurationApi.md#configurationupdate) | **PUT** /api/Configuration |
+*DeviceApi* | [**deviceCreate**](doc//DeviceApi.md#devicecreate) | **POST** /api/Device |
+*DeviceApi* | [**deviceDelete**](doc//DeviceApi.md#devicedelete) | **DELETE** /api/Device/{id} |
+*DeviceApi* | [**deviceGet**](doc//DeviceApi.md#deviceget) | **GET** /api/Device |
+*DeviceApi* | [**deviceGetDetail**](doc//DeviceApi.md#devicegetdetail) | **GET** /api/Device/{id}/detail |
+*DeviceApi* | [**deviceUpdate**](doc//DeviceApi.md#deviceupdate) | **PUT** /api/Device |
+*DeviceApi* | [**deviceUpdateMainInfos**](doc//DeviceApi.md#deviceupdatemaininfos) | **PUT** /api/Device/mainInfos |
+*InstanceApi* | [**instanceCreateInstance**](doc//InstanceApi.md#instancecreateinstance) | **POST** /api/Instance |
+*InstanceApi* | [**instanceDeleteInstance**](doc//InstanceApi.md#instancedeleteinstance) | **DELETE** /api/Instance/{id} |
+*InstanceApi* | [**instanceGet**](doc//InstanceApi.md#instanceget) | **GET** /api/Instance |
+*InstanceApi* | [**instanceGetDetail**](doc//InstanceApi.md#instancegetdetail) | **GET** /api/Instance/{id} |
+*InstanceApi* | [**instanceGetInstanceByPinCode**](doc//InstanceApi.md#instancegetinstancebypincode) | **GET** /api/Instance/byPin |
+*InstanceApi* | [**instanceUpdateinstance**](doc//InstanceApi.md#instanceupdateinstance) | **PUT** /api/Instance |
+*ResourceApi* | [**resourceCreate**](doc//ResourceApi.md#resourcecreate) | **POST** /api/Resource |
+*ResourceApi* | [**resourceDelete**](doc//ResourceApi.md#resourcedelete) | **DELETE** /api/Resource/{id} |
+*ResourceApi* | [**resourceGet**](doc//ResourceApi.md#resourceget) | **GET** /api/Resource |
+*ResourceApi* | [**resourceGetDetail**](doc//ResourceApi.md#resourcegetdetail) | **GET** /api/Resource/{id}/detail |
+*ResourceApi* | [**resourceShow**](doc//ResourceApi.md#resourceshow) | **GET** /api/Resource/{id} |
+*ResourceApi* | [**resourceUpdate**](doc//ResourceApi.md#resourceupdate) | **PUT** /api/Resource |
+*ResourceApi* | [**resourceUpload**](doc//ResourceApi.md#resourceupload) | **POST** /api/Resource/upload |
+*SectionApi* | [**sectionCreate**](doc//SectionApi.md#sectioncreate) | **POST** /api/Section |
+*SectionApi* | [**sectionDelete**](doc//SectionApi.md#sectiondelete) | **DELETE** /api/Section/{id} |
+*SectionApi* | [**sectionDeleteAllForConfiguration**](doc//SectionApi.md#sectiondeleteallforconfiguration) | **DELETE** /api/Section/configuration/{id} |
+*SectionApi* | [**sectionGet**](doc//SectionApi.md#sectionget) | **GET** /api/Section |
+*SectionApi* | [**sectionGetAgendaDTO**](doc//SectionApi.md#sectiongetagendadto) | **GET** /api/Section/AgendaDTO |
+*SectionApi* | [**sectionGetAllBeaconsForInstance**](doc//SectionApi.md#sectiongetallbeaconsforinstance) | **GET** /api/Section/beacons/{instanceId} |
+*SectionApi* | [**sectionGetAllSectionSubSections**](doc//SectionApi.md#sectiongetallsectionsubsections) | **GET** /api/Section/{id}/subsections |
+*SectionApi* | [**sectionGetArticleDTO**](doc//SectionApi.md#sectiongetarticledto) | **GET** /api/Section/ArticleDTO |
+*SectionApi* | [**sectionGetDetail**](doc//SectionApi.md#sectiongetdetail) | **GET** /api/Section/{id} |
+*SectionApi* | [**sectionGetFromConfiguration**](doc//SectionApi.md#sectiongetfromconfiguration) | **GET** /api/Section/configuration/{id} |
+*SectionApi* | [**sectionGetFromConfigurationDetail**](doc//SectionApi.md#sectiongetfromconfigurationdetail) | **GET** /api/Section/configuration/{id}/detail |
+*SectionApi* | [**sectionGetMapDTO**](doc//SectionApi.md#sectiongetmapdto) | **GET** /api/Section/MapDTO |
+*SectionApi* | [**sectionGetMenuDTO**](doc//SectionApi.md#sectiongetmenudto) | **GET** /api/Section/MenuDTO |
+*SectionApi* | [**sectionGetPdfDTO**](doc//SectionApi.md#sectiongetpdfdto) | **GET** /api/Section/PdfDTO |
+*SectionApi* | [**sectionGetPuzzleDTO**](doc//SectionApi.md#sectiongetpuzzledto) | **GET** /api/Section/PuzzleDTO |
+*SectionApi* | [**sectionGetQuizDTO**](doc//SectionApi.md#sectiongetquizdto) | **GET** /api/Section/QuizDTO |
+*SectionApi* | [**sectionGetSliderDTO**](doc//SectionApi.md#sectiongetsliderdto) | **GET** /api/Section/SliderDTO |
+*SectionApi* | [**sectionGetVideoDTO**](doc//SectionApi.md#sectiongetvideodto) | **GET** /api/Section/VideoDTO |
+*SectionApi* | [**sectionGetWeatherDTO**](doc//SectionApi.md#sectiongetweatherdto) | **GET** /api/Section/WeatherDTO |
+*SectionApi* | [**sectionGetWebDTO**](doc//SectionApi.md#sectiongetwebdto) | **GET** /api/Section/WebDTO |
+*SectionApi* | [**sectionPlayerMessageDTO**](doc//SectionApi.md#sectionplayermessagedto) | **GET** /api/Section/PlayerMessageDTO |
+*SectionApi* | [**sectionUpdate**](doc//SectionApi.md#sectionupdate) | **PUT** /api/Section |
+*SectionApi* | [**sectionUpdateOrder**](doc//SectionApi.md#sectionupdateorder) | **PUT** /api/Section/order |
+*SectionMapApi* | [**sectionMapCreate**](doc//SectionMapApi.md#sectionmapcreate) | **POST** /api/SectionMap/{sectionId}/points |
+*SectionMapApi* | [**sectionMapDelete**](doc//SectionMapApi.md#sectionmapdelete) | **DELETE** /api/SectionMap/points/delete/{geoPointId} |
+*SectionMapApi* | [**sectionMapGetAllGeoPointsFromSection**](doc//SectionMapApi.md#sectionmapgetallgeopointsfromsection) | **GET** /api/SectionMap/{sectionId}/points |
+*SectionMapApi* | [**sectionMapUpdate**](doc//SectionMapApi.md#sectionmapupdate) | **PUT** /api/SectionMap |
+*SectionQuizApi* | [**sectionQuizCreate**](doc//SectionQuizApi.md#sectionquizcreate) | **POST** /api/SectionQuiz/{sectionId}/questions |
+*SectionQuizApi* | [**sectionQuizDelete**](doc//SectionQuizApi.md#sectionquizdelete) | **DELETE** /api/SectionQuiz/questions/delete/{quizQuestionId} |
+*SectionQuizApi* | [**sectionQuizGetAllQuizQuestionFromSection**](doc//SectionQuizApi.md#sectionquizgetallquizquestionfromsection) | **GET** /api/SectionQuiz/{sectionId}/questions |
+*SectionQuizApi* | [**sectionQuizUpdate**](doc//SectionQuizApi.md#sectionquizupdate) | **PUT** /api/SectionQuiz |
+*UserApi* | [**userCreateUser**](doc//UserApi.md#usercreateuser) | **POST** /api/User |
+*UserApi* | [**userDeleteUser**](doc//UserApi.md#userdeleteuser) | **DELETE** /api/User/{id} |
+*UserApi* | [**userGet**](doc//UserApi.md#userget) | **GET** /api/User |
+*UserApi* | [**userGetDetail**](doc//UserApi.md#usergetdetail) | **GET** /api/User/{id} |
+*UserApi* | [**userUpdateUser**](doc//UserApi.md#userupdateuser) | **PUT** /api/User |
+
+
+## Documentation For Models
+
+ - [AgendaDTO](doc//AgendaDTO.md)
+ - [AgendaDTOAllOfAgendaMapProvider](doc//AgendaDTOAllOfAgendaMapProvider.md)
+ - [ArticleDTO](doc//ArticleDTO.md)
+ - [CategorieDTO](doc//CategorieDTO.md)
+ - [ConfigurationDTO](doc//ConfigurationDTO.md)
+ - [ContentDTO](doc//ContentDTO.md)
+ - [ContentDTOResource](doc//ContentDTOResource.md)
+ - [DeviceDTO](doc//DeviceDTO.md)
+ - [DeviceDetailDTO](doc//DeviceDetailDTO.md)
+ - [ExportConfigurationDTO](doc//ExportConfigurationDTO.md)
+ - [GeoPoint](doc//GeoPoint.md)
+ - [GeoPointDTO](doc//GeoPointDTO.md)
+ - [GeoPointSectionMap](doc//GeoPointSectionMap.md)
+ - [Instance](doc//Instance.md)
+ - [InstanceDTO](doc//InstanceDTO.md)
+ - [LoginDTO](doc//LoginDTO.md)
+ - [MapDTO](doc//MapDTO.md)
+ - [MapDTOAllOfMapProvider](doc//MapDTOAllOfMapProvider.md)
+ - [MapDTOAllOfMapType](doc//MapDTOAllOfMapType.md)
+ - [MapDTOAllOfMapTypeMapbox](doc//MapDTOAllOfMapTypeMapbox.md)
+ - [MapProvider](doc//MapProvider.md)
+ - [MapTypeApp](doc//MapTypeApp.md)
+ - [MapTypeMapBox](doc//MapTypeMapBox.md)
+ - [MenuDTO](doc//MenuDTO.md)
+ - [OrderedTranslationAndResourceDTO](doc//OrderedTranslationAndResourceDTO.md)
+ - [PdfDTO](doc//PdfDTO.md)
+ - [PlayerMessageDTO](doc//PlayerMessageDTO.md)
+ - [PuzzleDTO](doc//PuzzleDTO.md)
+ - [PuzzleDTOAllOfPuzzleImage](doc//PuzzleDTOAllOfPuzzleImage.md)
+ - [QuestionDTO](doc//QuestionDTO.md)
+ - [QuestionDTOImageBackgroundResourceType](doc//QuestionDTOImageBackgroundResourceType.md)
+ - [QuizDTO](doc//QuizDTO.md)
+ - [Resource](doc//Resource.md)
+ - [ResourceDTO](doc//ResourceDTO.md)
+ - [ResourceType](doc//ResourceType.md)
+ - [ResponseDTO](doc//ResponseDTO.md)
+ - [Section](doc//Section.md)
+ - [SectionDTO](doc//SectionDTO.md)
+ - [SectionMap](doc//SectionMap.md)
+ - [SectionMapAllOfMapMapProvider](doc//SectionMapAllOfMapMapProvider.md)
+ - [SectionMapAllOfMapMapType](doc//SectionMapAllOfMapMapType.md)
+ - [SectionMapAllOfMapResource](doc//SectionMapAllOfMapResource.md)
+ - [SectionMapAllOfMapTypeMapbox](doc//SectionMapAllOfMapTypeMapbox.md)
+ - [SectionType](doc//SectionType.md)
+ - [SliderDTO](doc//SliderDTO.md)
+ - [TokenDTO](doc//TokenDTO.md)
+ - [TranslationAndResourceDTO](doc//TranslationAndResourceDTO.md)
+ - [TranslationDTO](doc//TranslationDTO.md)
+ - [User](doc//User.md)
+ - [UserDetailDTO](doc//UserDetailDTO.md)
+ - [VideoDTO](doc//VideoDTO.md)
+ - [WeatherDTO](doc//WeatherDTO.md)
+ - [WebDTO](doc//WebDTO.md)
+
+
+## Documentation For Authorization
+
+
+Authentication schemes defined for the API:
+### bearer
+
+- **Type**: OAuth
+- **Flow**: password
+- **Authorization URL**: /authentication/Token
+- **Scopes**:
+ - **Manager-api**: Manager WebAPI
+
+
+## Author
+
+
+
diff --git a/manager_api/analysis_options.yaml b/manager_api_new/analysis_options.yaml
similarity index 100%
rename from manager_api/analysis_options.yaml
rename to manager_api_new/analysis_options.yaml
diff --git a/manager_api_new/doc/AgendaDTO.md b/manager_api_new/doc/AgendaDTO.md
new file mode 100644
index 0000000..39f1981
--- /dev/null
+++ b/manager_api_new/doc/AgendaDTO.md
@@ -0,0 +1,34 @@
+# manager_api_new.model.AgendaDTO
+
+## Load the model package
+```dart
+import 'package:manager_api_new/api.dart';
+```
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **String** | | [optional]
+**label** | **String** | | [optional]
+**title** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**description** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**imageId** | **String** | | [optional]
+**imageSource** | **String** | | [optional]
+**configurationId** | **String** | | [optional]
+**isSubSection** | **bool** | | [optional]
+**parentId** | **String** | | [optional]
+**type** | [**SectionType**](SectionType.md) | | [optional]
+**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
+**order** | **int** | | [optional]
+**instanceId** | **String** | | [optional]
+**latitude** | **String** | | [optional]
+**longitude** | **String** | | [optional]
+**meterZoneGPS** | **int** | | [optional]
+**isBeacon** | **bool** | | [optional]
+**beaconId** | **int** | | [optional]
+**resourceIds** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**agendaMapProvider** | [**AgendaDTOAllOfAgendaMapProvider**](AgendaDTOAllOfAgendaMapProvider.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/manager_api/doc/WebDTO.md b/manager_api_new/doc/AgendaDTOAllOfAgendaMapProvider.md
similarity index 74%
rename from manager_api/doc/WebDTO.md
rename to manager_api_new/doc/AgendaDTOAllOfAgendaMapProvider.md
index a6ac523..46aabe9 100644
--- a/manager_api/doc/WebDTO.md
+++ b/manager_api_new/doc/AgendaDTOAllOfAgendaMapProvider.md
@@ -1,14 +1,13 @@
-# manager_api.model.WebDTO
+# manager_api_new.model.AgendaDTOAllOfAgendaMapProvider
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**source_** | **String** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/manager_api_new/doc/ArticleDTO.md b/manager_api_new/doc/ArticleDTO.md
new file mode 100644
index 0000000..b23a827
--- /dev/null
+++ b/manager_api_new/doc/ArticleDTO.md
@@ -0,0 +1,37 @@
+# manager_api_new.model.ArticleDTO
+
+## Load the model package
+```dart
+import 'package:manager_api_new/api.dart';
+```
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **String** | | [optional]
+**label** | **String** | | [optional]
+**title** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**description** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**imageId** | **String** | | [optional]
+**imageSource** | **String** | | [optional]
+**configurationId** | **String** | | [optional]
+**isSubSection** | **bool** | | [optional]
+**parentId** | **String** | | [optional]
+**type** | [**SectionType**](SectionType.md) | | [optional]
+**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
+**order** | **int** | | [optional]
+**instanceId** | **String** | | [optional]
+**latitude** | **String** | | [optional]
+**longitude** | **String** | | [optional]
+**meterZoneGPS** | **int** | | [optional]
+**isBeacon** | **bool** | | [optional]
+**beaconId** | **int** | | [optional]
+**content** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**isContentTop** | **bool** | | [optional]
+**audioIds** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**isReadAudioAuto** | **bool** | | [optional]
+**contents** | [**List**](ContentDTO.md) | | [optional] [default to const []]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/manager_api/doc/AuthenticationApi.md b/manager_api_new/doc/AuthenticationApi.md
similarity index 93%
rename from manager_api/doc/AuthenticationApi.md
rename to manager_api_new/doc/AuthenticationApi.md
index 71112c8..9ef127e 100644
--- a/manager_api/doc/AuthenticationApi.md
+++ b/manager_api_new/doc/AuthenticationApi.md
@@ -1,11 +1,11 @@
-# manager_api.api.AuthenticationApi
+# manager_api_new.api.AuthenticationApi
## Load the API package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
-All URIs are relative to *https://api.myinfomate.be*
+All URIs are relative to *https://localhost:5001*
Method | HTTP request | Description
------------- | ------------- | -------------
@@ -20,7 +20,7 @@ Method | HTTP request | Description
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -71,7 +71,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
diff --git a/manager_api/doc/CategorieDTO.md b/manager_api_new/doc/CategorieDTO.md
similarity index 76%
rename from manager_api/doc/CategorieDTO.md
rename to manager_api_new/doc/CategorieDTO.md
index e346999..688a61d 100644
--- a/manager_api/doc/CategorieDTO.md
+++ b/manager_api_new/doc/CategorieDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.CategorieDTO
+# manager_api_new.model.CategorieDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
@@ -11,8 +11,7 @@ Name | Type | Description | Notes
**id** | **int** | | [optional]
**label** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
**icon** | **String** | | [optional]
-**iconResourceId** | **String** | | [optional]
-**iconUrl** | **String** | | [optional]
+**resourceDTO** | [**ContentDTOResource**](ContentDTOResource.md) | | [optional]
**order** | **int** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/manager_api/doc/ConfigurationApi.md b/manager_api_new/doc/ConfigurationApi.md
similarity index 94%
rename from manager_api/doc/ConfigurationApi.md
rename to manager_api_new/doc/ConfigurationApi.md
index 7ef7c1c..8e88412 100644
--- a/manager_api/doc/ConfigurationApi.md
+++ b/manager_api_new/doc/ConfigurationApi.md
@@ -1,11 +1,11 @@
-# manager_api.api.ConfigurationApi
+# manager_api_new.api.ConfigurationApi
## Load the API package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
-All URIs are relative to *https://api.myinfomate.be*
+All URIs are relative to *https://localhost:5001*
Method | HTTP request | Description
------------- | ------------- | -------------
@@ -26,7 +26,7 @@ Method | HTTP request | Description
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -69,7 +69,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -112,7 +112,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -157,7 +157,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -200,12 +200,12 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
final api_instance = ConfigurationApi();
-final pinCode = 56; // int |
+final pinCode = pinCode_example; // String |
try {
final result = api_instance.configurationGetConfigurationsByPinCode(pinCode);
@@ -219,7 +219,7 @@ try {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **pinCode** | **int**| | [optional]
+ **pinCode** | **String**| | [optional]
### Return type
@@ -243,7 +243,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -286,7 +286,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -329,7 +329,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
diff --git a/manager_api/doc/ConfigurationDTO.md b/manager_api_new/doc/ConfigurationDTO.md
similarity index 83%
rename from manager_api/doc/ConfigurationDTO.md
rename to manager_api_new/doc/ConfigurationDTO.md
index edf6380..3f099f6 100644
--- a/manager_api/doc/ConfigurationDTO.md
+++ b/manager_api_new/doc/ConfigurationDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.ConfigurationDTO
+# manager_api_new.model.ConfigurationDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
@@ -24,10 +24,6 @@ Name | Type | Description | Notes
**sectionIds** | **List** | | [optional] [default to const []]
**loaderImageId** | **String** | | [optional]
**loaderImageUrl** | **String** | | [optional]
-**weatherCity** | **String** | | [optional]
-**weatherUpdatedDate** | [**DateTime**](DateTime.md) | | [optional]
-**weatherResult** | **String** | | [optional]
-**isWeather** | **bool** | | [optional]
**isDate** | **bool** | | [optional]
**isHour** | **bool** | | [optional]
**isSectionImageBackground** | **bool** | | [optional]
diff --git a/manager_api/doc/ContentDTO.md b/manager_api_new/doc/ContentDTO.md
similarity index 75%
rename from manager_api/doc/ContentDTO.md
rename to manager_api_new/doc/ContentDTO.md
index 47fe015..eccf209 100644
--- a/manager_api/doc/ContentDTO.md
+++ b/manager_api_new/doc/ContentDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.ContentDTO
+# manager_api_new.model.ContentDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
@@ -10,10 +10,9 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**title** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
**description** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
-**resourceId** | **String** | | [optional]
-**resourceUrl** | **String** | | [optional]
**order** | **int** | | [optional]
-**resourceType** | [**ResourceType**](ResourceType.md) | | [optional]
+**resourceId** | **String** | | [optional]
+**resource** | [**ContentDTOResource**](ContentDTOResource.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/manager_api/doc/User.md b/manager_api_new/doc/ContentDTOResource.md
similarity index 62%
rename from manager_api/doc/User.md
rename to manager_api_new/doc/ContentDTOResource.md
index b51b3d3..2315aec 100644
--- a/manager_api/doc/User.md
+++ b/manager_api_new/doc/ContentDTOResource.md
@@ -1,19 +1,17 @@
-# manager_api.model.User
+# manager_api_new.model.ContentDTOResource
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **String** | | [optional]
-**email** | **String** | | [optional]
-**password** | **String** | | [optional]
-**firstName** | **String** | | [optional]
-**lastName** | **String** | | [optional]
-**token** | **String** | | [optional]
+**type** | [**ResourceType**](ResourceType.md) | | [optional]
+**label** | **String** | | [optional]
+**url** | **String** | | [optional]
**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
**instanceId** | **String** | | [optional]
diff --git a/manager_api/doc/ContentGeoPoint.md b/manager_api_new/doc/ContentGeoPoint.md
similarity index 86%
rename from manager_api/doc/ContentGeoPoint.md
rename to manager_api_new/doc/ContentGeoPoint.md
index adb2867..682228e 100644
--- a/manager_api/doc/ContentGeoPoint.md
+++ b/manager_api_new/doc/ContentGeoPoint.md
@@ -1,8 +1,8 @@
-# manager_api.model.ContentGeoPoint
+# manager_api_new.model.ContentGeoPoint
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api/doc/DeviceApi.md b/manager_api_new/doc/DeviceApi.md
similarity index 94%
rename from manager_api/doc/DeviceApi.md
rename to manager_api_new/doc/DeviceApi.md
index aef8698..1173900 100644
--- a/manager_api/doc/DeviceApi.md
+++ b/manager_api_new/doc/DeviceApi.md
@@ -1,11 +1,11 @@
-# manager_api.api.DeviceApi
+# manager_api_new.api.DeviceApi
## Load the API package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
-All URIs are relative to *https://api.myinfomate.be*
+All URIs are relative to *https://localhost:5001*
Method | HTTP request | Description
------------- | ------------- | -------------
@@ -24,7 +24,7 @@ Method | HTTP request | Description
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -67,7 +67,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -110,7 +110,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -153,7 +153,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -196,7 +196,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -239,7 +239,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
diff --git a/manager_api/doc/DeviceDTO.md b/manager_api_new/doc/DeviceDTO.md
similarity index 91%
rename from manager_api/doc/DeviceDTO.md
rename to manager_api_new/doc/DeviceDTO.md
index 0f99dac..d2c0be2 100644
--- a/manager_api/doc/DeviceDTO.md
+++ b/manager_api_new/doc/DeviceDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.DeviceDTO
+# manager_api_new.model.DeviceDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api/doc/DeviceDetailDTO.md b/manager_api_new/doc/DeviceDetailDTO.md
similarity index 92%
rename from manager_api/doc/DeviceDetailDTO.md
rename to manager_api_new/doc/DeviceDetailDTO.md
index 2d9ed26..2899936 100644
--- a/manager_api/doc/DeviceDetailDTO.md
+++ b/manager_api_new/doc/DeviceDetailDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.DeviceDetailDTO
+# manager_api_new.model.DeviceDetailDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api/doc/DeviceDetailDTOAllOf.md b/manager_api_new/doc/DeviceDetailDTOAllOf.md
similarity index 86%
rename from manager_api/doc/DeviceDetailDTOAllOf.md
rename to manager_api_new/doc/DeviceDetailDTOAllOf.md
index 8d701aa..0b6c098 100644
--- a/manager_api/doc/DeviceDetailDTOAllOf.md
+++ b/manager_api_new/doc/DeviceDetailDTOAllOf.md
@@ -1,8 +1,8 @@
-# manager_api.model.DeviceDetailDTOAllOf
+# manager_api_new.model.DeviceDetailDTOAllOf
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api/doc/ExportConfigurationDTO.md b/manager_api_new/doc/ExportConfigurationDTO.md
similarity index 84%
rename from manager_api/doc/ExportConfigurationDTO.md
rename to manager_api_new/doc/ExportConfigurationDTO.md
index 3c88c48..e2abee5 100644
--- a/manager_api/doc/ExportConfigurationDTO.md
+++ b/manager_api_new/doc/ExportConfigurationDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.ExportConfigurationDTO
+# manager_api_new.model.ExportConfigurationDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
@@ -24,10 +24,6 @@ Name | Type | Description | Notes
**sectionIds** | **List** | | [optional] [default to const []]
**loaderImageId** | **String** | | [optional]
**loaderImageUrl** | **String** | | [optional]
-**weatherCity** | **String** | | [optional]
-**weatherUpdatedDate** | [**DateTime**](DateTime.md) | | [optional]
-**weatherResult** | **String** | | [optional]
-**isWeather** | **bool** | | [optional]
**isDate** | **bool** | | [optional]
**isHour** | **bool** | | [optional]
**isSectionImageBackground** | **bool** | | [optional]
diff --git a/manager_api/doc/ExportConfigurationDTOAllOf.md b/manager_api_new/doc/ExportConfigurationDTOAllOf.md
similarity index 84%
rename from manager_api/doc/ExportConfigurationDTOAllOf.md
rename to manager_api_new/doc/ExportConfigurationDTOAllOf.md
index 21322a8..6e8eeff 100644
--- a/manager_api/doc/ExportConfigurationDTOAllOf.md
+++ b/manager_api_new/doc/ExportConfigurationDTOAllOf.md
@@ -1,8 +1,8 @@
-# manager_api.model.ExportConfigurationDTOAllOf
+# manager_api_new.model.ExportConfigurationDTOAllOf
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api_new/doc/GeoPoint.md b/manager_api_new/doc/GeoPoint.md
new file mode 100644
index 0000000..60f5aa0
--- /dev/null
+++ b/manager_api_new/doc/GeoPoint.md
@@ -0,0 +1,30 @@
+# manager_api_new.model.GeoPoint
+
+## Load the model package
+```dart
+import 'package:manager_api_new/api.dart';
+```
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **int** | |
+**title** | [**List**](TranslationDTO.md) | | [default to const []]
+**description** | [**List**](TranslationDTO.md) | | [default to const []]
+**contents** | [**List**](ContentDTO.md) | | [default to const []]
+**schedules** | [**List**](TranslationDTO.md) | | [default to const []]
+**prices** | [**List**](TranslationDTO.md) | | [default to const []]
+**phone** | [**List**](TranslationDTO.md) | | [default to const []]
+**email** | [**List**](TranslationDTO.md) | | [default to const []]
+**site** | [**List**](TranslationDTO.md) | | [default to const []]
+**categorieId** | **int** | | [optional]
+**latitude** | **String** | | [optional]
+**longitude** | **String** | | [optional]
+**imageResourceId** | **String** | | [optional]
+**imageUrl** | **String** | | [optional]
+**sectionMapId** | **String** | | [optional]
+**sectionMap** | [**GeoPointSectionMap**](GeoPointSectionMap.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/manager_api/doc/GeoPointDTO.md b/manager_api_new/doc/GeoPointDTO.md
similarity index 82%
rename from manager_api/doc/GeoPointDTO.md
rename to manager_api_new/doc/GeoPointDTO.md
index a3412ff..2ec2498 100644
--- a/manager_api/doc/GeoPointDTO.md
+++ b/manager_api_new/doc/GeoPointDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.GeoPointDTO
+# manager_api_new.model.GeoPointDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
@@ -11,8 +11,7 @@ Name | Type | Description | Notes
**id** | **int** | | [optional]
**title** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
**description** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
-**contents** | [**List**](ContentGeoPoint.md) | | [optional] [default to const []]
-**categorie** | [**GeoPointDTOCategorie**](GeoPointDTOCategorie.md) | | [optional]
+**contents** | [**List**](ContentDTO.md) | | [optional] [default to const []]
**categorieId** | **int** | | [optional]
**latitude** | **String** | | [optional]
**longitude** | **String** | | [optional]
diff --git a/manager_api/doc/GeoPointDTOCategorie.md b/manager_api_new/doc/GeoPointDTOCategorie.md
similarity index 87%
rename from manager_api/doc/GeoPointDTOCategorie.md
rename to manager_api_new/doc/GeoPointDTOCategorie.md
index 6765935..eeefaed 100644
--- a/manager_api/doc/GeoPointDTOCategorie.md
+++ b/manager_api_new/doc/GeoPointDTOCategorie.md
@@ -1,8 +1,8 @@
-# manager_api.model.GeoPointDTOCategorie
+# manager_api_new.model.GeoPointDTOCategorie
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api_new/doc/GeoPointSectionMap.md b/manager_api_new/doc/GeoPointSectionMap.md
new file mode 100644
index 0000000..1eb7bb9
--- /dev/null
+++ b/manager_api_new/doc/GeoPointSectionMap.md
@@ -0,0 +1,42 @@
+# manager_api_new.model.GeoPointSectionMap
+
+## Load the model package
+```dart
+import 'package:manager_api_new/api.dart';
+```
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **String** | |
+**label** | **String** | |
+**title** | [**List**](TranslationDTO.md) | | [default to const []]
+**configurationId** | **String** | |
+**type** | [**SectionType**](SectionType.md) | |
+**isSubSection** | **bool** | |
+**instanceId** | **String** | |
+**mapCategories** | [**List**](CategorieDTO.md) | | [default to const []]
+**description** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**order** | **int** | | [optional]
+**imageId** | **String** | | [optional]
+**imageSource** | **String** | | [optional]
+**parentId** | **String** | | [optional]
+**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
+**isBeacon** | **bool** | | [optional]
+**beaconId** | **int** | | [optional]
+**latitude** | **String** | | [optional]
+**longitude** | **String** | | [optional]
+**meterZoneGPS** | **int** | | [optional]
+**mapZoom** | **int** | | [optional]
+**mapMapType** | [**SectionMapAllOfMapMapType**](SectionMapAllOfMapMapType.md) | | [optional]
+**mapTypeMapbox** | [**SectionMapAllOfMapTypeMapbox**](SectionMapAllOfMapTypeMapbox.md) | | [optional]
+**mapMapProvider** | [**SectionMapAllOfMapMapProvider**](SectionMapAllOfMapMapProvider.md) | | [optional]
+**mapPoints** | [**List**](GeoPoint.md) | | [optional] [default to const []]
+**mapResourceId** | **String** | | [optional]
+**mapResource** | [**SectionMapAllOfMapResource**](SectionMapAllOfMapResource.md) | | [optional]
+**mapCenterLatitude** | **String** | | [optional]
+**mapCenterLongitude** | **String** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/manager_api/doc/ImageDTO.md b/manager_api_new/doc/ImageDTO.md
similarity index 81%
rename from manager_api/doc/ImageDTO.md
rename to manager_api_new/doc/ImageDTO.md
index 9844084..20db40a 100644
--- a/manager_api/doc/ImageDTO.md
+++ b/manager_api_new/doc/ImageDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.ImageDTO
+# manager_api_new.model.ImageDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
@@ -13,6 +13,7 @@ Name | Type | Description | Notes
**resourceId** | **String** | | [optional]
**source_** | **String** | | [optional]
**order** | **int** | | [optional]
+**type** | [**ResourceType**](ResourceType.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/manager_api/doc/ImageGeoPoint.md b/manager_api_new/doc/ImageGeoPoint.md
similarity index 83%
rename from manager_api/doc/ImageGeoPoint.md
rename to manager_api_new/doc/ImageGeoPoint.md
index 73dd52f..7460899 100644
--- a/manager_api/doc/ImageGeoPoint.md
+++ b/manager_api_new/doc/ImageGeoPoint.md
@@ -1,8 +1,8 @@
-# manager_api.model.ImageGeoPoint
+# manager_api_new.model.ImageGeoPoint
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api/doc/Instance.md b/manager_api_new/doc/Instance.md
similarity index 67%
rename from manager_api/doc/Instance.md
rename to manager_api_new/doc/Instance.md
index 1fd6ac6..4fa498d 100644
--- a/manager_api/doc/Instance.md
+++ b/manager_api_new/doc/Instance.md
@@ -1,17 +1,17 @@
-# manager_api.model.Instance
+# manager_api_new.model.Instance
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **String** | | [optional]
-**name** | **String** | | [optional]
+**id** | **String** | |
+**name** | **String** | |
**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
-**pinCode** | **int** | | [optional]
+**pinCode** | **String** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/manager_api/doc/InstanceApi.md b/manager_api_new/doc/InstanceApi.md
similarity index 87%
rename from manager_api/doc/InstanceApi.md
rename to manager_api_new/doc/InstanceApi.md
index a0aaa08..5d8e006 100644
--- a/manager_api/doc/InstanceApi.md
+++ b/manager_api_new/doc/InstanceApi.md
@@ -1,11 +1,11 @@
-# manager_api.api.InstanceApi
+# manager_api_new.api.InstanceApi
## Load the API package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
-All URIs are relative to *https://api.myinfomate.be*
+All URIs are relative to *https://localhost:5001*
Method | HTTP request | Description
------------- | ------------- | -------------
@@ -18,21 +18,21 @@ Method | HTTP request | Description
# **instanceCreateInstance**
-> InstanceDTO instanceCreateInstance(instance)
+> InstanceDTO instanceCreateInstance(instanceDTO)
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
final api_instance = InstanceApi();
-final instance = Instance(); // Instance |
+final instanceDTO = InstanceDTO(); // InstanceDTO |
try {
- final result = api_instance.instanceCreateInstance(instance);
+ final result = api_instance.instanceCreateInstance(instanceDTO);
print(result);
} catch (e) {
print('Exception when calling InstanceApi->instanceCreateInstance: $e\n');
@@ -43,7 +43,7 @@ try {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **instance** | [**Instance**](Instance.md)| |
+ **instanceDTO** | [**InstanceDTO**](InstanceDTO.md)| |
### Return type
@@ -67,7 +67,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -110,7 +110,7 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -149,7 +149,7 @@ This endpoint does not need any parameter.
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
@@ -192,12 +192,12 @@ Name | Type | Description | Notes
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
final api_instance = InstanceApi();
-final pinCode = 56; // int |
+final pinCode = pinCode_example; // String |
try {
final result = api_instance.instanceGetInstanceByPinCode(pinCode);
@@ -211,7 +211,7 @@ try {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **pinCode** | **int**| | [optional]
+ **pinCode** | **String**| | [optional]
### Return type
@@ -229,21 +229,21 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **instanceUpdateinstance**
-> InstanceDTO instanceUpdateinstance(instance)
+> InstanceDTO instanceUpdateinstance(instanceDTO)
### Example
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
// TODO Configure OAuth2 access token for authorization: bearer
//defaultApiClient.getAuthentication('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
final api_instance = InstanceApi();
-final instance = Instance(); // Instance |
+final instanceDTO = InstanceDTO(); // InstanceDTO |
try {
- final result = api_instance.instanceUpdateinstance(instance);
+ final result = api_instance.instanceUpdateinstance(instanceDTO);
print(result);
} catch (e) {
print('Exception when calling InstanceApi->instanceUpdateinstance: $e\n');
@@ -254,7 +254,7 @@ try {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **instance** | [**Instance**](Instance.md)| |
+ **instanceDTO** | [**InstanceDTO**](InstanceDTO.md)| |
### Return type
diff --git a/manager_api/doc/InstanceDTO.md b/manager_api_new/doc/InstanceDTO.md
similarity index 78%
rename from manager_api/doc/InstanceDTO.md
rename to manager_api_new/doc/InstanceDTO.md
index ec1d952..9bc7fab 100644
--- a/manager_api/doc/InstanceDTO.md
+++ b/manager_api_new/doc/InstanceDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.InstanceDTO
+# manager_api_new.model.InstanceDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
@@ -11,7 +11,7 @@ Name | Type | Description | Notes
**id** | **String** | | [optional]
**name** | **String** | | [optional]
**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
-**pinCode** | **int** | | [optional]
+**pinCode** | **String** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/manager_api/doc/LevelDTO.md b/manager_api_new/doc/LevelDTO.md
similarity index 85%
rename from manager_api/doc/LevelDTO.md
rename to manager_api_new/doc/LevelDTO.md
index d87fee3..5627672 100644
--- a/manager_api/doc/LevelDTO.md
+++ b/manager_api_new/doc/LevelDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.LevelDTO
+# manager_api_new.model.LevelDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api/doc/LoginDTO.md b/manager_api_new/doc/LoginDTO.md
similarity index 83%
rename from manager_api/doc/LoginDTO.md
rename to manager_api_new/doc/LoginDTO.md
index fa86966..a07728f 100644
--- a/manager_api/doc/LoginDTO.md
+++ b/manager_api_new/doc/LoginDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.LoginDTO
+# manager_api_new.model.LoginDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api_new/doc/MapDTO.md b/manager_api_new/doc/MapDTO.md
new file mode 100644
index 0000000..84aa572
--- /dev/null
+++ b/manager_api_new/doc/MapDTO.md
@@ -0,0 +1,42 @@
+# manager_api_new.model.MapDTO
+
+## Load the model package
+```dart
+import 'package:manager_api_new/api.dart';
+```
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **String** | | [optional]
+**label** | **String** | | [optional]
+**title** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**description** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**imageId** | **String** | | [optional]
+**imageSource** | **String** | | [optional]
+**configurationId** | **String** | | [optional]
+**isSubSection** | **bool** | | [optional]
+**parentId** | **String** | | [optional]
+**type** | [**SectionType**](SectionType.md) | | [optional]
+**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
+**order** | **int** | | [optional]
+**instanceId** | **String** | | [optional]
+**latitude** | **String** | | [optional]
+**longitude** | **String** | | [optional]
+**meterZoneGPS** | **int** | | [optional]
+**isBeacon** | **bool** | | [optional]
+**beaconId** | **int** | | [optional]
+**zoom** | **int** | | [optional]
+**mapType** | [**MapDTOAllOfMapType**](MapDTOAllOfMapType.md) | | [optional]
+**mapTypeMapbox** | [**MapDTOAllOfMapTypeMapbox**](MapDTOAllOfMapTypeMapbox.md) | | [optional]
+**mapProvider** | [**MapDTOAllOfMapProvider**](MapDTOAllOfMapProvider.md) | | [optional]
+**points** | [**List**](GeoPointDTO.md) | | [optional] [default to const []]
+**iconResourceId** | **String** | | [optional]
+**iconSource** | **String** | | [optional]
+**categories** | [**List**](CategorieDTO.md) | | [optional] [default to const []]
+**centerLatitude** | **String** | | [optional]
+**centerLongitude** | **String** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/manager_api/doc/VideoDTO.md b/manager_api_new/doc/MapDTOAllOfMapProvider.md
similarity index 74%
rename from manager_api/doc/VideoDTO.md
rename to manager_api_new/doc/MapDTOAllOfMapProvider.md
index a13142e..0a1a2ea 100644
--- a/manager_api/doc/VideoDTO.md
+++ b/manager_api_new/doc/MapDTOAllOfMapProvider.md
@@ -1,14 +1,13 @@
-# manager_api.model.VideoDTO
+# manager_api_new.model.MapDTOAllOfMapProvider
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**source_** | **String** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/manager_api/doc/PdfDTO.md b/manager_api_new/doc/MapDTOAllOfMapType.md
similarity index 67%
rename from manager_api/doc/PdfDTO.md
rename to manager_api_new/doc/MapDTOAllOfMapType.md
index 1caaab8..2ad023c 100644
--- a/manager_api/doc/PdfDTO.md
+++ b/manager_api_new/doc/MapDTOAllOfMapType.md
@@ -1,14 +1,13 @@
-# manager_api.model.PdfDTO
+# manager_api_new.model.MapDTOAllOfMapType
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**pdfs** | [**List**](PDFFileDTO.md) | | [optional] [default to const []]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/manager_api/doc/MenuDTO.md b/manager_api_new/doc/MapDTOAllOfMapTypeMapbox.md
similarity index 66%
rename from manager_api/doc/MenuDTO.md
rename to manager_api_new/doc/MapDTOAllOfMapTypeMapbox.md
index cdbc1db..90894c3 100644
--- a/manager_api/doc/MenuDTO.md
+++ b/manager_api_new/doc/MapDTOAllOfMapTypeMapbox.md
@@ -1,14 +1,13 @@
-# manager_api.model.MenuDTO
+# manager_api_new.model.MapDTOAllOfMapTypeMapbox
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**sections** | [**List**](SectionDTO.md) | | [optional] [default to const []]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/manager_api/doc/MapDTOMapProvider.md b/manager_api_new/doc/MapDTOMapProvider.md
similarity index 78%
rename from manager_api/doc/MapDTOMapProvider.md
rename to manager_api_new/doc/MapDTOMapProvider.md
index 882195a..ab01794 100644
--- a/manager_api/doc/MapDTOMapProvider.md
+++ b/manager_api_new/doc/MapDTOMapProvider.md
@@ -1,8 +1,8 @@
-# manager_api.model.MapDTOMapProvider
+# manager_api_new.model.MapDTOMapProvider
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api/doc/MapDTOMapType.md b/manager_api_new/doc/MapDTOMapType.md
similarity index 79%
rename from manager_api/doc/MapDTOMapType.md
rename to manager_api_new/doc/MapDTOMapType.md
index 118e848..514d3b3 100644
--- a/manager_api/doc/MapDTOMapType.md
+++ b/manager_api_new/doc/MapDTOMapType.md
@@ -1,8 +1,8 @@
-# manager_api.model.MapDTOMapType
+# manager_api_new.model.MapDTOMapType
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api/doc/MapDTOMapTypeMapbox.md b/manager_api_new/doc/MapDTOMapTypeMapbox.md
similarity index 78%
rename from manager_api/doc/MapDTOMapTypeMapbox.md
rename to manager_api_new/doc/MapDTOMapTypeMapbox.md
index d3937ca..9014978 100644
--- a/manager_api/doc/MapDTOMapTypeMapbox.md
+++ b/manager_api_new/doc/MapDTOMapTypeMapbox.md
@@ -1,8 +1,8 @@
-# manager_api.model.MapDTOMapTypeMapbox
+# manager_api_new.model.MapDTOMapTypeMapbox
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api/doc/MapProvider.md b/manager_api_new/doc/MapProvider.md
similarity index 79%
rename from manager_api/doc/MapProvider.md
rename to manager_api_new/doc/MapProvider.md
index f600a20..21714af 100644
--- a/manager_api/doc/MapProvider.md
+++ b/manager_api_new/doc/MapProvider.md
@@ -1,8 +1,8 @@
-# manager_api.model.MapProvider
+# manager_api_new.model.MapProvider
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api/doc/MapTypeApp.md b/manager_api_new/doc/MapTypeApp.md
similarity index 80%
rename from manager_api/doc/MapTypeApp.md
rename to manager_api_new/doc/MapTypeApp.md
index b8ef959..4aaf681 100644
--- a/manager_api/doc/MapTypeApp.md
+++ b/manager_api_new/doc/MapTypeApp.md
@@ -1,8 +1,8 @@
-# manager_api.model.MapTypeApp
+# manager_api_new.model.MapTypeApp
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api/doc/MapTypeMapBox.md b/manager_api_new/doc/MapTypeMapBox.md
similarity index 79%
rename from manager_api/doc/MapTypeMapBox.md
rename to manager_api_new/doc/MapTypeMapBox.md
index 99b9232..561b3a4 100644
--- a/manager_api/doc/MapTypeMapBox.md
+++ b/manager_api_new/doc/MapTypeMapBox.md
@@ -1,8 +1,8 @@
-# manager_api.model.MapTypeMapBox
+# manager_api_new.model.MapTypeMapBox
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api_new/doc/MenuDTO.md b/manager_api_new/doc/MenuDTO.md
new file mode 100644
index 0000000..991ec03
--- /dev/null
+++ b/manager_api_new/doc/MenuDTO.md
@@ -0,0 +1,33 @@
+# manager_api_new.model.MenuDTO
+
+## Load the model package
+```dart
+import 'package:manager_api_new/api.dart';
+```
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **String** | | [optional]
+**label** | **String** | | [optional]
+**title** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**description** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**imageId** | **String** | | [optional]
+**imageSource** | **String** | | [optional]
+**configurationId** | **String** | | [optional]
+**isSubSection** | **bool** | | [optional]
+**parentId** | **String** | | [optional]
+**type** | [**SectionType**](SectionType.md) | | [optional]
+**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
+**order** | **int** | | [optional]
+**instanceId** | **String** | | [optional]
+**latitude** | **String** | | [optional]
+**longitude** | **String** | | [optional]
+**meterZoneGPS** | **int** | | [optional]
+**isBeacon** | **bool** | | [optional]
+**beaconId** | **int** | | [optional]
+**sections** | [**List**](Object.md) | | [optional] [default to const []]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/manager_api/doc/AgendaDTO.md b/manager_api_new/doc/OrderedTranslationAndResourceDTO.md
similarity index 53%
rename from manager_api/doc/AgendaDTO.md
rename to manager_api_new/doc/OrderedTranslationAndResourceDTO.md
index b341661..aa8231e 100644
--- a/manager_api/doc/AgendaDTO.md
+++ b/manager_api_new/doc/OrderedTranslationAndResourceDTO.md
@@ -1,15 +1,15 @@
-# manager_api.model.AgendaDTO
+# manager_api_new.model.OrderedTranslationAndResourceDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**resourceIds** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
-**mapProvider** | [**MapDTOMapProvider**](MapDTOMapProvider.md) | | [optional]
+**translationAndResourceDTOs** | [**List**](TranslationAndResourceDTO.md) | | [optional] [default to const []]
+**order** | **int** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/manager_api/doc/PDFFileDTO.md b/manager_api_new/doc/PDFFileDTO.md
similarity index 86%
rename from manager_api/doc/PDFFileDTO.md
rename to manager_api_new/doc/PDFFileDTO.md
index 4d2432a..f70fea4 100644
--- a/manager_api/doc/PDFFileDTO.md
+++ b/manager_api_new/doc/PDFFileDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.PDFFileDTO
+# manager_api_new.model.PDFFileDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api_new/doc/PdfDTO.md b/manager_api_new/doc/PdfDTO.md
new file mode 100644
index 0000000..b50f735
--- /dev/null
+++ b/manager_api_new/doc/PdfDTO.md
@@ -0,0 +1,33 @@
+# manager_api_new.model.PdfDTO
+
+## Load the model package
+```dart
+import 'package:manager_api_new/api.dart';
+```
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **String** | | [optional]
+**label** | **String** | | [optional]
+**title** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**description** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**imageId** | **String** | | [optional]
+**imageSource** | **String** | | [optional]
+**configurationId** | **String** | | [optional]
+**isSubSection** | **bool** | | [optional]
+**parentId** | **String** | | [optional]
+**type** | [**SectionType**](SectionType.md) | | [optional]
+**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
+**order** | **int** | | [optional]
+**instanceId** | **String** | | [optional]
+**latitude** | **String** | | [optional]
+**longitude** | **String** | | [optional]
+**meterZoneGPS** | **int** | | [optional]
+**isBeacon** | **bool** | | [optional]
+**beaconId** | **int** | | [optional]
+**pdfs** | [**List**](OrderedTranslationAndResourceDTO.md) | | [optional] [default to const []]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/manager_api/doc/PlayerMessageDTO.md b/manager_api_new/doc/PlayerMessageDTO.md
similarity index 82%
rename from manager_api/doc/PlayerMessageDTO.md
rename to manager_api_new/doc/PlayerMessageDTO.md
index b5a97b7..4e6ac89 100644
--- a/manager_api/doc/PlayerMessageDTO.md
+++ b/manager_api_new/doc/PlayerMessageDTO.md
@@ -1,8 +1,8 @@
-# manager_api.model.PlayerMessageDTO
+# manager_api_new.model.PlayerMessageDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api_new/doc/PuzzleDTO.md b/manager_api_new/doc/PuzzleDTO.md
new file mode 100644
index 0000000..2c55b8d
--- /dev/null
+++ b/manager_api_new/doc/PuzzleDTO.md
@@ -0,0 +1,38 @@
+# manager_api_new.model.PuzzleDTO
+
+## Load the model package
+```dart
+import 'package:manager_api_new/api.dart';
+```
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **String** | | [optional]
+**label** | **String** | | [optional]
+**title** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**description** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**imageId** | **String** | | [optional]
+**imageSource** | **String** | | [optional]
+**configurationId** | **String** | | [optional]
+**isSubSection** | **bool** | | [optional]
+**parentId** | **String** | | [optional]
+**type** | [**SectionType**](SectionType.md) | | [optional]
+**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
+**order** | **int** | | [optional]
+**instanceId** | **String** | | [optional]
+**latitude** | **String** | | [optional]
+**longitude** | **String** | | [optional]
+**meterZoneGPS** | **int** | | [optional]
+**isBeacon** | **bool** | | [optional]
+**beaconId** | **int** | | [optional]
+**messageDebut** | [**List**](TranslationAndResourceDTO.md) | | [optional] [default to const []]
+**messageFin** | [**List**](TranslationAndResourceDTO.md) | | [optional] [default to const []]
+**puzzleImage** | [**PuzzleDTOAllOfPuzzleImage**](PuzzleDTOAllOfPuzzleImage.md) | | [optional]
+**puzzleImageId** | **String** | | [optional]
+**rows** | **int** | | [optional]
+**cols** | **int** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/manager_api_new/doc/PuzzleDTOAllOfPuzzleImage.md b/manager_api_new/doc/PuzzleDTOAllOfPuzzleImage.md
new file mode 100644
index 0000000..926dfa7
--- /dev/null
+++ b/manager_api_new/doc/PuzzleDTOAllOfPuzzleImage.md
@@ -0,0 +1,20 @@
+# manager_api_new.model.PuzzleDTOAllOfPuzzleImage
+
+## Load the model package
+```dart
+import 'package:manager_api_new/api.dart';
+```
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **String** | | [optional]
+**type** | [**ResourceType**](ResourceType.md) | | [optional]
+**label** | **String** | | [optional]
+**url** | **String** | | [optional]
+**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
+**instanceId** | **String** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/manager_api/doc/PuzzleDTOImage.md b/manager_api_new/doc/PuzzleDTOImage.md
similarity index 89%
rename from manager_api/doc/PuzzleDTOImage.md
rename to manager_api_new/doc/PuzzleDTOImage.md
index cc2e07a..9777e5f 100644
--- a/manager_api/doc/PuzzleDTOImage.md
+++ b/manager_api_new/doc/PuzzleDTOImage.md
@@ -1,8 +1,8 @@
-# manager_api.model.PuzzleDTOImage
+# manager_api_new.model.PuzzleDTOImage
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
diff --git a/manager_api/doc/QuestionDTO.md b/manager_api_new/doc/QuestionDTO.md
similarity index 73%
rename from manager_api/doc/QuestionDTO.md
rename to manager_api_new/doc/QuestionDTO.md
index 24020cc..ad9d7c4 100644
--- a/manager_api/doc/QuestionDTO.md
+++ b/manager_api_new/doc/QuestionDTO.md
@@ -1,17 +1,18 @@
-# manager_api.model.QuestionDTO
+# manager_api_new.model.QuestionDTO
## Load the model package
```dart
-import 'package:manager_api/api.dart';
+import 'package:manager_api_new/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
+**id** | **int** | | [optional]
**label** | [**List**](TranslationAndResourceDTO.md) | | [optional] [default to const []]
**responses** | [**List**](ResponseDTO.md) | | [optional] [default to const []]
**imageBackgroundResourceId** | **String** | | [optional]
-**imageBackgroundResourceType** | [**ResourceType**](ResourceType.md) | | [optional]
+**imageBackgroundResourceType** | [**QuestionDTOImageBackgroundResourceType**](QuestionDTOImageBackgroundResourceType.md) | | [optional]
**imageBackgroundResourceUrl** | **String** | | [optional]
**order** | **int** | | [optional]
diff --git a/manager_api_new/doc/QuestionDTOImageBackgroundResourceType.md b/manager_api_new/doc/QuestionDTOImageBackgroundResourceType.md
new file mode 100644
index 0000000..fd5da45
--- /dev/null
+++ b/manager_api_new/doc/QuestionDTOImageBackgroundResourceType.md
@@ -0,0 +1,14 @@
+# manager_api_new.model.QuestionDTOImageBackgroundResourceType
+
+## Load the model package
+```dart
+import 'package:manager_api_new/api.dart';
+```
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/manager_api_new/doc/QuizDTO.md b/manager_api_new/doc/QuizDTO.md
new file mode 100644
index 0000000..dace0c8
--- /dev/null
+++ b/manager_api_new/doc/QuizDTO.md
@@ -0,0 +1,37 @@
+# manager_api_new.model.QuizDTO
+
+## Load the model package
+```dart
+import 'package:manager_api_new/api.dart';
+```
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **String** | | [optional]
+**label** | **String** | | [optional]
+**title** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**description** | [**List**](TranslationDTO.md) | | [optional] [default to const []]
+**imageId** | **String** | | [optional]
+**imageSource** | **String** | | [optional]
+**configurationId** | **String** | | [optional]
+**isSubSection** | **bool** | | [optional]
+**parentId** | **String** | | [optional]
+**type** | [**SectionType**](SectionType.md) | | [optional]
+**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
+**order** | **int** | | [optional]
+**instanceId** | **String** | | [optional]
+**latitude** | **String** | | [optional]
+**longitude** | **String** | | [optional]
+**meterZoneGPS** | **int** | | [optional]
+**isBeacon** | **bool** | | [optional]
+**beaconId** | **int** | | [optional]
+**questions** | [**List**](QuestionDTO.md) | | [optional] [default to const []]
+**badLevel** | [**List**](TranslationAndResourceDTO.md) | | [optional] [default to const []]
+**mediumLevel** | [**List**](TranslationAndResourceDTO.md) | | [optional] [default to const []]
+**goodLevel** | [**List**](TranslationAndResourceDTO.md) | | [optional] [default to const []]
+**greatLevel** | [**List