WIP version 3.0.0
This commit is contained in:
parent
42d3e257b2
commit
53dff98388
@ -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
|
||||
|
||||
BIN
assets/files/Duck.glb
Normal file
BIN
assets/files/Duck.glb
Normal file
Binary file not shown.
202
assets/files/xr_environment.html
Normal file
202
assets/files/xr_environment.html
Normal file
@ -0,0 +1,202 @@
|
||||
<!doctype html>
|
||||
<!--
|
||||
Copyright 2018 The Immersive Web Community Group
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<meta name='viewport' content='width=device-width, initial-scale=1, user-scalable=no'>
|
||||
<meta name='mobile-web-app-capable' content='yes'>
|
||||
<meta name='apple-mobile-web-app-capable' content='yes'>
|
||||
<link rel='icon' type='image/png' sizes='32x32' href='favicon-32x32.png'>
|
||||
<link rel='icon' type='image/png' sizes='96x96' href='favicon-96x96.png'>
|
||||
<link rel='stylesheet' href='css/common.css'>
|
||||
|
||||
<title>Immersive AR Session</title>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<details open>
|
||||
<summary>Immersive AR Session</summary>
|
||||
<p>
|
||||
This sample demonstrates how to use an 'immersive-ar' XRSession to
|
||||
present a simple WebGL scene to a transparent or passthrough XR
|
||||
device. The logic is largely the same as the corresponding VR sample,
|
||||
with the primary difference being that no background is rendered and
|
||||
the model is scaled down for easier viewing in a real-world space.
|
||||
<a class="back" href="./">Back</a>
|
||||
</p>
|
||||
</details>
|
||||
</header>
|
||||
<script type="module">
|
||||
import {WebXRButton} from './js/util/webxr-button.js';
|
||||
import {Scene} from './js/render/scenes/scene.js';
|
||||
import {Renderer, createWebGLContext} from './js/render/core/renderer.js';
|
||||
import {SkyboxNode} from './js/render/nodes/skybox.js';
|
||||
import {InlineViewerHelper} from './js/util/inline-viewer-helper.js';
|
||||
import {Gltf2Node} from './js/render/nodes/gltf2.js';
|
||||
import {QueryArgs} from './js/util/query-args.js';
|
||||
|
||||
// If requested, use the polyfill to provide support for mobile devices
|
||||
// and devices which only support WebVR.
|
||||
import WebXRPolyfill from './js/third-party/webxr-polyfill/build/webxr-polyfill.module.js';
|
||||
if (QueryArgs.getBool('usePolyfill', true)) {
|
||||
let polyfill = new WebXRPolyfill();
|
||||
}
|
||||
|
||||
// XR globals.
|
||||
let xrButton = null;
|
||||
let xrImmersiveRefSpace = null;
|
||||
let inlineViewerHelper = null;
|
||||
|
||||
// WebGL scene globals.
|
||||
let gl = null;
|
||||
let renderer = null;
|
||||
let scene = new Scene();
|
||||
let solarSystem = new Gltf2Node({url: 'media/gltf/space/space.gltf'});
|
||||
// The solar system is big (citation needed). Scale it down so that users
|
||||
// can move around the planets more easily.
|
||||
solarSystem.scale = [0.01, 0.01, 0.1];
|
||||
scene.addNode(solarSystem);
|
||||
// Still adding a skybox, but only for the benefit of the inline view.
|
||||
let skybox = new SkyboxNode({url: 'media/textures/milky-way-4k.png'});
|
||||
scene.addNode(skybox);
|
||||
|
||||
function initXR() {
|
||||
xrButton = new WebXRButton({
|
||||
onRequestSession: onRequestSession,
|
||||
onEndSession: onEndSession,
|
||||
textEnterXRTitle: "START AR Youhou",
|
||||
textXRNotFoundTitle: "AR NOT FOUND",
|
||||
textExitXRTitle: "EXIT AR",
|
||||
});
|
||||
document.querySelector('header').appendChild(xrButton.domElement);
|
||||
|
||||
if (navigator.xr) {
|
||||
// Checks to ensure that 'immersive-ar' mode is available, and only
|
||||
// enables the button if so.
|
||||
navigator.xr.isSessionSupported('immersive-ar').then((supported) => {
|
||||
xrButton.enabled = supported;
|
||||
});
|
||||
|
||||
navigator.xr.requestSession('inline').then(onSessionStarted);
|
||||
}
|
||||
}
|
||||
|
||||
function onRequestSession() {
|
||||
// Requests an 'immersive-ar' session, which ensures that the users
|
||||
// environment will be visible either via video passthrough or a
|
||||
// transparent display. This may be presented either in a headset or
|
||||
// fullscreen on a mobile device.
|
||||
return navigator.xr.requestSession('immersive-ar')
|
||||
.then((session) => {
|
||||
xrButton.setSession(session);
|
||||
session.isImmersive = true;
|
||||
onSessionStarted(session);
|
||||
});
|
||||
}
|
||||
|
||||
function initGL() {
|
||||
if (gl)
|
||||
return;
|
||||
|
||||
gl = createWebGLContext({
|
||||
xrCompatible: true
|
||||
});
|
||||
document.body.appendChild(gl.canvas);
|
||||
|
||||
function onResize() {
|
||||
gl.canvas.width = gl.canvas.clientWidth * window.devicePixelRatio;
|
||||
gl.canvas.height = gl.canvas.clientHeight * window.devicePixelRatio;
|
||||
}
|
||||
window.addEventListener('resize', onResize);
|
||||
onResize();
|
||||
|
||||
renderer = new Renderer(gl);
|
||||
|
||||
scene.setRenderer(renderer);
|
||||
}
|
||||
|
||||
function onSessionStarted(session) {
|
||||
session.addEventListener('end', onSessionEnded);
|
||||
|
||||
if (session.isImmersive) {
|
||||
// When in 'immersive-ar' mode don't draw an opaque background because
|
||||
// we want the real world to show through.
|
||||
skybox.visible = false;
|
||||
}
|
||||
|
||||
initGL();
|
||||
|
||||
session.updateRenderState({ baseLayer: new XRWebGLLayer(session, gl) });
|
||||
|
||||
let refSpaceType = session.isImmersive ? 'local' : 'viewer';
|
||||
session.requestReferenceSpace(refSpaceType).then((refSpace) => {
|
||||
if (session.isImmersive) {
|
||||
xrImmersiveRefSpace = refSpace;
|
||||
|
||||
xrImmersiveRefSpace.addEventListener('reset', (evt) => {
|
||||
if (evt.transform) {
|
||||
// AR experiences typically should stay grounded to the real world.
|
||||
// If there's a known origin shift, compensate for it here.
|
||||
xrImmersiveRefSpace = xrImmersiveRefSpace.getOffsetReferenceSpace(evt.transform);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
inlineViewerHelper = new InlineViewerHelper(gl.canvas, refSpace);
|
||||
}
|
||||
session.requestAnimationFrame(onXRFrame);
|
||||
});
|
||||
}
|
||||
|
||||
function onEndSession(session) {
|
||||
session.end();
|
||||
}
|
||||
|
||||
function onSessionEnded(event) {
|
||||
if (event.session.isImmersive) {
|
||||
xrButton.setSession(null);
|
||||
// Turn the background back on when we go back to the inlive view.
|
||||
skybox.visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Called every time a XRSession requests that a new frame be drawn.
|
||||
function onXRFrame(t, frame) {
|
||||
let session = frame.session;
|
||||
let refSpace = session.isImmersive ?
|
||||
xrImmersiveRefSpace :
|
||||
inlineViewerHelper.referenceSpace;
|
||||
let pose = frame.getViewerPose(refSpace);
|
||||
|
||||
scene.startFrame();
|
||||
|
||||
session.requestAnimationFrame(onXRFrame);
|
||||
|
||||
scene.drawXRFrame(frame, pose);
|
||||
|
||||
scene.endFrame();
|
||||
}
|
||||
|
||||
// Start the XR application.
|
||||
initXR();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@ -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';
|
||||
|
||||
@ -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<ScannerDialog> {
|
||||
),
|
||||
);
|
||||
break;
|
||||
case SectionType.Quizz:
|
||||
case SectionType.Quiz:
|
||||
Navigator.pushReplacement(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
|
||||
@ -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';
|
||||
|
||||
@ -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';
|
||||
|
||||
@ -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';
|
||||
|
||||
@ -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';
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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';
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import 'package:manager_api/api.dart';
|
||||
import 'package:manager_api_new/api.dart';
|
||||
|
||||
class ResponseSubDTO {
|
||||
List<TranslationAndResourceDTO>? label;
|
||||
|
||||
@ -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 = "";
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import 'package:manager_api/api.dart';
|
||||
import 'package:manager_api_new/api.dart';
|
||||
|
||||
class BeaconSection {
|
||||
int? minorBeaconId;
|
||||
|
||||
@ -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 = "";
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import 'package:manager_api/api.dart';
|
||||
import 'package:manager_api_new/api.dart';
|
||||
|
||||
class Translation {
|
||||
String? language = "";
|
||||
|
||||
@ -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<ConfigurationDTO>? configurations;
|
||||
ConfigurationDTO? configuration;
|
||||
|
||||
@ -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<ArticlePage> {
|
||||
isTextSizeButton: true,
|
||||
),
|
||||
body: FutureBuilder(
|
||||
future: getArticle(appContext, visitAppContext.clientAPI, widget.articleId, false),
|
||||
future: getArticle(appContext, visitAppContext.clientAPI, widget.articleDTO.id, false),
|
||||
builder: (context, AsyncSnapshot<dynamic> snapshot) {
|
||||
if(articleDTO != null && sectionDTO != null) {
|
||||
if(size.height > size.width) {
|
||||
@ -387,7 +387,7 @@ class _ArticlePageState extends State<ArticlePage> {
|
||||
// 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");
|
||||
}*/
|
||||
|
||||
@ -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';
|
||||
|
||||
@ -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,7 +50,9 @@ class _HomePageState extends State<HomePage> with WidgetsBindingObserver {
|
||||
isHomeButton: false,
|
||||
),
|
||||
body: SingleChildScrollView(
|
||||
child: SizedBox(
|
||||
child: Column(
|
||||
children: [
|
||||
SizedBox(
|
||||
width: size.width,
|
||||
height: size.height,
|
||||
child: FutureBuilder(
|
||||
@ -84,6 +86,27 @@ class _HomePageState extends State<HomePage> with WidgetsBindingObserver {
|
||||
}
|
||||
}
|
||||
),
|
||||
),
|
||||
/*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),
|
||||
|
||||
@ -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<QuizzPage> {
|
||||
late Uint8List audiobytes;
|
||||
late VisitAppContext visitAppContext;
|
||||
|
||||
QuizzDTO? quizzDTO;
|
||||
QuizDTO? quizDTO;
|
||||
List<QuestionSubDTO> _questionsSubDTO = <QuestionSubDTO>[];
|
||||
//ConfettiController? _controllerCenter;
|
||||
int currentIndex = 1;
|
||||
@ -66,9 +66,9 @@ class _QuizzPageState extends State<QuizzPage> {
|
||||
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<QuizzPage> {
|
||||
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<QuizzPage> {
|
||||
return FutureBuilder(
|
||||
future: getQuizz(appContext, visitAppContext.clientAPI, widget.sectionId), // MAYBE MOVE THAT TO PARENT ..
|
||||
builder: (context, AsyncSnapshot<dynamic> snapshot) {
|
||||
if(quizzDTO != null && sectionDTO != null) {
|
||||
if(quizDTO != null && sectionDTO != null) {
|
||||
|
||||
if(showResult) {
|
||||
var goodResponses = 0;
|
||||
@ -102,20 +102,20 @@ class _QuizzPageState extends State<QuizzPage> {
|
||||
}
|
||||
}
|
||||
log("goodResponses =" + goodResponses.toString());
|
||||
LevelDTO levelToShow = LevelDTO();
|
||||
var test = goodResponses/quizzDTO!.questions!.length;
|
||||
List<TranslationAndResourceDTO> 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<QuizzPage> {
|
||||
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<QuizzPage> {
|
||||
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<QuizzPage> {
|
||||
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<QuizzPage> {
|
||||
);
|
||||
}
|
||||
|
||||
Future<QuizzDTO?> getQuizz(AppContext appContext, Client client, String sectionId) async {
|
||||
Future<QuizDTO?> 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<QuizzPage> {
|
||||
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<QuizzPage> {
|
||||
}
|
||||
}
|
||||
|
||||
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<QuizzPage> {
|
||||
}
|
||||
}
|
||||
|
||||
resultImage(VisitAppContext visitAppContext, Size size, LevelDTO levelToShow, Orientation orientation) {
|
||||
resultImage(VisitAppContext visitAppContext, Size size, List<TranslationAndResourceDTO> levelToShow, Orientation orientation) {
|
||||
return Container(
|
||||
//height: size.height * 0.2,
|
||||
//width: size.width * 0.25,
|
||||
@ -324,11 +324,11 @@ class _QuizzPageState extends State<QuizzPage> {
|
||||
),
|
||||
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<QuizzPage> {
|
||||
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<QuizzPage> {
|
||||
);
|
||||
}
|
||||
|
||||
resultText(Size size, LevelDTO levelToShow, AppContext appContext) {
|
||||
resultText(Size size, List<TranslationAndResourceDTO> levelToShow, AppContext appContext) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(bottom: 10),
|
||||
child: Container(
|
||||
@ -382,7 +382,7 @@ class _QuizzPageState extends State<QuizzPage> {
|
||||
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<QuizzPage> {
|
||||
showResult = false;
|
||||
showResponses = false;
|
||||
currentIndex = 1;
|
||||
_questionsSubDTO = QuestionSubDTO().fromJSON(quizzDTO!.questions!);
|
||||
_questionsSubDTO = QuestionSubDTO().fromJSON(quizDTO!.questions!);
|
||||
});
|
||||
},
|
||||
fontSize: 18,
|
||||
|
||||
117
lib/Screens/Tests/DebugOptionsWidget.dart
Normal file
117
lib/Screens/Tests/DebugOptionsWidget.dart
Normal file
@ -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<DebugOptionsWidget> {
|
||||
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,
|
||||
);
|
||||
}
|
||||
}
|
||||
144
lib/Screens/Tests/TestAR.dart
Normal file
144
lib/Screens/Tests/TestAR.dart
Normal file
@ -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<TestAR> {
|
||||
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<void> 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;
|
||||
}
|
||||
72
lib/Screens/Tests/XRTest.dart
Normal file
72
lib/Screens/Tests/XRTest.dart
Normal file
@ -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<XRWithQRScannerPage> {
|
||||
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<void> fetchData(String? qrCode) async {
|
||||
print('Fetching data for QR Code: $qrCode');
|
||||
}
|
||||
}
|
||||
170
lib/Screens/Tests/cloudtest.dart
Normal file
170
lib/Screens/Tests/cloudtest.dart
Normal file
@ -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<ObjectGesturesWidget> {
|
||||
ARSessionManager? arSessionManager;
|
||||
ARObjectManager? arObjectManager;
|
||||
ARAnchorManager? arAnchorManager;
|
||||
|
||||
List<ARNode> nodes = [];
|
||||
List<ARAnchor> 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<void> onRemoveEverything() async {
|
||||
/*nodes.forEach((node) {
|
||||
this.arObjectManager.removeNode(node);
|
||||
});*/
|
||||
anchors.forEach((anchor) {
|
||||
this.arAnchorManager!.removeAnchor(anchor);
|
||||
});
|
||||
anchors = [];
|
||||
}
|
||||
|
||||
Future<void> onPlaneOrPointTapped(
|
||||
List<ARHitTestResult> 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;
|
||||
}
|
||||
}
|
||||
157
lib/Screens/Tests/localtest.dart
Normal file
157
lib/Screens/Tests/localtest.dart
Normal file
@ -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<ScreenshotWidget> {
|
||||
ARSessionManager? arSessionManager;
|
||||
ARObjectManager? arObjectManager;
|
||||
ARAnchorManager? arAnchorManager;
|
||||
|
||||
List<ARNode> nodes = [];
|
||||
List<ARAnchor> 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<void> onRemoveEverything() async {
|
||||
/*nodes.forEach((node) {
|
||||
this.arObjectManager.removeNode(node);
|
||||
});*/
|
||||
// anchors.forEach((anchor)
|
||||
for (var anchor in anchors)
|
||||
{
|
||||
arAnchorManager!.removeAnchor(anchor);
|
||||
};
|
||||
anchors = [];
|
||||
}
|
||||
|
||||
Future<void> 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<void> onNodeTapped(List<String> nodes) async {
|
||||
var number = nodes.length;
|
||||
arSessionManager!.onError("Tapped $number node(s)");
|
||||
}
|
||||
|
||||
Future<void> onPlaneOrPointTapped(
|
||||
List<ARHitTestResult> 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);
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
139
lib/Screens/Tests/testother.dart
Normal file
139
lib/Screens/Tests/testother.dart
Normal file
@ -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<ObjectsOnPlanesWidget> {
|
||||
ARSessionManager? arSessionManager;
|
||||
ARObjectManager? arObjectManager;
|
||||
ARAnchorManager? arAnchorManager;
|
||||
|
||||
List<ARNode> nodes = [];
|
||||
List<ARAnchor> 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<void> onRemoveEverything() async {
|
||||
/*nodes.forEach((node) {
|
||||
this.arObjectManager.removeNode(node);
|
||||
});*/
|
||||
anchors.forEach((anchor) {
|
||||
this.arAnchorManager!.removeAnchor(anchor);
|
||||
});
|
||||
anchors = [];
|
||||
}
|
||||
|
||||
Future<void> onNodeTapped(List<String> nodes) async {
|
||||
var number = nodes.length;
|
||||
this.arSessionManager!.onError("Tapped $number node(s)");
|
||||
}
|
||||
|
||||
Future<void> onPlaneOrPointTapped(
|
||||
List<ARHitTestResult> 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);
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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';
|
||||
|
||||
@ -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<Body> {
|
||||
),
|
||||
);
|
||||
break;
|
||||
case SectionType.Quizz:
|
||||
case SectionType.Quiz:
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
@ -166,7 +166,7 @@ class _BodyState extends State<Body> {
|
||||
List<SectionDTO>? 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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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';
|
||||
|
||||
@ -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<VisitPage> with WidgetsBindingObserver {
|
||||
),
|
||||
);
|
||||
break;
|
||||
case SectionType.Quizz:
|
||||
case SectionType.Quiz:
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
|
||||
423
lib/Screens/section_page.dart
Normal file
423
lib/Screens/section_page.dart
Normal file
@ -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<SectionPage> createState() => _SectionPageState();
|
||||
}
|
||||
|
||||
class _SectionPageState extends State<SectionPage> {
|
||||
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
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<AppContext>(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<dynamic> 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<TranslationAndResourceDTO> 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<dynamic> getSectionDetail(AppContext appContext, Client client, String sectionId) async {
|
||||
try {
|
||||
if(sectionDTO == null) {
|
||||
bool isConfigOffline = (appContext.getContext() as VisitAppContext).configuration!.isOffline!;
|
||||
if(isConfigOffline)
|
||||
{
|
||||
// OFFLINE
|
||||
List<Map<String, dynamic>> 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<Map<String, dynamic>> 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<TranslationAndResourceDTO> 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<TranslationAndResourceDTO> 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
|
||||
),
|
||||
),
|
||||
)
|
||||
];
|
||||
}
|
||||
}
|
||||
@ -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<ResourceModel?> downloadImage(Client client, ContentDTO contentDTO) async {
|
||||
var source = contentDTO.resourceUrl;
|
||||
static Future<ResourceModel?> 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..
|
||||
|
||||
@ -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<DownloadConfigurationWidge
|
||||
ExportConfigurationDTO? exportConfigurationDTO;
|
||||
try{
|
||||
// Retrieve all url from resource to download (get all resource from configuration en somme)
|
||||
exportConfigurationDTO = await visitAppContext.clientAPI.configurationApi!.configurationExport(widget.configuration.id!, isAllLanguages ? null : visitAppContext.language); // tabletAppContext.configuration!.id! // 65c5f0ee4c030e63ce16bff5 TODO Remove
|
||||
exportConfigurationDTO = await visitAppContext.clientAPI.configurationApi!.configurationExport(widget.configuration.id!, language: isAllLanguages ? null : visitAppContext.language); // tabletAppContext.configuration!.id! // 65c5f0ee4c030e63ce16bff5 TODO Remove
|
||||
} catch(e) {
|
||||
print("Erreur lors du téléchargement de la configuration et de ses ressources !");
|
||||
print(e);
|
||||
@ -148,7 +148,7 @@ class _DownloadConfigurationWidgetState extends State<DownloadConfigurationWidge
|
||||
if(sections!.isNotEmpty) {
|
||||
|
||||
List<SectionDTO> sectionsInDB = await DatabaseHelper.instance.queryWithConfigurationId(DatabaseTableType.sections, widget.configuration.id!);
|
||||
List<SectionDTO> 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<SectionDTO> 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;
|
||||
|
||||
@ -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 {}
|
||||
|
||||
/*
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -32,7 +32,7 @@ void main() async {
|
||||
List<SectionRead> articleReadTest = List<SectionRead>.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<SectionRead> articleReadTest = List<SectionRead>.from(await DatabaseHelper.instance.getData(DatabaseTableType.articleRead));
|
||||
|
||||
@ -1 +0,0 @@
|
||||
unset
|
||||
@ -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<OAuth>('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
|
||||
|
||||
|
||||
|
||||
@ -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>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**isContentTop** | **bool** | | [optional]
|
||||
**audioIds** | [**List<TranslationDTO>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**isReadAudioAuto** | **bool** | | [optional]
|
||||
**contents** | [**List<ContentDTO>**](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)
|
||||
|
||||
|
||||
@ -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>**](GeoPointDTO.md) | | [optional] [default to const []]
|
||||
**iconResourceId** | **String** | | [optional]
|
||||
**iconSource** | **String** | | [optional]
|
||||
**categories** | [**List<CategorieDTO>**](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)
|
||||
|
||||
|
||||
@ -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>**](TranslationAndResourceDTO.md) | | [optional] [default to const []]
|
||||
**messageFin** | [**List<TranslationAndResourceDTO>**](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)
|
||||
|
||||
|
||||
@ -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>**](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)
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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<TranslationDTO>? 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<String, dynamic> toJson() {
|
||||
final json = <String, dynamic>{};
|
||||
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<String, dynamic>();
|
||||
|
||||
// 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<AgendaDTO> listFromJson(dynamic json, {bool growable = false,}) {
|
||||
final result = <AgendaDTO>[];
|
||||
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<String, AgendaDTO> mapFromJson(dynamic json) {
|
||||
final map = <String, AgendaDTO>{};
|
||||
if (json is Map && json.isNotEmpty) {
|
||||
json = json.cast<String, dynamic>(); // 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<String, List<AgendaDTO>> mapListFromJson(dynamic json, {bool growable = false,}) {
|
||||
final map = <String, List<AgendaDTO>>{};
|
||||
if (json is Map && json.isNotEmpty) {
|
||||
// ignore: parameter_assignments
|
||||
json = json.cast<String, dynamic>();
|
||||
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 = <String>{
|
||||
};
|
||||
}
|
||||
|
||||
@ -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<TranslationDTO>? 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<TranslationDTO>? 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<ContentDTO>? 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<String, dynamic> toJson() {
|
||||
final json = <String, dynamic>{};
|
||||
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<String, dynamic>();
|
||||
|
||||
// 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<bool>(json, r'isContentTop'),
|
||||
audioIds: TranslationDTO.listFromJson(json[r'audioIds']),
|
||||
isReadAudioAuto: mapValueOfType<bool>(json, r'isReadAudioAuto'),
|
||||
contents: ContentDTO.listFromJson(json[r'contents']),
|
||||
);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
static List<ArticleDTO> listFromJson(dynamic json, {bool growable = false,}) {
|
||||
final result = <ArticleDTO>[];
|
||||
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<String, ArticleDTO> mapFromJson(dynamic json) {
|
||||
final map = <String, ArticleDTO>{};
|
||||
if (json is Map && json.isNotEmpty) {
|
||||
json = json.cast<String, dynamic>(); // 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<String, List<ArticleDTO>> mapListFromJson(dynamic json, {bool growable = false,}) {
|
||||
final map = <String, List<ArticleDTO>>{};
|
||||
if (json is Map && json.isNotEmpty) {
|
||||
// ignore: parameter_assignments
|
||||
json = json.cast<String, dynamic>();
|
||||
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 = <String>{
|
||||
};
|
||||
}
|
||||
|
||||
@ -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<GeoPointDTO>? points;
|
||||
|
||||
String? iconResourceId;
|
||||
|
||||
String? iconSource;
|
||||
|
||||
List<CategorieDTO>? 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<String, dynamic> toJson() {
|
||||
final json = <String, dynamic>{};
|
||||
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<String, dynamic>();
|
||||
|
||||
// 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<int>(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<String>(json, r'iconResourceId'),
|
||||
iconSource: mapValueOfType<String>(json, r'iconSource'),
|
||||
categories: CategorieDTO.listFromJson(json[r'categories']),
|
||||
latitude: mapValueOfType<String>(json, r'latitude'),
|
||||
longitude: mapValueOfType<String>(json, r'longitude'),
|
||||
);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
static List<MapDTO> listFromJson(dynamic json, {bool growable = false,}) {
|
||||
final result = <MapDTO>[];
|
||||
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<String, MapDTO> mapFromJson(dynamic json) {
|
||||
final map = <String, MapDTO>{};
|
||||
if (json is Map && json.isNotEmpty) {
|
||||
json = json.cast<String, dynamic>(); // 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<String, List<MapDTO>> mapListFromJson(dynamic json, {bool growable = false,}) {
|
||||
final map = <String, List<MapDTO>>{};
|
||||
if (json is Map && json.isNotEmpty) {
|
||||
// ignore: parameter_assignments
|
||||
json = json.cast<String, dynamic>();
|
||||
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 = <String>{
|
||||
};
|
||||
}
|
||||
|
||||
@ -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<TranslationAndResourceDTO>? messageDebut;
|
||||
|
||||
List<TranslationAndResourceDTO>? 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<String, dynamic> toJson() {
|
||||
final json = <String, dynamic>{};
|
||||
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<String, dynamic>();
|
||||
|
||||
// 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<int>(json, r'rows'),
|
||||
cols: mapValueOfType<int>(json, r'cols'),
|
||||
);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
static List<PuzzleDTO> listFromJson(dynamic json, {bool growable = false,}) {
|
||||
final result = <PuzzleDTO>[];
|
||||
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<String, PuzzleDTO> mapFromJson(dynamic json) {
|
||||
final map = <String, PuzzleDTO>{};
|
||||
if (json is Map && json.isNotEmpty) {
|
||||
json = json.cast<String, dynamic>(); // 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<String, List<PuzzleDTO>> mapListFromJson(dynamic json, {bool growable = false,}) {
|
||||
final map = <String, List<PuzzleDTO>>{};
|
||||
if (json is Map && json.isNotEmpty) {
|
||||
// ignore: parameter_assignments
|
||||
json = json.cast<String, dynamic>();
|
||||
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 = <String>{
|
||||
};
|
||||
}
|
||||
|
||||
@ -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<String, dynamic> toJson() {
|
||||
final json = <String, dynamic>{};
|
||||
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<String, dynamic>();
|
||||
|
||||
// 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<String>(json, r'city'),
|
||||
updatedDate: mapDateTime(json, r'updatedDate', ''),
|
||||
result: mapValueOfType<String>(json, r'result'),
|
||||
);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
static List<WeatherDTO> listFromJson(dynamic json, {bool growable = false,}) {
|
||||
final result = <WeatherDTO>[];
|
||||
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<String, WeatherDTO> mapFromJson(dynamic json) {
|
||||
final map = <String, WeatherDTO>{};
|
||||
if (json is Map && json.isNotEmpty) {
|
||||
json = json.cast<String, dynamic>(); // 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<String, List<WeatherDTO>> mapListFromJson(dynamic json, {bool growable = false,}) {
|
||||
final map = <String, List<WeatherDTO>>{};
|
||||
if (json is Map && json.isNotEmpty) {
|
||||
// ignore: parameter_assignments
|
||||
json = json.cast<String, dynamic>();
|
||||
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 = <String>{
|
||||
};
|
||||
}
|
||||
|
||||
@ -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"
|
||||
@ -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'
|
||||
@ -3,7 +3,9 @@
|
||||
.dart_tool/
|
||||
.packages
|
||||
build/
|
||||
pubspec.lock # Except for application packages
|
||||
|
||||
# Except for application packages
|
||||
pubspec.lock
|
||||
|
||||
doc/api/
|
||||
|
||||
@ -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
|
||||
1
manager_api_new/.openapi-generator/VERSION
Normal file
1
manager_api_new/.openapi-generator/VERSION
Normal file
@ -0,0 +1 @@
|
||||
7.9.0
|
||||
208
manager_api_new/README.md
Normal file
208
manager_api_new/README.md
Normal file
@ -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<OAuth>('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
|
||||
|
||||
|
||||
|
||||
34
manager_api_new/doc/AgendaDTO.md
Normal file
34
manager_api_new/doc/AgendaDTO.md
Normal file
@ -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>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**description** | [**List<TranslationDTO>**](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>**](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)
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
37
manager_api_new/doc/ArticleDTO.md
Normal file
37
manager_api_new/doc/ArticleDTO.md
Normal file
@ -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>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**description** | [**List<TranslationDTO>**](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>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**isContentTop** | **bool** | | [optional]
|
||||
**audioIds** | [**List<TranslationDTO>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**isReadAudioAuto** | **bool** | | [optional]
|
||||
**contents** | [**List<ContentDTO>**](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)
|
||||
|
||||
|
||||
@ -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<OAuth>('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<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||
|
||||
@ -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>**](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)
|
||||
@ -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<OAuth>('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<OAuth>('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<OAuth>('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<OAuth>('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<OAuth>('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<OAuth>('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<OAuth>('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<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||
|
||||
@ -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<String>** | | [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]
|
||||
@ -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>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**description** | [**List<TranslationDTO>**](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)
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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
|
||||
@ -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<OAuth>('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<OAuth>('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<OAuth>('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<OAuth>('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<OAuth>('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<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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<String>** | | [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]
|
||||
@ -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
|
||||
30
manager_api_new/doc/GeoPoint.md
Normal file
30
manager_api_new/doc/GeoPoint.md
Normal file
@ -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>**](TranslationDTO.md) | | [default to const []]
|
||||
**description** | [**List<TranslationDTO>**](TranslationDTO.md) | | [default to const []]
|
||||
**contents** | [**List<ContentDTO>**](ContentDTO.md) | | [default to const []]
|
||||
**schedules** | [**List<TranslationDTO>**](TranslationDTO.md) | | [default to const []]
|
||||
**prices** | [**List<TranslationDTO>**](TranslationDTO.md) | | [default to const []]
|
||||
**phone** | [**List<TranslationDTO>**](TranslationDTO.md) | | [default to const []]
|
||||
**email** | [**List<TranslationDTO>**](TranslationDTO.md) | | [default to const []]
|
||||
**site** | [**List<TranslationDTO>**](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)
|
||||
|
||||
|
||||
@ -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>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**description** | [**List<TranslationDTO>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**contents** | [**List<ContentGeoPoint>**](ContentGeoPoint.md) | | [optional] [default to const []]
|
||||
**categorie** | [**GeoPointDTOCategorie**](GeoPointDTOCategorie.md) | | [optional]
|
||||
**contents** | [**List<ContentDTO>**](ContentDTO.md) | | [optional] [default to const []]
|
||||
**categorieId** | **int** | | [optional]
|
||||
**latitude** | **String** | | [optional]
|
||||
**longitude** | **String** | | [optional]
|
||||
@ -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
|
||||
42
manager_api_new/doc/GeoPointSectionMap.md
Normal file
42
manager_api_new/doc/GeoPointSectionMap.md
Normal file
@ -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>**](TranslationDTO.md) | | [default to const []]
|
||||
**configurationId** | **String** | |
|
||||
**type** | [**SectionType**](SectionType.md) | |
|
||||
**isSubSection** | **bool** | |
|
||||
**instanceId** | **String** | |
|
||||
**mapCategories** | [**List<CategorieDTO>**](CategorieDTO.md) | | [default to const []]
|
||||
**description** | [**List<TranslationDTO>**](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>**](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)
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
@ -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)
|
||||
|
||||
@ -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<OAuth>('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<OAuth>('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<OAuth>('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<OAuth>('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<OAuth>('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<OAuth>('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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
42
manager_api_new/doc/MapDTO.md
Normal file
42
manager_api_new/doc/MapDTO.md
Normal file
@ -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>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**description** | [**List<TranslationDTO>**](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>**](GeoPointDTO.md) | | [optional] [default to const []]
|
||||
**iconResourceId** | **String** | | [optional]
|
||||
**iconSource** | **String** | | [optional]
|
||||
**categories** | [**List<CategorieDTO>**](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)
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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>**](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)
|
||||
|
||||
@ -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>**](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)
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
33
manager_api_new/doc/MenuDTO.md
Normal file
33
manager_api_new/doc/MenuDTO.md
Normal file
@ -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>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**description** | [**List<TranslationDTO>**](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>**](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)
|
||||
|
||||
|
||||
@ -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>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**mapProvider** | [**MapDTOMapProvider**](MapDTOMapProvider.md) | | [optional]
|
||||
**translationAndResourceDTOs** | [**List<TranslationAndResourceDTO>**](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)
|
||||
|
||||
@ -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
|
||||
33
manager_api_new/doc/PdfDTO.md
Normal file
33
manager_api_new/doc/PdfDTO.md
Normal file
@ -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>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||
**description** | [**List<TranslationDTO>**](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>**](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)
|
||||
|
||||
|
||||
@ -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
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user