WIP version 3.0.0
This commit is contained in:
parent
42d3e257b2
commit
53dff98388
@ -57,7 +57,7 @@ android {
|
|||||||
defaultConfig {
|
defaultConfig {
|
||||||
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
// 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
|
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
|
targetSdkVersion flutter.targetSdkVersion
|
||||||
versionCode flutterVersionCode.toInteger()
|
versionCode flutterVersionCode.toInteger()
|
||||||
versionName flutterVersionName
|
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/material.dart';
|
||||||
//import 'package:flutter_svg_provider/flutter_svg_provider.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/Models/visitContext.dart';
|
||||||
import 'package:mymuseum_visitapp/app_context.dart';
|
import 'package:mymuseum_visitapp/app_context.dart';
|
||||||
import 'package:mymuseum_visitapp/constants.dart';
|
import 'package:mymuseum_visitapp/constants.dart';
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'package:flutter/foundation.dart';
|
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/Helpers/translationHelper.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/visitContext.dart';
|
import 'package:mymuseum_visitapp/Models/visitContext.dart';
|
||||||
import 'package:mymuseum_visitapp/Screens/Article/article_page.dart';
|
import 'package:mymuseum_visitapp/Screens/Article/article_page.dart';
|
||||||
@ -191,7 +191,7 @@ class _ScannerDialogState extends State<ScannerDialog> {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case SectionType.Quizz:
|
case SectionType.Quiz:
|
||||||
Navigator.pushReplacement(
|
Navigator.pushReplacement(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import 'dart:io';
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_widget_from_html/flutter_widget_from_html.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/Helpers/translationHelper.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
|
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/visitContext.dart';
|
import 'package:mymuseum_visitapp/Models/visitContext.dart';
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'package:carousel_slider/carousel_slider.dart';
|
import 'package:carousel_slider/carousel_slider.dart';
|
||||||
import 'package:flutter/material.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/Components/ShowImagePopup.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
|
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/visitContext.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:cached_network_image/cached_network_image.dart';
|
||||||
import 'package:flutter/material.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/Models/visitContext.dart';
|
||||||
import 'package:mymuseum_visitapp/app_context.dart';
|
import 'package:mymuseum_visitapp/app_context.dart';
|
||||||
import 'package:mymuseum_visitapp/constants.dart';
|
import 'package:mymuseum_visitapp/constants.dart';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import 'dart:convert';
|
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/articleRead.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
|
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
|
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
|
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
|
||||||
|
|
||||||
class ModelsHelper {
|
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/Models/visitContext.dart';
|
||||||
import 'package:mymuseum_visitapp/translations.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 {
|
class ResponseSubDTO {
|
||||||
List<TranslationAndResourceDTO>? label;
|
List<TranslationAndResourceDTO>? label;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
|
|
||||||
class SectionRead {
|
class SectionRead {
|
||||||
String id = "";
|
String id = "";
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
|
|
||||||
class BeaconSection {
|
class BeaconSection {
|
||||||
int? minorBeaconId;
|
int? minorBeaconId;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
|
|
||||||
class ResourceModel {
|
class ResourceModel {
|
||||||
String? id = "";
|
String? id = "";
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
|
|
||||||
class Translation {
|
class Translation {
|
||||||
String? language = "";
|
String? language = "";
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
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/articleRead.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
|
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
|
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
|
||||||
@ -10,7 +10,7 @@ class VisitAppContext with ChangeNotifier {
|
|||||||
|
|
||||||
String? id = "";
|
String? id = "";
|
||||||
String? language = "";
|
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;
|
List<ConfigurationDTO>? configurations;
|
||||||
ConfigurationDTO? configuration;
|
ConfigurationDTO? configuration;
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import 'dart:typed_data';
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_widget_from_html/flutter_widget_from_html.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/CustomAppBar.dart';
|
||||||
import 'package:mymuseum_visitapp/Components/loading_common.dart';
|
import 'package:mymuseum_visitapp/Components/loading_common.dart';
|
||||||
import 'package:mymuseum_visitapp/Components/SliderImages.dart';
|
import 'package:mymuseum_visitapp/Components/SliderImages.dart';
|
||||||
@ -24,9 +24,9 @@ import 'package:path_provider/path_provider.dart';
|
|||||||
import 'audio_player_floating.dart';
|
import 'audio_player_floating.dart';
|
||||||
|
|
||||||
class ArticlePage extends StatefulWidget {
|
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;
|
final VisitAppContext visitAppContextIn;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -70,7 +70,7 @@ class _ArticlePageState extends State<ArticlePage> {
|
|||||||
isTextSizeButton: true,
|
isTextSizeButton: true,
|
||||||
),
|
),
|
||||||
body: FutureBuilder(
|
body: FutureBuilder(
|
||||||
future: getArticle(appContext, visitAppContext.clientAPI, widget.articleId, false),
|
future: getArticle(appContext, visitAppContext.clientAPI, widget.articleDTO.id, false),
|
||||||
builder: (context, AsyncSnapshot<dynamic> snapshot) {
|
builder: (context, AsyncSnapshot<dynamic> snapshot) {
|
||||||
if(articleDTO != null && sectionDTO != null) {
|
if(articleDTO != null && sectionDTO != null) {
|
||||||
if(size.height > size.width) {
|
if(size.height > size.width) {
|
||||||
@ -387,7 +387,7 @@ class _ArticlePageState extends State<ArticlePage> {
|
|||||||
// Not needed as it's in display logic
|
// Not needed as it's in display logic
|
||||||
//ResourceModel? resourceImageOnline = await ApiService.downloadImage(client, image);
|
//ResourceModel? resourceImageOnline = await ApiService.downloadImage(client, image);
|
||||||
//if(resourceImageOnline != null) {
|
//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 {
|
/*} else {
|
||||||
print("EMPTY resourcesModel online - audio");
|
print("EMPTY resourcesModel online - audio");
|
||||||
}*/
|
}*/
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import 'dart:convert';
|
|||||||
import 'package:auto_size_text/auto_size_text.dart';
|
import 'package:auto_size_text/auto_size_text.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_widget_from_html/flutter_widget_from_html.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/LanguageSelection.dart';
|
||||||
import 'package:mymuseum_visitapp/Components/loading_common.dart';
|
import 'package:mymuseum_visitapp/Components/loading_common.dart';
|
||||||
import 'package:mymuseum_visitapp/Helpers/translationHelper.dart';
|
import 'package:mymuseum_visitapp/Helpers/translationHelper.dart';
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import 'dart:io';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:auto_size_text/auto_size_text.dart';
|
import 'package:auto_size_text/auto_size_text.dart';
|
||||||
import 'package:flutter/services.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/CustomAppBar.dart';
|
||||||
import 'package:mymuseum_visitapp/Components/loading_common.dart';
|
import 'package:mymuseum_visitapp/Components/loading_common.dart';
|
||||||
import 'package:mymuseum_visitapp/Helpers/DatabaseHelper.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/Helpers/translationHelper.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
|
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/visitContext.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/apiService.dart';
|
||||||
import 'package:mymuseum_visitapp/Services/downloadConfiguration.dart';
|
import 'package:mymuseum_visitapp/Services/downloadConfiguration.dart';
|
||||||
import 'package:mymuseum_visitapp/app_context.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:mymuseum_visitapp/constants.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import '../Tests/TestAR.dart';
|
||||||
import 'configurations_list.dart';
|
import 'configurations_list.dart';
|
||||||
|
|
||||||
class HomePage extends StatefulWidget {
|
class HomePage extends StatefulWidget {
|
||||||
@ -50,40 +50,63 @@ class _HomePageState extends State<HomePage> with WidgetsBindingObserver {
|
|||||||
isHomeButton: false,
|
isHomeButton: false,
|
||||||
),
|
),
|
||||||
body: SingleChildScrollView(
|
body: SingleChildScrollView(
|
||||||
child: SizedBox(
|
child: Column(
|
||||||
width: size.width,
|
children: [
|
||||||
height: size.height,
|
SizedBox(
|
||||||
child: FutureBuilder(
|
width: size.width,
|
||||||
future: getConfigurationsCall(visitAppContext.clientAPI, appContext),
|
height: size.height,
|
||||||
builder: (context, AsyncSnapshot<dynamic> snapshot) {
|
child: FutureBuilder(
|
||||||
if (snapshot.connectionState == ConnectionState.done) {
|
future: getConfigurationsCall(visitAppContext.clientAPI, appContext),
|
||||||
configurations = List<ConfigurationDTO>.from(snapshot.data).where((configuration) => configuration.isMobile!).toList();
|
builder: (context, AsyncSnapshot<dynamic> snapshot) {
|
||||||
return RefreshIndicator (
|
if (snapshot.connectionState == ConnectionState.done) {
|
||||||
onRefresh: () {
|
configurations = List<ConfigurationDTO>.from(snapshot.data).where((configuration) => configuration.isMobile!).toList();
|
||||||
setState(() {});
|
return RefreshIndicator (
|
||||||
return Future(() => null);
|
onRefresh: () {
|
||||||
},
|
setState(() {});
|
||||||
color: kSecondColor,
|
return Future(() => null);
|
||||||
child: ConfigurationsList(
|
|
||||||
alreadyDownloaded: alreadyDownloaded,
|
|
||||||
configurations: configurations,
|
|
||||||
requestRefresh: () {
|
|
||||||
setState(() {}); // For refresh
|
|
||||||
},
|
},
|
||||||
),
|
color: kSecondColor,
|
||||||
);
|
child: ConfigurationsList(
|
||||||
} else if (snapshot.connectionState == ConnectionState.none) {
|
alreadyDownloaded: alreadyDownloaded,
|
||||||
return Text(TranslationHelper.getFromLocale("noData", appContext.getContext()));
|
configurations: configurations,
|
||||||
} else {
|
requestRefresh: () {
|
||||||
return Center(
|
setState(() {}); // For refresh
|
||||||
child: Container(
|
},
|
||||||
height: size.height * 0.15,
|
),
|
||||||
child: LoadingCommon()
|
);
|
||||||
)
|
} else if (snapshot.connectionState == ConnectionState.none) {
|
||||||
);
|
return Text(TranslationHelper.getFromLocale("noData", appContext.getContext()));
|
||||||
}
|
} else {
|
||||||
}
|
return Center(
|
||||||
),
|
child: Container(
|
||||||
|
height: size.height * 0.15,
|
||||||
|
child: LoadingCommon()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
),
|
||||||
|
),
|
||||||
|
/*InkWell(
|
||||||
|
onTap: () {
|
||||||
|
Navigator.pushReplacement(
|
||||||
|
context,
|
||||||
|
MaterialPageRoute(
|
||||||
|
builder: (context) {
|
||||||
|
return TestAR();
|
||||||
|
//return XRWithQRScannerPage();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
},
|
||||||
|
child: const SizedBox(
|
||||||
|
height: 50,
|
||||||
|
width: 10,
|
||||||
|
child: Text('TEST XR'),
|
||||||
|
),
|
||||||
|
),*/
|
||||||
|
],
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
//floatingActionButton: ScannerBouton(appContext: appContext),
|
//floatingActionButton: ScannerBouton(appContext: appContext),
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import 'dart:typed_data';
|
|||||||
|
|
||||||
//import 'package:confetti/confetti.dart';
|
//import 'package:confetti/confetti.dart';
|
||||||
import 'package:flutter/material.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/CustomAppBar.dart';
|
||||||
import 'package:mymuseum_visitapp/Components/Loading.dart';
|
import 'package:mymuseum_visitapp/Components/Loading.dart';
|
||||||
import 'package:mymuseum_visitapp/Components/loading_common.dart';
|
import 'package:mymuseum_visitapp/Components/loading_common.dart';
|
||||||
@ -41,7 +41,7 @@ class _QuizzPageState extends State<QuizzPage> {
|
|||||||
late Uint8List audiobytes;
|
late Uint8List audiobytes;
|
||||||
late VisitAppContext visitAppContext;
|
late VisitAppContext visitAppContext;
|
||||||
|
|
||||||
QuizzDTO? quizzDTO;
|
QuizDTO? quizDTO;
|
||||||
List<QuestionSubDTO> _questionsSubDTO = <QuestionSubDTO>[];
|
List<QuestionSubDTO> _questionsSubDTO = <QuestionSubDTO>[];
|
||||||
//ConfettiController? _controllerCenter;
|
//ConfettiController? _controllerCenter;
|
||||||
int currentIndex = 1;
|
int currentIndex = 1;
|
||||||
@ -66,9 +66,9 @@ class _QuizzPageState extends State<QuizzPage> {
|
|||||||
visitAppContext.isContentCurrentlyShown = false;
|
visitAppContext.isContentCurrentlyShown = false;
|
||||||
currentIndex = 1;
|
currentIndex = 1;
|
||||||
//_controllerCenter!.dispose();
|
//_controllerCenter!.dispose();
|
||||||
if(quizzDTO != null) {
|
if(quizDTO != null) {
|
||||||
if(quizzDTO!.questions != null) {
|
if(quizDTO!.questions != null) {
|
||||||
_questionsSubDTO = QuestionSubDTO().fromJSON(quizzDTO!.questions!);
|
_questionsSubDTO = QuestionSubDTO().fromJSON(quizDTO!.questions!);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ class _QuizzPageState extends State<QuizzPage> {
|
|||||||
return Scaffold(
|
return Scaffold(
|
||||||
key: _scaffoldKey,
|
key: _scaffoldKey,
|
||||||
appBar: CustomAppBar(
|
appBar: CustomAppBar(
|
||||||
title: sectionDTO != null ? TranslationHelper.get(sectionDTO!.title, visitAppContext!) : "",
|
title: sectionDTO != null ? TranslationHelper.get(sectionDTO!.title, visitAppContext) : "",
|
||||||
isHomeButton: false,
|
isHomeButton: false,
|
||||||
),
|
),
|
||||||
body: OrientationBuilder(
|
body: OrientationBuilder(
|
||||||
@ -92,7 +92,7 @@ class _QuizzPageState extends State<QuizzPage> {
|
|||||||
return FutureBuilder(
|
return FutureBuilder(
|
||||||
future: getQuizz(appContext, visitAppContext.clientAPI, widget.sectionId), // MAYBE MOVE THAT TO PARENT ..
|
future: getQuizz(appContext, visitAppContext.clientAPI, widget.sectionId), // MAYBE MOVE THAT TO PARENT ..
|
||||||
builder: (context, AsyncSnapshot<dynamic> snapshot) {
|
builder: (context, AsyncSnapshot<dynamic> snapshot) {
|
||||||
if(quizzDTO != null && sectionDTO != null) {
|
if(quizDTO != null && sectionDTO != null) {
|
||||||
|
|
||||||
if(showResult) {
|
if(showResult) {
|
||||||
var goodResponses = 0;
|
var goodResponses = 0;
|
||||||
@ -102,20 +102,20 @@ class _QuizzPageState extends State<QuizzPage> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
log("goodResponses =" + goodResponses.toString());
|
log("goodResponses =" + goodResponses.toString());
|
||||||
LevelDTO levelToShow = LevelDTO();
|
List<TranslationAndResourceDTO> levelToShow = [];
|
||||||
var test = goodResponses/quizzDTO!.questions!.length;
|
var test = goodResponses/quizDTO!.questions!.length;
|
||||||
|
|
||||||
if((0 == test || test < 0.25) && quizzDTO!.badLevel != null) {
|
if((0 == test || test < 0.25) && quizDTO!.badLevel != null) {
|
||||||
levelToShow = quizzDTO!.badLevel!;
|
levelToShow = quizDTO!.badLevel!;
|
||||||
}
|
}
|
||||||
if((test>=0.25 && test < 0.5) && quizzDTO!.mediumLevel != null) {
|
if((test>=0.25 && test < 0.5) && quizDTO!.mediumLevel != null) {
|
||||||
levelToShow = quizzDTO!.mediumLevel!;
|
levelToShow = quizDTO!.mediumLevel!;
|
||||||
}
|
}
|
||||||
if((test>=0.5 && test < 0.75) && quizzDTO!.goodLevel != null) {
|
if((test>=0.5 && test < 0.75) && quizDTO!.goodLevel != null) {
|
||||||
levelToShow = quizzDTO!.goodLevel!;
|
levelToShow = quizDTO!.goodLevel!;
|
||||||
}
|
}
|
||||||
if((test>=0.75 && test <= 1) && quizzDTO!.greatLevel != null) {
|
if((test>=0.75 && test <= 1) && quizDTO!.greatLevel != null) {
|
||||||
levelToShow = quizzDTO!.greatLevel!;
|
levelToShow = quizDTO!.greatLevel!;
|
||||||
}
|
}
|
||||||
|
|
||||||
return SizedBox(
|
return SizedBox(
|
||||||
@ -148,11 +148,11 @@ class _QuizzPageState extends State<QuizzPage> {
|
|||||||
if (orientation == Orientation.portrait)
|
if (orientation == Orientation.portrait)
|
||||||
Column(
|
Column(
|
||||||
children: [
|
children: [
|
||||||
if (!showResponses && levelToShow.label!.firstWhere((label) => label.language == visitAppContext!.language).resourceUrl != null) // TODO SUPPORT OTHER THAN IMAGES
|
if (!showResponses && levelToShow.firstWhere((label) => label.language == visitAppContext.language).resource?.url != null) // TODO SUPPORT OTHER THAN IMAGES
|
||||||
resultImage(visitAppContext!, size, levelToShow, orientation),
|
resultImage(visitAppContext, size, levelToShow, orientation),
|
||||||
if(!showResponses)
|
if(!showResponses)
|
||||||
// TEXT BOX WITH MAIN SCORE
|
// 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: [
|
children: [
|
||||||
if(!showResponses)
|
if(!showResponses)
|
||||||
// TEXT BOX WITH MAIN SCORE
|
// 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)),
|
||||||
if (!showResponses && levelToShow.label!.firstWhere((label) => label.language == visitAppContext!.language).resourceUrl != null)
|
if (!showResponses && levelToShow.firstWhere((label) => label.language == visitAppContext.language).resource?.url != null)
|
||||||
resultImage(visitAppContext!, size, levelToShow, orientation),
|
resultImage(visitAppContext, size, levelToShow, orientation),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
||||||
@ -225,7 +225,7 @@ class _QuizzPageState extends State<QuizzPage> {
|
|||||||
showResult = false;
|
showResult = false;
|
||||||
showResponses = false;
|
showResponses = false;
|
||||||
currentIndex = 1;
|
currentIndex = 1;
|
||||||
_questionsSubDTO = QuestionSubDTO().fromJSON(quizzDTO!.questions!);
|
_questionsSubDTO = QuestionSubDTO().fromJSON(quizDTO!.questions!);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
backgroundColor: kBackgroundSecondGrey,
|
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 {
|
try {
|
||||||
if(sectionDTO == null || quizzDTO == null) {
|
if(sectionDTO == null || quizDTO == null) {
|
||||||
bool isConfigOffline = (appContext.getContext() as VisitAppContext).configuration!.isOffline!;
|
bool isConfigOffline = (appContext.getContext() as VisitAppContext).configuration!.isOffline!;
|
||||||
if(isConfigOffline)
|
if(isConfigOffline)
|
||||||
{
|
{
|
||||||
@ -248,9 +248,9 @@ class _QuizzPageState extends State<QuizzPage> {
|
|||||||
try {
|
try {
|
||||||
SectionRead sectionRead = SectionRead(id: sectionDTO!.id!, readTime: DateTime.now().millisecondsSinceEpoch);
|
SectionRead sectionRead = SectionRead(id: sectionDTO!.id!, readTime: DateTime.now().millisecondsSinceEpoch);
|
||||||
await DatabaseHelper.instance.insert(DatabaseTableType.articleRead, sectionRead.toMap());
|
await DatabaseHelper.instance.insert(DatabaseTableType.articleRead, sectionRead.toMap());
|
||||||
visitAppContext!.readSections.add(sectionRead);
|
visitAppContext.readSections.add(sectionRead);
|
||||||
|
|
||||||
appContext.setContext(visitAppContext!);
|
appContext.setContext(visitAppContext);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
print("DATABASE ERROR SECTIONREAD");
|
print("DATABASE ERROR SECTIONREAD");
|
||||||
print(e);
|
print(e);
|
||||||
@ -269,15 +269,15 @@ class _QuizzPageState extends State<QuizzPage> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sectionDTO!.type == SectionType.Quizz) {
|
if(sectionDTO!.type == SectionType.Quiz) {
|
||||||
quizzDTO = QuizzDTO.fromJson(jsonDecode(sectionDTO!.data!));
|
quizDTO = QuizDTO.fromJson(jsonDecode(sectionDTO!.data!));
|
||||||
}
|
}
|
||||||
if(quizzDTO != null) {
|
if(quizDTO != null) {
|
||||||
quizzDTO!.questions!.sort((a, b) => a.order!.compareTo(b.order!));
|
quizDTO!.questions!.sort((a, b) => a.order!.compareTo(b.order!));
|
||||||
_questionsSubDTO = QuestionSubDTO().fromJSON(quizzDTO!.questions!);
|
_questionsSubDTO = QuestionSubDTO().fromJSON(quizDTO!.questions!);
|
||||||
if(quizzDTO!.questions != null && quizzDTO!.questions!.isNotEmpty) {
|
if(quizDTO!.questions != null && quizDTO!.questions!.isNotEmpty) {
|
||||||
quizzDTO!.questions!.sort((a, b) => a.order!.compareTo(b.order!));
|
quizDTO!.questions!.sort((a, b) => a.order!.compareTo(b.order!));
|
||||||
for (var question in quizzDTO!.questions!) {
|
for (var question in quizDTO!.questions!) {
|
||||||
if(isConfigOffline)
|
if(isConfigOffline)
|
||||||
{
|
{
|
||||||
// OFFLINE
|
// 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(
|
return Container(
|
||||||
//height: size.height * 0.2,
|
//height: size.height * 0.2,
|
||||||
//width: size.width * 0.25,
|
//width: size.width * 0.25,
|
||||||
@ -324,11 +324,11 @@ class _QuizzPageState extends State<QuizzPage> {
|
|||||||
),
|
),
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
decoration: BoxDecoration(
|
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,
|
fit: BoxFit.contain,
|
||||||
opacity: 0.85,
|
opacity: 0.85,
|
||||||
image: NetworkImage(
|
image: NetworkImage(
|
||||||
levelToShow.label!.firstWhere((label) => label.language == visitAppContext.language).resourceUrl!,
|
levelToShow.firstWhere((label) => label.language == visitAppContext.language).resource!.url!,
|
||||||
),
|
),
|
||||||
): null,
|
): null,
|
||||||
borderRadius: const BorderRadius.all( Radius.circular(50.0)),
|
borderRadius: const BorderRadius.all( Radius.circular(50.0)),
|
||||||
@ -343,7 +343,7 @@ class _QuizzPageState extends State<QuizzPage> {
|
|||||||
color: const Color(0xff7c94b6),
|
color: const Color(0xff7c94b6),
|
||||||
image: DecorationImage(
|
image: DecorationImage(
|
||||||
image: NetworkImage(
|
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,
|
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(
|
return Padding(
|
||||||
padding: const EdgeInsets.only(bottom: 10),
|
padding: const EdgeInsets.only(bottom: 10),
|
||||||
child: Container(
|
child: Container(
|
||||||
@ -382,7 +382,7 @@ class _QuizzPageState extends State<QuizzPage> {
|
|||||||
child: SingleChildScrollView(
|
child: SingleChildScrollView(
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.all(15.0),
|
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;
|
showResult = false;
|
||||||
showResponses = false;
|
showResponses = false;
|
||||||
currentIndex = 1;
|
currentIndex = 1;
|
||||||
_questionsSubDTO = QuestionSubDTO().fromJSON(quizzDTO!.questions!);
|
_questionsSubDTO = QuestionSubDTO().fromJSON(quizDTO!.questions!);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
fontSize: 18,
|
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/material.dart';
|
||||||
import 'package:flutter_widget_from_html/flutter_widget_from_html.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/Loading.dart';
|
||||||
import 'package:mymuseum_visitapp/Components/SearchBox.dart';
|
import 'package:mymuseum_visitapp/Components/SearchBox.dart';
|
||||||
import 'package:mymuseum_visitapp/Components/SearchNumberBox.dart';
|
import 'package:mymuseum_visitapp/Components/SearchNumberBox.dart';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import 'package:diacritic/diacritic.dart';
|
import 'package:diacritic/diacritic.dart';
|
||||||
import 'package:flutter/material.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/loading_common.dart';
|
||||||
import 'package:mymuseum_visitapp/Components/SearchBox.dart';
|
import 'package:mymuseum_visitapp/Components/SearchBox.dart';
|
||||||
import 'package:mymuseum_visitapp/Components/SearchNumberBox.dart';
|
import 'package:mymuseum_visitapp/Components/SearchNumberBox.dart';
|
||||||
@ -113,7 +113,7 @@ class _BodyState extends State<Body> {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case SectionType.Quizz:
|
case SectionType.Quiz:
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
@ -166,7 +166,7 @@ class _BodyState extends State<Body> {
|
|||||||
List<SectionDTO>? sectionsDownloaded = await ApiService.getAllSections(visitAppContext.clientAPI, visitAppContext.configuration!.id!);
|
List<SectionDTO>? sectionsDownloaded = await ApiService.getAllSections(visitAppContext.clientAPI, visitAppContext.configuration!.id!);
|
||||||
//print(sectionsDownloaded);
|
//print(sectionsDownloaded);
|
||||||
if(sectionsDownloaded!.isNotEmpty) {
|
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);
|
//print(sections);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import 'dart:convert';
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_widget_from_html/flutter_widget_from_html.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/Components/loading_common.dart';
|
||||||
import 'package:mymuseum_visitapp/Helpers/DatabaseHelper.dart';
|
import 'package:mymuseum_visitapp/Helpers/DatabaseHelper.dart';
|
||||||
import 'package:mymuseum_visitapp/Helpers/translationHelper.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:flutter_beacon/flutter_beacon.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:intl/intl.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/CustomAppBar.dart';
|
||||||
import 'package:mymuseum_visitapp/Components/ScannerBouton.dart';
|
import 'package:mymuseum_visitapp/Components/ScannerBouton.dart';
|
||||||
import 'package:mymuseum_visitapp/Helpers/requirement_state_controller.dart';
|
import 'package:mymuseum_visitapp/Helpers/requirement_state_controller.dart';
|
||||||
@ -299,7 +299,7 @@ class _VisitPageState extends State<VisitPage> with WidgetsBindingObserver {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case SectionType.Quizz:
|
case SectionType.Quiz:
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(
|
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:convert';
|
||||||
import 'dart:io';
|
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/DatabaseHelper.dart';
|
||||||
import 'package:mymuseum_visitapp/Helpers/networkCheck.dart';
|
import 'package:mymuseum_visitapp/Helpers/networkCheck.dart';
|
||||||
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
|
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
|
||||||
@ -22,7 +22,7 @@ class ApiService {
|
|||||||
if(configurations.isNotEmpty) {
|
if(configurations.isNotEmpty) {
|
||||||
for(var configuration in configurations) {
|
for(var configuration in configurations) {
|
||||||
if(configuration.imageId != null) {
|
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 {
|
static Future<ResourceModel?> downloadImage(Client client, ContentDTO contentDTO) async { // TODO CHECK wtf mymuseum
|
||||||
var source = contentDTO.resourceUrl;
|
var source = contentDTO.resource!.url;
|
||||||
//print("SOURCE getAndDownloadImage");
|
//print("SOURCE getAndDownloadImage");
|
||||||
if(contentDTO.resourceUrl != null) {
|
if(contentDTO.resource!.url != null) {
|
||||||
if(contentDTO.resourceUrl!.contains("localhost:5000")){
|
if(contentDTO.resource!.url!.contains("localhost:5000")){
|
||||||
print("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 {
|
} else {
|
||||||
source = "https://api.mymuseum.be/api/Resource/"+contentDTO.resourceId!; // TODO UPDATE ROUTE
|
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); }
|
await for(dynamic d in response) { _downloadData.addAll(d); }
|
||||||
//print("AFTER");
|
//print("AFTER");
|
||||||
final base64Str = base64.encode(_downloadData);
|
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;
|
return resourceModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -192,8 +192,7 @@ class ApiService {
|
|||||||
try {
|
try {
|
||||||
bool isOnline = await hasNetwork();
|
bool isOnline = await hasNetwork();
|
||||||
if(isOnline) {
|
if(isOnline) {
|
||||||
ExportConfigurationDTO? exportConfiguration = await client.configurationApi!.configurationExport(configurationId, language);
|
ExportConfigurationDTO? exportConfiguration = await client.configurationApi!.configurationExport(configurationId, language: language);
|
||||||
|
|
||||||
return exportConfiguration;
|
return exportConfiguration;
|
||||||
} else {
|
} else {
|
||||||
return null; // TODO return local list..
|
return null; // TODO return local list..
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import 'dart:convert';
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
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/DatabaseHelper.dart';
|
||||||
import 'package:mymuseum_visitapp/Helpers/modelsHelper.dart';
|
import 'package:mymuseum_visitapp/Helpers/modelsHelper.dart';
|
||||||
import 'package:mymuseum_visitapp/Helpers/translationHelper.dart';
|
import 'package:mymuseum_visitapp/Helpers/translationHelper.dart';
|
||||||
@ -61,7 +61,7 @@ class _DownloadConfigurationWidgetState extends State<DownloadConfigurationWidge
|
|||||||
ExportConfigurationDTO? exportConfigurationDTO;
|
ExportConfigurationDTO? exportConfigurationDTO;
|
||||||
try{
|
try{
|
||||||
// Retrieve all url from resource to download (get all resource from configuration en somme)
|
// 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) {
|
} catch(e) {
|
||||||
print("Erreur lors du téléchargement de la configuration et de ses ressources !");
|
print("Erreur lors du téléchargement de la configuration et de ses ressources !");
|
||||||
print(e);
|
print(e);
|
||||||
@ -148,7 +148,7 @@ class _DownloadConfigurationWidgetState extends State<DownloadConfigurationWidge
|
|||||||
if(sections!.isNotEmpty) {
|
if(sections!.isNotEmpty) {
|
||||||
|
|
||||||
List<SectionDTO> sectionsInDB = await DatabaseHelper.instance.queryWithConfigurationId(DatabaseTableType.sections, widget.configuration.id!);
|
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!));
|
sectionsToKeep.sort((a,b) => a.order!.compareTo(b.order!));
|
||||||
int newOrder = 0;
|
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';
|
import 'package:openapi_generator_annotations/openapi_generator_annotations.dart';
|
||||||
|
|
||||||
@Openapi(
|
@Openapi(
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
AdditionalProperties(pubName: 'manager_api', pubAuthor: 'Fransolet Thomas', useEnumExtension: true),
|
AdditionalProperties(pubName: 'manager_api_new', pubAuthor: 'Fransolet Thomas', useEnumExtension: true),
|
||||||
inputSpecFile: 'lib/api/swagger.yaml',
|
inputSpec: InputSpec(path: 'lib/api/swagger.yaml'),
|
||||||
generatorName: Generator.dart,
|
generatorName: Generator.dart,
|
||||||
alwaysRun: true,
|
outputDirectory: 'manager_api_new')
|
||||||
outputDirectory: 'manager_api')
|
|
||||||
class Example extends OpenapiGeneratorConfig {}
|
class Example extends OpenapiGeneratorConfig {}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
//import 'package:managerapi/api.dart';
|
//import 'package:managerapi/api.dart';
|
||||||
//import 'package:openapi_dart_common/openapi.dart';
|
//import 'package:openapi_dart_common/openapi.dart';
|
||||||
|
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
|
|
||||||
class Client {
|
class Client {
|
||||||
ApiClient? _apiClient;
|
ApiClient? _apiClient;
|
||||||
|
|||||||
@ -32,7 +32,7 @@ void main() async {
|
|||||||
List<SectionRead> articleReadTest = List<SectionRead>.from(await DatabaseHelper.instance.getData(DatabaseTableType.articleRead));
|
List<SectionRead> articleReadTest = List<SectionRead>.from(await DatabaseHelper.instance.getData(DatabaseTableType.articleRead));
|
||||||
localContext.readSections = articleReadTest;
|
localContext.readSections = articleReadTest;
|
||||||
} else {
|
} 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());
|
DatabaseHelper.instance.insert(DatabaseTableType.main, localContext.toMap());
|
||||||
|
|
||||||
List<SectionRead> articleReadTest = List<SectionRead>.from(await DatabaseHelper.instance.getData(DatabaseTableType.articleRead));
|
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/
|
.dart_tool/
|
||||||
.packages
|
.packages
|
||||||
build/
|
build/
|
||||||
pubspec.lock # Except for application packages
|
|
||||||
|
# Except for application packages
|
||||||
|
pubspec.lock
|
||||||
|
|
||||||
doc/api/
|
doc/api/
|
||||||
|
|
||||||
@ -3,48 +3,56 @@
|
|||||||
README.md
|
README.md
|
||||||
analysis_options.yaml
|
analysis_options.yaml
|
||||||
doc/AgendaDTO.md
|
doc/AgendaDTO.md
|
||||||
|
doc/AgendaDTOAllOfAgendaMapProvider.md
|
||||||
doc/ArticleDTO.md
|
doc/ArticleDTO.md
|
||||||
doc/AuthenticationApi.md
|
doc/AuthenticationApi.md
|
||||||
doc/CategorieDTO.md
|
doc/CategorieDTO.md
|
||||||
doc/ConfigurationApi.md
|
doc/ConfigurationApi.md
|
||||||
doc/ConfigurationDTO.md
|
doc/ConfigurationDTO.md
|
||||||
doc/ContentDTO.md
|
doc/ContentDTO.md
|
||||||
doc/ContentGeoPoint.md
|
doc/ContentDTOResource.md
|
||||||
doc/DeviceApi.md
|
doc/DeviceApi.md
|
||||||
doc/DeviceDTO.md
|
doc/DeviceDTO.md
|
||||||
doc/DeviceDetailDTO.md
|
doc/DeviceDetailDTO.md
|
||||||
doc/DeviceDetailDTOAllOf.md
|
|
||||||
doc/ExportConfigurationDTO.md
|
doc/ExportConfigurationDTO.md
|
||||||
doc/ExportConfigurationDTOAllOf.md
|
doc/GeoPoint.md
|
||||||
doc/GeoPointDTO.md
|
doc/GeoPointDTO.md
|
||||||
doc/GeoPointDTOCategorie.md
|
doc/GeoPointSectionMap.md
|
||||||
doc/Instance.md
|
doc/Instance.md
|
||||||
doc/InstanceApi.md
|
doc/InstanceApi.md
|
||||||
doc/InstanceDTO.md
|
doc/InstanceDTO.md
|
||||||
doc/LevelDTO.md
|
|
||||||
doc/LoginDTO.md
|
doc/LoginDTO.md
|
||||||
doc/MapDTO.md
|
doc/MapDTO.md
|
||||||
doc/MapDTOMapProvider.md
|
doc/MapDTOAllOfMapProvider.md
|
||||||
doc/MapDTOMapType.md
|
doc/MapDTOAllOfMapType.md
|
||||||
doc/MapDTOMapTypeMapbox.md
|
doc/MapDTOAllOfMapTypeMapbox.md
|
||||||
doc/MapProvider.md
|
doc/MapProvider.md
|
||||||
doc/MapTypeApp.md
|
doc/MapTypeApp.md
|
||||||
doc/MapTypeMapBox.md
|
doc/MapTypeMapBox.md
|
||||||
doc/MenuDTO.md
|
doc/MenuDTO.md
|
||||||
doc/PDFFileDTO.md
|
doc/OrderedTranslationAndResourceDTO.md
|
||||||
doc/PdfDTO.md
|
doc/PdfDTO.md
|
||||||
doc/PlayerMessageDTO.md
|
doc/PlayerMessageDTO.md
|
||||||
doc/PuzzleDTO.md
|
doc/PuzzleDTO.md
|
||||||
doc/PuzzleDTOImage.md
|
doc/PuzzleDTOAllOfPuzzleImage.md
|
||||||
doc/QuestionDTO.md
|
doc/QuestionDTO.md
|
||||||
doc/QuizzDTO.md
|
doc/QuestionDTOImageBackgroundResourceType.md
|
||||||
doc/QuizzDTOBadLevel.md
|
doc/QuizDTO.md
|
||||||
|
doc/Resource.md
|
||||||
doc/ResourceApi.md
|
doc/ResourceApi.md
|
||||||
doc/ResourceDTO.md
|
doc/ResourceDTO.md
|
||||||
doc/ResourceType.md
|
doc/ResourceType.md
|
||||||
doc/ResponseDTO.md
|
doc/ResponseDTO.md
|
||||||
|
doc/Section.md
|
||||||
doc/SectionApi.md
|
doc/SectionApi.md
|
||||||
doc/SectionDTO.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/SectionType.md
|
||||||
doc/SliderDTO.md
|
doc/SliderDTO.md
|
||||||
doc/TokenDTO.md
|
doc/TokenDTO.md
|
||||||
@ -64,6 +72,8 @@ lib/api/device_api.dart
|
|||||||
lib/api/instance_api.dart
|
lib/api/instance_api.dart
|
||||||
lib/api/resource_api.dart
|
lib/api/resource_api.dart
|
||||||
lib/api/section_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/user_api.dart
|
||||||
lib/api_client.dart
|
lib/api_client.dart
|
||||||
lib/api_exception.dart
|
lib/api_exception.dart
|
||||||
@ -74,42 +84,48 @@ lib/auth/http_basic_auth.dart
|
|||||||
lib/auth/http_bearer_auth.dart
|
lib/auth/http_bearer_auth.dart
|
||||||
lib/auth/oauth.dart
|
lib/auth/oauth.dart
|
||||||
lib/model/agenda_dto.dart
|
lib/model/agenda_dto.dart
|
||||||
|
lib/model/agenda_dto_all_of_agenda_map_provider.dart
|
||||||
lib/model/article_dto.dart
|
lib/model/article_dto.dart
|
||||||
lib/model/categorie_dto.dart
|
lib/model/categorie_dto.dart
|
||||||
lib/model/configuration_dto.dart
|
lib/model/configuration_dto.dart
|
||||||
lib/model/content_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.dart
|
||||||
lib/model/device_detail_dto_all_of.dart
|
|
||||||
lib/model/device_dto.dart
|
lib/model/device_dto.dart
|
||||||
lib/model/export_configuration_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.dart
|
||||||
lib/model/geo_point_dto_categorie.dart
|
lib/model/geo_point_section_map.dart
|
||||||
lib/model/instance.dart
|
lib/model/instance.dart
|
||||||
lib/model/instance_dto.dart
|
lib/model/instance_dto.dart
|
||||||
lib/model/level_dto.dart
|
|
||||||
lib/model/login_dto.dart
|
lib/model/login_dto.dart
|
||||||
lib/model/map_dto.dart
|
lib/model/map_dto.dart
|
||||||
lib/model/map_dto_map_provider.dart
|
lib/model/map_dto_all_of_map_provider.dart
|
||||||
lib/model/map_dto_map_type.dart
|
lib/model/map_dto_all_of_map_type.dart
|
||||||
lib/model/map_dto_map_type_mapbox.dart
|
lib/model/map_dto_all_of_map_type_mapbox.dart
|
||||||
lib/model/map_provider.dart
|
lib/model/map_provider.dart
|
||||||
lib/model/map_type_app.dart
|
lib/model/map_type_app.dart
|
||||||
lib/model/map_type_map_box.dart
|
lib/model/map_type_map_box.dart
|
||||||
lib/model/menu_dto.dart
|
lib/model/menu_dto.dart
|
||||||
|
lib/model/ordered_translation_and_resource_dto.dart
|
||||||
lib/model/pdf_dto.dart
|
lib/model/pdf_dto.dart
|
||||||
lib/model/pdf_file_dto.dart
|
|
||||||
lib/model/player_message_dto.dart
|
lib/model/player_message_dto.dart
|
||||||
lib/model/puzzle_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/question_dto.dart
|
||||||
lib/model/quizz_dto.dart
|
lib/model/question_dto_image_background_resource_type.dart
|
||||||
lib/model/quizz_dto_bad_level.dart
|
lib/model/quiz_dto.dart
|
||||||
|
lib/model/resource.dart
|
||||||
lib/model/resource_dto.dart
|
lib/model/resource_dto.dart
|
||||||
lib/model/resource_type.dart
|
lib/model/resource_type.dart
|
||||||
lib/model/response_dto.dart
|
lib/model/response_dto.dart
|
||||||
|
lib/model/section.dart
|
||||||
lib/model/section_dto.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/section_type.dart
|
||||||
lib/model/slider_dto.dart
|
lib/model/slider_dto.dart
|
||||||
lib/model/token_dto.dart
|
lib/model/token_dto.dart
|
||||||
@ -121,5 +137,3 @@ lib/model/video_dto.dart
|
|||||||
lib/model/weather_dto.dart
|
lib/model/weather_dto.dart
|
||||||
lib/model/web_dto.dart
|
lib/model/web_dto.dart
|
||||||
pubspec.yaml
|
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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
Name | Type | Description | Notes
|
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)
|
[[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
|
## Load the API package
|
||||||
```dart
|
```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
|
Method | HTTP request | Description
|
||||||
------------- | ------------- | -------------
|
------------- | ------------- | -------------
|
||||||
@ -20,7 +20,7 @@ Method | HTTP request | Description
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -11,8 +11,7 @@ Name | Type | Description | Notes
|
|||||||
**id** | **int** | | [optional]
|
**id** | **int** | | [optional]
|
||||||
**label** | [**List<TranslationDTO>**](TranslationDTO.md) | | [optional] [default to const []]
|
**label** | [**List<TranslationDTO>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||||
**icon** | **String** | | [optional]
|
**icon** | **String** | | [optional]
|
||||||
**iconResourceId** | **String** | | [optional]
|
**resourceDTO** | [**ContentDTOResource**](ContentDTOResource.md) | | [optional]
|
||||||
**iconUrl** | **String** | | [optional]
|
|
||||||
**order** | **int** | | [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)
|
[[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
|
## Load the API package
|
||||||
```dart
|
```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
|
Method | HTTP request | Description
|
||||||
------------- | ------------- | -------------
|
------------- | ------------- | -------------
|
||||||
@ -26,7 +26,7 @@ Method | HTTP request | Description
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -200,12 +200,12 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
final api_instance = ConfigurationApi();
|
final api_instance = ConfigurationApi();
|
||||||
final pinCode = 56; // int |
|
final pinCode = pinCode_example; // String |
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final result = api_instance.configurationGetConfigurationsByPinCode(pinCode);
|
final result = api_instance.configurationGetConfigurationsByPinCode(pinCode);
|
||||||
@ -219,7 +219,7 @@ try {
|
|||||||
|
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------- | ------------- | ------------- | -------------
|
------------- | ------------- | ------------- | -------------
|
||||||
**pinCode** | **int**| | [optional]
|
**pinCode** | **String**| | [optional]
|
||||||
|
|
||||||
### Return type
|
### Return type
|
||||||
|
|
||||||
@ -243,7 +243,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -286,7 +286,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -329,7 +329,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -24,10 +24,6 @@ Name | Type | Description | Notes
|
|||||||
**sectionIds** | **List<String>** | | [optional] [default to const []]
|
**sectionIds** | **List<String>** | | [optional] [default to const []]
|
||||||
**loaderImageId** | **String** | | [optional]
|
**loaderImageId** | **String** | | [optional]
|
||||||
**loaderImageUrl** | **String** | | [optional]
|
**loaderImageUrl** | **String** | | [optional]
|
||||||
**weatherCity** | **String** | | [optional]
|
|
||||||
**weatherUpdatedDate** | [**DateTime**](DateTime.md) | | [optional]
|
|
||||||
**weatherResult** | **String** | | [optional]
|
|
||||||
**isWeather** | **bool** | | [optional]
|
|
||||||
**isDate** | **bool** | | [optional]
|
**isDate** | **bool** | | [optional]
|
||||||
**isHour** | **bool** | | [optional]
|
**isHour** | **bool** | | [optional]
|
||||||
**isSectionImageBackground** | **bool** | | [optional]
|
**isSectionImageBackground** | **bool** | | [optional]
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.ContentDTO
|
# manager_api_new.model.ContentDTO
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -10,10 +10,9 @@ Name | Type | Description | Notes
|
|||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
**title** | [**List<TranslationDTO>**](TranslationDTO.md) | | [optional] [default to const []]
|
**title** | [**List<TranslationDTO>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||||
**description** | [**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]
|
**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)
|
[[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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
**id** | **String** | | [optional]
|
**id** | **String** | | [optional]
|
||||||
**email** | **String** | | [optional]
|
**type** | [**ResourceType**](ResourceType.md) | | [optional]
|
||||||
**password** | **String** | | [optional]
|
**label** | **String** | | [optional]
|
||||||
**firstName** | **String** | | [optional]
|
**url** | **String** | | [optional]
|
||||||
**lastName** | **String** | | [optional]
|
|
||||||
**token** | **String** | | [optional]
|
|
||||||
**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
|
**dateCreation** | [**DateTime**](DateTime.md) | | [optional]
|
||||||
**instanceId** | **String** | | [optional]
|
**instanceId** | **String** | | [optional]
|
||||||
|
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.ContentGeoPoint
|
# manager_api_new.model.ContentGeoPoint
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -1,11 +1,11 @@
|
|||||||
# manager_api.api.DeviceApi
|
# manager_api_new.api.DeviceApi
|
||||||
|
|
||||||
## Load the API package
|
## Load the API package
|
||||||
```dart
|
```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
|
Method | HTTP request | Description
|
||||||
------------- | ------------- | -------------
|
------------- | ------------- | -------------
|
||||||
@ -24,7 +24,7 @@ Method | HTTP request | Description
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -153,7 +153,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -196,7 +196,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -239,7 +239,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.DeviceDetailDTO
|
# manager_api_new.model.DeviceDetailDTO
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.DeviceDetailDTOAllOf
|
# manager_api_new.model.DeviceDetailDTOAllOf
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.ExportConfigurationDTO
|
# manager_api_new.model.ExportConfigurationDTO
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -24,10 +24,6 @@ Name | Type | Description | Notes
|
|||||||
**sectionIds** | **List<String>** | | [optional] [default to const []]
|
**sectionIds** | **List<String>** | | [optional] [default to const []]
|
||||||
**loaderImageId** | **String** | | [optional]
|
**loaderImageId** | **String** | | [optional]
|
||||||
**loaderImageUrl** | **String** | | [optional]
|
**loaderImageUrl** | **String** | | [optional]
|
||||||
**weatherCity** | **String** | | [optional]
|
|
||||||
**weatherUpdatedDate** | [**DateTime**](DateTime.md) | | [optional]
|
|
||||||
**weatherResult** | **String** | | [optional]
|
|
||||||
**isWeather** | **bool** | | [optional]
|
|
||||||
**isDate** | **bool** | | [optional]
|
**isDate** | **bool** | | [optional]
|
||||||
**isHour** | **bool** | | [optional]
|
**isHour** | **bool** | | [optional]
|
||||||
**isSectionImageBackground** | **bool** | | [optional]
|
**isSectionImageBackground** | **bool** | | [optional]
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.ExportConfigurationDTOAllOf
|
# manager_api_new.model.ExportConfigurationDTOAllOf
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## 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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -11,8 +11,7 @@ Name | Type | Description | Notes
|
|||||||
**id** | **int** | | [optional]
|
**id** | **int** | | [optional]
|
||||||
**title** | [**List<TranslationDTO>**](TranslationDTO.md) | | [optional] [default to const []]
|
**title** | [**List<TranslationDTO>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||||
**description** | [**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 []]
|
**contents** | [**List<ContentDTO>**](ContentDTO.md) | | [optional] [default to const []]
|
||||||
**categorie** | [**GeoPointDTOCategorie**](GeoPointDTOCategorie.md) | | [optional]
|
|
||||||
**categorieId** | **int** | | [optional]
|
**categorieId** | **int** | | [optional]
|
||||||
**latitude** | **String** | | [optional]
|
**latitude** | **String** | | [optional]
|
||||||
**longitude** | **String** | | [optional]
|
**longitude** | **String** | | [optional]
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.GeoPointDTOCategorie
|
# manager_api_new.model.GeoPointDTOCategorie
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## 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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -13,6 +13,7 @@ Name | Type | Description | Notes
|
|||||||
**resourceId** | **String** | | [optional]
|
**resourceId** | **String** | | [optional]
|
||||||
**source_** | **String** | | [optional]
|
**source_** | **String** | | [optional]
|
||||||
**order** | **int** | | [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)
|
[[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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -1,17 +1,17 @@
|
|||||||
# manager_api.model.Instance
|
# manager_api_new.model.Instance
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
**id** | **String** | | [optional]
|
**id** | **String** | |
|
||||||
**name** | **String** | | [optional]
|
**name** | **String** | |
|
||||||
**dateCreation** | [**DateTime**](DateTime.md) | | [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)
|
[[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
|
## Load the API package
|
||||||
```dart
|
```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
|
Method | HTTP request | Description
|
||||||
------------- | ------------- | -------------
|
------------- | ------------- | -------------
|
||||||
@ -18,21 +18,21 @@ Method | HTTP request | Description
|
|||||||
|
|
||||||
|
|
||||||
# **instanceCreateInstance**
|
# **instanceCreateInstance**
|
||||||
> InstanceDTO instanceCreateInstance(instance)
|
> InstanceDTO instanceCreateInstance(instanceDTO)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
final api_instance = InstanceApi();
|
final api_instance = InstanceApi();
|
||||||
final instance = Instance(); // Instance |
|
final instanceDTO = InstanceDTO(); // InstanceDTO |
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final result = api_instance.instanceCreateInstance(instance);
|
final result = api_instance.instanceCreateInstance(instanceDTO);
|
||||||
print(result);
|
print(result);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
print('Exception when calling InstanceApi->instanceCreateInstance: $e\n');
|
print('Exception when calling InstanceApi->instanceCreateInstance: $e\n');
|
||||||
@ -43,7 +43,7 @@ try {
|
|||||||
|
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------- | ------------- | ------------- | -------------
|
------------- | ------------- | ------------- | -------------
|
||||||
**instance** | [**Instance**](Instance.md)| |
|
**instanceDTO** | [**InstanceDTO**](InstanceDTO.md)| |
|
||||||
|
|
||||||
### Return type
|
### Return type
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -149,7 +149,7 @@ This endpoint does not need any parameter.
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
@ -192,12 +192,12 @@ Name | Type | Description | Notes
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
final api_instance = InstanceApi();
|
final api_instance = InstanceApi();
|
||||||
final pinCode = 56; // int |
|
final pinCode = pinCode_example; // String |
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final result = api_instance.instanceGetInstanceByPinCode(pinCode);
|
final result = api_instance.instanceGetInstanceByPinCode(pinCode);
|
||||||
@ -211,7 +211,7 @@ try {
|
|||||||
|
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------- | ------------- | ------------- | -------------
|
------------- | ------------- | ------------- | -------------
|
||||||
**pinCode** | **int**| | [optional]
|
**pinCode** | **String**| | [optional]
|
||||||
|
|
||||||
### Return type
|
### 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)
|
[[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**
|
# **instanceUpdateinstance**
|
||||||
> InstanceDTO instanceUpdateinstance(instance)
|
> InstanceDTO instanceUpdateinstance(instanceDTO)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
// TODO Configure OAuth2 access token for authorization: bearer
|
// TODO Configure OAuth2 access token for authorization: bearer
|
||||||
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
//defaultApiClient.getAuthentication<OAuth>('bearer').accessToken = 'YOUR_ACCESS_TOKEN';
|
||||||
|
|
||||||
final api_instance = InstanceApi();
|
final api_instance = InstanceApi();
|
||||||
final instance = Instance(); // Instance |
|
final instanceDTO = InstanceDTO(); // InstanceDTO |
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final result = api_instance.instanceUpdateinstance(instance);
|
final result = api_instance.instanceUpdateinstance(instanceDTO);
|
||||||
print(result);
|
print(result);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
print('Exception when calling InstanceApi->instanceUpdateinstance: $e\n');
|
print('Exception when calling InstanceApi->instanceUpdateinstance: $e\n');
|
||||||
@ -254,7 +254,7 @@ try {
|
|||||||
|
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------- | ------------- | ------------- | -------------
|
------------- | ------------- | ------------- | -------------
|
||||||
**instance** | [**Instance**](Instance.md)| |
|
**instanceDTO** | [**InstanceDTO**](InstanceDTO.md)| |
|
||||||
|
|
||||||
### Return type
|
### Return type
|
||||||
|
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.InstanceDTO
|
# manager_api_new.model.InstanceDTO
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -11,7 +11,7 @@ Name | Type | Description | Notes
|
|||||||
**id** | **String** | | [optional]
|
**id** | **String** | | [optional]
|
||||||
**name** | **String** | | [optional]
|
**name** | **String** | | [optional]
|
||||||
**dateCreation** | [**DateTime**](DateTime.md) | | [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)
|
[[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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.LoginDTO
|
# manager_api_new.model.LoginDTO
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## 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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
Name | Type | Description | Notes
|
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)
|
[[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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
Name | Type | Description | Notes
|
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)
|
[[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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
Name | Type | Description | Notes
|
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)
|
[[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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.MapDTOMapType
|
# manager_api_new.model.MapDTOMapType
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.MapDTOMapTypeMapbox
|
# manager_api_new.model.MapDTOMapTypeMapbox
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.MapProvider
|
# manager_api_new.model.MapProvider
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.MapTypeApp
|
# manager_api_new.model.MapTypeApp
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -1,8 +1,8 @@
|
|||||||
# manager_api.model.MapTypeMapBox
|
# manager_api_new.model.MapTypeMapBox
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## 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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
**resourceIds** | [**List<TranslationDTO>**](TranslationDTO.md) | | [optional] [default to const []]
|
**translationAndResourceDTOs** | [**List<TranslationAndResourceDTO>**](TranslationAndResourceDTO.md) | | [optional] [default to const []]
|
||||||
**mapProvider** | [**MapDTOMapProvider**](MapDTOMapProvider.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)
|
[[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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## 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
|
## Load the model package
|
||||||
```dart
|
```dart
|
||||||
import 'package:manager_api/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## 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