Compare commits
49 Commits
v1.0.0(4)
...
feature/ap
| Author | SHA1 | Date | |
|---|---|---|---|
| 5cf2fd7f96 | |||
| fe41e812a0 | |||
| c79cbeffcc | |||
| b7614a39f1 | |||
| a05c167f30 | |||
| c1c903ac93 | |||
| a0a782c91b | |||
| c140daa7ae | |||
| 6d30a59651 | |||
| 8d453dc980 | |||
| 0a50de3d70 | |||
| 02053182db | |||
| 33f3dfa252 | |||
| cb70973d3b | |||
| 1ffeea8b77 | |||
| 5f484036f8 | |||
| 73927557ca | |||
| 5111d5d65f | |||
| ced0895063 | |||
| 34e7a7c60f | |||
| c89f1c666e | |||
| 33c2403aef | |||
| 0088d146f0 | |||
| 94c042d403 | |||
| 48cb23379c | |||
| e526dce2c9 | |||
| cacc2460f1 | |||
| dd53db6795 | |||
| 435a9c04f9 | |||
| 8e3a27e0d3 | |||
| 48d2430c9c | |||
| cf0c55eafe | |||
| 03c6633504 | |||
| b8184f02ec | |||
| c12d1924c4 | |||
| 869f33f1f1 | |||
| a07246130e | |||
| 67aafafd1e | |||
| c929e1e2d7 | |||
| 990266ba95 | |||
| fa36037aac | |||
| c9e2adf692 | |||
| 995b69eb65 | |||
| f1226b4c18 | |||
| 797d236547 | |||
| 90447ce9a0 | |||
| 22ef648b41 | |||
| ae4bc7824a | |||
| 01d9d4241b |
@@ -3,349 +3,349 @@
|
|||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "ansi_styles",
|
"name": "ansi_styles",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/ansi_styles-0.3.2+1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/ansi_styles-0.3.2+1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "args",
|
"name": "args",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/args-2.7.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.7.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "async",
|
"name": "async",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/async-2.13.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.13.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "characters",
|
"name": "characters",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/characters-1.4.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.4.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "charcode",
|
"name": "charcode",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/charcode-1.4.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/charcode-1.4.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "checked_yaml",
|
"name": "checked_yaml",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/checked_yaml-2.0.4",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/checked_yaml-2.0.4",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "cli_launcher",
|
"name": "cli_launcher",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/cli_launcher-0.3.2+1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/cli_launcher-0.3.2+1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "cli_util",
|
"name": "cli_util",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/cli_util-0.4.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/cli_util-0.4.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "collection",
|
"name": "collection",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/collection-1.19.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/collection-1.19.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "conventional_commit",
|
"name": "conventional_commit",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/conventional_commit-0.6.1+1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/conventional_commit-0.6.1+1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ffi",
|
"name": "ffi",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/ffi-2.1.4",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/ffi-2.1.4",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "file",
|
"name": "file",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/file-7.0.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/file-7.0.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter",
|
"name": "flutter",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/Development/flutter/packages/flutter",
|
"rootUri": "file:///C:/Program%20Files/Flutter/packages/flutter",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_secure_storage",
|
"name": "flutter_secure_storage",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_secure_storage-9.2.4",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_secure_storage_linux",
|
"name": "flutter_secure_storage_linux",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_linux-1.2.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_secure_storage_linux-1.2.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_secure_storage_macos",
|
"name": "flutter_secure_storage_macos",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_macos-3.1.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_secure_storage_macos-3.1.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_secure_storage_platform_interface",
|
"name": "flutter_secure_storage_platform_interface",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_platform_interface-1.1.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_secure_storage_platform_interface-1.1.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_secure_storage_web",
|
"name": "flutter_secure_storage_web",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_web-1.2.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_secure_storage_web-1.2.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_secure_storage_windows",
|
"name": "flutter_secure_storage_windows",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_windows-3.1.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_secure_storage_windows-3.1.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_web_plugins",
|
"name": "flutter_web_plugins",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/Development/flutter/packages/flutter_web_plugins",
|
"rootUri": "file:///C:/Program%20Files/Flutter/packages/flutter_web_plugins",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "glob",
|
"name": "glob",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/glob-2.1.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/glob-2.1.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "graphs",
|
"name": "graphs",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/graphs-2.3.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/graphs-2.3.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "http",
|
"name": "http",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/http-1.5.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/http-1.5.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "http_parser",
|
"name": "http_parser",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/http_parser-4.1.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.1.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "io",
|
"name": "io",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/io-1.0.5",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/io-1.0.5",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "js",
|
"name": "js",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/js-0.6.7",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/js-0.6.7",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.19"
|
"languageVersion": "2.19"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "json_annotation",
|
"name": "json_annotation",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/json_annotation-4.9.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/json_annotation-4.9.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "material_color_utilities",
|
"name": "material_color_utilities",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.11.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "melos",
|
"name": "melos",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/melos-6.3.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/melos-6.3.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "meta",
|
"name": "meta",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/meta-1.16.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.16.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mustache_template",
|
"name": "mustache_template",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/mustache_template-2.0.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/mustache_template-2.0.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path",
|
"name": "path",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path-1.9.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.9.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider",
|
"name": "path_provider",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider-2.1.5",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider-2.1.5",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_android",
|
"name": "path_provider_android",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_android-2.2.20",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_android-2.2.20",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.9"
|
"languageVersion": "3.9"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_foundation",
|
"name": "path_provider_foundation",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_foundation-2.4.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.9"
|
"languageVersion": "3.9"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_linux",
|
"name": "path_provider_linux",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_linux-2.2.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.19"
|
"languageVersion": "2.19"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_platform_interface",
|
"name": "path_provider_platform_interface",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_platform_interface-2.1.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_windows",
|
"name": "path_provider_windows",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_windows-2.3.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "platform",
|
"name": "platform",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/platform-3.1.6",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/platform-3.1.6",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "plugin_platform_interface",
|
"name": "plugin_platform_interface",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.8",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pool",
|
"name": "pool",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/pool-1.5.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/pool-1.5.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "process",
|
"name": "process",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/process-5.0.5",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/process-5.0.5",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "prompts",
|
"name": "prompts",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/prompts-2.0.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/prompts-2.0.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pub_semver",
|
"name": "pub_semver",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/pub_semver-2.2.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/pub_semver-2.2.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pub_updater",
|
"name": "pub_updater",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/pub_updater-0.5.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/pub_updater-0.5.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pubspec_parse",
|
"name": "pubspec_parse",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/pubspec_parse-1.5.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/pubspec_parse-1.5.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.6"
|
"languageVersion": "3.6"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sky_engine",
|
"name": "sky_engine",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/Development/flutter/bin/cache/pkg/sky_engine",
|
"rootUri": "file:///C:/Program%20Files/Flutter/bin/cache/pkg/sky_engine",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "source_span",
|
"name": "source_span",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/source_span-1.10.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.10.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "stack_trace",
|
"name": "stack_trace",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/stack_trace-1.12.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.12.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "string_scanner",
|
"name": "string_scanner",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/string_scanner-1.4.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/string_scanner-1.4.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "term_glyph",
|
"name": "term_glyph",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/term_glyph-1.2.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "typed_data",
|
"name": "typed_data",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/typed_data-1.4.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.4.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vector_math",
|
"name": "vector_math",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/vector_math-2.2.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.2.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "web",
|
"name": "web",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/web-1.1.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/web-1.1.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "win32",
|
"name": "win32",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/win32-5.15.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/win32-5.15.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "xdg_directories",
|
"name": "xdg_directories",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/xdg_directories-1.1.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "yaml",
|
"name": "yaml",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/yaml-3.1.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/yaml-3.1.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "yaml_edit",
|
"name": "yaml_edit",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/yaml_edit-2.2.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/yaml_edit-2.2.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
@@ -358,7 +358,7 @@
|
|||||||
],
|
],
|
||||||
"generator": "pub",
|
"generator": "pub",
|
||||||
"generatorVersion": "3.9.2",
|
"generatorVersion": "3.9.2",
|
||||||
"flutterRoot": "file:///Users/juliandalcalaf/Development/flutter",
|
"flutterRoot": "file:///C:/Program%20Files/Flutter",
|
||||||
"flutterVersion": "3.35.7",
|
"flutterVersion": "3.35.6",
|
||||||
"pubCache": "file:///Users/juliandalcalaf/.pub-cache"
|
"pubCache": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache"
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
1
.idea/modules.xml
generated
1
.idea/modules.xml
generated
@@ -17,6 +17,7 @@
|
|||||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/melos_legacy.iml" filepath="$PROJECT_DIR$/modules/legacy/melos_legacy.iml" />
|
<module fileurl="file://$PROJECT_DIR$/modules/legacy/melos_legacy.iml" filepath="$PROJECT_DIR$/modules/legacy/melos_legacy.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/legacy_auth/melos_legacy_auth.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/legacy_auth/melos_legacy_auth.iml" />
|
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/legacy_auth/melos_legacy_auth.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/legacy_auth/melos_legacy_auth.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/legacy_dashboard_shell/melos_legacy_dashboard_shell.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/legacy_dashboard_shell/melos_legacy_dashboard_shell.iml" />
|
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/legacy_dashboard_shell/melos_legacy_dashboard_shell.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/legacy_dashboard_shell/melos_legacy_dashboard_shell.iml" />
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/modules/legacy/packages/legacy_design_system/melos_legacy_design_system.iml" filepath="$PROJECT_DIR$/modules/legacy/packages/legacy_design_system/melos_legacy_design_system.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/packages/legacy_shared/melos_legacy_shared.iml" filepath="$PROJECT_DIR$/modules/legacy/packages/legacy_shared/melos_legacy_shared.iml" />
|
<module fileurl="file://$PROJECT_DIR$/modules/legacy/packages/legacy_shared/melos_legacy_shared.iml" filepath="$PROJECT_DIR$/modules/legacy/packages/legacy_shared/melos_legacy_shared.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/location/melos_location.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/location/melos_location.iml" />
|
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/location/melos_location.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/location/melos_location.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/packages/navigation/melos_navigation.iml" filepath="$PROJECT_DIR$/packages/navigation/melos_navigation.iml" />
|
<module fileurl="file://$PROJECT_DIR$/packages/navigation/melos_navigation.iml" filepath="$PROJECT_DIR$/packages/navigation/melos_navigation.iml" />
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="Flutter Run -> 'flutter_treezor_entrust_sdk_bridge_example'" type="FlutterRunConfigurationType" factoryName="Flutter">
|
<configuration default="false" name="Flutter Run -> 'flutter_treezor_entrust_sdk_bridge_example'" type="FlutterRunConfigurationType" factoryName="Flutter">
|
||||||
<option name="filePath" value="$PROJECT_DIR$/packages/flutter_treezor_entrust_sdk_bridge/example/lib/main.dart" />
|
<option name="filePath" value="$PROJECT_DIR$/packages//flutter_treezor_entrust_sdk_bridge//example/lib/main.dart" />
|
||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
</component>
|
</component>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="Flutter Run -> 'sf_app_platform'" type="FlutterRunConfigurationType" factoryName="Flutter">
|
<configuration default="false" name="Flutter Run -> 'sf_app_platform'" type="FlutterRunConfigurationType" factoryName="Flutter">
|
||||||
<option name="filePath" value="$PROJECT_DIR$/apps/mobile_app/lib/main.dart" />
|
<option name="filePath" value="$PROJECT_DIR$/apps//mobile_app/lib/main.dart" />
|
||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
</component>
|
</component>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<!-- Generated by Melos -->
|
<!-- Generated by Melos -->
|
||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="Flutter Test -> 'design_system'" type="FlutterTestConfigType" factoryName="Flutter Test">
|
<configuration default="false" name="Flutter Test -> 'design_system'" type="FlutterTestConfigType" factoryName="Flutter Test">
|
||||||
<option name="testDir" value="$PROJECT_DIR$/packages/design_system/test" />
|
<option name="testDir" value="$PROJECT_DIR$/packages\\design_system\test" />
|
||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
</component>
|
</component>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<!-- Generated by Melos -->
|
<!-- Generated by Melos -->
|
||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="Flutter Test -> 'flutter_treezor_entrust_sdk_bridge'" type="FlutterTestConfigType" factoryName="Flutter Test">
|
<configuration default="false" name="Flutter Test -> 'flutter_treezor_entrust_sdk_bridge'" type="FlutterTestConfigType" factoryName="Flutter Test">
|
||||||
<option name="testDir" value="$PROJECT_DIR$/packages/flutter_treezor_entrust_sdk_bridge/test" />
|
<option name="testDir" value="$PROJECT_DIR$/packages\\flutter_treezor_entrust_sdk_bridge\test" />
|
||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
</component>
|
</component>
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"env": "development",
|
"env": "development",
|
||||||
"apiBaseUrl": "https://api-neki-b2b.neki.es/gateway/api/",
|
"apiBaseUrl": "https://api-neki-b2b.neki.es/gateway/api/",
|
||||||
"apiOrigin": "bde6ea73-d09c-475f-aabf-1d11137e4d0d"
|
"apiOrigin": "https://neki-b2b.neki.es"
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,8 @@ PODS:
|
|||||||
- Flutter
|
- Flutter
|
||||||
- flutter_treezor_entrust_sdk_bridge (0.0.1):
|
- flutter_treezor_entrust_sdk_bridge (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- image_picker_ios (0.0.1):
|
||||||
|
- Flutter
|
||||||
- mobile_scanner (7.0.0):
|
- mobile_scanner (7.0.0):
|
||||||
- Flutter
|
- Flutter
|
||||||
- FlutterMacOS
|
- FlutterMacOS
|
||||||
@@ -14,6 +16,8 @@ PODS:
|
|||||||
- FlutterMacOS
|
- FlutterMacOS
|
||||||
- permission_handler_apple (9.3.0):
|
- permission_handler_apple (9.3.0):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- share_plus (0.0.1):
|
||||||
|
- Flutter
|
||||||
- shared_preferences_foundation (0.0.1):
|
- shared_preferences_foundation (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- FlutterMacOS
|
- FlutterMacOS
|
||||||
@@ -28,9 +32,11 @@ DEPENDENCIES:
|
|||||||
- flutter_contacts (from `.symlinks/plugins/flutter_contacts/ios`)
|
- flutter_contacts (from `.symlinks/plugins/flutter_contacts/ios`)
|
||||||
- flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
|
- flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
|
||||||
- flutter_treezor_entrust_sdk_bridge (from `.symlinks/plugins/flutter_treezor_entrust_sdk_bridge/ios`)
|
- flutter_treezor_entrust_sdk_bridge (from `.symlinks/plugins/flutter_treezor_entrust_sdk_bridge/ios`)
|
||||||
|
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||||
- mobile_scanner (from `.symlinks/plugins/mobile_scanner/darwin`)
|
- mobile_scanner (from `.symlinks/plugins/mobile_scanner/darwin`)
|
||||||
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
|
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
|
||||||
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
||||||
|
- share_plus (from `.symlinks/plugins/share_plus/ios`)
|
||||||
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
|
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
|
||||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||||
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/darwin`)
|
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/darwin`)
|
||||||
@@ -44,12 +50,16 @@ EXTERNAL SOURCES:
|
|||||||
:path: ".symlinks/plugins/flutter_native_splash/ios"
|
:path: ".symlinks/plugins/flutter_native_splash/ios"
|
||||||
flutter_treezor_entrust_sdk_bridge:
|
flutter_treezor_entrust_sdk_bridge:
|
||||||
:path: ".symlinks/plugins/flutter_treezor_entrust_sdk_bridge/ios"
|
:path: ".symlinks/plugins/flutter_treezor_entrust_sdk_bridge/ios"
|
||||||
|
image_picker_ios:
|
||||||
|
:path: ".symlinks/plugins/image_picker_ios/ios"
|
||||||
mobile_scanner:
|
mobile_scanner:
|
||||||
:path: ".symlinks/plugins/mobile_scanner/darwin"
|
:path: ".symlinks/plugins/mobile_scanner/darwin"
|
||||||
path_provider_foundation:
|
path_provider_foundation:
|
||||||
:path: ".symlinks/plugins/path_provider_foundation/darwin"
|
:path: ".symlinks/plugins/path_provider_foundation/darwin"
|
||||||
permission_handler_apple:
|
permission_handler_apple:
|
||||||
:path: ".symlinks/plugins/permission_handler_apple/ios"
|
:path: ".symlinks/plugins/permission_handler_apple/ios"
|
||||||
|
share_plus:
|
||||||
|
:path: ".symlinks/plugins/share_plus/ios"
|
||||||
shared_preferences_foundation:
|
shared_preferences_foundation:
|
||||||
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
|
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
|
||||||
url_launcher_ios:
|
url_launcher_ios:
|
||||||
@@ -62,9 +72,11 @@ SPEC CHECKSUMS:
|
|||||||
flutter_contacts: edb1c5ce76aa433e20e6cb14c615f4c0b66e0983
|
flutter_contacts: edb1c5ce76aa433e20e6cb14c615f4c0b66e0983
|
||||||
flutter_native_splash: df59bb2e1421aa0282cb2e95618af4dcb0c56c29
|
flutter_native_splash: df59bb2e1421aa0282cb2e95618af4dcb0c56c29
|
||||||
flutter_treezor_entrust_sdk_bridge: 4c2c94fb74ab57576e8d49f5f2a4b214e41141fe
|
flutter_treezor_entrust_sdk_bridge: 4c2c94fb74ab57576e8d49f5f2a4b214e41141fe
|
||||||
|
image_picker_ios: 4f2f91b01abdb52842a8e277617df877e40f905b
|
||||||
mobile_scanner: 77265f3dc8d580810e91849d4a0811a90467ed5e
|
mobile_scanner: 77265f3dc8d580810e91849d4a0811a90467ed5e
|
||||||
path_provider_foundation: 0b743cbb62d8e47eab856f09262bb8c1ddcfe6ba
|
path_provider_foundation: 0b743cbb62d8e47eab856f09262bb8c1ddcfe6ba
|
||||||
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
|
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
|
||||||
|
share_plus: 8b6f8b3447e494cca5317c8c3073de39b3600d1f
|
||||||
shared_preferences_foundation: 5086985c1d43c5ba4d5e69a4e8083a389e2909e6
|
shared_preferences_foundation: 5086985c1d43c5ba4d5e69a4e8083a389e2909e6
|
||||||
url_launcher_ios: bb13df5870e8c4234ca12609d04010a21be43dfa
|
url_launcher_ios: bb13df5870e8c4234ca12609d04010a21be43dfa
|
||||||
webview_flutter_wkwebview: 29eb20d43355b48fe7d07113835b9128f84e3af4
|
webview_flutter_wkwebview: 29eb20d43355b48fe7d07113835b9128f84e3af4
|
||||||
|
|||||||
@@ -543,7 +543,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon-development;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-development.entitlements";
|
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-development.entitlements";
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
@@ -727,7 +727,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon-development;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-development.entitlements";
|
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-development.entitlements";
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
@@ -751,7 +751,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon-development;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-development.entitlements";
|
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-development.entitlements";
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
@@ -1100,7 +1100,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon-staging;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-staging.entitlements";
|
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-staging.entitlements";
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
@@ -1124,7 +1124,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon-production;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
@@ -1148,7 +1148,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon-staging;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-staging.entitlements";
|
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-staging.entitlements";
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
@@ -1171,7 +1171,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon-production;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
@@ -1194,7 +1194,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon-staging;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-staging.entitlements";
|
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-staging.entitlements";
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
@@ -1217,7 +1217,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon-production;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
|
|||||||
@@ -30,7 +30,9 @@ Future<void> initApp(EnvironmentEnum env) async {
|
|||||||
await configureDependencies(
|
await configureDependencies(
|
||||||
QuestiaEnvConfig(),
|
QuestiaEnvConfig(),
|
||||||
log: env.isDevelopment || kDebugMode,
|
log: env.isDevelopment || kDebugMode,
|
||||||
onTokenExpired: () => appRouter.go(AppRoutes.scaTreezor),
|
onTokenExpired: () => appRouter.go(
|
||||||
|
AppRoutes.legacyLogin,
|
||||||
|
), //change to payments app to AppRoutes.scaTreezor
|
||||||
onUnauthorized: () async {
|
onUnauthorized: () async {
|
||||||
final currentLocation =
|
final currentLocation =
|
||||||
appRouter.routerDelegate.currentConfiguration.uri.path;
|
appRouter.routerDelegate.currentConfiguration.uri.path;
|
||||||
@@ -39,7 +41,7 @@ Future<void> initApp(EnvironmentEnum env) async {
|
|||||||
await GetIt.I<TreezorWalletConnectionService>().logout();
|
await GetIt.I<TreezorWalletConnectionService>().logout();
|
||||||
} catch (_) {}
|
} catch (_) {}
|
||||||
await clearSessionData();
|
await clearSessionData();
|
||||||
appRouter.go(AppRoutes.login);
|
appRouter.go(AppRoutes.legacyLogin);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -141,6 +141,26 @@ void configureAppRouter() {
|
|||||||
name: 'apps_use',
|
name: 'apps_use',
|
||||||
pageBuilder: const AppsUseBuilder().buildPage,
|
pageBuilder: const AppsUseBuilder().buildPage,
|
||||||
),
|
),
|
||||||
|
GoRoute(
|
||||||
|
path: 'volume_control',
|
||||||
|
name: 'volume_control',
|
||||||
|
pageBuilder: const VolumeControlBuilder().buildPage,
|
||||||
|
),
|
||||||
|
GoRoute(
|
||||||
|
path: 'call_history',
|
||||||
|
name: 'call_history',
|
||||||
|
pageBuilder: const CallHistoryBuilder().buildPage,
|
||||||
|
),
|
||||||
|
GoRoute(
|
||||||
|
path: 'background_image',
|
||||||
|
name: 'background_image',
|
||||||
|
pageBuilder: const BackgroundImageBuilder().buildPage,
|
||||||
|
),
|
||||||
|
GoRoute(
|
||||||
|
path: 'apps_surveillance',
|
||||||
|
name: 'apps_surveillance',
|
||||||
|
pageBuilder: const AppsSurveillanceBuilder().buildPage,
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -237,9 +257,9 @@ void configureAppRouter() {
|
|||||||
pageBuilder: RemoteOnOffBuilder().buildPage,
|
pageBuilder: RemoteOnOffBuilder().buildPage,
|
||||||
),
|
),
|
||||||
GoRoute(
|
GoRoute(
|
||||||
path: 'sms_alert',
|
path: 'alerts',
|
||||||
name: 'sms_alert',
|
name: 'alerts',
|
||||||
pageBuilder: SmsAlertBuilder().buildPage,
|
pageBuilder: AlertsBuilder().buildPage,
|
||||||
),
|
),
|
||||||
GoRoute(
|
GoRoute(
|
||||||
path: 'timezone',
|
path: 'timezone',
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:dio/dio.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
||||||
|
|
||||||
@@ -35,8 +36,10 @@ class LegacyHeartbeatService {
|
|||||||
debugPrint('[LegacyHeartbeat] /auth/me => OK');
|
debugPrint('[LegacyHeartbeat] /auth/me => OK');
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
debugPrint('[LegacyHeartbeat] error: $e');
|
debugPrint('[LegacyHeartbeat] error: $e');
|
||||||
stop();
|
if (e is DioException && e.response?.statusCode == 401) {
|
||||||
_onUnauthorized();
|
stop();
|
||||||
|
_onUnauthorized();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,9 @@ class SaveFamilyAppState extends ConsumerState<SaveFamilyApp>
|
|||||||
walletHeartbeat = WalletHeartbeatService(
|
walletHeartbeat = WalletHeartbeatService(
|
||||||
repository: ref.read(treezorRepositoryProvider),
|
repository: ref.read(treezorRepositoryProvider),
|
||||||
sessionLocal: SessionLocalDatasourceImpl(),
|
sessionLocal: SessionLocalDatasourceImpl(),
|
||||||
onError: () => appRouter.go(AppRoutes.scaTreezor),
|
onError: () => appRouter.go(
|
||||||
|
AppRoutes.legacyLogin,
|
||||||
|
), //change to payments app to AppRoutes.scaTreezor
|
||||||
);
|
);
|
||||||
legacyHeartbeat = LegacyHeartbeatService(
|
legacyHeartbeat = LegacyHeartbeatService(
|
||||||
repository: GetIt.I<QuestiaRepository>(),
|
repository: GetIt.I<QuestiaRepository>(),
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.4/
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.2/
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/share_plus-10.1.4/
|
||||||
@@ -6,9 +6,13 @@
|
|||||||
|
|
||||||
#include "generated_plugin_registrant.h"
|
#include "generated_plugin_registrant.h"
|
||||||
|
|
||||||
|
#include <file_selector_linux/file_selector_plugin.h>
|
||||||
#include <url_launcher_linux/url_launcher_plugin.h>
|
#include <url_launcher_linux/url_launcher_plugin.h>
|
||||||
|
|
||||||
void fl_register_plugins(FlPluginRegistry* registry) {
|
void fl_register_plugins(FlPluginRegistry* registry) {
|
||||||
|
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
|
||||||
|
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
|
||||||
|
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
|
||||||
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
|
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
|
||||||
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
|
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
|
||||||
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
|
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
list(APPEND FLUTTER_PLUGIN_LIST
|
list(APPEND FLUTTER_PLUGIN_LIST
|
||||||
|
file_selector_linux
|
||||||
url_launcher_linux
|
url_launcher_linux
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -245,6 +245,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.15.0"
|
version: "1.15.0"
|
||||||
|
cross_file:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: cross_file
|
||||||
|
sha256: "28bb3ae56f117b5aec029d702a90f57d285cd975c3c5c281eaca38dbc47c5937"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.3.5+2"
|
||||||
crypto:
|
crypto:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -385,6 +393,38 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.0.1"
|
version: "7.0.1"
|
||||||
|
file_selector_linux:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: file_selector_linux
|
||||||
|
sha256: "2567f398e06ac72dcf2e98a0c95df2a9edd03c2c2e0cacd4780f20cdf56263a0"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.9.4"
|
||||||
|
file_selector_macos:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: file_selector_macos
|
||||||
|
sha256: "5e0bbe9c312416f1787a68259ea1505b52f258c587f12920422671807c4d618a"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.9.5"
|
||||||
|
file_selector_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: file_selector_platform_interface
|
||||||
|
sha256: "35e0bd61ebcdb91a3505813b055b09b79dfdc7d0aee9c09a7ba59ae4bb13dc85"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.7.0"
|
||||||
|
file_selector_windows:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: file_selector_windows
|
||||||
|
sha256: "62197474ae75893a62df75939c777763d39c2bc5f73ce5b88497208bc269abfd"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.9.3+5"
|
||||||
fixnum:
|
fixnum:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -451,6 +491,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.7"
|
version: "2.4.7"
|
||||||
|
flutter_plugin_android_lifecycle:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_plugin_android_lifecycle
|
||||||
|
sha256: ee8068e0e1cd16c4a82714119918efdeed33b3ba7772c54b5d094ab53f9b7fd1
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.33"
|
||||||
flutter_riverpod:
|
flutter_riverpod:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -602,6 +650,70 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.8.0"
|
version: "4.8.0"
|
||||||
|
image_picker:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: image_picker
|
||||||
|
sha256: "784210112be18ea55f69d7076e2c656a4e24949fa9e76429fe53af0c0f4fa320"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.2.1"
|
||||||
|
image_picker_android:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: image_picker_android
|
||||||
|
sha256: eda9b91b7e266d9041084a42d605a74937d996b87083395c5e47835916a86156
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.8.13+14"
|
||||||
|
image_picker_for_web:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: image_picker_for_web
|
||||||
|
sha256: "66257a3191ab360d23a55c8241c91a6e329d31e94efa7be9cf7a212e65850214"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.1"
|
||||||
|
image_picker_ios:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: image_picker_ios
|
||||||
|
sha256: "956c16a42c0c708f914021666ffcd8265dde36e673c9fa68c81f7d085d9774ad"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.8.13+3"
|
||||||
|
image_picker_linux:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: image_picker_linux
|
||||||
|
sha256: "1f81c5f2046b9ab724f85523e4af65be1d47b038160a8c8deed909762c308ed4"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.2.2"
|
||||||
|
image_picker_macos:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: image_picker_macos
|
||||||
|
sha256: "86f0f15a309de7e1a552c12df9ce5b59fe927e71385329355aec4776c6a8ec91"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.2.2+1"
|
||||||
|
image_picker_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: image_picker_platform_interface
|
||||||
|
sha256: "567e056716333a1647c64bb6bd873cff7622233a5c3f694be28a583d4715690c"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.11.1"
|
||||||
|
image_picker_windows:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: image_picker_windows
|
||||||
|
sha256: d248c86554a72b5495a31c56f060cf73a41c7ff541689327b1a7dbccc33adfae
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.2.2"
|
||||||
intl:
|
intl:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1117,6 +1229,22 @@ packages:
|
|||||||
relative: true
|
relative: true
|
||||||
source: path
|
source: path
|
||||||
version: "0.0.1"
|
version: "0.0.1"
|
||||||
|
share_plus:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: share_plus
|
||||||
|
sha256: fce43200aa03ea87b91ce4c3ac79f0cecd52e2a7a56c7a4185023c271fbfa6da
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "10.1.4"
|
||||||
|
share_plus_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: share_plus_platform_interface
|
||||||
|
sha256: cc012a23fc2d479854e6c80150696c4a5f5bb62cb89af4de1c505cf78d0a5d0b
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "5.0.2"
|
||||||
shared_preferences:
|
shared_preferences:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1560,6 +1688,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.23.8"
|
version: "3.23.8"
|
||||||
|
win32:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: win32
|
||||||
|
sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "5.15.0"
|
||||||
wkt_parser:
|
wkt_parser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
|||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
# In Windows, build-name is used as the major, minor, and patch parts
|
# In Windows, build-name is used as the major, minor, and patch parts
|
||||||
# of the product and file versions while build-number is used as the build suffix.
|
# of the product and file versions while build-number is used as the build suffix.
|
||||||
version: 1.0.0+4
|
version: 1.0.0+6
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ^3.9.2
|
sdk: ^3.9.2
|
||||||
@@ -123,6 +123,7 @@ flutter:
|
|||||||
# To add assets to your application, add an assets section, like this:
|
# To add assets to your application, add an assets section, like this:
|
||||||
assets:
|
assets:
|
||||||
- assets/shared/images/
|
- assets/shared/images/
|
||||||
|
- assets/shared/animations/
|
||||||
# An image asset can refer to one or more resolution-specific "variants", see
|
# An image asset can refer to one or more resolution-specific "variants", see
|
||||||
# https://flutter.dev/to/resolution-aware-images
|
# https://flutter.dev/to/resolution-aware-images
|
||||||
|
|
||||||
|
|||||||
@@ -3,163 +3,163 @@
|
|||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "_fe_analyzer_shared",
|
"name": "_fe_analyzer_shared",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-85.0.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/_fe_analyzer_shared-85.0.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "analyzer",
|
"name": "analyzer",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/analyzer-7.7.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-7.7.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "archive",
|
"name": "archive",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/archive-4.0.9",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/archive-4.0.9",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "args",
|
"name": "args",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/args-2.7.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.7.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "async",
|
"name": "async",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/async-2.13.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.13.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "boolean_selector",
|
"name": "boolean_selector",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/boolean_selector-2.1.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/boolean_selector-2.1.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "build",
|
"name": "build",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/build-3.1.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/build-3.1.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "build_config",
|
"name": "build_config",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/build_config-1.2.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/build_config-1.2.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "build_daemon",
|
"name": "build_daemon",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/build_daemon-4.1.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/build_daemon-4.1.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "build_resolvers",
|
"name": "build_resolvers",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/build_resolvers-3.0.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/build_resolvers-3.0.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "build_runner",
|
"name": "build_runner",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/build_runner-2.7.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner-2.7.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "build_runner_core",
|
"name": "build_runner_core",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/build_runner_core-9.3.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner_core-9.3.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "built_collection",
|
"name": "built_collection",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/built_collection-5.1.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/built_collection-5.1.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "built_value",
|
"name": "built_value",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/built_value-8.12.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/built_value-8.12.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "characters",
|
"name": "characters",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/characters-1.4.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.4.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "checked_yaml",
|
"name": "checked_yaml",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/checked_yaml-2.0.4",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/checked_yaml-2.0.4",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "cli_config",
|
"name": "cli_config",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/cli_config-0.2.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/cli_config-0.2.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clock",
|
"name": "clock",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/clock-1.1.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/clock-1.1.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "code_builder",
|
"name": "code_builder",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/code_builder-4.11.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/code_builder-4.11.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "collection",
|
"name": "collection",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/collection-1.19.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/collection-1.19.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "confetti",
|
"name": "confetti",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/confetti-0.7.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/confetti-0.7.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "convert",
|
"name": "convert",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/convert-3.1.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/convert-3.1.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "cookie_jar",
|
"name": "cookie_jar",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/cookie_jar-4.0.8",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/cookie_jar-4.0.8",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.15"
|
"languageVersion": "2.15"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "country_code_picker",
|
"name": "country_code_picker",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/country_code_picker-3.4.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/country_code_picker-3.4.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "coverage",
|
"name": "coverage",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/coverage-1.15.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/coverage-1.15.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "crypto",
|
"name": "crypto",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/crypto-3.0.7",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/crypto-3.0.7",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dart_style",
|
"name": "dart_style",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/dart_style-3.1.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/dart_style-3.1.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
@@ -171,91 +171,91 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "diacritic",
|
"name": "diacritic",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/diacritic-0.1.6",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/diacritic-0.1.6",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dio",
|
"name": "dio",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/dio-5.9.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/dio-5.9.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.18"
|
"languageVersion": "2.18"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dio_cookie_manager",
|
"name": "dio_cookie_manager",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/dio_cookie_manager-3.3.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/dio_cookie_manager-3.3.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.18"
|
"languageVersion": "2.18"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dio_web_adapter",
|
"name": "dio_web_adapter",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/dio_web_adapter-2.1.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/dio_web_adapter-2.1.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "equatable",
|
"name": "equatable",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/equatable-2.0.8",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/equatable-2.0.8",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fake_async",
|
"name": "fake_async",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/fake_async-1.3.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/fake_async-1.3.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ffi",
|
"name": "ffi",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/ffi-2.2.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/ffi-2.2.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "file",
|
"name": "file",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/file-7.0.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/file-7.0.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fixnum",
|
"name": "fixnum",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/fixnum-1.1.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/fixnum-1.1.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fl_chart",
|
"name": "fl_chart",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/fl_chart-1.1.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/fl_chart-1.1.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.6"
|
"languageVersion": "3.6"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter",
|
"name": "flutter",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/Development/flutter/packages/flutter",
|
"rootUri": "file:///C:/Program%20Files/Flutter/packages/flutter",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_lints",
|
"name": "flutter_lints",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_lints-5.0.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_lints-5.0.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_riverpod",
|
"name": "flutter_riverpod",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_riverpod-3.2.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_riverpod-3.2.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_svg",
|
"name": "flutter_svg",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_svg-2.2.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_svg-2.2.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_test",
|
"name": "flutter_test",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/Development/flutter/packages/flutter_test",
|
"rootUri": "file:///C:/Program%20Files/Flutter/packages/flutter_test",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
@@ -267,7 +267,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_web_plugins",
|
"name": "flutter_web_plugins",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/Development/flutter/packages/flutter_web_plugins",
|
"rootUri": "file:///C:/Program%20Files/Flutter/packages/flutter_web_plugins",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
@@ -279,259 +279,259 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "freezed",
|
"name": "freezed",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/freezed-3.2.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/freezed-3.2.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "freezed_annotation",
|
"name": "freezed_annotation",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/freezed_annotation-3.1.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/freezed_annotation-3.1.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "frontend_server_client",
|
"name": "frontend_server_client",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/frontend_server_client-4.0.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/frontend_server_client-4.0.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "get_it",
|
"name": "get_it",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/get_it-9.2.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/get_it-9.2.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "glob",
|
"name": "glob",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/glob-2.1.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/glob-2.1.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "go_router",
|
"name": "go_router",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/go_router-17.1.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-17.1.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.9"
|
"languageVersion": "3.9"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "graphs",
|
"name": "graphs",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/graphs-2.3.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/graphs-2.3.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "http",
|
"name": "http",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/http-1.6.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/http-1.6.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "http_multi_server",
|
"name": "http_multi_server",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/http_multi_server-3.2.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/http_multi_server-3.2.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "http_parser",
|
"name": "http_parser",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/http_parser-4.1.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.1.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "intl",
|
"name": "intl",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/intl-0.20.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/intl-0.20.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "io",
|
"name": "io",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/io-1.0.5",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/io-1.0.5",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "js",
|
"name": "js",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/js-0.7.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/js-0.7.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "json_annotation",
|
"name": "json_annotation",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/json_annotation-4.9.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/json_annotation-4.9.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "json_serializable",
|
"name": "json_serializable",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/json_serializable-6.11.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/json_serializable-6.11.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "leak_tracker",
|
"name": "leak_tracker",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/leak_tracker-11.0.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker-11.0.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "leak_tracker_flutter_testing",
|
"name": "leak_tracker_flutter_testing",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.10",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.10",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "leak_tracker_testing",
|
"name": "leak_tracker_testing",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker_testing-3.0.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "lints",
|
"name": "lints",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/lints-5.1.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/lints-5.1.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.6"
|
"languageVersion": "3.6"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "logging",
|
"name": "logging",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/logging-1.3.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/logging-1.3.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "lottie",
|
"name": "lottie",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/lottie-3.3.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/lottie-3.3.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.9"
|
"languageVersion": "3.9"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "matcher",
|
"name": "matcher",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/matcher-0.12.17",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/matcher-0.12.17",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "material_color_utilities",
|
"name": "material_color_utilities",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.11.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "meta",
|
"name": "meta",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/meta-1.16.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.16.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mime",
|
"name": "mime",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/mime-2.0.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/mime-2.0.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "node_preamble",
|
"name": "node_preamble",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/node_preamble-2.0.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/node_preamble-2.0.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "package_config",
|
"name": "package_config",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/package_config-2.2.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/package_config-2.2.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path",
|
"name": "path",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path-1.9.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.9.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_parsing",
|
"name": "path_parsing",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_parsing-1.1.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_parsing-1.1.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider",
|
"name": "path_provider",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider-2.1.5",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider-2.1.5",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_android",
|
"name": "path_provider_android",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_android-2.2.22",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_android-2.2.22",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.9"
|
"languageVersion": "3.9"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_foundation",
|
"name": "path_provider_foundation",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.5.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_foundation-2.5.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.9"
|
"languageVersion": "3.9"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_linux",
|
"name": "path_provider_linux",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_linux-2.2.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.19"
|
"languageVersion": "2.19"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_platform_interface",
|
"name": "path_provider_platform_interface",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_platform_interface-2.1.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_windows",
|
"name": "path_provider_windows",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_windows-2.3.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "petitparser",
|
"name": "petitparser",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/petitparser-7.0.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/petitparser-7.0.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "platform",
|
"name": "platform",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/platform-3.1.6",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/platform-3.1.6",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "plugin_platform_interface",
|
"name": "plugin_platform_interface",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.8",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pool",
|
"name": "pool",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/pool-1.5.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/pool-1.5.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "posix",
|
"name": "posix",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/posix-6.5.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/posix-6.5.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pub_semver",
|
"name": "pub_semver",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/pub_semver-2.2.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/pub_semver-2.2.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pubspec_parse",
|
"name": "pubspec_parse",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/pubspec_parse-1.5.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/pubspec_parse-1.5.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.6"
|
"languageVersion": "3.6"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "riverpod",
|
"name": "riverpod",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/riverpod-3.2.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod-3.2.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
@@ -561,181 +561,181 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences",
|
"name": "shared_preferences",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences-2.5.4",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/shared_preferences-2.5.4",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.9"
|
"languageVersion": "3.9"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences_android",
|
"name": "shared_preferences_android",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.20",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/shared_preferences_android-2.4.20",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.9"
|
"languageVersion": "3.9"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences_foundation",
|
"name": "shared_preferences_foundation",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.6",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/shared_preferences_foundation-2.5.6",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.9"
|
"languageVersion": "3.9"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences_linux",
|
"name": "shared_preferences_linux",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/shared_preferences_linux-2.4.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences_platform_interface",
|
"name": "shared_preferences_platform_interface",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences_web",
|
"name": "shared_preferences_web",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/shared_preferences_web-2.4.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences_windows",
|
"name": "shared_preferences_windows",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/shared_preferences_windows-2.4.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shelf",
|
"name": "shelf",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shelf-1.4.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/shelf-1.4.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shelf_packages_handler",
|
"name": "shelf_packages_handler",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shelf_packages_handler-3.0.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/shelf_packages_handler-3.0.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shelf_static",
|
"name": "shelf_static",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shelf_static-1.1.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/shelf_static-1.1.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shelf_web_socket",
|
"name": "shelf_web_socket",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shelf_web_socket-3.0.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/shelf_web_socket-3.0.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sky_engine",
|
"name": "sky_engine",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/Development/flutter/bin/cache/pkg/sky_engine",
|
"rootUri": "file:///C:/Program%20Files/Flutter/bin/cache/pkg/sky_engine",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "source_gen",
|
"name": "source_gen",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/source_gen-4.0.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/source_gen-4.0.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "source_helper",
|
"name": "source_helper",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/source_helper-1.3.8",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/source_helper-1.3.8",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.7"
|
"languageVersion": "3.7"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "source_map_stack_trace",
|
"name": "source_map_stack_trace",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/source_map_stack_trace-2.1.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "source_maps",
|
"name": "source_maps",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/source_maps-0.10.13",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/source_maps-0.10.13",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "source_span",
|
"name": "source_span",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/source_span-1.10.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.10.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "stack_trace",
|
"name": "stack_trace",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/stack_trace-1.12.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.12.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "state_notifier",
|
"name": "state_notifier",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/state_notifier-1.0.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/state_notifier-1.0.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "stream_channel",
|
"name": "stream_channel",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/stream_channel-2.1.4",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/stream_channel-2.1.4",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "stream_transform",
|
"name": "stream_transform",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/stream_transform-2.1.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/stream_transform-2.1.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "string_scanner",
|
"name": "string_scanner",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/string_scanner-1.4.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/string_scanner-1.4.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "term_glyph",
|
"name": "term_glyph",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/term_glyph-1.2.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "test",
|
"name": "test",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/test-1.26.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/test-1.26.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "test_api",
|
"name": "test_api",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/test_api-0.7.6",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.7.6",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "test_core",
|
"name": "test_core",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/test_core-0.6.11",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/test_core-0.6.11",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "timing",
|
"name": "timing",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/timing-1.0.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/timing-1.0.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "top_snackbar_flutter",
|
"name": "top_snackbar_flutter",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/top_snackbar_flutter-3.3.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/top_snackbar_flutter-3.3.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.15"
|
"languageVersion": "2.15"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "typed_data",
|
"name": "typed_data",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/typed_data-1.4.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.4.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "universal_io",
|
"name": "universal_io",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/universal_io-2.3.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/universal_io-2.3.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.6"
|
"languageVersion": "3.6"
|
||||||
},
|
},
|
||||||
@@ -747,79 +747,79 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vector_graphics",
|
"name": "vector_graphics",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/vector_graphics-1.1.19",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics-1.1.19",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.6"
|
"languageVersion": "3.6"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vector_graphics_codec",
|
"name": "vector_graphics_codec",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/vector_graphics_codec-1.1.13",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics_codec-1.1.13",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vector_graphics_compiler",
|
"name": "vector_graphics_compiler",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.20",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics_compiler-1.1.20",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.9"
|
"languageVersion": "3.9"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vector_math",
|
"name": "vector_math",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/vector_math-2.2.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.2.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vm_service",
|
"name": "vm_service",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/vm_service-15.0.2",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/vm_service-15.0.2",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "watcher",
|
"name": "watcher",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/watcher-1.2.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/watcher-1.2.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "web",
|
"name": "web",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/web-1.1.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/web-1.1.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "web_socket",
|
"name": "web_socket",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/web_socket-1.0.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/web_socket-1.0.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "web_socket_channel",
|
"name": "web_socket_channel",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/web_socket_channel-3.0.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/web_socket_channel-3.0.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "webkit_inspection_protocol",
|
"name": "webkit_inspection_protocol",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/webkit_inspection_protocol-1.2.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/webkit_inspection_protocol-1.2.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "xdg_directories",
|
"name": "xdg_directories",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/xdg_directories-1.1.0",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "xml",
|
"name": "xml",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/xml-6.6.1",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/xml-6.6.1",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.8"
|
"languageVersion": "3.8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "yaml",
|
"name": "yaml",
|
||||||
"rootUri": "file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/yaml-3.1.3",
|
"rootUri": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache/hosted/pub.dev/yaml-3.1.3",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
@@ -832,7 +832,7 @@
|
|||||||
],
|
],
|
||||||
"generator": "pub",
|
"generator": "pub",
|
||||||
"generatorVersion": "3.9.2",
|
"generatorVersion": "3.9.2",
|
||||||
"flutterRoot": "file:///Users/juliandalcalaf/Development/flutter",
|
"flutterRoot": "file:///C:/Program%20Files/Flutter",
|
||||||
"flutterVersion": "3.35.7",
|
"flutterVersion": "3.35.6",
|
||||||
"pubCache": "file:///Users/juliandalcalaf/.pub-cache"
|
"pubCache": "file:///C:/Users/Aitor%20Arana/AppData/Local/Pub/Cache"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
3.35.7
|
3.35.6
|
||||||
@@ -1 +1 @@
|
|||||||
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_treezor_entrust_sdk_bridge","path":"/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.5.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.6/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"flutter_treezor_entrust_sdk_bridge","path":"/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_android","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_android-2.2.22/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.20/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"path_provider_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.5.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.6/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"path_provider_linux","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_linux","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/","native_build":false,"dependencies":["path_provider_linux"],"dev_dependency":false}],"windows":[{"name":"path_provider_windows","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_windows","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/","native_build":false,"dependencies":["path_provider_windows"],"dev_dependency":false}],"web":[{"name":"shared_preferences_web","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"flutter_treezor_entrust_sdk_bridge","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]}],"date_created":"2026-03-13 09:49:15.619720","version":"3.35.7","swift_package_manager_enabled":{"ios":false,"macos":false}}
|
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_treezor_entrust_sdk_bridge","path":"/Users/juliandalcalaf/Desktop/save-family-app/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.5.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.6/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"flutter_treezor_entrust_sdk_bridge","path":"/Users/juliandalcalaf/Desktop/save-family-app/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_android","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_android-2.2.22/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.20/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"path_provider_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.5.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.6/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"path_provider_linux","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_linux","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/","native_build":false,"dependencies":["path_provider_linux"],"dev_dependency":false}],"windows":[{"name":"path_provider_windows","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_windows","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/","native_build":false,"dependencies":["path_provider_windows"],"dev_dependency":false}],"web":[{"name":"shared_preferences_web","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"flutter_treezor_entrust_sdk_bridge","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]}],"date_created":"2026-03-25 02:38:09.414683","version":"3.35.7","swift_package_manager_enabled":{"ios":false,"macos":false}}
|
||||||
3
modules/auth/devtools_options.yaml
Normal file
3
modules/auth/devtools_options.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
description: This file stores settings for Dart & Flutter DevTools.
|
||||||
|
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
|
||||||
|
extensions:
|
||||||
3
modules/home/devtools_options.yaml
Normal file
3
modules/home/devtools_options.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
description: This file stores settings for Dart & Flutter DevTools.
|
||||||
|
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
|
||||||
|
extensions:
|
||||||
@@ -32,6 +32,9 @@
|
|||||||
<excludeFolder url="file://$MODULE_DIR$/packages/legacy_design_system/.dart_tool" />
|
<excludeFolder url="file://$MODULE_DIR$/packages/legacy_design_system/.dart_tool" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/packages/legacy_design_system/.pub" />
|
<excludeFolder url="file://$MODULE_DIR$/packages/legacy_design_system/.pub" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/packages/legacy_design_system/build" />
|
<excludeFolder url="file://$MODULE_DIR$/packages/legacy_design_system/build" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/modules/settings/.dart_tool" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/modules/settings/.pub" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/modules/settings/build" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" name="Dart SDK" level="project" />
|
<orderEntry type="library" name="Dart SDK" level="project" />
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart';
|
import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart';
|
||||||
|
|
||||||
abstract class DevicesRemoteDatasource {
|
abstract class DevicesRemoteDatasource {
|
||||||
Future<void> deleteDevice({required String userId, required String deviceId});
|
Future<void> deleteDevice({required String deviceId});
|
||||||
|
|
||||||
Future<void> updateDevice({required String userId, required UpdateDeviceRequestEntity request});
|
Future<void> updateDevice({required UpdateDeviceRequestEntity request});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class DevicesRemoteDatasourceImpl implements DevicesRemoteDatasource {
|
|||||||
final QuestiaRepository _repository;
|
final QuestiaRepository _repository;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> deleteDevice({required String userId, required String deviceId}) async {
|
Future<void> deleteDevice({required String deviceId}) async {
|
||||||
try {
|
try {
|
||||||
await _repository.delete<void>(
|
await _repository.delete<void>(
|
||||||
'/devices/$deviceId',
|
'/devices/$deviceId',
|
||||||
@@ -23,7 +23,7 @@ class DevicesRemoteDatasourceImpl implements DevicesRemoteDatasource {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> updateDevice({required String userId, required UpdateDeviceRequestEntity request}) async {
|
Future<void> updateDevice({required UpdateDeviceRequestEntity request}) async {
|
||||||
try {
|
try {
|
||||||
final body = request.toModel().toJson();
|
final body = request.toModel().toJson();
|
||||||
await _repository.put<void>(
|
await _repository.put<void>(
|
||||||
|
|||||||
@@ -9,12 +9,12 @@ class DevicesRepositoryImpl implements DevicesRepository {
|
|||||||
final DevicesRemoteDatasource _remote;
|
final DevicesRemoteDatasource _remote;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> deleteDevice({required String userId, required String deviceId}) {
|
Future<void> deleteDevice({required String deviceId}) {
|
||||||
return _remote.deleteDevice(userId: userId, deviceId: deviceId);
|
return _remote.deleteDevice(deviceId: deviceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> updateDevice({required String userId, required UpdateDeviceRequestEntity request}) {
|
Future<void> updateDevice({required UpdateDeviceRequestEntity request}) {
|
||||||
return _remote.updateDevice(userId: userId, request: request);
|
return _remote.updateDevice(request: request);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart';
|
import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart';
|
||||||
|
|
||||||
abstract class DevicesRepository {
|
abstract class DevicesRepository {
|
||||||
Future<void> deleteDevice({required String userId, required String deviceId});
|
Future<void> deleteDevice({required String deviceId});
|
||||||
|
|
||||||
Future<void> updateDevice({
|
Future<void> updateDevice({
|
||||||
required String userId,
|
|
||||||
required UpdateDeviceRequestEntity request
|
required UpdateDeviceRequestEntity request
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ class ChangePasswordScreen extends ConsumerWidget {
|
|||||||
Widget build(BuildContext context, WidgetRef ref) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
|
|
||||||
final theme = ref.watch(themePortProvider);
|
final theme = ref.watch(themePortProvider);
|
||||||
|
final password = ref.watch(
|
||||||
|
changePasswordViewModelProvider.select((s)=>s.newPassword)
|
||||||
|
);
|
||||||
|
|
||||||
return LegacyPageLayout(
|
return LegacyPageLayout(
|
||||||
theme: theme,
|
theme: theme,
|
||||||
@@ -28,11 +31,11 @@ class ChangePasswordScreen extends ConsumerWidget {
|
|||||||
child: SingleChildScrollView(child: Column(
|
child: SingleChildScrollView(child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
const _PasswordSection(),
|
|
||||||
SizedBox(height: SizeUtils.getByScreen(small: 24, big: 22)),
|
|
||||||
const _NewPasswordSection(),
|
const _NewPasswordSection(),
|
||||||
SizedBox(height: SizeUtils.getByScreen(small: 24, big: 22)),
|
SizedBox(height: SizeUtils.getByScreen(small: 24, big: 22)),
|
||||||
const _RepeatPasswordSection(),
|
const _RepeatPasswordSection(),
|
||||||
|
SizedBox(height: SizeUtils.getByScreen(small: 24, big: 22)),
|
||||||
|
_PasswordCriteriaList(password: password),
|
||||||
const _ErrorMessageSection()
|
const _ErrorMessageSection()
|
||||||
],
|
],
|
||||||
))
|
))
|
||||||
@@ -42,29 +45,6 @@ class ChangePasswordScreen extends ConsumerWidget {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class _PasswordSection extends ConsumerWidget {
|
|
||||||
|
|
||||||
const _PasswordSection();
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
|
||||||
|
|
||||||
final vm = ref.read(changePasswordViewModelProvider.notifier);
|
|
||||||
final showPassword = ref.watch(
|
|
||||||
changePasswordViewModelProvider.select((s)=>s.showCurrentPassword)
|
|
||||||
);
|
|
||||||
|
|
||||||
return CustomTextField(
|
|
||||||
controller: vm.currentPasswordController,
|
|
||||||
hint: '********',
|
|
||||||
label: context.translate(I18n.password),
|
|
||||||
showPassword: showPassword,
|
|
||||||
onVisibilityChanged: vm.toggleCurrentPasswordVisibility,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
class _NewPasswordSection extends ConsumerWidget {
|
class _NewPasswordSection extends ConsumerWidget {
|
||||||
|
|
||||||
const _NewPasswordSection();
|
const _NewPasswordSection();
|
||||||
@@ -111,6 +91,89 @@ class _RepeatPasswordSection extends ConsumerWidget {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class _PasswordCriteriaList extends StatelessWidget {
|
||||||
|
final String password;
|
||||||
|
|
||||||
|
const _PasswordCriteriaList({required this.password});
|
||||||
|
|
||||||
|
static final _upperRegex = RegExp(r'[A-Z]');
|
||||||
|
static final _digitRegex = RegExp(r'[0-9]');
|
||||||
|
static final _specialRegex =
|
||||||
|
RegExp(r'[!@#$%^&*(),.?":{}|<>\-_+=\[\]\\\/~`]');
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
final hasInput = password.isNotEmpty;
|
||||||
|
|
||||||
|
return Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
spacing: 6,
|
||||||
|
children: [
|
||||||
|
_CriteriaRow(
|
||||||
|
label: context.translate(I18n.passwordLength),
|
||||||
|
met: password.length >= 8,
|
||||||
|
hasInput: hasInput,
|
||||||
|
),
|
||||||
|
_CriteriaRow(
|
||||||
|
label: context.translate(I18n.passwordCapital),
|
||||||
|
met: _upperRegex.hasMatch(password),
|
||||||
|
hasInput: hasInput,
|
||||||
|
),
|
||||||
|
_CriteriaRow(
|
||||||
|
label: context.translate(I18n.passwordNumber),
|
||||||
|
met: _digitRegex.hasMatch(password),
|
||||||
|
hasInput: hasInput,
|
||||||
|
),
|
||||||
|
_CriteriaRow(
|
||||||
|
label: context.translate(I18n.passwordSpecial),
|
||||||
|
met: _specialRegex.hasMatch(password),
|
||||||
|
hasInput: hasInput,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class _CriteriaRow extends StatelessWidget {
|
||||||
|
final String label;
|
||||||
|
final bool met;
|
||||||
|
final bool hasInput;
|
||||||
|
|
||||||
|
const _CriteriaRow({
|
||||||
|
required this.label,
|
||||||
|
required this.met,
|
||||||
|
required this.hasInput,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
final Color color;
|
||||||
|
final IconData icon;
|
||||||
|
|
||||||
|
if (!hasInput) {
|
||||||
|
color = Colors.grey;
|
||||||
|
icon = Icons.circle_outlined;
|
||||||
|
} else if (met) {
|
||||||
|
color = Colors.green;
|
||||||
|
icon = Icons.check_circle;
|
||||||
|
} else {
|
||||||
|
color = Colors.red.shade400;
|
||||||
|
icon = Icons.cancel;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Row(
|
||||||
|
spacing: 8,
|
||||||
|
children: [
|
||||||
|
Icon(icon, size: 16, color: color),
|
||||||
|
Text(
|
||||||
|
label,
|
||||||
|
style: TextStyle(fontSize: 13, color: color),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class _ErrorMessageSection extends ConsumerWidget {
|
class _ErrorMessageSection extends ConsumerWidget {
|
||||||
|
|
||||||
const _ErrorMessageSection();
|
const _ErrorMessageSection();
|
||||||
@@ -136,7 +199,9 @@ class _ErrorMessageSection extends ConsumerWidget {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
} else return SizedBox.shrink();
|
} else {
|
||||||
|
return SizedBox.shrink();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ NotifierProvider.autoDispose<ChangePasswordViewModel, ChangePasswordViewState>(
|
|||||||
class ChangePasswordViewModel extends Notifier<ChangePasswordViewState> {
|
class ChangePasswordViewModel extends Notifier<ChangePasswordViewState> {
|
||||||
late final ChangePasswordUseCase _changePasswordUseCase;
|
late final ChangePasswordUseCase _changePasswordUseCase;
|
||||||
|
|
||||||
late final TextEditingController currentPasswordController;
|
|
||||||
late final TextEditingController newPasswordController;
|
late final TextEditingController newPasswordController;
|
||||||
late final TextEditingController repeatPasswordController;
|
late final TextEditingController repeatPasswordController;
|
||||||
late final TextEditingController passwordController;
|
late final TextEditingController passwordController;
|
||||||
@@ -29,10 +28,6 @@ class ChangePasswordViewModel extends Notifier<ChangePasswordViewState> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _initControllers() {
|
void _initControllers() {
|
||||||
|
|
||||||
currentPasswordController = TextEditingController();
|
|
||||||
currentPasswordController.addListener(_onCurrentPasswordChanged);
|
|
||||||
|
|
||||||
newPasswordController = TextEditingController();
|
newPasswordController = TextEditingController();
|
||||||
newPasswordController.addListener(_onNewPasswordChanged);
|
newPasswordController.addListener(_onNewPasswordChanged);
|
||||||
|
|
||||||
@@ -60,17 +55,6 @@ class ChangePasswordViewModel extends Notifier<ChangePasswordViewState> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _onCurrentPasswordChanged() {
|
|
||||||
final value = currentPasswordController.text;
|
|
||||||
|
|
||||||
if (value == state.currentPassword) return;
|
|
||||||
|
|
||||||
state = state.copyWith(
|
|
||||||
currentPassword: value,
|
|
||||||
errorMessage: ''
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
void _onNewPasswordChanged() {
|
void _onNewPasswordChanged() {
|
||||||
final value = newPasswordController.text;
|
final value = newPasswordController.text;
|
||||||
|
|
||||||
@@ -94,11 +78,14 @@ class ChangePasswordViewModel extends Notifier<ChangePasswordViewState> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool _validateForm() {
|
bool _validateForm() {
|
||||||
if (state.currentPassword.trim().isEmpty){
|
final _upperRegex = RegExp(r'[A-Z]');
|
||||||
state = state.copyWith(errorMessage: 'errorMessageCurrentPasswordIsEmpty');
|
final _digitRegex = RegExp(r'[0-9]');
|
||||||
return false;
|
final _specialRegex =
|
||||||
}
|
RegExp(r'[!@#$%^&*(),.?":{}|<>\-_+=\[\]\\\/~`]');
|
||||||
if (state.newPassword.trim().isEmpty){
|
|
||||||
|
final password = state.newPassword.trim();
|
||||||
|
|
||||||
|
if (password.isEmpty){
|
||||||
state = state.copyWith(errorMessage: 'errorMessageNewPasswordIsEmpty');
|
state = state.copyWith(errorMessage: 'errorMessageNewPasswordIsEmpty');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -106,10 +93,26 @@ class ChangePasswordViewModel extends Notifier<ChangePasswordViewState> {
|
|||||||
state = state.copyWith(errorMessage: 'errorMessageRepeatPasswordIsEmpty');
|
state = state.copyWith(errorMessage: 'errorMessageRepeatPasswordIsEmpty');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (state.newPassword.trim() != state.repeatPassword.trim()){
|
if (password != state.repeatPassword.trim()){
|
||||||
state = state.copyWith(errorMessage: 'errorMessagePasswordsDontMatch');
|
state = state.copyWith(errorMessage: 'errorMessagePasswordsDontMatch');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (password.length < 8){
|
||||||
|
state = state.copyWith(errorMessage: 'errorPasswordMinLength');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!_upperRegex.hasMatch(password)) {
|
||||||
|
state = state.copyWith(errorMessage: 'errorPasswordUppercase');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!_digitRegex.hasMatch(password)) {
|
||||||
|
state = state.copyWith(errorMessage: 'errorPasswordDigits');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!_specialRegex.hasMatch(password)) {
|
||||||
|
state = state.copyWith(errorMessage: 'errorPasswordSpecial');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,9 +158,6 @@ class ChangePasswordViewModel extends Notifier<ChangePasswordViewState> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void disposeControllers() {
|
void disposeControllers() {
|
||||||
currentPasswordController.removeListener(_onCurrentPasswordChanged);
|
|
||||||
currentPasswordController.dispose();
|
|
||||||
|
|
||||||
newPasswordController.removeListener(_onNewPasswordChanged);
|
newPasswordController.removeListener(_onNewPasswordChanged);
|
||||||
newPasswordController.dispose();
|
newPasswordController.dispose();
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,8 @@ abstract class ChangePasswordViewState with _$ChangePasswordViewState {
|
|||||||
const factory ChangePasswordViewState({
|
const factory ChangePasswordViewState({
|
||||||
@Default(false) bool isLoading,
|
@Default(false) bool isLoading,
|
||||||
@Default(false) bool isComplete,
|
@Default(false) bool isComplete,
|
||||||
@Default(false) bool showCurrentPassword,
|
|
||||||
@Default(false) bool showNewPassword,
|
@Default(false) bool showNewPassword,
|
||||||
@Default(false) bool showRepeatedPassword,
|
@Default(false) bool showRepeatedPassword,
|
||||||
@Default('') String currentPassword,
|
|
||||||
@Default('') String newPassword,
|
@Default('') String newPassword,
|
||||||
@Default('') String repeatPassword,
|
@Default('') String repeatPassword,
|
||||||
@Default('') String errorMessage
|
@Default('') String errorMessage
|
||||||
|
|||||||
@@ -27,28 +27,36 @@ class LinkedDevicesScreen extends ConsumerWidget {
|
|||||||
title: context.translate(I18n.linkedDevices),
|
title: context.translate(I18n.linkedDevices),
|
||||||
showEdit: true,
|
showEdit: true,
|
||||||
onEditChange: vm.toggleIsEditing,
|
onEditChange: vm.toggleIsEditing,
|
||||||
body: ListView.separated(
|
body: state.isLoading
|
||||||
itemBuilder: (BuildContext context, int index)=>_LinkedDeviceCard(
|
? const Center(child: CircularProgressIndicator())
|
||||||
device: state.linkedDevices[index],
|
: Padding(
|
||||||
isEditing: state.isEditing,
|
padding: EdgeInsets.symmetric(horizontal: SizeUtils.getByScreen(small: 10, big: 12)),
|
||||||
onDelete: ()=>vm.deleteDevice(state.linkedDevices[index]),
|
child: ListView.separated(
|
||||||
),
|
itemBuilder: (BuildContext context, int index)=>_LinkedDeviceCard(
|
||||||
separatorBuilder: (BuildContext context, int index)=>SizedBox(
|
navigationContract: navigationContract,
|
||||||
height: SizeUtils.getByScreen(small: 18, big: 17)
|
device: state.linkedDevices[index],
|
||||||
),
|
isEditing: state.isEditing,
|
||||||
itemCount: state.linkedDevices.length
|
onDelete: ()=>vm.deleteDevice(state.linkedDevices[index]),
|
||||||
),
|
),
|
||||||
|
separatorBuilder: (BuildContext context, int index)=>SizedBox(
|
||||||
|
height: SizeUtils.getByScreen(small: 18, big: 17)
|
||||||
|
),
|
||||||
|
itemCount: state.linkedDevices.length
|
||||||
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class _LinkedDeviceCard extends ConsumerWidget {
|
class _LinkedDeviceCard extends ConsumerWidget {
|
||||||
|
|
||||||
|
final NavigationContract navigationContract;
|
||||||
final DeviceEntity device;
|
final DeviceEntity device;
|
||||||
final bool isEditing;
|
final bool isEditing;
|
||||||
final Function onDelete;
|
final Function onDelete;
|
||||||
|
|
||||||
const _LinkedDeviceCard({
|
const _LinkedDeviceCard({
|
||||||
|
required this.navigationContract,
|
||||||
required this.device,
|
required this.device,
|
||||||
required this.isEditing,
|
required this.isEditing,
|
||||||
required this.onDelete,
|
required this.onDelete,
|
||||||
@@ -76,7 +84,7 @@ class _LinkedDeviceCard extends ConsumerWidget {
|
|||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
color: theme.getColorFor(ThemeCode.backgroundPrimary),
|
color: theme.getColorFor(ThemeCode.backgroundPrimary),
|
||||||
),
|
),
|
||||||
padding: EdgeInsets.all(SizeUtils.getByScreen(small: 4, big: 12)),
|
padding: EdgeInsets.all(SizeUtils.getByScreen(small: 8, big: 12)),
|
||||||
child: Icon(SFIcons.watch,
|
child: Icon(SFIcons.watch,
|
||||||
size: SizeUtils.getByScreen(small: 40, big: 44),
|
size: SizeUtils.getByScreen(small: 40, big: 44),
|
||||||
color: theme.getColorFor(ThemeCode.legacyPrimary),
|
color: theme.getColorFor(ThemeCode.legacyPrimary),
|
||||||
@@ -110,7 +118,10 @@ class _LinkedDeviceCard extends ConsumerWidget {
|
|||||||
),
|
),
|
||||||
child: IconButton(
|
child: IconButton(
|
||||||
onPressed: (){showDialog(context: context, builder: (context)=>Dialog(
|
onPressed: (){showDialog(context: context, builder: (context)=>Dialog(
|
||||||
child: DeleteDeviceDialog(device: device),
|
child: DeleteDeviceDialog(
|
||||||
|
navigationContract: navigationContract,
|
||||||
|
device: device,
|
||||||
|
),
|
||||||
));},
|
));},
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.close,
|
Icons.close,
|
||||||
|
|||||||
@@ -70,19 +70,32 @@ class LinkedDevicesViewModel extends Notifier<LinkedDevicesViewState> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<bool> deleteDevice(DeviceEntity device) async {
|
Future<void> deleteDevice(DeviceEntity device) async {
|
||||||
try {
|
try {
|
||||||
await _devicesRepository.deleteDevice(userId: state.loggedUser!.id, deviceId: device.identificator);
|
|
||||||
List<DeviceEntity> newList = state.linkedDevices;
|
|
||||||
newList.remove(device);
|
|
||||||
|
|
||||||
state = state.copyWith(
|
state = state.copyWith(
|
||||||
linkedDevices: newList
|
isLoading: true,
|
||||||
|
isComplete: false,
|
||||||
);
|
);
|
||||||
|
|
||||||
return true;
|
await _devicesRepository.deleteDevice(deviceId: device.id);
|
||||||
|
List<DeviceEntity> newList = state.linkedDevices.toList();
|
||||||
|
newList.remove(device);
|
||||||
|
|
||||||
|
if (device == state.selectedDevice) {
|
||||||
|
ref.invalidate(selectedDeviceProvider);
|
||||||
|
}
|
||||||
|
|
||||||
|
state = state.copyWith(
|
||||||
|
linkedDevices: newList,
|
||||||
|
isLoading: false,
|
||||||
|
isComplete: true,
|
||||||
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return false;
|
state = state.copyWith(
|
||||||
|
isLoading: false,
|
||||||
|
errorMessage: e.toString(),
|
||||||
|
);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,9 +115,7 @@ class LinkedDevicesViewModel extends Notifier<LinkedDevicesViewState> {
|
|||||||
if (deviceName.isEmpty) return;
|
if (deviceName.isEmpty) return;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final userId = state.loggedUser!.id;
|
|
||||||
_devicesRepository.updateDevice(
|
_devicesRepository.updateDevice(
|
||||||
userId: userId,
|
|
||||||
request: _toRequest(device));
|
request: _toRequest(device));
|
||||||
|
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
@@ -114,8 +125,6 @@ class LinkedDevicesViewModel extends Notifier<LinkedDevicesViewState> {
|
|||||||
errorMessage: e.toString()
|
errorMessage: e.toString()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void disposeControllers() {
|
void disposeControllers() {
|
||||||
|
|||||||
@@ -2,15 +2,20 @@ import 'package:account/src/features/linked_devices/presentation/state/linked_de
|
|||||||
import 'package:design_system/design_system.dart';
|
import 'package:design_system/design_system.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:navigation/navigation.dart';
|
||||||
import 'package:sf_localizations/sf_localizations.dart';
|
import 'package:sf_localizations/sf_localizations.dart';
|
||||||
import 'package:sf_shared/sf_shared.dart';
|
import 'package:sf_shared/sf_shared.dart';
|
||||||
import 'package:utils/utils.dart';
|
import 'package:utils/utils.dart';
|
||||||
|
|
||||||
class DeleteDeviceDialog extends ConsumerWidget {
|
class DeleteDeviceDialog extends ConsumerWidget {
|
||||||
|
|
||||||
|
final NavigationContract navigationContract;
|
||||||
final DeviceEntity device;
|
final DeviceEntity device;
|
||||||
|
|
||||||
const DeleteDeviceDialog({required this.device});
|
const DeleteDeviceDialog({
|
||||||
|
required this.navigationContract,
|
||||||
|
required this.device
|
||||||
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
@@ -21,15 +26,15 @@ class DeleteDeviceDialog extends ConsumerWidget {
|
|||||||
return Container(
|
return Container(
|
||||||
padding: SizeUtils.getByScreen(
|
padding: SizeUtils.getByScreen(
|
||||||
small: EdgeInsets.symmetric(horizontal: 32, vertical: 30),
|
small: EdgeInsets.symmetric(horizontal: 32, vertical: 30),
|
||||||
big: EdgeInsets.symmetric(horizontal: 30, vertical: 28)
|
big: EdgeInsets.symmetric(horizontal: 24, vertical: 18)
|
||||||
),
|
),
|
||||||
width: SizeUtils.getByScreen(small: 360, big: 350),
|
width: SizeUtils.getByScreen(small: 360, big: 350),
|
||||||
height: SizeUtils.getByScreen(small: 195, big: 185),
|
height: SizeUtils.getByScreen(small: 184, big: 160),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Text(context.translate(I18n.deleteDeviceDialog),
|
Text(context.translate(I18n.deleteDeviceDialog),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: TextStyle(fontSize: SizeUtils.getByScreen(small: 19, big: 18)),
|
style: TextStyle(fontSize: SizeUtils.getByScreen(small: 17, big: 16)),
|
||||||
),
|
),
|
||||||
SizedBox(height: SizeUtils.getByScreen(small: 28, big: 27)),
|
SizedBox(height: SizeUtils.getByScreen(small: 28, big: 27)),
|
||||||
Row(
|
Row(
|
||||||
@@ -46,7 +51,20 @@ class DeleteDeviceDialog extends ConsumerWidget {
|
|||||||
Expanded(child: PrimaryButton(
|
Expanded(child: PrimaryButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
await vm.deleteDevice(device);
|
await vm.deleteDevice(device);
|
||||||
Navigator.pop(context);
|
|
||||||
|
final isComplete = ref.read(
|
||||||
|
linkedDevicesViewModelProvider.select((s)=>s.isComplete)
|
||||||
|
);
|
||||||
|
if (isComplete) {
|
||||||
|
Navigator.pop(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
final noMoreDevices = ref.read(
|
||||||
|
linkedDevicesViewModelProvider.select((s)=>s.linkedDevices)
|
||||||
|
).isEmpty;
|
||||||
|
if (noMoreDevices) {
|
||||||
|
navigationContract.goTo(AppRoutes.legacyDeviceSetup);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
text: context.translate(I18n.delete),
|
text: context.translate(I18n.delete),
|
||||||
color: theme.getColorFor(ThemeCode.legacyPrimary),
|
color: theme.getColorFor(ThemeCode.legacyPrimary),
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ class PersonalDataScreen extends ConsumerWidget {
|
|||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Text(context.translate(I18n.personalDataMessage)),
|
Text(context.translate(I18n.personalDataMessage)),
|
||||||
const SizedBox(height: 14),
|
const SizedBox(height: 4),
|
||||||
const _SaveButton(),
|
const _SaveButton(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -169,12 +169,33 @@ class _PhoneField extends ConsumerWidget {
|
|||||||
final hint = ref.watch(
|
final hint = ref.watch(
|
||||||
personalDataViewModelProvider.select((s) => s.user?.phone ?? ''),
|
personalDataViewModelProvider.select((s) => s.user?.phone ?? ''),
|
||||||
);
|
);
|
||||||
|
final dialCode = ref.read(
|
||||||
|
personalDataViewModelProvider.select((s)=>s.dialCode)
|
||||||
|
);
|
||||||
|
|
||||||
return CustomTextField(
|
return Row(
|
||||||
controller: vm.phoneController,
|
crossAxisAlignment: CrossAxisAlignment.end,
|
||||||
hint: hint,
|
children: [
|
||||||
label: context.translate(I18n.phoneLabel),
|
CountryPrefixPicker(
|
||||||
keyboardType: TextInputType.phone,
|
headerText: context.translate(I18n.selectYourCountry),
|
||||||
|
initialSelection: dialCode,
|
||||||
|
onChanged: (country) {
|
||||||
|
vm.updateDialCode(
|
||||||
|
country.dialCode ?? dialCode,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
width: 80,
|
||||||
|
),
|
||||||
|
SizedBox(width: 8),
|
||||||
|
Expanded(
|
||||||
|
child: CustomTextField(
|
||||||
|
controller: vm.phoneController,
|
||||||
|
hint: hint,
|
||||||
|
label: context.translate(I18n.phoneLabel),
|
||||||
|
keyboardType: TextInputType.phone,
|
||||||
|
)
|
||||||
|
),
|
||||||
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,12 +39,26 @@ class PersonalDataViewModel extends Notifier<PersonalDataViewState> {
|
|||||||
state = state.copyWith(user: user, isLoading: false);
|
state = state.copyWith(user: user, isLoading: false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void updateDialCode(String value) {
|
||||||
|
if (value == state.dialCode) return;
|
||||||
|
|
||||||
|
state = state.copyWith(
|
||||||
|
dialCode: value,
|
||||||
|
errorMessage: '',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
bool get _hasChanges =>
|
bool get _hasChanges =>
|
||||||
firstNameController.text.trim().isNotEmpty ||
|
firstNameController.text.trim().isNotEmpty ||
|
||||||
lastNameController.text.trim().isNotEmpty ||
|
lastNameController.text.trim().isNotEmpty ||
|
||||||
phoneController.text.trim().isNotEmpty;
|
phoneController.text.trim().isNotEmpty;
|
||||||
|
|
||||||
UpdateUserRequestEntity _toRequest() {
|
UpdateUserRequestEntity _toRequest() {
|
||||||
|
final dialCode = state.dialCode;
|
||||||
|
final fullPhone = phoneController.text.trim().isNotEmpty
|
||||||
|
? dialCode+phoneController.text.trim()
|
||||||
|
: null;
|
||||||
|
|
||||||
return UpdateUserRequestEntity(
|
return UpdateUserRequestEntity(
|
||||||
firstName: firstNameController.text.trim().isNotEmpty
|
firstName: firstNameController.text.trim().isNotEmpty
|
||||||
? firstNameController.text.trim()
|
? firstNameController.text.trim()
|
||||||
@@ -52,9 +66,7 @@ class PersonalDataViewModel extends Notifier<PersonalDataViewState> {
|
|||||||
lastName: lastNameController.text.trim().isNotEmpty
|
lastName: lastNameController.text.trim().isNotEmpty
|
||||||
? lastNameController.text.trim()
|
? lastNameController.text.trim()
|
||||||
: null,
|
: null,
|
||||||
phone: phoneController.text.trim().isNotEmpty
|
phone: fullPhone,
|
||||||
? phoneController.text.trim()
|
|
||||||
: null,
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ abstract class PersonalDataViewState with _$PersonalDataViewState {
|
|||||||
const factory PersonalDataViewState({
|
const factory PersonalDataViewState({
|
||||||
@Default(true) bool isLoading,
|
@Default(true) bool isLoading,
|
||||||
@Default(false) bool isComplete,
|
@Default(false) bool isComplete,
|
||||||
|
@Default('+34') String dialCode,
|
||||||
UserEntity? user,
|
UserEntity? user,
|
||||||
@Default('') String errorMessage,
|
@Default('') String errorMessage,
|
||||||
}) = _PersonalDataViewState;
|
}) = _PersonalDataViewState;
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ T _$identity<T>(T value) => value;
|
|||||||
/// @nodoc
|
/// @nodoc
|
||||||
mixin _$PersonalDataViewState {
|
mixin _$PersonalDataViewState {
|
||||||
|
|
||||||
bool get isLoading; bool get isComplete; UserEntity? get user; String get errorMessage;
|
bool get isLoading; bool get isComplete; String get dialCode; UserEntity? get user; String get errorMessage;
|
||||||
/// Create a copy of PersonalDataViewState
|
/// Create a copy of PersonalDataViewState
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
@@ -25,16 +25,16 @@ $PersonalDataViewStateCopyWith<PersonalDataViewState> get copyWith => _$Personal
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) {
|
bool operator ==(Object other) {
|
||||||
return identical(this, other) || (other.runtimeType == runtimeType&&other is PersonalDataViewState&&(identical(other.isLoading, isLoading) || other.isLoading == isLoading)&&(identical(other.isComplete, isComplete) || other.isComplete == isComplete)&&(identical(other.user, user) || other.user == user)&&(identical(other.errorMessage, errorMessage) || other.errorMessage == errorMessage));
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is PersonalDataViewState&&(identical(other.isLoading, isLoading) || other.isLoading == isLoading)&&(identical(other.isComplete, isComplete) || other.isComplete == isComplete)&&(identical(other.dialCode, dialCode) || other.dialCode == dialCode)&&(identical(other.user, user) || other.user == user)&&(identical(other.errorMessage, errorMessage) || other.errorMessage == errorMessage));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode => Object.hash(runtimeType,isLoading,isComplete,user,errorMessage);
|
int get hashCode => Object.hash(runtimeType,isLoading,isComplete,dialCode,user,errorMessage);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
return 'PersonalDataViewState(isLoading: $isLoading, isComplete: $isComplete, user: $user, errorMessage: $errorMessage)';
|
return 'PersonalDataViewState(isLoading: $isLoading, isComplete: $isComplete, dialCode: $dialCode, user: $user, errorMessage: $errorMessage)';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ abstract mixin class $PersonalDataViewStateCopyWith<$Res> {
|
|||||||
factory $PersonalDataViewStateCopyWith(PersonalDataViewState value, $Res Function(PersonalDataViewState) _then) = _$PersonalDataViewStateCopyWithImpl;
|
factory $PersonalDataViewStateCopyWith(PersonalDataViewState value, $Res Function(PersonalDataViewState) _then) = _$PersonalDataViewStateCopyWithImpl;
|
||||||
@useResult
|
@useResult
|
||||||
$Res call({
|
$Res call({
|
||||||
bool isLoading, bool isComplete, UserEntity? user, String errorMessage
|
bool isLoading, bool isComplete, String dialCode, UserEntity? user, String errorMessage
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -62,11 +62,12 @@ class _$PersonalDataViewStateCopyWithImpl<$Res>
|
|||||||
|
|
||||||
/// Create a copy of PersonalDataViewState
|
/// Create a copy of PersonalDataViewState
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@pragma('vm:prefer-inline') @override $Res call({Object? isLoading = null,Object? isComplete = null,Object? user = freezed,Object? errorMessage = null,}) {
|
@pragma('vm:prefer-inline') @override $Res call({Object? isLoading = null,Object? isComplete = null,Object? dialCode = null,Object? user = freezed,Object? errorMessage = null,}) {
|
||||||
return _then(_self.copyWith(
|
return _then(_self.copyWith(
|
||||||
isLoading: null == isLoading ? _self.isLoading : isLoading // ignore: cast_nullable_to_non_nullable
|
isLoading: null == isLoading ? _self.isLoading : isLoading // ignore: cast_nullable_to_non_nullable
|
||||||
as bool,isComplete: null == isComplete ? _self.isComplete : isComplete // ignore: cast_nullable_to_non_nullable
|
as bool,isComplete: null == isComplete ? _self.isComplete : isComplete // ignore: cast_nullable_to_non_nullable
|
||||||
as bool,user: freezed == user ? _self.user : user // ignore: cast_nullable_to_non_nullable
|
as bool,dialCode: null == dialCode ? _self.dialCode : dialCode // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,user: freezed == user ? _self.user : user // ignore: cast_nullable_to_non_nullable
|
||||||
as UserEntity?,errorMessage: null == errorMessage ? _self.errorMessage : errorMessage // ignore: cast_nullable_to_non_nullable
|
as UserEntity?,errorMessage: null == errorMessage ? _self.errorMessage : errorMessage // ignore: cast_nullable_to_non_nullable
|
||||||
as String,
|
as String,
|
||||||
));
|
));
|
||||||
@@ -165,10 +166,10 @@ return $default(_that);case _:
|
|||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
|
|
||||||
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( bool isLoading, bool isComplete, UserEntity? user, String errorMessage)? $default,{required TResult orElse(),}) {final _that = this;
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( bool isLoading, bool isComplete, String dialCode, UserEntity? user, String errorMessage)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
switch (_that) {
|
switch (_that) {
|
||||||
case _PersonalDataViewState() when $default != null:
|
case _PersonalDataViewState() when $default != null:
|
||||||
return $default(_that.isLoading,_that.isComplete,_that.user,_that.errorMessage);case _:
|
return $default(_that.isLoading,_that.isComplete,_that.dialCode,_that.user,_that.errorMessage);case _:
|
||||||
return orElse();
|
return orElse();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -186,10 +187,10 @@ return $default(_that.isLoading,_that.isComplete,_that.user,_that.errorMessage);
|
|||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
|
|
||||||
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( bool isLoading, bool isComplete, UserEntity? user, String errorMessage) $default,) {final _that = this;
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( bool isLoading, bool isComplete, String dialCode, UserEntity? user, String errorMessage) $default,) {final _that = this;
|
||||||
switch (_that) {
|
switch (_that) {
|
||||||
case _PersonalDataViewState():
|
case _PersonalDataViewState():
|
||||||
return $default(_that.isLoading,_that.isComplete,_that.user,_that.errorMessage);case _:
|
return $default(_that.isLoading,_that.isComplete,_that.dialCode,_that.user,_that.errorMessage);case _:
|
||||||
throw StateError('Unexpected subclass');
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -206,10 +207,10 @@ return $default(_that.isLoading,_that.isComplete,_that.user,_that.errorMessage);
|
|||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
|
|
||||||
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( bool isLoading, bool isComplete, UserEntity? user, String errorMessage)? $default,) {final _that = this;
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( bool isLoading, bool isComplete, String dialCode, UserEntity? user, String errorMessage)? $default,) {final _that = this;
|
||||||
switch (_that) {
|
switch (_that) {
|
||||||
case _PersonalDataViewState() when $default != null:
|
case _PersonalDataViewState() when $default != null:
|
||||||
return $default(_that.isLoading,_that.isComplete,_that.user,_that.errorMessage);case _:
|
return $default(_that.isLoading,_that.isComplete,_that.dialCode,_that.user,_that.errorMessage);case _:
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -221,11 +222,12 @@ return $default(_that.isLoading,_that.isComplete,_that.user,_that.errorMessage);
|
|||||||
|
|
||||||
|
|
||||||
class _PersonalDataViewState implements PersonalDataViewState {
|
class _PersonalDataViewState implements PersonalDataViewState {
|
||||||
const _PersonalDataViewState({this.isLoading = true, this.isComplete = false, this.user, this.errorMessage = ''});
|
const _PersonalDataViewState({this.isLoading = true, this.isComplete = false, this.dialCode = '+34', this.user, this.errorMessage = ''});
|
||||||
|
|
||||||
|
|
||||||
@override@JsonKey() final bool isLoading;
|
@override@JsonKey() final bool isLoading;
|
||||||
@override@JsonKey() final bool isComplete;
|
@override@JsonKey() final bool isComplete;
|
||||||
|
@override@JsonKey() final String dialCode;
|
||||||
@override final UserEntity? user;
|
@override final UserEntity? user;
|
||||||
@override@JsonKey() final String errorMessage;
|
@override@JsonKey() final String errorMessage;
|
||||||
|
|
||||||
@@ -239,16 +241,16 @@ _$PersonalDataViewStateCopyWith<_PersonalDataViewState> get copyWith => __$Perso
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) {
|
bool operator ==(Object other) {
|
||||||
return identical(this, other) || (other.runtimeType == runtimeType&&other is _PersonalDataViewState&&(identical(other.isLoading, isLoading) || other.isLoading == isLoading)&&(identical(other.isComplete, isComplete) || other.isComplete == isComplete)&&(identical(other.user, user) || other.user == user)&&(identical(other.errorMessage, errorMessage) || other.errorMessage == errorMessage));
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is _PersonalDataViewState&&(identical(other.isLoading, isLoading) || other.isLoading == isLoading)&&(identical(other.isComplete, isComplete) || other.isComplete == isComplete)&&(identical(other.dialCode, dialCode) || other.dialCode == dialCode)&&(identical(other.user, user) || other.user == user)&&(identical(other.errorMessage, errorMessage) || other.errorMessage == errorMessage));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode => Object.hash(runtimeType,isLoading,isComplete,user,errorMessage);
|
int get hashCode => Object.hash(runtimeType,isLoading,isComplete,dialCode,user,errorMessage);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
return 'PersonalDataViewState(isLoading: $isLoading, isComplete: $isComplete, user: $user, errorMessage: $errorMessage)';
|
return 'PersonalDataViewState(isLoading: $isLoading, isComplete: $isComplete, dialCode: $dialCode, user: $user, errorMessage: $errorMessage)';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -259,7 +261,7 @@ abstract mixin class _$PersonalDataViewStateCopyWith<$Res> implements $PersonalD
|
|||||||
factory _$PersonalDataViewStateCopyWith(_PersonalDataViewState value, $Res Function(_PersonalDataViewState) _then) = __$PersonalDataViewStateCopyWithImpl;
|
factory _$PersonalDataViewStateCopyWith(_PersonalDataViewState value, $Res Function(_PersonalDataViewState) _then) = __$PersonalDataViewStateCopyWithImpl;
|
||||||
@override @useResult
|
@override @useResult
|
||||||
$Res call({
|
$Res call({
|
||||||
bool isLoading, bool isComplete, UserEntity? user, String errorMessage
|
bool isLoading, bool isComplete, String dialCode, UserEntity? user, String errorMessage
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -276,11 +278,12 @@ class __$PersonalDataViewStateCopyWithImpl<$Res>
|
|||||||
|
|
||||||
/// Create a copy of PersonalDataViewState
|
/// Create a copy of PersonalDataViewState
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@override @pragma('vm:prefer-inline') $Res call({Object? isLoading = null,Object? isComplete = null,Object? user = freezed,Object? errorMessage = null,}) {
|
@override @pragma('vm:prefer-inline') $Res call({Object? isLoading = null,Object? isComplete = null,Object? dialCode = null,Object? user = freezed,Object? errorMessage = null,}) {
|
||||||
return _then(_PersonalDataViewState(
|
return _then(_PersonalDataViewState(
|
||||||
isLoading: null == isLoading ? _self.isLoading : isLoading // ignore: cast_nullable_to_non_nullable
|
isLoading: null == isLoading ? _self.isLoading : isLoading // ignore: cast_nullable_to_non_nullable
|
||||||
as bool,isComplete: null == isComplete ? _self.isComplete : isComplete // ignore: cast_nullable_to_non_nullable
|
as bool,isComplete: null == isComplete ? _self.isComplete : isComplete // ignore: cast_nullable_to_non_nullable
|
||||||
as bool,user: freezed == user ? _self.user : user // ignore: cast_nullable_to_non_nullable
|
as bool,dialCode: null == dialCode ? _self.dialCode : dialCode // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,user: freezed == user ? _self.user : user // ignore: cast_nullable_to_non_nullable
|
||||||
as UserEntity?,errorMessage: null == errorMessage ? _self.errorMessage : errorMessage // ignore: cast_nullable_to_non_nullable
|
as UserEntity?,errorMessage: null == errorMessage ? _self.errorMessage : errorMessage // ignore: cast_nullable_to_non_nullable
|
||||||
as String,
|
as String,
|
||||||
));
|
));
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ packages:
|
|||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.3"
|
version: "3.0.3"
|
||||||
build_runner:
|
build_runner:
|
||||||
dependency: transitive
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: build_runner
|
name: build_runner
|
||||||
sha256: b24597fceb695969d47025c958f3837f9f0122e237c6a22cb082a5ac66c3ca30
|
sha256: b24597fceb695969d47025c958f3837f9f0122e237c6a22cb082a5ac66c3ca30
|
||||||
@@ -338,10 +338,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: fl_chart
|
name: fl_chart
|
||||||
sha256: "7ca9a40f4eb85949190e54087be8b4d6ac09dc4c54238d782a34cf1f7c011de9"
|
sha256: b938f77d042cbcd822936a7a359a7235bad8bd72070de1f827efc2cc297ac888
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.1"
|
version: "1.2.0"
|
||||||
flutter:
|
flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -367,18 +367,18 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_riverpod
|
name: flutter_riverpod
|
||||||
sha256: e2026c72738a925a60db30258ff1f29974e40716749f3c9850aabf34ffc1a14c
|
sha256: "4e166be88e1dbbaa34a280bdb744aeae73b7ef25fdf8db7a3bb776760a3648e2"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.2.1"
|
version: "3.3.1"
|
||||||
flutter_svg:
|
flutter_svg:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_svg
|
name: flutter_svg
|
||||||
sha256: "87fbd7c534435b6c5d9d98b01e1fd527812b82e68ddd8bd35fc45ed0fa8f0a95"
|
sha256: "1ded017b39c8e15c8948ea855070a5ff8ff8b3d5e83f3446e02d6bb12add7ad9"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.3"
|
version: "2.2.4"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -620,10 +620,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: logger
|
name: logger
|
||||||
sha256: a7967e31b703831a893bbc3c3dd11db08126fe5f369b5c648a36f821979f5be3
|
sha256: "25aee487596a6257655a1e091ec2ae66bc30e7af663592cc3a27e6591e05035c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.6.2"
|
version: "2.7.0"
|
||||||
logging:
|
logging:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1257,10 +1257,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_graphics
|
name: vector_graphics
|
||||||
sha256: a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6
|
sha256: "7076216a10d5c390315fbe536a30f1254c341e7543e6c4c8a815e591307772b1"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.19"
|
version: "1.1.20"
|
||||||
vector_graphics_codec:
|
vector_graphics_codec:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1361,10 +1361,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: webview_flutter_wkwebview
|
name: webview_flutter_wkwebview
|
||||||
sha256: fc0af89d403e1c053f03d023d97550412fa79f35332e2939514c82e6fe633198
|
sha256: "2df8fd9ada04d699b9db8e79aa783a16e5d89b69e5b74009b87e16b59912cf98"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.23.8"
|
version: "3.24.0"
|
||||||
wkt_parser:
|
wkt_parser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ dependencies:
|
|||||||
uuid: ^4.5.2
|
uuid: ^4.5.2
|
||||||
qr_flutter: ^4.1.0
|
qr_flutter: ^4.1.0
|
||||||
url_launcher: ^6.3.2
|
url_launcher: ^6.3.2
|
||||||
|
build_runner: ^2.7.1
|
||||||
|
|
||||||
# The following adds the Cupertino Icons font to your application.
|
# The following adds the Cupertino Icons font to your application.
|
||||||
# Use with the CupertinoIcons class for iOS style icons.
|
# Use with the CupertinoIcons class for iOS style icons.
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
export 'src/core/data/models/latest_positions_response_model.dart';
|
||||||
|
export 'src/core/domain/entities/address_entity.dart';
|
||||||
|
export 'src/core/domain/entities/network_entity.dart';
|
||||||
|
export 'src/core/domain/entities/position_entity.dart';
|
||||||
|
export 'src/core/utils/battery_utils.dart';
|
||||||
|
export 'src/core/utils/date_format_utils.dart';
|
||||||
export 'src/features/control_panel/control_panel_builder.dart';
|
export 'src/features/control_panel/control_panel_builder.dart';
|
||||||
export 'src/features/control_panel/presentation/state/control_panel_view_model.dart';
|
export 'src/features/control_panel/presentation/state/control_panel_view_model.dart';
|
||||||
export 'src/shared/widgets/device_map.dart';
|
export 'src/shared/widgets/device_map.dart';
|
||||||
@@ -72,11 +72,11 @@ extension LatestPositionsResponseModelMapper on LatestPositionsResponseModel {
|
|||||||
@freezed
|
@freezed
|
||||||
abstract class LatestPositionsAddressResponseModel with _$LatestPositionsAddressResponseModel {
|
abstract class LatestPositionsAddressResponseModel with _$LatestPositionsAddressResponseModel {
|
||||||
const factory LatestPositionsAddressResponseModel({
|
const factory LatestPositionsAddressResponseModel({
|
||||||
required String street,
|
String? street,
|
||||||
required String city,
|
String? city,
|
||||||
required String province,
|
String? province,
|
||||||
required String state,
|
String? state,
|
||||||
required String country,
|
String? country,
|
||||||
}) = _LatestPositionsAddressResponseModel;
|
}) = _LatestPositionsAddressResponseModel;
|
||||||
|
|
||||||
factory LatestPositionsAddressResponseModel.fromJson(Map<String, dynamic> json) =>
|
factory LatestPositionsAddressResponseModel.fromJson(Map<String, dynamic> json) =>
|
||||||
|
|||||||
@@ -628,7 +628,7 @@ $LatestPositionsAddressResponseModelCopyWith<$Res>? get address {
|
|||||||
/// @nodoc
|
/// @nodoc
|
||||||
mixin _$LatestPositionsAddressResponseModel {
|
mixin _$LatestPositionsAddressResponseModel {
|
||||||
|
|
||||||
String get street; String get city; String get province; String get state; String get country;
|
String? get street; String? get city; String? get province; String? get state; String? get country;
|
||||||
/// Create a copy of LatestPositionsAddressResponseModel
|
/// Create a copy of LatestPositionsAddressResponseModel
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
@@ -661,7 +661,7 @@ abstract mixin class $LatestPositionsAddressResponseModelCopyWith<$Res> {
|
|||||||
factory $LatestPositionsAddressResponseModelCopyWith(LatestPositionsAddressResponseModel value, $Res Function(LatestPositionsAddressResponseModel) _then) = _$LatestPositionsAddressResponseModelCopyWithImpl;
|
factory $LatestPositionsAddressResponseModelCopyWith(LatestPositionsAddressResponseModel value, $Res Function(LatestPositionsAddressResponseModel) _then) = _$LatestPositionsAddressResponseModelCopyWithImpl;
|
||||||
@useResult
|
@useResult
|
||||||
$Res call({
|
$Res call({
|
||||||
String street, String city, String province, String state, String country
|
String? street, String? city, String? province, String? state, String? country
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -678,14 +678,14 @@ class _$LatestPositionsAddressResponseModelCopyWithImpl<$Res>
|
|||||||
|
|
||||||
/// Create a copy of LatestPositionsAddressResponseModel
|
/// Create a copy of LatestPositionsAddressResponseModel
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@pragma('vm:prefer-inline') @override $Res call({Object? street = null,Object? city = null,Object? province = null,Object? state = null,Object? country = null,}) {
|
@pragma('vm:prefer-inline') @override $Res call({Object? street = freezed,Object? city = freezed,Object? province = freezed,Object? state = freezed,Object? country = freezed,}) {
|
||||||
return _then(_self.copyWith(
|
return _then(_self.copyWith(
|
||||||
street: null == street ? _self.street : street // ignore: cast_nullable_to_non_nullable
|
street: freezed == street ? _self.street : street // ignore: cast_nullable_to_non_nullable
|
||||||
as String,city: null == city ? _self.city : city // ignore: cast_nullable_to_non_nullable
|
as String?,city: freezed == city ? _self.city : city // ignore: cast_nullable_to_non_nullable
|
||||||
as String,province: null == province ? _self.province : province // ignore: cast_nullable_to_non_nullable
|
as String?,province: freezed == province ? _self.province : province // ignore: cast_nullable_to_non_nullable
|
||||||
as String,state: null == state ? _self.state : state // ignore: cast_nullable_to_non_nullable
|
as String?,state: freezed == state ? _self.state : state // ignore: cast_nullable_to_non_nullable
|
||||||
as String,country: null == country ? _self.country : country // ignore: cast_nullable_to_non_nullable
|
as String?,country: freezed == country ? _self.country : country // ignore: cast_nullable_to_non_nullable
|
||||||
as String,
|
as String?,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -770,7 +770,7 @@ return $default(_that);case _:
|
|||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
|
|
||||||
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String street, String city, String province, String state, String country)? $default,{required TResult orElse(),}) {final _that = this;
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String? street, String? city, String? province, String? state, String? country)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
switch (_that) {
|
switch (_that) {
|
||||||
case _LatestPositionsAddressResponseModel() when $default != null:
|
case _LatestPositionsAddressResponseModel() when $default != null:
|
||||||
return $default(_that.street,_that.city,_that.province,_that.state,_that.country);case _:
|
return $default(_that.street,_that.city,_that.province,_that.state,_that.country);case _:
|
||||||
@@ -791,7 +791,7 @@ return $default(_that.street,_that.city,_that.province,_that.state,_that.country
|
|||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
|
|
||||||
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String street, String city, String province, String state, String country) $default,) {final _that = this;
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String? street, String? city, String? province, String? state, String? country) $default,) {final _that = this;
|
||||||
switch (_that) {
|
switch (_that) {
|
||||||
case _LatestPositionsAddressResponseModel():
|
case _LatestPositionsAddressResponseModel():
|
||||||
return $default(_that.street,_that.city,_that.province,_that.state,_that.country);case _:
|
return $default(_that.street,_that.city,_that.province,_that.state,_that.country);case _:
|
||||||
@@ -811,7 +811,7 @@ return $default(_that.street,_that.city,_that.province,_that.state,_that.country
|
|||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
|
|
||||||
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String street, String city, String province, String state, String country)? $default,) {final _that = this;
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String? street, String? city, String? province, String? state, String? country)? $default,) {final _that = this;
|
||||||
switch (_that) {
|
switch (_that) {
|
||||||
case _LatestPositionsAddressResponseModel() when $default != null:
|
case _LatestPositionsAddressResponseModel() when $default != null:
|
||||||
return $default(_that.street,_that.city,_that.province,_that.state,_that.country);case _:
|
return $default(_that.street,_that.city,_that.province,_that.state,_that.country);case _:
|
||||||
@@ -826,14 +826,14 @@ return $default(_that.street,_that.city,_that.province,_that.state,_that.country
|
|||||||
@JsonSerializable()
|
@JsonSerializable()
|
||||||
|
|
||||||
class _LatestPositionsAddressResponseModel implements LatestPositionsAddressResponseModel {
|
class _LatestPositionsAddressResponseModel implements LatestPositionsAddressResponseModel {
|
||||||
const _LatestPositionsAddressResponseModel({required this.street, required this.city, required this.province, required this.state, required this.country});
|
const _LatestPositionsAddressResponseModel({this.street, this.city, this.province, this.state, this.country});
|
||||||
factory _LatestPositionsAddressResponseModel.fromJson(Map<String, dynamic> json) => _$LatestPositionsAddressResponseModelFromJson(json);
|
factory _LatestPositionsAddressResponseModel.fromJson(Map<String, dynamic> json) => _$LatestPositionsAddressResponseModelFromJson(json);
|
||||||
|
|
||||||
@override final String street;
|
@override final String? street;
|
||||||
@override final String city;
|
@override final String? city;
|
||||||
@override final String province;
|
@override final String? province;
|
||||||
@override final String state;
|
@override final String? state;
|
||||||
@override final String country;
|
@override final String? country;
|
||||||
|
|
||||||
/// Create a copy of LatestPositionsAddressResponseModel
|
/// Create a copy of LatestPositionsAddressResponseModel
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@@ -868,7 +868,7 @@ abstract mixin class _$LatestPositionsAddressResponseModelCopyWith<$Res> impleme
|
|||||||
factory _$LatestPositionsAddressResponseModelCopyWith(_LatestPositionsAddressResponseModel value, $Res Function(_LatestPositionsAddressResponseModel) _then) = __$LatestPositionsAddressResponseModelCopyWithImpl;
|
factory _$LatestPositionsAddressResponseModelCopyWith(_LatestPositionsAddressResponseModel value, $Res Function(_LatestPositionsAddressResponseModel) _then) = __$LatestPositionsAddressResponseModelCopyWithImpl;
|
||||||
@override @useResult
|
@override @useResult
|
||||||
$Res call({
|
$Res call({
|
||||||
String street, String city, String province, String state, String country
|
String? street, String? city, String? province, String? state, String? country
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -885,14 +885,14 @@ class __$LatestPositionsAddressResponseModelCopyWithImpl<$Res>
|
|||||||
|
|
||||||
/// Create a copy of LatestPositionsAddressResponseModel
|
/// Create a copy of LatestPositionsAddressResponseModel
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@override @pragma('vm:prefer-inline') $Res call({Object? street = null,Object? city = null,Object? province = null,Object? state = null,Object? country = null,}) {
|
@override @pragma('vm:prefer-inline') $Res call({Object? street = freezed,Object? city = freezed,Object? province = freezed,Object? state = freezed,Object? country = freezed,}) {
|
||||||
return _then(_LatestPositionsAddressResponseModel(
|
return _then(_LatestPositionsAddressResponseModel(
|
||||||
street: null == street ? _self.street : street // ignore: cast_nullable_to_non_nullable
|
street: freezed == street ? _self.street : street // ignore: cast_nullable_to_non_nullable
|
||||||
as String,city: null == city ? _self.city : city // ignore: cast_nullable_to_non_nullable
|
as String?,city: freezed == city ? _self.city : city // ignore: cast_nullable_to_non_nullable
|
||||||
as String,province: null == province ? _self.province : province // ignore: cast_nullable_to_non_nullable
|
as String?,province: freezed == province ? _self.province : province // ignore: cast_nullable_to_non_nullable
|
||||||
as String,state: null == state ? _self.state : state // ignore: cast_nullable_to_non_nullable
|
as String?,state: freezed == state ? _self.state : state // ignore: cast_nullable_to_non_nullable
|
||||||
as String,country: null == country ? _self.country : country // ignore: cast_nullable_to_non_nullable
|
as String?,country: freezed == country ? _self.country : country // ignore: cast_nullable_to_non_nullable
|
||||||
as String,
|
as String?,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,11 +81,11 @@ Map<String, dynamic> _$LatestPositionsItemResponseModelToJson(
|
|||||||
_LatestPositionsAddressResponseModel
|
_LatestPositionsAddressResponseModel
|
||||||
_$LatestPositionsAddressResponseModelFromJson(Map<String, dynamic> json) =>
|
_$LatestPositionsAddressResponseModelFromJson(Map<String, dynamic> json) =>
|
||||||
_LatestPositionsAddressResponseModel(
|
_LatestPositionsAddressResponseModel(
|
||||||
street: json['street'] as String,
|
street: json['street'] as String?,
|
||||||
city: json['city'] as String,
|
city: json['city'] as String?,
|
||||||
province: json['province'] as String,
|
province: json['province'] as String?,
|
||||||
state: json['state'] as String,
|
state: json['state'] as String?,
|
||||||
country: json['country'] as String,
|
country: json['country'] as String?,
|
||||||
);
|
);
|
||||||
|
|
||||||
Map<String, dynamic> _$LatestPositionsAddressResponseModelToJson(
|
Map<String, dynamic> _$LatestPositionsAddressResponseModelToJson(
|
||||||
|
|||||||
@@ -258,7 +258,6 @@ class _MapSection extends ConsumerWidget {
|
|||||||
child: DeviceMap(
|
child: DeviceMap(
|
||||||
selectedPosition: state.selectedPosition,
|
selectedPosition: state.selectedPosition,
|
||||||
selectedDevice: state.selectedDevice,
|
selectedDevice: state.selectedDevice,
|
||||||
markerSize: 40,
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -69,8 +69,9 @@ class ControlPanelViewModel extends Notifier<ControlPanelViewState> {
|
|||||||
final latestPositions = positionLists
|
final latestPositions = positionLists
|
||||||
.where((list) => list.isNotEmpty)
|
.where((list) => list.isNotEmpty)
|
||||||
.map((list) {
|
.map((list) {
|
||||||
final valid = list.where((p) => p.latitude != 0 || p.longitude != 0);
|
final valid = list.where((p) => p.latitude != 0 || p.longitude != 0).toList()
|
||||||
return valid.isNotEmpty ? valid.last : list.last;
|
..sort((a, b) => b.createdAt.compareTo(a.createdAt));
|
||||||
|
return valid.isNotEmpty ? valid.first : list.last;
|
||||||
})
|
})
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
@@ -92,6 +93,7 @@ class ControlPanelViewModel extends Notifier<ControlPanelViewState> {
|
|||||||
|
|
||||||
Future<void> refreshPositions() async {
|
Future<void> refreshPositions() async {
|
||||||
if (state.devices.isEmpty) return;
|
if (state.devices.isEmpty) return;
|
||||||
|
state = state.copyWith(errorMessage: '');
|
||||||
try {
|
try {
|
||||||
final positionLists = await Future.wait(
|
final positionLists = await Future.wait(
|
||||||
state.devices.map(
|
state.devices.map(
|
||||||
|
|||||||
@@ -5,25 +5,21 @@ import 'package:design_system/design_system.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_map/flutter_map.dart';
|
import 'package:flutter_map/flutter_map.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
|
||||||
import 'package:latlong2/latlong.dart';
|
import 'package:latlong2/latlong.dart';
|
||||||
|
import 'package:legacy_shared/legacy_shared.dart';
|
||||||
import 'package:sf_shared/sf_shared.dart';
|
import 'package:sf_shared/sf_shared.dart';
|
||||||
import 'package:utils/utils.dart';
|
|
||||||
|
|
||||||
const _defaultCenter = LatLng(40.4168, -3.7038);
|
const _defaultCenter = LatLng(40.4168, -3.7038);
|
||||||
const _defaultZoom = 15.0;
|
const _defaultZoom = 15.0;
|
||||||
const _tileServerUrl = 'https://tile.openstreetmap.org/{z}/{x}/{y}.png';
|
|
||||||
|
|
||||||
class DeviceMap extends ConsumerStatefulWidget {
|
class DeviceMap extends ConsumerStatefulWidget {
|
||||||
final PositionEntity? selectedPosition;
|
final PositionEntity? selectedPosition;
|
||||||
final DeviceEntity? selectedDevice;
|
final DeviceEntity? selectedDevice;
|
||||||
final double markerSize;
|
|
||||||
|
|
||||||
const DeviceMap({
|
const DeviceMap({
|
||||||
super.key,
|
super.key,
|
||||||
required this.selectedPosition,
|
required this.selectedPosition,
|
||||||
required this.selectedDevice,
|
required this.selectedDevice,
|
||||||
this.markerSize = 80,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -62,6 +58,8 @@ class _DeviceMapState extends ConsumerState<DeviceMap> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
final mapStyle = ref.watch(mapStyleProvider);
|
||||||
|
final primaryColor = ref.read(themePortProvider).getColorFor(ThemeCode.legacyPrimary);
|
||||||
final initialCenter = widget.selectedPosition != null
|
final initialCenter = widget.selectedPosition != null
|
||||||
? LatLng(
|
? LatLng(
|
||||||
widget.selectedPosition!.latitude,
|
widget.selectedPosition!.latitude,
|
||||||
@@ -78,7 +76,7 @@ class _DeviceMapState extends ConsumerState<DeviceMap> {
|
|||||||
),
|
),
|
||||||
children: [
|
children: [
|
||||||
TileLayer(
|
TileLayer(
|
||||||
urlTemplate: _tileServerUrl,
|
urlTemplate: mapStyle.urlTemplate,
|
||||||
userAgentPackageName: 'com.savefamily.sf_platform',
|
userAgentPackageName: 'com.savefamily.sf_platform',
|
||||||
),
|
),
|
||||||
MarkerLayer(
|
MarkerLayer(
|
||||||
@@ -89,15 +87,9 @@ class _DeviceMapState extends ConsumerState<DeviceMap> {
|
|||||||
widget.selectedPosition!.latitude,
|
widget.selectedPosition!.latitude,
|
||||||
widget.selectedPosition!.longitude,
|
widget.selectedPosition!.longitude,
|
||||||
),
|
),
|
||||||
width: widget.markerSize * 2.5,
|
width: 100,
|
||||||
height: widget.markerSize * 1.8,
|
height: 100,
|
||||||
child: Align(
|
child: PulsingLocationMarker(color: primaryColor),
|
||||||
alignment: Alignment.topCenter,
|
|
||||||
child: SvgPicture.asset(
|
|
||||||
'assets/shared/images/location.svg',
|
|
||||||
height: widget.markerSize,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
rotate: true,
|
rotate: true,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -107,7 +99,7 @@ class _DeviceMapState extends ConsumerState<DeviceMap> {
|
|||||||
alignment: Alignment.bottomCenter,
|
alignment: Alignment.bottomCenter,
|
||||||
child: LocationBanner(
|
child: LocationBanner(
|
||||||
position: widget.selectedPosition!,
|
position: widget.selectedPosition!,
|
||||||
battery: widget.selectedDevice?.battery ?? 0,
|
device: widget.selectedDevice,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -117,86 +109,156 @@ class _DeviceMapState extends ConsumerState<DeviceMap> {
|
|||||||
|
|
||||||
class LocationBanner extends ConsumerWidget {
|
class LocationBanner extends ConsumerWidget {
|
||||||
final PositionEntity position;
|
final PositionEntity position;
|
||||||
final int battery;
|
final DeviceEntity? device;
|
||||||
|
|
||||||
const LocationBanner({
|
const LocationBanner({
|
||||||
super.key,
|
super.key,
|
||||||
required this.position,
|
required this.position,
|
||||||
required this.battery,
|
this.device,
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
final theme = ref.read(themePortProvider);
|
final theme = ref.read(themePortProvider);
|
||||||
final batteryIcon = toBatteryIcon(battery);
|
final primaryColor = theme.getColorFor(ThemeCode.legacyPrimary);
|
||||||
|
final batteryValue = device?.battery ?? 0;
|
||||||
|
final batteryIcon = toBatteryIcon(batteryValue);
|
||||||
final dateText = formatPositionDate(position.positionDate);
|
final dateText = formatPositionDate(position.positionDate);
|
||||||
|
|
||||||
|
final localDevice = device;
|
||||||
|
final name = localDevice?.carrierName;
|
||||||
|
final deviceName = localDevice != null
|
||||||
|
? (name != null && name.isNotEmpty ? name : localDevice.identificator)
|
||||||
|
: null;
|
||||||
|
final initial = deviceName != null && deviceName.isNotEmpty
|
||||||
|
? deviceName[0].toUpperCase()
|
||||||
|
: null;
|
||||||
|
|
||||||
final addressText = [
|
final addressText = [
|
||||||
position.address?.street,
|
position.address?.street,
|
||||||
position.address?.province,
|
position.address?.province,
|
||||||
position.address?.country,
|
|
||||||
].whereType<String>().where((s) => s.isNotEmpty).join(', ');
|
].whereType<String>().where((s) => s.isNotEmpty).join(', ');
|
||||||
|
|
||||||
return Container(
|
return LayoutBuilder(
|
||||||
height: SizeUtils.getByScreen(small: 60, big: 58),
|
builder: (context, constraints) {
|
||||||
width: SizeUtils.getByScreen(small: 300, big: 298),
|
final isCompact = constraints.maxWidth < 320;
|
||||||
margin: EdgeInsets.only(
|
|
||||||
bottom: SizeUtils.getByScreen(small: 20, big: 16),
|
return Container(
|
||||||
),
|
width: isCompact ? constraints.maxWidth * 0.85 : 340,
|
||||||
decoration: BoxDecoration(
|
margin: EdgeInsets.only(bottom: isCompact ? 8 : 16),
|
||||||
color: theme.getColorFor(ThemeCode.backgroundPrimary),
|
padding: EdgeInsets.symmetric(
|
||||||
borderRadius: BorderRadius.all(
|
horizontal: isCompact ? 8 : 12,
|
||||||
Radius.circular(SizeUtils.getByScreen(small: 9, big: 8)),
|
vertical: isCompact ? 6 : 10,
|
||||||
),
|
|
||||||
),
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
Icon(
|
|
||||||
SFIcons.location,
|
|
||||||
size: SizeUtils.getByScreen(small: 40, big: 38),
|
|
||||||
color: theme.getColorFor(ThemeCode.legacyPrimary),
|
|
||||||
),
|
),
|
||||||
Expanded(
|
decoration: BoxDecoration(
|
||||||
child: Column(
|
color: Colors.white,
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
borderRadius: BorderRadius.circular(isCompact ? 10 : 16),
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
boxShadow: [
|
||||||
children: [
|
BoxShadow(
|
||||||
Text(
|
color: Colors.black.withValues(alpha: 0.1),
|
||||||
addressText,
|
blurRadius: isCompact ? 6 : 10,
|
||||||
overflow: TextOverflow.ellipsis,
|
offset: const Offset(0, 2),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
if (initial != null)
|
||||||
|
Container(
|
||||||
|
width: isCompact ? 30 : 42,
|
||||||
|
height: isCompact ? 30 : 42,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: primaryColor.withValues(alpha: 0.12),
|
||||||
|
shape: BoxShape.circle,
|
||||||
|
),
|
||||||
|
child: Center(
|
||||||
|
child: Text(
|
||||||
|
initial,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: isCompact ? 13 : 18,
|
||||||
|
fontWeight: FontWeight.w700,
|
||||||
|
color: primaryColor,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
Row(
|
SizedBox(width: isCompact ? 6 : 10),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
Flexible(
|
if (deviceName != null)
|
||||||
child: Text(
|
Text(
|
||||||
dateText,
|
deviceName,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: SizeUtils.getByScreen(small: 12, big: 11),
|
fontSize: isCompact ? 12 : 14,
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
color: Colors.grey.shade800,
|
||||||
),
|
),
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
),
|
),
|
||||||
),
|
if (addressText.isNotEmpty)
|
||||||
if (position.networks.isNotEmpty)
|
Padding(
|
||||||
Text(
|
padding: EdgeInsets.only(
|
||||||
' | ${position.networks.first.signal}',
|
top: deviceName != null ? 1 : 0),
|
||||||
style: TextStyle(
|
child: Text(
|
||||||
fontSize: SizeUtils.getByScreen(small: 12, big: 11),
|
addressText,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: isCompact ? 9 : 11,
|
||||||
|
color: Colors.grey.shade500,
|
||||||
|
),
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Icon(batteryIcon),
|
|
||||||
Text(
|
|
||||||
'$battery%',
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: SizeUtils.getByScreen(small: 12, big: 11),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
],
|
),
|
||||||
),
|
Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
batteryIcon,
|
||||||
|
size: isCompact ? 13 : 16,
|
||||||
|
color: batteryValue > 20
|
||||||
|
? primaryColor
|
||||||
|
: Colors.orange,
|
||||||
|
),
|
||||||
|
const SizedBox(width: 2),
|
||||||
|
Text(
|
||||||
|
'$batteryValue%',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: isCompact ? 10 : 12,
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
color: batteryValue > 20
|
||||||
|
? primaryColor
|
||||||
|
: Colors.orange,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
if (!isCompact)
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(top: 3),
|
||||||
|
child: Text(
|
||||||
|
dateText,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 10,
|
||||||
|
color: Colors.grey.shade400,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
],
|
);
|
||||||
),
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,4 +9,8 @@ export 'src/features/locate_device/locate_device_builder.dart';
|
|||||||
export 'src/features/health/health_builder.dart';
|
export 'src/features/health/health_builder.dart';
|
||||||
export 'src/features/rewards/rewards_builder.dart';
|
export 'src/features/rewards/rewards_builder.dart';
|
||||||
export 'src/features/activity_meter/activity_meter_builder.dart';
|
export 'src/features/activity_meter/activity_meter_builder.dart';
|
||||||
export 'src/features/apps_use/apps_use_builder.dart';
|
export 'src/features/apps_use/apps_use_builder.dart';
|
||||||
|
export 'src/features/apps_surveillance/apps_surveillance_builder.dart';
|
||||||
|
export 'src/features/volume_control/volume_control_builder.dart';
|
||||||
|
export 'src/features/call_history/call_history_builder.dart';
|
||||||
|
export 'src/features/background_image/background_image_builder.dart';
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import 'package:device_management/src/core/data/models/get_schedule_response_model.dart';
|
||||||
|
import 'package:device_management/src/core/data/models/upsert_schedule_request_model.dart';
|
||||||
|
|
||||||
|
import '../models/get_installed_apps_response_model.dart';
|
||||||
|
|
||||||
|
abstract class AppSurveillanceRemoteDatasource {
|
||||||
|
Future<GetInstalledAppsResponseModel> getInstalledApps({
|
||||||
|
required String deviceId
|
||||||
|
});
|
||||||
|
|
||||||
|
Future<GetScheduleResponseModel> getSchedule({required String deviceId});
|
||||||
|
|
||||||
|
Future<void> upsertSchedule({
|
||||||
|
required String deviceId,
|
||||||
|
required UpdateScheduleRequestModel request
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
import 'package:device_management/src/core/data/models/get_schedule_response_model.dart';
|
||||||
|
import 'package:device_management/src/core/data/models/upsert_schedule_request_model.dart';
|
||||||
|
import 'package:dio/dio.dart';
|
||||||
|
import 'package:legacy_shared/legacy_shared.dart';
|
||||||
|
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
||||||
|
|
||||||
|
import '../models/get_installed_apps_response_model.dart';
|
||||||
|
import 'apps_surveillance_remote_datasource.dart';
|
||||||
|
|
||||||
|
class AppSurveillanceRemoteDatasourceImpl
|
||||||
|
implements AppSurveillanceRemoteDatasource {
|
||||||
|
AppSurveillanceRemoteDatasourceImpl(this._repository);
|
||||||
|
|
||||||
|
final QuestiaRepository _repository;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<GetInstalledAppsResponseModel> getInstalledApps({
|
||||||
|
required String deviceId
|
||||||
|
}) async {
|
||||||
|
try {
|
||||||
|
final response = await _repository.get<Map<String, dynamic>>(
|
||||||
|
'/devices/identificator/$deviceId/installed-apps',
|
||||||
|
);
|
||||||
|
|
||||||
|
final data = response.data;
|
||||||
|
if (data == null || data.isEmpty) {
|
||||||
|
throw Exception(
|
||||||
|
'Empty response from /devices/$deviceId/installed-apps',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetInstalledAppsResponseModel.fromJson(data);
|
||||||
|
} on DioException catch (error) {
|
||||||
|
throw mapDioError(
|
||||||
|
error,
|
||||||
|
defaultMessage: 'Error getting installed apps',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<GetScheduleResponseModel> getSchedule({
|
||||||
|
required String deviceId
|
||||||
|
}) async {
|
||||||
|
try {
|
||||||
|
final response = await _repository.get<Map<String, dynamic>>(
|
||||||
|
'/devices/identificator/$deviceId/app-usage-schedules',
|
||||||
|
);
|
||||||
|
|
||||||
|
final data = response.data;
|
||||||
|
if (data == null || data.isEmpty) {
|
||||||
|
throw Exception(
|
||||||
|
'Empty response from /devices/$deviceId/app-usage-schedules',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetScheduleResponseModel.fromJson(data);
|
||||||
|
} on DioException catch (error) {
|
||||||
|
throw mapDioError(
|
||||||
|
error,
|
||||||
|
defaultMessage: 'Error getting activities schedule',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> upsertSchedule({
|
||||||
|
required String deviceId,
|
||||||
|
required UpdateScheduleRequestModel request
|
||||||
|
}) async {
|
||||||
|
await safeCall(
|
||||||
|
() => _repository.put<dynamic>(
|
||||||
|
'/devices/identificator/$deviceId/app-usage-schedules',
|
||||||
|
body: request.toJson(),
|
||||||
|
),
|
||||||
|
'Error updating activity schedule',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
import '../models/get_background_image_response_model.dart';
|
||||||
|
|
||||||
|
abstract class BackgroundImageRemoteDatasource {
|
||||||
|
Future<GetBackgroundImageResponseModel> getBackgroundImage();
|
||||||
|
|
||||||
|
Future<String> uploadImage({
|
||||||
|
required String path,
|
||||||
|
});
|
||||||
|
|
||||||
|
Future<void> setBackgroundImage({
|
||||||
|
required String deviceId,
|
||||||
|
required String photoId,
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
import 'package:dio/dio.dart';
|
||||||
|
import 'package:get_it/get_it.dart';
|
||||||
|
import 'package:legacy_shared/legacy_shared.dart';
|
||||||
|
import 'package:sf_infrastructure/configure_dependencies.dart';
|
||||||
|
|
||||||
|
import '../models/get_background_image_response_model.dart';
|
||||||
|
import 'background_image_remote_datasource.dart';
|
||||||
|
|
||||||
|
class BackgroundImageRemoteDatasourceImpl
|
||||||
|
implements BackgroundImageRemoteDatasource {
|
||||||
|
BackgroundImageRemoteDatasourceImpl(this._repository);
|
||||||
|
|
||||||
|
final QuestiaRepository _repository;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<GetBackgroundImageResponseModel> getBackgroundImage() async {
|
||||||
|
final response = await safeCall(
|
||||||
|
() => _repository.get<dynamic>('/photos/files'),
|
||||||
|
'Error getting background image',
|
||||||
|
);
|
||||||
|
|
||||||
|
final data = response.data;
|
||||||
|
if (data == null || (data is Map && data.isEmpty)) {
|
||||||
|
return const GetBackgroundImageResponseModel(items: []);
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetBackgroundImageResponseModel.fromJson(
|
||||||
|
data is Map<String, dynamic> ? data : data as Map<String, dynamic>,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<String> uploadImage({required String path}) async {
|
||||||
|
final formData = FormData.fromMap({
|
||||||
|
'file': await MultipartFile.fromFile(path, filename: 'photo.jpg'),
|
||||||
|
});
|
||||||
|
|
||||||
|
final dio = GetIt.I<Dio>();
|
||||||
|
dio.options.headers.remove('content-type');
|
||||||
|
try {
|
||||||
|
final response = await dio.post<dynamic>('/photos', data: formData);
|
||||||
|
|
||||||
|
final data = response.data;
|
||||||
|
if (data == null) {
|
||||||
|
throw Exception('Empty response from upload');
|
||||||
|
}
|
||||||
|
final map = data is Map<String, dynamic> ? data : <String, dynamic>{};
|
||||||
|
final id = map['id'] as String?;
|
||||||
|
if (id == null) {
|
||||||
|
throw Exception('No photo ID in upload response');
|
||||||
|
}
|
||||||
|
return id;
|
||||||
|
} on DioException catch (e) {
|
||||||
|
throw mapDioError(e, defaultMessage: 'Error uploading image');
|
||||||
|
} finally {
|
||||||
|
dio.options.headers['content-type'] = 'application/json';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> setBackgroundImage({
|
||||||
|
required String deviceId,
|
||||||
|
required String photoId,
|
||||||
|
}) async {
|
||||||
|
await safeCall(
|
||||||
|
() => _repository.put<dynamic>(
|
||||||
|
'/devices/$deviceId/background-image',
|
||||||
|
body: {'photoId': photoId},
|
||||||
|
),
|
||||||
|
'Error setting background image',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -68,17 +68,31 @@ class ContactsRemoteDatasourceImpl implements ContactsRemoteDatasource {
|
|||||||
required String deviceId,
|
required String deviceId,
|
||||||
required List<Map<String, String>> contacts,
|
required List<Map<String, String>> contacts,
|
||||||
}) async {
|
}) async {
|
||||||
await safeCall(
|
await Future.wait([
|
||||||
() => _repository.post<dynamic>(
|
safeCall(
|
||||||
'/contact-lists',
|
() => _repository.post<dynamic>(
|
||||||
body: {
|
'/contact-lists',
|
||||||
'userId': userId,
|
body: {
|
||||||
'deviceId': deviceId,
|
'userId': userId,
|
||||||
'type': 'secondary',
|
'deviceId': deviceId,
|
||||||
'contacts': contacts,
|
'type': 'secondary',
|
||||||
},
|
'contacts': contacts,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
'Error syncing contacts to device',
|
||||||
),
|
),
|
||||||
'Error syncing contacts to device',
|
safeCall(
|
||||||
);
|
() => _repository.post<dynamic>(
|
||||||
|
'/contact-lists',
|
||||||
|
body: {
|
||||||
|
'userId': userId,
|
||||||
|
'deviceId': deviceId,
|
||||||
|
'type': 'white',
|
||||||
|
'contacts': contacts,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
'Error syncing whitelist to device',
|
||||||
|
),
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
|
||||||
|
|
||||||
abstract class FunctionsRemoteDatasource {
|
|
||||||
Future<List<PictureEntity>> getPictures({required String userId});
|
|
||||||
|
|
||||||
Future<PictureEntity> takePicture({required String userId});
|
|
||||||
}
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
import 'package:device_management/src/core/data/datasources/functions_remote_datasource.dart';
|
|
||||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
|
||||||
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
|
||||||
|
|
||||||
class FunctionsRemoteDatasourceImpl implements FunctionsRemoteDatasource {
|
|
||||||
FunctionsRemoteDatasourceImpl(this._repository);
|
|
||||||
|
|
||||||
final QuestiaRepository _repository;
|
|
||||||
|
|
||||||
@override
|
|
||||||
Future<List<PictureEntity>> getPictures({required String userId}) async {
|
|
||||||
/*try {
|
|
||||||
final response = await _repository.get<Map<String, dynamic>>(
|
|
||||||
'',
|
|
||||||
);
|
|
||||||
|
|
||||||
final data = response.data;
|
|
||||||
if (data == null || data.isEmpty) {
|
|
||||||
throw Exception('Empty response from /users/:userId/contacts');
|
|
||||||
}
|
|
||||||
|
|
||||||
final model = GetPicturesResponseModel.fromJson(data);
|
|
||||||
return model.toEntity();
|
|
||||||
} on DioException catch (error) {
|
|
||||||
throw mapDioError(error, defaultMessage: 'Error to get pictures');
|
|
||||||
}*/
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Future<PictureEntity> takePicture({required String userId}) async {
|
|
||||||
/*try {
|
|
||||||
final response = await _repository.get<Map<String, dynamic>>(
|
|
||||||
'',
|
|
||||||
);
|
|
||||||
|
|
||||||
final data = response.data;
|
|
||||||
if (data == null || data.isEmpty) {
|
|
||||||
throw Exception('Empty response from /users/:userId/contacts');
|
|
||||||
}
|
|
||||||
|
|
||||||
final model = GetContactsResponseModel.fromJson(data);
|
|
||||||
return model.toEntity();
|
|
||||||
} on DioException catch (error) {
|
|
||||||
throw mapDioError(error, defaultMessage: 'Error to get contacts');
|
|
||||||
}*/
|
|
||||||
return PictureEntity(
|
|
||||||
id: '1',
|
|
||||||
deviceId: '1111',
|
|
||||||
createdAt: DateTime.now(),
|
|
||||||
takenAt: DateTime.now(),
|
|
||||||
asset: 'assets/shared/images/iso_sf.png',
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -19,7 +19,7 @@ class HealthQueryBuilder {
|
|||||||
String orderField = 'occurredAt',
|
String orderField = 'occurredAt',
|
||||||
}) {
|
}) {
|
||||||
final orderBy = base64Encode(
|
final orderBy = base64Encode(
|
||||||
utf8.encode('[{"field":"$orderField","order":"${orderDirection.value}"}]'),
|
utf8.encode('[{"field":"$orderField","sortDirection":"${orderDirection.value}"}]'),
|
||||||
);
|
);
|
||||||
|
|
||||||
final params = <String, dynamic>{'orderBy': orderBy};
|
final params = <String, dynamic>{'orderBy': orderBy};
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||||
|
|
||||||
|
abstract class PicturesRemoteDatasource {
|
||||||
|
Future<List<PictureEntity>> getPictures({required String deviceId});
|
||||||
|
|
||||||
|
Future<PictureEntity> takePicture({required String deviceId});
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
import 'package:device_management/src/core/data/datasources/pictures_remote_datasource.dart';
|
||||||
|
import 'package:device_management/src/core/data/models/get_pictures_response_model.dart';
|
||||||
|
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||||
|
import 'package:dio/dio.dart';
|
||||||
|
import 'package:legacy_shared/legacy_shared.dart';
|
||||||
|
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
||||||
|
|
||||||
|
class PicturesRemoteDatasourceImpl implements PicturesRemoteDatasource {
|
||||||
|
PicturesRemoteDatasourceImpl(this._repository);
|
||||||
|
|
||||||
|
final QuestiaRepository _repository;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<PictureEntity>> getPictures({required String deviceId}) async {
|
||||||
|
try {
|
||||||
|
final response = await _repository.get<Map<String, dynamic>>(
|
||||||
|
'/devices/identificator/$deviceId/photos/files',
|
||||||
|
);
|
||||||
|
|
||||||
|
final data = response.data;
|
||||||
|
if (data == null || data.isEmpty) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
final model = GetPicturesResponseModel.fromJson(data);
|
||||||
|
return model.toEntity();
|
||||||
|
} on DioException catch (error) {
|
||||||
|
if (error.response?.statusCode == 404) return [];
|
||||||
|
throw mapDioError(error, defaultMessage: 'Error getting pictures');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<PictureEntity> takePicture({required String deviceId}) async {
|
||||||
|
throw UnimplementedError('takePicture is handled via commands');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||||
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
|
|
||||||
|
import 'get_pictures_response_model.dart';
|
||||||
|
|
||||||
|
part 'get_background_image_response_model.freezed.dart';
|
||||||
|
part 'get_background_image_response_model.g.dart';
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
abstract class GetBackgroundImageResponseModel with _$GetBackgroundImageResponseModel {
|
||||||
|
const factory GetBackgroundImageResponseModel({
|
||||||
|
@Default([]) List<GetPicturesItemResponseModel> items,
|
||||||
|
@Default(0) int total,
|
||||||
|
@Default(1) int page,
|
||||||
|
@Default(1) int pages,
|
||||||
|
}) = _GetBackgroundImageResponseModel;
|
||||||
|
|
||||||
|
factory GetBackgroundImageResponseModel.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$GetBackgroundImageResponseModelFromJson(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
extension GetBackgroundImageResponseModelMapper on GetBackgroundImageResponseModel {
|
||||||
|
List<PictureEntity> toEntities() {
|
||||||
|
return items
|
||||||
|
.map((item) => PictureEntity(
|
||||||
|
id: item.id,
|
||||||
|
deviceIdentificator: item.deviceIdentificator,
|
||||||
|
imgType: item.imgType,
|
||||||
|
timestamp: item.timestamp,
|
||||||
|
fileId: item.fileId,
|
||||||
|
fileName: item.fileName,
|
||||||
|
contentType: item.contentType,
|
||||||
|
createdAt: item.createdAt,
|
||||||
|
fileBytes: extractFileBytes(item.file),
|
||||||
|
))
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,292 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
// coverage:ignore-file
|
||||||
|
// ignore_for_file: type=lint
|
||||||
|
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||||
|
|
||||||
|
part of 'get_background_image_response_model.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// FreezedGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
// dart format off
|
||||||
|
T _$identity<T>(T value) => value;
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$GetBackgroundImageResponseModel {
|
||||||
|
|
||||||
|
List<GetPicturesItemResponseModel> get items; int get total; int get page; int get pages;
|
||||||
|
/// Create a copy of GetBackgroundImageResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$GetBackgroundImageResponseModelCopyWith<GetBackgroundImageResponseModel> get copyWith => _$GetBackgroundImageResponseModelCopyWithImpl<GetBackgroundImageResponseModel>(this as GetBackgroundImageResponseModel, _$identity);
|
||||||
|
|
||||||
|
/// Serializes this GetBackgroundImageResponseModel to a JSON map.
|
||||||
|
Map<String, dynamic> toJson();
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is GetBackgroundImageResponseModel&&const DeepCollectionEquality().equals(other.items, items)&&(identical(other.total, total) || other.total == total)&&(identical(other.page, page) || other.page == page)&&(identical(other.pages, pages) || other.pages == pages));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(items),total,page,pages);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetBackgroundImageResponseModel(items: $items, total: $total, page: $page, pages: $pages)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class $GetBackgroundImageResponseModelCopyWith<$Res> {
|
||||||
|
factory $GetBackgroundImageResponseModelCopyWith(GetBackgroundImageResponseModel value, $Res Function(GetBackgroundImageResponseModel) _then) = _$GetBackgroundImageResponseModelCopyWithImpl;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
List<GetPicturesItemResponseModel> items, int total, int page, int pages
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class _$GetBackgroundImageResponseModelCopyWithImpl<$Res>
|
||||||
|
implements $GetBackgroundImageResponseModelCopyWith<$Res> {
|
||||||
|
_$GetBackgroundImageResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final GetBackgroundImageResponseModel _self;
|
||||||
|
final $Res Function(GetBackgroundImageResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetBackgroundImageResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline') @override $Res call({Object? items = null,Object? total = null,Object? page = null,Object? pages = null,}) {
|
||||||
|
return _then(_self.copyWith(
|
||||||
|
items: null == items ? _self.items : items // ignore: cast_nullable_to_non_nullable
|
||||||
|
as List<GetPicturesItemResponseModel>,total: null == total ? _self.total : total // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,page: null == page ? _self.page : page // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,pages: null == pages ? _self.pages : pages // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Adds pattern-matching-related methods to [GetBackgroundImageResponseModel].
|
||||||
|
extension GetBackgroundImageResponseModelPatterns on GetBackgroundImageResponseModel {
|
||||||
|
/// A variant of `map` that fallback to returning `orElse`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _GetBackgroundImageResponseModel value)? $default,{required TResult orElse(),}){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetBackgroundImageResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// Callbacks receives the raw object, upcasted.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case final Subclass2 value:
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _GetBackgroundImageResponseModel value) $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetBackgroundImageResponseModel():
|
||||||
|
return $default(_that);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `map` that fallback to returning `null`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _GetBackgroundImageResponseModel value)? $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetBackgroundImageResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to an `orElse` callback.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( List<GetPicturesItemResponseModel> items, int total, int page, int pages)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetBackgroundImageResponseModel() when $default != null:
|
||||||
|
return $default(_that.items,_that.total,_that.page,_that.pages);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// As opposed to `map`, this offers destructuring.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case Subclass2(:final field2):
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( List<GetPicturesItemResponseModel> items, int total, int page, int pages) $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetBackgroundImageResponseModel():
|
||||||
|
return $default(_that.items,_that.total,_that.page,_that.pages);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to returning `null`
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( List<GetPicturesItemResponseModel> items, int total, int page, int pages)? $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetBackgroundImageResponseModel() when $default != null:
|
||||||
|
return $default(_that.items,_that.total,_that.page,_that.pages);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
@JsonSerializable()
|
||||||
|
|
||||||
|
class _GetBackgroundImageResponseModel implements GetBackgroundImageResponseModel {
|
||||||
|
const _GetBackgroundImageResponseModel({final List<GetPicturesItemResponseModel> items = const [], this.total = 0, this.page = 1, this.pages = 1}): _items = items;
|
||||||
|
factory _GetBackgroundImageResponseModel.fromJson(Map<String, dynamic> json) => _$GetBackgroundImageResponseModelFromJson(json);
|
||||||
|
|
||||||
|
final List<GetPicturesItemResponseModel> _items;
|
||||||
|
@override@JsonKey() List<GetPicturesItemResponseModel> get items {
|
||||||
|
if (_items is EqualUnmodifiableListView) return _items;
|
||||||
|
// ignore: implicit_dynamic_type
|
||||||
|
return EqualUnmodifiableListView(_items);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override@JsonKey() final int total;
|
||||||
|
@override@JsonKey() final int page;
|
||||||
|
@override@JsonKey() final int pages;
|
||||||
|
|
||||||
|
/// Create a copy of GetBackgroundImageResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$GetBackgroundImageResponseModelCopyWith<_GetBackgroundImageResponseModel> get copyWith => __$GetBackgroundImageResponseModelCopyWithImpl<_GetBackgroundImageResponseModel>(this, _$identity);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return _$GetBackgroundImageResponseModelToJson(this, );
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is _GetBackgroundImageResponseModel&&const DeepCollectionEquality().equals(other._items, _items)&&(identical(other.total, total) || other.total == total)&&(identical(other.page, page) || other.page == page)&&(identical(other.pages, pages) || other.pages == pages));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(_items),total,page,pages);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetBackgroundImageResponseModel(items: $items, total: $total, page: $page, pages: $pages)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class _$GetBackgroundImageResponseModelCopyWith<$Res> implements $GetBackgroundImageResponseModelCopyWith<$Res> {
|
||||||
|
factory _$GetBackgroundImageResponseModelCopyWith(_GetBackgroundImageResponseModel value, $Res Function(_GetBackgroundImageResponseModel) _then) = __$GetBackgroundImageResponseModelCopyWithImpl;
|
||||||
|
@override @useResult
|
||||||
|
$Res call({
|
||||||
|
List<GetPicturesItemResponseModel> items, int total, int page, int pages
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class __$GetBackgroundImageResponseModelCopyWithImpl<$Res>
|
||||||
|
implements _$GetBackgroundImageResponseModelCopyWith<$Res> {
|
||||||
|
__$GetBackgroundImageResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final _GetBackgroundImageResponseModel _self;
|
||||||
|
final $Res Function(_GetBackgroundImageResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetBackgroundImageResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @pragma('vm:prefer-inline') $Res call({Object? items = null,Object? total = null,Object? page = null,Object? pages = null,}) {
|
||||||
|
return _then(_GetBackgroundImageResponseModel(
|
||||||
|
items: null == items ? _self._items : items // ignore: cast_nullable_to_non_nullable
|
||||||
|
as List<GetPicturesItemResponseModel>,total: null == total ? _self.total : total // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,page: null == page ? _self.page : page // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,pages: null == pages ? _self.pages : pages // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// dart format on
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
|
||||||
|
part of 'get_background_image_response_model.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// JsonSerializableGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
_GetBackgroundImageResponseModel _$GetBackgroundImageResponseModelFromJson(
|
||||||
|
Map<String, dynamic> json,
|
||||||
|
) => _GetBackgroundImageResponseModel(
|
||||||
|
items:
|
||||||
|
(json['items'] as List<dynamic>?)
|
||||||
|
?.map(
|
||||||
|
(e) => GetPicturesItemResponseModel.fromJson(
|
||||||
|
e as Map<String, dynamic>,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.toList() ??
|
||||||
|
const [],
|
||||||
|
total: (json['total'] as num?)?.toInt() ?? 0,
|
||||||
|
page: (json['page'] as num?)?.toInt() ?? 1,
|
||||||
|
pages: (json['pages'] as num?)?.toInt() ?? 1,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$GetBackgroundImageResponseModelToJson(
|
||||||
|
_GetBackgroundImageResponseModel instance,
|
||||||
|
) => <String, dynamic>{
|
||||||
|
'items': instance.items,
|
||||||
|
'total': instance.total,
|
||||||
|
'page': instance.page,
|
||||||
|
'pages': instance.pages,
|
||||||
|
};
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
|
|
||||||
|
import '../../../features/apps_surveillance/data/installed_app_entity.dart';
|
||||||
|
|
||||||
|
part 'get_installed_apps_response_model.freezed.dart';
|
||||||
|
part 'get_installed_apps_response_model.g.dart';
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
abstract class GetInstalledAppsResponseModel
|
||||||
|
with _$GetInstalledAppsResponseModel {
|
||||||
|
const factory GetInstalledAppsResponseModel({
|
||||||
|
required int total,
|
||||||
|
required List<InstalledAppItemResponseModel> items,
|
||||||
|
}) = _GetInstalledAppsResponseModel;
|
||||||
|
|
||||||
|
factory GetInstalledAppsResponseModel.fromJson(
|
||||||
|
Map<String, dynamic> json) =>
|
||||||
|
_$GetInstalledAppsResponseModelFromJson(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
abstract class InstalledAppItemResponseModel
|
||||||
|
with _$InstalledAppItemResponseModel {
|
||||||
|
const factory InstalledAppItemResponseModel({
|
||||||
|
required String appUid,
|
||||||
|
required String appName,
|
||||||
|
required bool isEnabled
|
||||||
|
}) = _InstalledAppItemResponseModel;
|
||||||
|
|
||||||
|
factory InstalledAppItemResponseModel.fromJson(
|
||||||
|
Map<String, dynamic> json) =>
|
||||||
|
_$InstalledAppItemResponseModelFromJson(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
extension InstalledAppsResponseMapper
|
||||||
|
on GetInstalledAppsResponseModel {
|
||||||
|
List<InstalledAppEntity> toEntity() {
|
||||||
|
return items
|
||||||
|
.map((item) => InstalledAppEntity(
|
||||||
|
appUid: item.appUid,
|
||||||
|
appName: item.appName,
|
||||||
|
isEnabled: item.isEnabled
|
||||||
|
))
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,555 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
// coverage:ignore-file
|
||||||
|
// ignore_for_file: type=lint
|
||||||
|
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||||
|
|
||||||
|
part of 'get_installed_apps_response_model.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// FreezedGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
// dart format off
|
||||||
|
T _$identity<T>(T value) => value;
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$GetInstalledAppsResponseModel {
|
||||||
|
|
||||||
|
int get total; List<InstalledAppItemResponseModel> get items;
|
||||||
|
/// Create a copy of GetInstalledAppsResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$GetInstalledAppsResponseModelCopyWith<GetInstalledAppsResponseModel> get copyWith => _$GetInstalledAppsResponseModelCopyWithImpl<GetInstalledAppsResponseModel>(this as GetInstalledAppsResponseModel, _$identity);
|
||||||
|
|
||||||
|
/// Serializes this GetInstalledAppsResponseModel to a JSON map.
|
||||||
|
Map<String, dynamic> toJson();
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is GetInstalledAppsResponseModel&&(identical(other.total, total) || other.total == total)&&const DeepCollectionEquality().equals(other.items, items));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,total,const DeepCollectionEquality().hash(items));
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetInstalledAppsResponseModel(total: $total, items: $items)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class $GetInstalledAppsResponseModelCopyWith<$Res> {
|
||||||
|
factory $GetInstalledAppsResponseModelCopyWith(GetInstalledAppsResponseModel value, $Res Function(GetInstalledAppsResponseModel) _then) = _$GetInstalledAppsResponseModelCopyWithImpl;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
int total, List<InstalledAppItemResponseModel> items
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class _$GetInstalledAppsResponseModelCopyWithImpl<$Res>
|
||||||
|
implements $GetInstalledAppsResponseModelCopyWith<$Res> {
|
||||||
|
_$GetInstalledAppsResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final GetInstalledAppsResponseModel _self;
|
||||||
|
final $Res Function(GetInstalledAppsResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetInstalledAppsResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline') @override $Res call({Object? total = null,Object? items = null,}) {
|
||||||
|
return _then(_self.copyWith(
|
||||||
|
total: null == total ? _self.total : total // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,items: null == items ? _self.items : items // ignore: cast_nullable_to_non_nullable
|
||||||
|
as List<InstalledAppItemResponseModel>,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Adds pattern-matching-related methods to [GetInstalledAppsResponseModel].
|
||||||
|
extension GetInstalledAppsResponseModelPatterns on GetInstalledAppsResponseModel {
|
||||||
|
/// A variant of `map` that fallback to returning `orElse`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _GetInstalledAppsResponseModel value)? $default,{required TResult orElse(),}){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetInstalledAppsResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// Callbacks receives the raw object, upcasted.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case final Subclass2 value:
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _GetInstalledAppsResponseModel value) $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetInstalledAppsResponseModel():
|
||||||
|
return $default(_that);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `map` that fallback to returning `null`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _GetInstalledAppsResponseModel value)? $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetInstalledAppsResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to an `orElse` callback.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( int total, List<InstalledAppItemResponseModel> items)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetInstalledAppsResponseModel() when $default != null:
|
||||||
|
return $default(_that.total,_that.items);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// As opposed to `map`, this offers destructuring.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case Subclass2(:final field2):
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( int total, List<InstalledAppItemResponseModel> items) $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetInstalledAppsResponseModel():
|
||||||
|
return $default(_that.total,_that.items);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to returning `null`
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( int total, List<InstalledAppItemResponseModel> items)? $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetInstalledAppsResponseModel() when $default != null:
|
||||||
|
return $default(_that.total,_that.items);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
@JsonSerializable()
|
||||||
|
|
||||||
|
class _GetInstalledAppsResponseModel implements GetInstalledAppsResponseModel {
|
||||||
|
const _GetInstalledAppsResponseModel({required this.total, required final List<InstalledAppItemResponseModel> items}): _items = items;
|
||||||
|
factory _GetInstalledAppsResponseModel.fromJson(Map<String, dynamic> json) => _$GetInstalledAppsResponseModelFromJson(json);
|
||||||
|
|
||||||
|
@override final int total;
|
||||||
|
final List<InstalledAppItemResponseModel> _items;
|
||||||
|
@override List<InstalledAppItemResponseModel> get items {
|
||||||
|
if (_items is EqualUnmodifiableListView) return _items;
|
||||||
|
// ignore: implicit_dynamic_type
|
||||||
|
return EqualUnmodifiableListView(_items);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Create a copy of GetInstalledAppsResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$GetInstalledAppsResponseModelCopyWith<_GetInstalledAppsResponseModel> get copyWith => __$GetInstalledAppsResponseModelCopyWithImpl<_GetInstalledAppsResponseModel>(this, _$identity);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return _$GetInstalledAppsResponseModelToJson(this, );
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is _GetInstalledAppsResponseModel&&(identical(other.total, total) || other.total == total)&&const DeepCollectionEquality().equals(other._items, _items));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,total,const DeepCollectionEquality().hash(_items));
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetInstalledAppsResponseModel(total: $total, items: $items)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class _$GetInstalledAppsResponseModelCopyWith<$Res> implements $GetInstalledAppsResponseModelCopyWith<$Res> {
|
||||||
|
factory _$GetInstalledAppsResponseModelCopyWith(_GetInstalledAppsResponseModel value, $Res Function(_GetInstalledAppsResponseModel) _then) = __$GetInstalledAppsResponseModelCopyWithImpl;
|
||||||
|
@override @useResult
|
||||||
|
$Res call({
|
||||||
|
int total, List<InstalledAppItemResponseModel> items
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class __$GetInstalledAppsResponseModelCopyWithImpl<$Res>
|
||||||
|
implements _$GetInstalledAppsResponseModelCopyWith<$Res> {
|
||||||
|
__$GetInstalledAppsResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final _GetInstalledAppsResponseModel _self;
|
||||||
|
final $Res Function(_GetInstalledAppsResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetInstalledAppsResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @pragma('vm:prefer-inline') $Res call({Object? total = null,Object? items = null,}) {
|
||||||
|
return _then(_GetInstalledAppsResponseModel(
|
||||||
|
total: null == total ? _self.total : total // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,items: null == items ? _self._items : items // ignore: cast_nullable_to_non_nullable
|
||||||
|
as List<InstalledAppItemResponseModel>,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$InstalledAppItemResponseModel {
|
||||||
|
|
||||||
|
String get appUid; String get appName; bool get isEnabled;
|
||||||
|
/// Create a copy of InstalledAppItemResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$InstalledAppItemResponseModelCopyWith<InstalledAppItemResponseModel> get copyWith => _$InstalledAppItemResponseModelCopyWithImpl<InstalledAppItemResponseModel>(this as InstalledAppItemResponseModel, _$identity);
|
||||||
|
|
||||||
|
/// Serializes this InstalledAppItemResponseModel to a JSON map.
|
||||||
|
Map<String, dynamic> toJson();
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is InstalledAppItemResponseModel&&(identical(other.appUid, appUid) || other.appUid == appUid)&&(identical(other.appName, appName) || other.appName == appName)&&(identical(other.isEnabled, isEnabled) || other.isEnabled == isEnabled));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,appUid,appName,isEnabled);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'InstalledAppItemResponseModel(appUid: $appUid, appName: $appName, isEnabled: $isEnabled)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class $InstalledAppItemResponseModelCopyWith<$Res> {
|
||||||
|
factory $InstalledAppItemResponseModelCopyWith(InstalledAppItemResponseModel value, $Res Function(InstalledAppItemResponseModel) _then) = _$InstalledAppItemResponseModelCopyWithImpl;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
String appUid, String appName, bool isEnabled
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class _$InstalledAppItemResponseModelCopyWithImpl<$Res>
|
||||||
|
implements $InstalledAppItemResponseModelCopyWith<$Res> {
|
||||||
|
_$InstalledAppItemResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final InstalledAppItemResponseModel _self;
|
||||||
|
final $Res Function(InstalledAppItemResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of InstalledAppItemResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline') @override $Res call({Object? appUid = null,Object? appName = null,Object? isEnabled = null,}) {
|
||||||
|
return _then(_self.copyWith(
|
||||||
|
appUid: null == appUid ? _self.appUid : appUid // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,appName: null == appName ? _self.appName : appName // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,isEnabled: null == isEnabled ? _self.isEnabled : isEnabled // ignore: cast_nullable_to_non_nullable
|
||||||
|
as bool,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Adds pattern-matching-related methods to [InstalledAppItemResponseModel].
|
||||||
|
extension InstalledAppItemResponseModelPatterns on InstalledAppItemResponseModel {
|
||||||
|
/// A variant of `map` that fallback to returning `orElse`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _InstalledAppItemResponseModel value)? $default,{required TResult orElse(),}){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _InstalledAppItemResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// Callbacks receives the raw object, upcasted.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case final Subclass2 value:
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _InstalledAppItemResponseModel value) $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _InstalledAppItemResponseModel():
|
||||||
|
return $default(_that);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `map` that fallback to returning `null`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _InstalledAppItemResponseModel value)? $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _InstalledAppItemResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to an `orElse` callback.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String appUid, String appName, bool isEnabled)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _InstalledAppItemResponseModel() when $default != null:
|
||||||
|
return $default(_that.appUid,_that.appName,_that.isEnabled);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// As opposed to `map`, this offers destructuring.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case Subclass2(:final field2):
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String appUid, String appName, bool isEnabled) $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _InstalledAppItemResponseModel():
|
||||||
|
return $default(_that.appUid,_that.appName,_that.isEnabled);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to returning `null`
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String appUid, String appName, bool isEnabled)? $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _InstalledAppItemResponseModel() when $default != null:
|
||||||
|
return $default(_that.appUid,_that.appName,_that.isEnabled);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
@JsonSerializable()
|
||||||
|
|
||||||
|
class _InstalledAppItemResponseModel implements InstalledAppItemResponseModel {
|
||||||
|
const _InstalledAppItemResponseModel({required this.appUid, required this.appName, required this.isEnabled});
|
||||||
|
factory _InstalledAppItemResponseModel.fromJson(Map<String, dynamic> json) => _$InstalledAppItemResponseModelFromJson(json);
|
||||||
|
|
||||||
|
@override final String appUid;
|
||||||
|
@override final String appName;
|
||||||
|
@override final bool isEnabled;
|
||||||
|
|
||||||
|
/// Create a copy of InstalledAppItemResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$InstalledAppItemResponseModelCopyWith<_InstalledAppItemResponseModel> get copyWith => __$InstalledAppItemResponseModelCopyWithImpl<_InstalledAppItemResponseModel>(this, _$identity);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return _$InstalledAppItemResponseModelToJson(this, );
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is _InstalledAppItemResponseModel&&(identical(other.appUid, appUid) || other.appUid == appUid)&&(identical(other.appName, appName) || other.appName == appName)&&(identical(other.isEnabled, isEnabled) || other.isEnabled == isEnabled));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,appUid,appName,isEnabled);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'InstalledAppItemResponseModel(appUid: $appUid, appName: $appName, isEnabled: $isEnabled)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class _$InstalledAppItemResponseModelCopyWith<$Res> implements $InstalledAppItemResponseModelCopyWith<$Res> {
|
||||||
|
factory _$InstalledAppItemResponseModelCopyWith(_InstalledAppItemResponseModel value, $Res Function(_InstalledAppItemResponseModel) _then) = __$InstalledAppItemResponseModelCopyWithImpl;
|
||||||
|
@override @useResult
|
||||||
|
$Res call({
|
||||||
|
String appUid, String appName, bool isEnabled
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class __$InstalledAppItemResponseModelCopyWithImpl<$Res>
|
||||||
|
implements _$InstalledAppItemResponseModelCopyWith<$Res> {
|
||||||
|
__$InstalledAppItemResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final _InstalledAppItemResponseModel _self;
|
||||||
|
final $Res Function(_InstalledAppItemResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of InstalledAppItemResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @pragma('vm:prefer-inline') $Res call({Object? appUid = null,Object? appName = null,Object? isEnabled = null,}) {
|
||||||
|
return _then(_InstalledAppItemResponseModel(
|
||||||
|
appUid: null == appUid ? _self.appUid : appUid // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,appName: null == appName ? _self.appName : appName // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,isEnabled: null == isEnabled ? _self.isEnabled : isEnabled // ignore: cast_nullable_to_non_nullable
|
||||||
|
as bool,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// dart format on
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
|
||||||
|
part of 'get_installed_apps_response_model.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// JsonSerializableGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
_GetInstalledAppsResponseModel _$GetInstalledAppsResponseModelFromJson(
|
||||||
|
Map<String, dynamic> json,
|
||||||
|
) => _GetInstalledAppsResponseModel(
|
||||||
|
total: (json['total'] as num).toInt(),
|
||||||
|
items: (json['items'] as List<dynamic>)
|
||||||
|
.map(
|
||||||
|
(e) =>
|
||||||
|
InstalledAppItemResponseModel.fromJson(e as Map<String, dynamic>),
|
||||||
|
)
|
||||||
|
.toList(),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$GetInstalledAppsResponseModelToJson(
|
||||||
|
_GetInstalledAppsResponseModel instance,
|
||||||
|
) => <String, dynamic>{'total': instance.total, 'items': instance.items};
|
||||||
|
|
||||||
|
_InstalledAppItemResponseModel _$InstalledAppItemResponseModelFromJson(
|
||||||
|
Map<String, dynamic> json,
|
||||||
|
) => _InstalledAppItemResponseModel(
|
||||||
|
appUid: json['appUid'] as String,
|
||||||
|
appName: json['appName'] as String,
|
||||||
|
isEnabled: json['isEnabled'] as bool,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$InstalledAppItemResponseModelToJson(
|
||||||
|
_InstalledAppItemResponseModel instance,
|
||||||
|
) => <String, dynamic>{
|
||||||
|
'appUid': instance.appUid,
|
||||||
|
'appName': instance.appName,
|
||||||
|
'isEnabled': instance.isEnabled,
|
||||||
|
};
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
import 'dart:convert';
|
||||||
|
import 'dart:typed_data';
|
||||||
|
|
||||||
|
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||||
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
|
|
||||||
|
part 'get_pictures_response_model.freezed.dart';
|
||||||
|
part 'get_pictures_response_model.g.dart';
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
abstract class GetPicturesResponseModel with _$GetPicturesResponseModel {
|
||||||
|
const factory GetPicturesResponseModel({
|
||||||
|
required List<GetPicturesItemResponseModel> items,
|
||||||
|
}) = _GetPicturesResponseModel;
|
||||||
|
|
||||||
|
factory GetPicturesResponseModel.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$GetPicturesResponseModelFromJson(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
abstract class GetPicturesItemResponseModel
|
||||||
|
with _$GetPicturesItemResponseModel {
|
||||||
|
const factory GetPicturesItemResponseModel({
|
||||||
|
required String id,
|
||||||
|
@Default('') String deviceIdentificator,
|
||||||
|
String? imgType,
|
||||||
|
String? timestamp,
|
||||||
|
@Default('') String fileId,
|
||||||
|
String? fileName,
|
||||||
|
String? contentType,
|
||||||
|
@Default(0) int createdAt,
|
||||||
|
Map<String, dynamic>? file,
|
||||||
|
}) = _GetPicturesItemResponseModel;
|
||||||
|
|
||||||
|
factory GetPicturesItemResponseModel.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$GetPicturesItemResponseModelFromJson(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
Uint8List? extractFileBytes(Map<String, dynamic>? file) {
|
||||||
|
if (file == null) return null;
|
||||||
|
final fileData = file['file'];
|
||||||
|
if (fileData is String) {
|
||||||
|
try {
|
||||||
|
return base64Decode(fileData);
|
||||||
|
} catch (_) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (fileData is Map) {
|
||||||
|
final data = fileData['data'];
|
||||||
|
if (data is List) {
|
||||||
|
return Uint8List.fromList(data.cast<int>());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
extension GetPicturesResponseModelMapper on GetPicturesResponseModel {
|
||||||
|
List<PictureEntity> toEntity() {
|
||||||
|
return items
|
||||||
|
.map((item) => PictureEntity(
|
||||||
|
id: item.id,
|
||||||
|
deviceIdentificator: item.deviceIdentificator,
|
||||||
|
imgType: item.imgType,
|
||||||
|
timestamp: item.timestamp,
|
||||||
|
fileId: item.fileId,
|
||||||
|
fileName: item.fileName,
|
||||||
|
contentType: item.contentType,
|
||||||
|
createdAt: item.createdAt,
|
||||||
|
fileBytes: extractFileBytes(item.file),
|
||||||
|
))
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,578 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
// coverage:ignore-file
|
||||||
|
// ignore_for_file: type=lint
|
||||||
|
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||||
|
|
||||||
|
part of 'get_pictures_response_model.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// FreezedGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
// dart format off
|
||||||
|
T _$identity<T>(T value) => value;
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$GetPicturesResponseModel {
|
||||||
|
|
||||||
|
List<GetPicturesItemResponseModel> get items;
|
||||||
|
/// Create a copy of GetPicturesResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$GetPicturesResponseModelCopyWith<GetPicturesResponseModel> get copyWith => _$GetPicturesResponseModelCopyWithImpl<GetPicturesResponseModel>(this as GetPicturesResponseModel, _$identity);
|
||||||
|
|
||||||
|
/// Serializes this GetPicturesResponseModel to a JSON map.
|
||||||
|
Map<String, dynamic> toJson();
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is GetPicturesResponseModel&&const DeepCollectionEquality().equals(other.items, items));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(items));
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetPicturesResponseModel(items: $items)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class $GetPicturesResponseModelCopyWith<$Res> {
|
||||||
|
factory $GetPicturesResponseModelCopyWith(GetPicturesResponseModel value, $Res Function(GetPicturesResponseModel) _then) = _$GetPicturesResponseModelCopyWithImpl;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
List<GetPicturesItemResponseModel> items
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class _$GetPicturesResponseModelCopyWithImpl<$Res>
|
||||||
|
implements $GetPicturesResponseModelCopyWith<$Res> {
|
||||||
|
_$GetPicturesResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final GetPicturesResponseModel _self;
|
||||||
|
final $Res Function(GetPicturesResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetPicturesResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline') @override $Res call({Object? items = null,}) {
|
||||||
|
return _then(_self.copyWith(
|
||||||
|
items: null == items ? _self.items : items // ignore: cast_nullable_to_non_nullable
|
||||||
|
as List<GetPicturesItemResponseModel>,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Adds pattern-matching-related methods to [GetPicturesResponseModel].
|
||||||
|
extension GetPicturesResponseModelPatterns on GetPicturesResponseModel {
|
||||||
|
/// A variant of `map` that fallback to returning `orElse`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _GetPicturesResponseModel value)? $default,{required TResult orElse(),}){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetPicturesResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// Callbacks receives the raw object, upcasted.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case final Subclass2 value:
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _GetPicturesResponseModel value) $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetPicturesResponseModel():
|
||||||
|
return $default(_that);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `map` that fallback to returning `null`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _GetPicturesResponseModel value)? $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetPicturesResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to an `orElse` callback.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( List<GetPicturesItemResponseModel> items)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetPicturesResponseModel() when $default != null:
|
||||||
|
return $default(_that.items);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// As opposed to `map`, this offers destructuring.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case Subclass2(:final field2):
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( List<GetPicturesItemResponseModel> items) $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetPicturesResponseModel():
|
||||||
|
return $default(_that.items);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to returning `null`
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( List<GetPicturesItemResponseModel> items)? $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetPicturesResponseModel() when $default != null:
|
||||||
|
return $default(_that.items);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
@JsonSerializable()
|
||||||
|
|
||||||
|
class _GetPicturesResponseModel implements GetPicturesResponseModel {
|
||||||
|
const _GetPicturesResponseModel({required final List<GetPicturesItemResponseModel> items}): _items = items;
|
||||||
|
factory _GetPicturesResponseModel.fromJson(Map<String, dynamic> json) => _$GetPicturesResponseModelFromJson(json);
|
||||||
|
|
||||||
|
final List<GetPicturesItemResponseModel> _items;
|
||||||
|
@override List<GetPicturesItemResponseModel> get items {
|
||||||
|
if (_items is EqualUnmodifiableListView) return _items;
|
||||||
|
// ignore: implicit_dynamic_type
|
||||||
|
return EqualUnmodifiableListView(_items);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Create a copy of GetPicturesResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$GetPicturesResponseModelCopyWith<_GetPicturesResponseModel> get copyWith => __$GetPicturesResponseModelCopyWithImpl<_GetPicturesResponseModel>(this, _$identity);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return _$GetPicturesResponseModelToJson(this, );
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is _GetPicturesResponseModel&&const DeepCollectionEquality().equals(other._items, _items));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(_items));
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetPicturesResponseModel(items: $items)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class _$GetPicturesResponseModelCopyWith<$Res> implements $GetPicturesResponseModelCopyWith<$Res> {
|
||||||
|
factory _$GetPicturesResponseModelCopyWith(_GetPicturesResponseModel value, $Res Function(_GetPicturesResponseModel) _then) = __$GetPicturesResponseModelCopyWithImpl;
|
||||||
|
@override @useResult
|
||||||
|
$Res call({
|
||||||
|
List<GetPicturesItemResponseModel> items
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class __$GetPicturesResponseModelCopyWithImpl<$Res>
|
||||||
|
implements _$GetPicturesResponseModelCopyWith<$Res> {
|
||||||
|
__$GetPicturesResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final _GetPicturesResponseModel _self;
|
||||||
|
final $Res Function(_GetPicturesResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetPicturesResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @pragma('vm:prefer-inline') $Res call({Object? items = null,}) {
|
||||||
|
return _then(_GetPicturesResponseModel(
|
||||||
|
items: null == items ? _self._items : items // ignore: cast_nullable_to_non_nullable
|
||||||
|
as List<GetPicturesItemResponseModel>,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$GetPicturesItemResponseModel {
|
||||||
|
|
||||||
|
String get id; String get deviceIdentificator; String? get imgType; String? get timestamp; String get fileId; String? get fileName; String? get contentType; int get createdAt; Map<String, dynamic>? get file;
|
||||||
|
/// Create a copy of GetPicturesItemResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$GetPicturesItemResponseModelCopyWith<GetPicturesItemResponseModel> get copyWith => _$GetPicturesItemResponseModelCopyWithImpl<GetPicturesItemResponseModel>(this as GetPicturesItemResponseModel, _$identity);
|
||||||
|
|
||||||
|
/// Serializes this GetPicturesItemResponseModel to a JSON map.
|
||||||
|
Map<String, dynamic> toJson();
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is GetPicturesItemResponseModel&&(identical(other.id, id) || other.id == id)&&(identical(other.deviceIdentificator, deviceIdentificator) || other.deviceIdentificator == deviceIdentificator)&&(identical(other.imgType, imgType) || other.imgType == imgType)&&(identical(other.timestamp, timestamp) || other.timestamp == timestamp)&&(identical(other.fileId, fileId) || other.fileId == fileId)&&(identical(other.fileName, fileName) || other.fileName == fileName)&&(identical(other.contentType, contentType) || other.contentType == contentType)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&const DeepCollectionEquality().equals(other.file, file));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,id,deviceIdentificator,imgType,timestamp,fileId,fileName,contentType,createdAt,const DeepCollectionEquality().hash(file));
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetPicturesItemResponseModel(id: $id, deviceIdentificator: $deviceIdentificator, imgType: $imgType, timestamp: $timestamp, fileId: $fileId, fileName: $fileName, contentType: $contentType, createdAt: $createdAt, file: $file)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class $GetPicturesItemResponseModelCopyWith<$Res> {
|
||||||
|
factory $GetPicturesItemResponseModelCopyWith(GetPicturesItemResponseModel value, $Res Function(GetPicturesItemResponseModel) _then) = _$GetPicturesItemResponseModelCopyWithImpl;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
String id, String deviceIdentificator, String? imgType, String? timestamp, String fileId, String? fileName, String? contentType, int createdAt, Map<String, dynamic>? file
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class _$GetPicturesItemResponseModelCopyWithImpl<$Res>
|
||||||
|
implements $GetPicturesItemResponseModelCopyWith<$Res> {
|
||||||
|
_$GetPicturesItemResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final GetPicturesItemResponseModel _self;
|
||||||
|
final $Res Function(GetPicturesItemResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetPicturesItemResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline') @override $Res call({Object? id = null,Object? deviceIdentificator = null,Object? imgType = freezed,Object? timestamp = freezed,Object? fileId = null,Object? fileName = freezed,Object? contentType = freezed,Object? createdAt = null,Object? file = freezed,}) {
|
||||||
|
return _then(_self.copyWith(
|
||||||
|
id: null == id ? _self.id : id // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,deviceIdentificator: null == deviceIdentificator ? _self.deviceIdentificator : deviceIdentificator // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,imgType: freezed == imgType ? _self.imgType : imgType // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,timestamp: freezed == timestamp ? _self.timestamp : timestamp // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,fileId: null == fileId ? _self.fileId : fileId // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,fileName: freezed == fileName ? _self.fileName : fileName // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,contentType: freezed == contentType ? _self.contentType : contentType // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,createdAt: null == createdAt ? _self.createdAt : createdAt // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,file: freezed == file ? _self.file : file // ignore: cast_nullable_to_non_nullable
|
||||||
|
as Map<String, dynamic>?,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Adds pattern-matching-related methods to [GetPicturesItemResponseModel].
|
||||||
|
extension GetPicturesItemResponseModelPatterns on GetPicturesItemResponseModel {
|
||||||
|
/// A variant of `map` that fallback to returning `orElse`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _GetPicturesItemResponseModel value)? $default,{required TResult orElse(),}){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetPicturesItemResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// Callbacks receives the raw object, upcasted.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case final Subclass2 value:
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _GetPicturesItemResponseModel value) $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetPicturesItemResponseModel():
|
||||||
|
return $default(_that);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `map` that fallback to returning `null`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _GetPicturesItemResponseModel value)? $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetPicturesItemResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to an `orElse` callback.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String id, String deviceIdentificator, String? imgType, String? timestamp, String fileId, String? fileName, String? contentType, int createdAt, Map<String, dynamic>? file)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetPicturesItemResponseModel() when $default != null:
|
||||||
|
return $default(_that.id,_that.deviceIdentificator,_that.imgType,_that.timestamp,_that.fileId,_that.fileName,_that.contentType,_that.createdAt,_that.file);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// As opposed to `map`, this offers destructuring.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case Subclass2(:final field2):
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String id, String deviceIdentificator, String? imgType, String? timestamp, String fileId, String? fileName, String? contentType, int createdAt, Map<String, dynamic>? file) $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetPicturesItemResponseModel():
|
||||||
|
return $default(_that.id,_that.deviceIdentificator,_that.imgType,_that.timestamp,_that.fileId,_that.fileName,_that.contentType,_that.createdAt,_that.file);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to returning `null`
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String id, String deviceIdentificator, String? imgType, String? timestamp, String fileId, String? fileName, String? contentType, int createdAt, Map<String, dynamic>? file)? $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetPicturesItemResponseModel() when $default != null:
|
||||||
|
return $default(_that.id,_that.deviceIdentificator,_that.imgType,_that.timestamp,_that.fileId,_that.fileName,_that.contentType,_that.createdAt,_that.file);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
@JsonSerializable()
|
||||||
|
|
||||||
|
class _GetPicturesItemResponseModel implements GetPicturesItemResponseModel {
|
||||||
|
const _GetPicturesItemResponseModel({required this.id, this.deviceIdentificator = '', this.imgType, this.timestamp, this.fileId = '', this.fileName, this.contentType, this.createdAt = 0, final Map<String, dynamic>? file}): _file = file;
|
||||||
|
factory _GetPicturesItemResponseModel.fromJson(Map<String, dynamic> json) => _$GetPicturesItemResponseModelFromJson(json);
|
||||||
|
|
||||||
|
@override final String id;
|
||||||
|
@override@JsonKey() final String deviceIdentificator;
|
||||||
|
@override final String? imgType;
|
||||||
|
@override final String? timestamp;
|
||||||
|
@override@JsonKey() final String fileId;
|
||||||
|
@override final String? fileName;
|
||||||
|
@override final String? contentType;
|
||||||
|
@override@JsonKey() final int createdAt;
|
||||||
|
final Map<String, dynamic>? _file;
|
||||||
|
@override Map<String, dynamic>? get file {
|
||||||
|
final value = _file;
|
||||||
|
if (value == null) return null;
|
||||||
|
if (_file is EqualUnmodifiableMapView) return _file;
|
||||||
|
// ignore: implicit_dynamic_type
|
||||||
|
return EqualUnmodifiableMapView(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Create a copy of GetPicturesItemResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$GetPicturesItemResponseModelCopyWith<_GetPicturesItemResponseModel> get copyWith => __$GetPicturesItemResponseModelCopyWithImpl<_GetPicturesItemResponseModel>(this, _$identity);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return _$GetPicturesItemResponseModelToJson(this, );
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is _GetPicturesItemResponseModel&&(identical(other.id, id) || other.id == id)&&(identical(other.deviceIdentificator, deviceIdentificator) || other.deviceIdentificator == deviceIdentificator)&&(identical(other.imgType, imgType) || other.imgType == imgType)&&(identical(other.timestamp, timestamp) || other.timestamp == timestamp)&&(identical(other.fileId, fileId) || other.fileId == fileId)&&(identical(other.fileName, fileName) || other.fileName == fileName)&&(identical(other.contentType, contentType) || other.contentType == contentType)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&const DeepCollectionEquality().equals(other._file, _file));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,id,deviceIdentificator,imgType,timestamp,fileId,fileName,contentType,createdAt,const DeepCollectionEquality().hash(_file));
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetPicturesItemResponseModel(id: $id, deviceIdentificator: $deviceIdentificator, imgType: $imgType, timestamp: $timestamp, fileId: $fileId, fileName: $fileName, contentType: $contentType, createdAt: $createdAt, file: $file)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class _$GetPicturesItemResponseModelCopyWith<$Res> implements $GetPicturesItemResponseModelCopyWith<$Res> {
|
||||||
|
factory _$GetPicturesItemResponseModelCopyWith(_GetPicturesItemResponseModel value, $Res Function(_GetPicturesItemResponseModel) _then) = __$GetPicturesItemResponseModelCopyWithImpl;
|
||||||
|
@override @useResult
|
||||||
|
$Res call({
|
||||||
|
String id, String deviceIdentificator, String? imgType, String? timestamp, String fileId, String? fileName, String? contentType, int createdAt, Map<String, dynamic>? file
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class __$GetPicturesItemResponseModelCopyWithImpl<$Res>
|
||||||
|
implements _$GetPicturesItemResponseModelCopyWith<$Res> {
|
||||||
|
__$GetPicturesItemResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final _GetPicturesItemResponseModel _self;
|
||||||
|
final $Res Function(_GetPicturesItemResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetPicturesItemResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @pragma('vm:prefer-inline') $Res call({Object? id = null,Object? deviceIdentificator = null,Object? imgType = freezed,Object? timestamp = freezed,Object? fileId = null,Object? fileName = freezed,Object? contentType = freezed,Object? createdAt = null,Object? file = freezed,}) {
|
||||||
|
return _then(_GetPicturesItemResponseModel(
|
||||||
|
id: null == id ? _self.id : id // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,deviceIdentificator: null == deviceIdentificator ? _self.deviceIdentificator : deviceIdentificator // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,imgType: freezed == imgType ? _self.imgType : imgType // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,timestamp: freezed == timestamp ? _self.timestamp : timestamp // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,fileId: null == fileId ? _self.fileId : fileId // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,fileName: freezed == fileName ? _self.fileName : fileName // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,contentType: freezed == contentType ? _self.contentType : contentType // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,createdAt: null == createdAt ? _self.createdAt : createdAt // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,file: freezed == file ? _self._file : file // ignore: cast_nullable_to_non_nullable
|
||||||
|
as Map<String, dynamic>?,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// dart format on
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
|
||||||
|
part of 'get_pictures_response_model.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// JsonSerializableGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
_GetPicturesResponseModel _$GetPicturesResponseModelFromJson(
|
||||||
|
Map<String, dynamic> json,
|
||||||
|
) => _GetPicturesResponseModel(
|
||||||
|
items: (json['items'] as List<dynamic>)
|
||||||
|
.map(
|
||||||
|
(e) => GetPicturesItemResponseModel.fromJson(e as Map<String, dynamic>),
|
||||||
|
)
|
||||||
|
.toList(),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$GetPicturesResponseModelToJson(
|
||||||
|
_GetPicturesResponseModel instance,
|
||||||
|
) => <String, dynamic>{'items': instance.items};
|
||||||
|
|
||||||
|
_GetPicturesItemResponseModel _$GetPicturesItemResponseModelFromJson(
|
||||||
|
Map<String, dynamic> json,
|
||||||
|
) => _GetPicturesItemResponseModel(
|
||||||
|
id: json['id'] as String,
|
||||||
|
deviceIdentificator: json['deviceIdentificator'] as String? ?? '',
|
||||||
|
imgType: json['imgType'] as String?,
|
||||||
|
timestamp: json['timestamp'] as String?,
|
||||||
|
fileId: json['fileId'] as String? ?? '',
|
||||||
|
fileName: json['fileName'] as String?,
|
||||||
|
contentType: json['contentType'] as String?,
|
||||||
|
createdAt: (json['createdAt'] as num?)?.toInt() ?? 0,
|
||||||
|
file: json['file'] as Map<String, dynamic>?,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$GetPicturesItemResponseModelToJson(
|
||||||
|
_GetPicturesItemResponseModel instance,
|
||||||
|
) => <String, dynamic>{
|
||||||
|
'id': instance.id,
|
||||||
|
'deviceIdentificator': instance.deviceIdentificator,
|
||||||
|
'imgType': instance.imgType,
|
||||||
|
'timestamp': instance.timestamp,
|
||||||
|
'fileId': instance.fileId,
|
||||||
|
'fileName': instance.fileName,
|
||||||
|
'contentType': instance.contentType,
|
||||||
|
'createdAt': instance.createdAt,
|
||||||
|
'file': instance.file,
|
||||||
|
};
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
import 'dart:convert';
|
||||||
|
import 'dart:typed_data';
|
||||||
|
|
||||||
|
import 'package:device_management/src/core/domain/entities/schedule_period_entity.dart';
|
||||||
|
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||||
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
|
|
||||||
|
part 'get_schedule_response_model.freezed.dart';
|
||||||
|
part 'get_schedule_response_model.g.dart';
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
abstract class GetScheduleResponseModel with _$GetScheduleResponseModel {
|
||||||
|
const factory GetScheduleResponseModel({
|
||||||
|
required GetScheduleListResponseModel item,
|
||||||
|
}) = _GetScheduleResponseModel;
|
||||||
|
|
||||||
|
factory GetScheduleResponseModel.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$GetScheduleResponseModelFromJson(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
abstract class GetScheduleListResponseModel with _$GetScheduleListResponseModel {
|
||||||
|
const factory GetScheduleListResponseModel({
|
||||||
|
required String id,
|
||||||
|
required String deviceIdentificator,
|
||||||
|
required List<GetScheduleItemResponseModel> periods,
|
||||||
|
}) = _GetScheduleListResponseModel;
|
||||||
|
|
||||||
|
factory GetScheduleListResponseModel.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$GetScheduleListResponseModelFromJson(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
abstract class GetScheduleItemResponseModel
|
||||||
|
with _$GetScheduleItemResponseModel {
|
||||||
|
const factory GetScheduleItemResponseModel({
|
||||||
|
required String periodStart,
|
||||||
|
required String periodEnd,
|
||||||
|
required bool isPeriodEnabled,
|
||||||
|
}) = _GetScheduleItemResponseModel;
|
||||||
|
|
||||||
|
factory GetScheduleItemResponseModel.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$GetScheduleItemResponseModelFromJson(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
extension GetScheduleResponseModelMapper on GetScheduleResponseModel {
|
||||||
|
List<SchedulePeriodEntity> toEntity() {
|
||||||
|
return item.periods
|
||||||
|
.map((period) => SchedulePeriodEntity(
|
||||||
|
periodStart: period.periodStart,
|
||||||
|
periodEnd: period.periodEnd,
|
||||||
|
isPeriodEnabled: period.isPeriodEnabled,
|
||||||
|
))
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,839 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
// coverage:ignore-file
|
||||||
|
// ignore_for_file: type=lint
|
||||||
|
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||||
|
|
||||||
|
part of 'get_schedule_response_model.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// FreezedGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
// dart format off
|
||||||
|
T _$identity<T>(T value) => value;
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$GetScheduleResponseModel {
|
||||||
|
|
||||||
|
GetScheduleListResponseModel get item;
|
||||||
|
/// Create a copy of GetScheduleResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$GetScheduleResponseModelCopyWith<GetScheduleResponseModel> get copyWith => _$GetScheduleResponseModelCopyWithImpl<GetScheduleResponseModel>(this as GetScheduleResponseModel, _$identity);
|
||||||
|
|
||||||
|
/// Serializes this GetScheduleResponseModel to a JSON map.
|
||||||
|
Map<String, dynamic> toJson();
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is GetScheduleResponseModel&&(identical(other.item, item) || other.item == item));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,item);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetScheduleResponseModel(item: $item)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class $GetScheduleResponseModelCopyWith<$Res> {
|
||||||
|
factory $GetScheduleResponseModelCopyWith(GetScheduleResponseModel value, $Res Function(GetScheduleResponseModel) _then) = _$GetScheduleResponseModelCopyWithImpl;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
GetScheduleListResponseModel item
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$GetScheduleListResponseModelCopyWith<$Res> get item;
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class _$GetScheduleResponseModelCopyWithImpl<$Res>
|
||||||
|
implements $GetScheduleResponseModelCopyWith<$Res> {
|
||||||
|
_$GetScheduleResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final GetScheduleResponseModel _self;
|
||||||
|
final $Res Function(GetScheduleResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetScheduleResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline') @override $Res call({Object? item = null,}) {
|
||||||
|
return _then(_self.copyWith(
|
||||||
|
item: null == item ? _self.item : item // ignore: cast_nullable_to_non_nullable
|
||||||
|
as GetScheduleListResponseModel,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
/// Create a copy of GetScheduleResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$GetScheduleListResponseModelCopyWith<$Res> get item {
|
||||||
|
|
||||||
|
return $GetScheduleListResponseModelCopyWith<$Res>(_self.item, (value) {
|
||||||
|
return _then(_self.copyWith(item: value));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Adds pattern-matching-related methods to [GetScheduleResponseModel].
|
||||||
|
extension GetScheduleResponseModelPatterns on GetScheduleResponseModel {
|
||||||
|
/// A variant of `map` that fallback to returning `orElse`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _GetScheduleResponseModel value)? $default,{required TResult orElse(),}){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// Callbacks receives the raw object, upcasted.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case final Subclass2 value:
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _GetScheduleResponseModel value) $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleResponseModel():
|
||||||
|
return $default(_that);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `map` that fallback to returning `null`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _GetScheduleResponseModel value)? $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to an `orElse` callback.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( GetScheduleListResponseModel item)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleResponseModel() when $default != null:
|
||||||
|
return $default(_that.item);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// As opposed to `map`, this offers destructuring.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case Subclass2(:final field2):
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( GetScheduleListResponseModel item) $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleResponseModel():
|
||||||
|
return $default(_that.item);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to returning `null`
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( GetScheduleListResponseModel item)? $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleResponseModel() when $default != null:
|
||||||
|
return $default(_that.item);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
@JsonSerializable()
|
||||||
|
|
||||||
|
class _GetScheduleResponseModel implements GetScheduleResponseModel {
|
||||||
|
const _GetScheduleResponseModel({required this.item});
|
||||||
|
factory _GetScheduleResponseModel.fromJson(Map<String, dynamic> json) => _$GetScheduleResponseModelFromJson(json);
|
||||||
|
|
||||||
|
@override final GetScheduleListResponseModel item;
|
||||||
|
|
||||||
|
/// Create a copy of GetScheduleResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$GetScheduleResponseModelCopyWith<_GetScheduleResponseModel> get copyWith => __$GetScheduleResponseModelCopyWithImpl<_GetScheduleResponseModel>(this, _$identity);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return _$GetScheduleResponseModelToJson(this, );
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is _GetScheduleResponseModel&&(identical(other.item, item) || other.item == item));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,item);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetScheduleResponseModel(item: $item)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class _$GetScheduleResponseModelCopyWith<$Res> implements $GetScheduleResponseModelCopyWith<$Res> {
|
||||||
|
factory _$GetScheduleResponseModelCopyWith(_GetScheduleResponseModel value, $Res Function(_GetScheduleResponseModel) _then) = __$GetScheduleResponseModelCopyWithImpl;
|
||||||
|
@override @useResult
|
||||||
|
$Res call({
|
||||||
|
GetScheduleListResponseModel item
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@override $GetScheduleListResponseModelCopyWith<$Res> get item;
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class __$GetScheduleResponseModelCopyWithImpl<$Res>
|
||||||
|
implements _$GetScheduleResponseModelCopyWith<$Res> {
|
||||||
|
__$GetScheduleResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final _GetScheduleResponseModel _self;
|
||||||
|
final $Res Function(_GetScheduleResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetScheduleResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @pragma('vm:prefer-inline') $Res call({Object? item = null,}) {
|
||||||
|
return _then(_GetScheduleResponseModel(
|
||||||
|
item: null == item ? _self.item : item // ignore: cast_nullable_to_non_nullable
|
||||||
|
as GetScheduleListResponseModel,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Create a copy of GetScheduleResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$GetScheduleListResponseModelCopyWith<$Res> get item {
|
||||||
|
|
||||||
|
return $GetScheduleListResponseModelCopyWith<$Res>(_self.item, (value) {
|
||||||
|
return _then(_self.copyWith(item: value));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$GetScheduleListResponseModel {
|
||||||
|
|
||||||
|
String get id; String get deviceIdentificator; List<GetScheduleItemResponseModel> get periods;
|
||||||
|
/// Create a copy of GetScheduleListResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$GetScheduleListResponseModelCopyWith<GetScheduleListResponseModel> get copyWith => _$GetScheduleListResponseModelCopyWithImpl<GetScheduleListResponseModel>(this as GetScheduleListResponseModel, _$identity);
|
||||||
|
|
||||||
|
/// Serializes this GetScheduleListResponseModel to a JSON map.
|
||||||
|
Map<String, dynamic> toJson();
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is GetScheduleListResponseModel&&(identical(other.id, id) || other.id == id)&&(identical(other.deviceIdentificator, deviceIdentificator) || other.deviceIdentificator == deviceIdentificator)&&const DeepCollectionEquality().equals(other.periods, periods));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,id,deviceIdentificator,const DeepCollectionEquality().hash(periods));
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetScheduleListResponseModel(id: $id, deviceIdentificator: $deviceIdentificator, periods: $periods)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class $GetScheduleListResponseModelCopyWith<$Res> {
|
||||||
|
factory $GetScheduleListResponseModelCopyWith(GetScheduleListResponseModel value, $Res Function(GetScheduleListResponseModel) _then) = _$GetScheduleListResponseModelCopyWithImpl;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
String id, String deviceIdentificator, List<GetScheduleItemResponseModel> periods
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class _$GetScheduleListResponseModelCopyWithImpl<$Res>
|
||||||
|
implements $GetScheduleListResponseModelCopyWith<$Res> {
|
||||||
|
_$GetScheduleListResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final GetScheduleListResponseModel _self;
|
||||||
|
final $Res Function(GetScheduleListResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetScheduleListResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline') @override $Res call({Object? id = null,Object? deviceIdentificator = null,Object? periods = null,}) {
|
||||||
|
return _then(_self.copyWith(
|
||||||
|
id: null == id ? _self.id : id // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,deviceIdentificator: null == deviceIdentificator ? _self.deviceIdentificator : deviceIdentificator // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,periods: null == periods ? _self.periods : periods // ignore: cast_nullable_to_non_nullable
|
||||||
|
as List<GetScheduleItemResponseModel>,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Adds pattern-matching-related methods to [GetScheduleListResponseModel].
|
||||||
|
extension GetScheduleListResponseModelPatterns on GetScheduleListResponseModel {
|
||||||
|
/// A variant of `map` that fallback to returning `orElse`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _GetScheduleListResponseModel value)? $default,{required TResult orElse(),}){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleListResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// Callbacks receives the raw object, upcasted.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case final Subclass2 value:
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _GetScheduleListResponseModel value) $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleListResponseModel():
|
||||||
|
return $default(_that);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `map` that fallback to returning `null`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _GetScheduleListResponseModel value)? $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleListResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to an `orElse` callback.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String id, String deviceIdentificator, List<GetScheduleItemResponseModel> periods)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleListResponseModel() when $default != null:
|
||||||
|
return $default(_that.id,_that.deviceIdentificator,_that.periods);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// As opposed to `map`, this offers destructuring.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case Subclass2(:final field2):
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String id, String deviceIdentificator, List<GetScheduleItemResponseModel> periods) $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleListResponseModel():
|
||||||
|
return $default(_that.id,_that.deviceIdentificator,_that.periods);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to returning `null`
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String id, String deviceIdentificator, List<GetScheduleItemResponseModel> periods)? $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleListResponseModel() when $default != null:
|
||||||
|
return $default(_that.id,_that.deviceIdentificator,_that.periods);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
@JsonSerializable()
|
||||||
|
|
||||||
|
class _GetScheduleListResponseModel implements GetScheduleListResponseModel {
|
||||||
|
const _GetScheduleListResponseModel({required this.id, required this.deviceIdentificator, required final List<GetScheduleItemResponseModel> periods}): _periods = periods;
|
||||||
|
factory _GetScheduleListResponseModel.fromJson(Map<String, dynamic> json) => _$GetScheduleListResponseModelFromJson(json);
|
||||||
|
|
||||||
|
@override final String id;
|
||||||
|
@override final String deviceIdentificator;
|
||||||
|
final List<GetScheduleItemResponseModel> _periods;
|
||||||
|
@override List<GetScheduleItemResponseModel> get periods {
|
||||||
|
if (_periods is EqualUnmodifiableListView) return _periods;
|
||||||
|
// ignore: implicit_dynamic_type
|
||||||
|
return EqualUnmodifiableListView(_periods);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Create a copy of GetScheduleListResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$GetScheduleListResponseModelCopyWith<_GetScheduleListResponseModel> get copyWith => __$GetScheduleListResponseModelCopyWithImpl<_GetScheduleListResponseModel>(this, _$identity);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return _$GetScheduleListResponseModelToJson(this, );
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is _GetScheduleListResponseModel&&(identical(other.id, id) || other.id == id)&&(identical(other.deviceIdentificator, deviceIdentificator) || other.deviceIdentificator == deviceIdentificator)&&const DeepCollectionEquality().equals(other._periods, _periods));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,id,deviceIdentificator,const DeepCollectionEquality().hash(_periods));
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetScheduleListResponseModel(id: $id, deviceIdentificator: $deviceIdentificator, periods: $periods)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class _$GetScheduleListResponseModelCopyWith<$Res> implements $GetScheduleListResponseModelCopyWith<$Res> {
|
||||||
|
factory _$GetScheduleListResponseModelCopyWith(_GetScheduleListResponseModel value, $Res Function(_GetScheduleListResponseModel) _then) = __$GetScheduleListResponseModelCopyWithImpl;
|
||||||
|
@override @useResult
|
||||||
|
$Res call({
|
||||||
|
String id, String deviceIdentificator, List<GetScheduleItemResponseModel> periods
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class __$GetScheduleListResponseModelCopyWithImpl<$Res>
|
||||||
|
implements _$GetScheduleListResponseModelCopyWith<$Res> {
|
||||||
|
__$GetScheduleListResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final _GetScheduleListResponseModel _self;
|
||||||
|
final $Res Function(_GetScheduleListResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetScheduleListResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @pragma('vm:prefer-inline') $Res call({Object? id = null,Object? deviceIdentificator = null,Object? periods = null,}) {
|
||||||
|
return _then(_GetScheduleListResponseModel(
|
||||||
|
id: null == id ? _self.id : id // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,deviceIdentificator: null == deviceIdentificator ? _self.deviceIdentificator : deviceIdentificator // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,periods: null == periods ? _self._periods : periods // ignore: cast_nullable_to_non_nullable
|
||||||
|
as List<GetScheduleItemResponseModel>,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$GetScheduleItemResponseModel {
|
||||||
|
|
||||||
|
String get periodStart; String get periodEnd; bool get isPeriodEnabled;
|
||||||
|
/// Create a copy of GetScheduleItemResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$GetScheduleItemResponseModelCopyWith<GetScheduleItemResponseModel> get copyWith => _$GetScheduleItemResponseModelCopyWithImpl<GetScheduleItemResponseModel>(this as GetScheduleItemResponseModel, _$identity);
|
||||||
|
|
||||||
|
/// Serializes this GetScheduleItemResponseModel to a JSON map.
|
||||||
|
Map<String, dynamic> toJson();
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is GetScheduleItemResponseModel&&(identical(other.periodStart, periodStart) || other.periodStart == periodStart)&&(identical(other.periodEnd, periodEnd) || other.periodEnd == periodEnd)&&(identical(other.isPeriodEnabled, isPeriodEnabled) || other.isPeriodEnabled == isPeriodEnabled));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,periodStart,periodEnd,isPeriodEnabled);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetScheduleItemResponseModel(periodStart: $periodStart, periodEnd: $periodEnd, isPeriodEnabled: $isPeriodEnabled)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class $GetScheduleItemResponseModelCopyWith<$Res> {
|
||||||
|
factory $GetScheduleItemResponseModelCopyWith(GetScheduleItemResponseModel value, $Res Function(GetScheduleItemResponseModel) _then) = _$GetScheduleItemResponseModelCopyWithImpl;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
String periodStart, String periodEnd, bool isPeriodEnabled
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class _$GetScheduleItemResponseModelCopyWithImpl<$Res>
|
||||||
|
implements $GetScheduleItemResponseModelCopyWith<$Res> {
|
||||||
|
_$GetScheduleItemResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final GetScheduleItemResponseModel _self;
|
||||||
|
final $Res Function(GetScheduleItemResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetScheduleItemResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline') @override $Res call({Object? periodStart = null,Object? periodEnd = null,Object? isPeriodEnabled = null,}) {
|
||||||
|
return _then(_self.copyWith(
|
||||||
|
periodStart: null == periodStart ? _self.periodStart : periodStart // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,periodEnd: null == periodEnd ? _self.periodEnd : periodEnd // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,isPeriodEnabled: null == isPeriodEnabled ? _self.isPeriodEnabled : isPeriodEnabled // ignore: cast_nullable_to_non_nullable
|
||||||
|
as bool,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Adds pattern-matching-related methods to [GetScheduleItemResponseModel].
|
||||||
|
extension GetScheduleItemResponseModelPatterns on GetScheduleItemResponseModel {
|
||||||
|
/// A variant of `map` that fallback to returning `orElse`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _GetScheduleItemResponseModel value)? $default,{required TResult orElse(),}){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleItemResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// Callbacks receives the raw object, upcasted.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case final Subclass2 value:
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _GetScheduleItemResponseModel value) $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleItemResponseModel():
|
||||||
|
return $default(_that);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `map` that fallback to returning `null`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _GetScheduleItemResponseModel value)? $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleItemResponseModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to an `orElse` callback.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String periodStart, String periodEnd, bool isPeriodEnabled)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleItemResponseModel() when $default != null:
|
||||||
|
return $default(_that.periodStart,_that.periodEnd,_that.isPeriodEnabled);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// As opposed to `map`, this offers destructuring.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case Subclass2(:final field2):
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String periodStart, String periodEnd, bool isPeriodEnabled) $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleItemResponseModel():
|
||||||
|
return $default(_that.periodStart,_that.periodEnd,_that.isPeriodEnabled);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to returning `null`
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String periodStart, String periodEnd, bool isPeriodEnabled)? $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _GetScheduleItemResponseModel() when $default != null:
|
||||||
|
return $default(_that.periodStart,_that.periodEnd,_that.isPeriodEnabled);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
@JsonSerializable()
|
||||||
|
|
||||||
|
class _GetScheduleItemResponseModel implements GetScheduleItemResponseModel {
|
||||||
|
const _GetScheduleItemResponseModel({required this.periodStart, required this.periodEnd, required this.isPeriodEnabled});
|
||||||
|
factory _GetScheduleItemResponseModel.fromJson(Map<String, dynamic> json) => _$GetScheduleItemResponseModelFromJson(json);
|
||||||
|
|
||||||
|
@override final String periodStart;
|
||||||
|
@override final String periodEnd;
|
||||||
|
@override final bool isPeriodEnabled;
|
||||||
|
|
||||||
|
/// Create a copy of GetScheduleItemResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$GetScheduleItemResponseModelCopyWith<_GetScheduleItemResponseModel> get copyWith => __$GetScheduleItemResponseModelCopyWithImpl<_GetScheduleItemResponseModel>(this, _$identity);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return _$GetScheduleItemResponseModelToJson(this, );
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is _GetScheduleItemResponseModel&&(identical(other.periodStart, periodStart) || other.periodStart == periodStart)&&(identical(other.periodEnd, periodEnd) || other.periodEnd == periodEnd)&&(identical(other.isPeriodEnabled, isPeriodEnabled) || other.isPeriodEnabled == isPeriodEnabled));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,periodStart,periodEnd,isPeriodEnabled);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'GetScheduleItemResponseModel(periodStart: $periodStart, periodEnd: $periodEnd, isPeriodEnabled: $isPeriodEnabled)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class _$GetScheduleItemResponseModelCopyWith<$Res> implements $GetScheduleItemResponseModelCopyWith<$Res> {
|
||||||
|
factory _$GetScheduleItemResponseModelCopyWith(_GetScheduleItemResponseModel value, $Res Function(_GetScheduleItemResponseModel) _then) = __$GetScheduleItemResponseModelCopyWithImpl;
|
||||||
|
@override @useResult
|
||||||
|
$Res call({
|
||||||
|
String periodStart, String periodEnd, bool isPeriodEnabled
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class __$GetScheduleItemResponseModelCopyWithImpl<$Res>
|
||||||
|
implements _$GetScheduleItemResponseModelCopyWith<$Res> {
|
||||||
|
__$GetScheduleItemResponseModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final _GetScheduleItemResponseModel _self;
|
||||||
|
final $Res Function(_GetScheduleItemResponseModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of GetScheduleItemResponseModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @pragma('vm:prefer-inline') $Res call({Object? periodStart = null,Object? periodEnd = null,Object? isPeriodEnabled = null,}) {
|
||||||
|
return _then(_GetScheduleItemResponseModel(
|
||||||
|
periodStart: null == periodStart ? _self.periodStart : periodStart // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,periodEnd: null == periodEnd ? _self.periodEnd : periodEnd // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,isPeriodEnabled: null == isPeriodEnabled ? _self.isPeriodEnabled : isPeriodEnabled // ignore: cast_nullable_to_non_nullable
|
||||||
|
as bool,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// dart format on
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
|
||||||
|
part of 'get_schedule_response_model.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// JsonSerializableGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
_GetScheduleResponseModel _$GetScheduleResponseModelFromJson(
|
||||||
|
Map<String, dynamic> json,
|
||||||
|
) => _GetScheduleResponseModel(
|
||||||
|
item: GetScheduleListResponseModel.fromJson(
|
||||||
|
json['item'] as Map<String, dynamic>,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$GetScheduleResponseModelToJson(
|
||||||
|
_GetScheduleResponseModel instance,
|
||||||
|
) => <String, dynamic>{'item': instance.item};
|
||||||
|
|
||||||
|
_GetScheduleListResponseModel _$GetScheduleListResponseModelFromJson(
|
||||||
|
Map<String, dynamic> json,
|
||||||
|
) => _GetScheduleListResponseModel(
|
||||||
|
id: json['id'] as String,
|
||||||
|
deviceIdentificator: json['deviceIdentificator'] as String,
|
||||||
|
periods: (json['periods'] as List<dynamic>)
|
||||||
|
.map(
|
||||||
|
(e) => GetScheduleItemResponseModel.fromJson(e as Map<String, dynamic>),
|
||||||
|
)
|
||||||
|
.toList(),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$GetScheduleListResponseModelToJson(
|
||||||
|
_GetScheduleListResponseModel instance,
|
||||||
|
) => <String, dynamic>{
|
||||||
|
'id': instance.id,
|
||||||
|
'deviceIdentificator': instance.deviceIdentificator,
|
||||||
|
'periods': instance.periods,
|
||||||
|
};
|
||||||
|
|
||||||
|
_GetScheduleItemResponseModel _$GetScheduleItemResponseModelFromJson(
|
||||||
|
Map<String, dynamic> json,
|
||||||
|
) => _GetScheduleItemResponseModel(
|
||||||
|
periodStart: json['periodStart'] as String,
|
||||||
|
periodEnd: json['periodEnd'] as String,
|
||||||
|
isPeriodEnabled: json['isPeriodEnabled'] as bool,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$GetScheduleItemResponseModelToJson(
|
||||||
|
_GetScheduleItemResponseModel instance,
|
||||||
|
) => <String, dynamic>{
|
||||||
|
'periodStart': instance.periodStart,
|
||||||
|
'periodEnd': instance.periodEnd,
|
||||||
|
'isPeriodEnabled': instance.isPeriodEnabled,
|
||||||
|
};
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
|
|
||||||
|
part 'upsert_schedule_request_model.freezed.dart';
|
||||||
|
part 'upsert_schedule_request_model.g.dart';
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
abstract class UpdateScheduleRequestModel with _$UpdateScheduleRequestModel {
|
||||||
|
const factory UpdateScheduleRequestModel({
|
||||||
|
required List<UpdateScheduleItemRequestModel> periods,
|
||||||
|
}) = _UpdateScheduleRequestModel;
|
||||||
|
|
||||||
|
factory UpdateScheduleRequestModel.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$UpdateScheduleRequestModelFromJson(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
abstract class UpdateScheduleItemRequestModel
|
||||||
|
with _$UpdateScheduleItemRequestModel {
|
||||||
|
const factory UpdateScheduleItemRequestModel({
|
||||||
|
required String periodStart,
|
||||||
|
required String periodEnd,
|
||||||
|
required bool isPeriodEnabled,
|
||||||
|
}) = _UpdateScheduleItemRequestModel;
|
||||||
|
|
||||||
|
factory UpdateScheduleItemRequestModel.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$UpdateScheduleItemRequestModelFromJson(json);
|
||||||
|
}
|
||||||
@@ -0,0 +1,552 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
// coverage:ignore-file
|
||||||
|
// ignore_for_file: type=lint
|
||||||
|
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||||
|
|
||||||
|
part of 'upsert_schedule_request_model.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// FreezedGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
// dart format off
|
||||||
|
T _$identity<T>(T value) => value;
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$UpdateScheduleRequestModel {
|
||||||
|
|
||||||
|
List<UpdateScheduleItemRequestModel> get periods;
|
||||||
|
/// Create a copy of UpdateScheduleRequestModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$UpdateScheduleRequestModelCopyWith<UpdateScheduleRequestModel> get copyWith => _$UpdateScheduleRequestModelCopyWithImpl<UpdateScheduleRequestModel>(this as UpdateScheduleRequestModel, _$identity);
|
||||||
|
|
||||||
|
/// Serializes this UpdateScheduleRequestModel to a JSON map.
|
||||||
|
Map<String, dynamic> toJson();
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is UpdateScheduleRequestModel&&const DeepCollectionEquality().equals(other.periods, periods));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(periods));
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'UpdateScheduleRequestModel(periods: $periods)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class $UpdateScheduleRequestModelCopyWith<$Res> {
|
||||||
|
factory $UpdateScheduleRequestModelCopyWith(UpdateScheduleRequestModel value, $Res Function(UpdateScheduleRequestModel) _then) = _$UpdateScheduleRequestModelCopyWithImpl;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
List<UpdateScheduleItemRequestModel> periods
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class _$UpdateScheduleRequestModelCopyWithImpl<$Res>
|
||||||
|
implements $UpdateScheduleRequestModelCopyWith<$Res> {
|
||||||
|
_$UpdateScheduleRequestModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final UpdateScheduleRequestModel _self;
|
||||||
|
final $Res Function(UpdateScheduleRequestModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of UpdateScheduleRequestModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline') @override $Res call({Object? periods = null,}) {
|
||||||
|
return _then(_self.copyWith(
|
||||||
|
periods: null == periods ? _self.periods : periods // ignore: cast_nullable_to_non_nullable
|
||||||
|
as List<UpdateScheduleItemRequestModel>,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Adds pattern-matching-related methods to [UpdateScheduleRequestModel].
|
||||||
|
extension UpdateScheduleRequestModelPatterns on UpdateScheduleRequestModel {
|
||||||
|
/// A variant of `map` that fallback to returning `orElse`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _UpdateScheduleRequestModel value)? $default,{required TResult orElse(),}){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _UpdateScheduleRequestModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// Callbacks receives the raw object, upcasted.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case final Subclass2 value:
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _UpdateScheduleRequestModel value) $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _UpdateScheduleRequestModel():
|
||||||
|
return $default(_that);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `map` that fallback to returning `null`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _UpdateScheduleRequestModel value)? $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _UpdateScheduleRequestModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to an `orElse` callback.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( List<UpdateScheduleItemRequestModel> periods)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _UpdateScheduleRequestModel() when $default != null:
|
||||||
|
return $default(_that.periods);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// As opposed to `map`, this offers destructuring.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case Subclass2(:final field2):
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( List<UpdateScheduleItemRequestModel> periods) $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _UpdateScheduleRequestModel():
|
||||||
|
return $default(_that.periods);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to returning `null`
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( List<UpdateScheduleItemRequestModel> periods)? $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _UpdateScheduleRequestModel() when $default != null:
|
||||||
|
return $default(_that.periods);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
@JsonSerializable()
|
||||||
|
|
||||||
|
class _UpdateScheduleRequestModel implements UpdateScheduleRequestModel {
|
||||||
|
const _UpdateScheduleRequestModel({required final List<UpdateScheduleItemRequestModel> periods}): _periods = periods;
|
||||||
|
factory _UpdateScheduleRequestModel.fromJson(Map<String, dynamic> json) => _$UpdateScheduleRequestModelFromJson(json);
|
||||||
|
|
||||||
|
final List<UpdateScheduleItemRequestModel> _periods;
|
||||||
|
@override List<UpdateScheduleItemRequestModel> get periods {
|
||||||
|
if (_periods is EqualUnmodifiableListView) return _periods;
|
||||||
|
// ignore: implicit_dynamic_type
|
||||||
|
return EqualUnmodifiableListView(_periods);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Create a copy of UpdateScheduleRequestModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$UpdateScheduleRequestModelCopyWith<_UpdateScheduleRequestModel> get copyWith => __$UpdateScheduleRequestModelCopyWithImpl<_UpdateScheduleRequestModel>(this, _$identity);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return _$UpdateScheduleRequestModelToJson(this, );
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is _UpdateScheduleRequestModel&&const DeepCollectionEquality().equals(other._periods, _periods));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(_periods));
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'UpdateScheduleRequestModel(periods: $periods)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class _$UpdateScheduleRequestModelCopyWith<$Res> implements $UpdateScheduleRequestModelCopyWith<$Res> {
|
||||||
|
factory _$UpdateScheduleRequestModelCopyWith(_UpdateScheduleRequestModel value, $Res Function(_UpdateScheduleRequestModel) _then) = __$UpdateScheduleRequestModelCopyWithImpl;
|
||||||
|
@override @useResult
|
||||||
|
$Res call({
|
||||||
|
List<UpdateScheduleItemRequestModel> periods
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class __$UpdateScheduleRequestModelCopyWithImpl<$Res>
|
||||||
|
implements _$UpdateScheduleRequestModelCopyWith<$Res> {
|
||||||
|
__$UpdateScheduleRequestModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final _UpdateScheduleRequestModel _self;
|
||||||
|
final $Res Function(_UpdateScheduleRequestModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of UpdateScheduleRequestModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @pragma('vm:prefer-inline') $Res call({Object? periods = null,}) {
|
||||||
|
return _then(_UpdateScheduleRequestModel(
|
||||||
|
periods: null == periods ? _self._periods : periods // ignore: cast_nullable_to_non_nullable
|
||||||
|
as List<UpdateScheduleItemRequestModel>,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$UpdateScheduleItemRequestModel {
|
||||||
|
|
||||||
|
String get periodStart; String get periodEnd; bool get isPeriodEnabled;
|
||||||
|
/// Create a copy of UpdateScheduleItemRequestModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$UpdateScheduleItemRequestModelCopyWith<UpdateScheduleItemRequestModel> get copyWith => _$UpdateScheduleItemRequestModelCopyWithImpl<UpdateScheduleItemRequestModel>(this as UpdateScheduleItemRequestModel, _$identity);
|
||||||
|
|
||||||
|
/// Serializes this UpdateScheduleItemRequestModel to a JSON map.
|
||||||
|
Map<String, dynamic> toJson();
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is UpdateScheduleItemRequestModel&&(identical(other.periodStart, periodStart) || other.periodStart == periodStart)&&(identical(other.periodEnd, periodEnd) || other.periodEnd == periodEnd)&&(identical(other.isPeriodEnabled, isPeriodEnabled) || other.isPeriodEnabled == isPeriodEnabled));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,periodStart,periodEnd,isPeriodEnabled);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'UpdateScheduleItemRequestModel(periodStart: $periodStart, periodEnd: $periodEnd, isPeriodEnabled: $isPeriodEnabled)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class $UpdateScheduleItemRequestModelCopyWith<$Res> {
|
||||||
|
factory $UpdateScheduleItemRequestModelCopyWith(UpdateScheduleItemRequestModel value, $Res Function(UpdateScheduleItemRequestModel) _then) = _$UpdateScheduleItemRequestModelCopyWithImpl;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
String periodStart, String periodEnd, bool isPeriodEnabled
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class _$UpdateScheduleItemRequestModelCopyWithImpl<$Res>
|
||||||
|
implements $UpdateScheduleItemRequestModelCopyWith<$Res> {
|
||||||
|
_$UpdateScheduleItemRequestModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final UpdateScheduleItemRequestModel _self;
|
||||||
|
final $Res Function(UpdateScheduleItemRequestModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of UpdateScheduleItemRequestModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline') @override $Res call({Object? periodStart = null,Object? periodEnd = null,Object? isPeriodEnabled = null,}) {
|
||||||
|
return _then(_self.copyWith(
|
||||||
|
periodStart: null == periodStart ? _self.periodStart : periodStart // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,periodEnd: null == periodEnd ? _self.periodEnd : periodEnd // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,isPeriodEnabled: null == isPeriodEnabled ? _self.isPeriodEnabled : isPeriodEnabled // ignore: cast_nullable_to_non_nullable
|
||||||
|
as bool,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Adds pattern-matching-related methods to [UpdateScheduleItemRequestModel].
|
||||||
|
extension UpdateScheduleItemRequestModelPatterns on UpdateScheduleItemRequestModel {
|
||||||
|
/// A variant of `map` that fallback to returning `orElse`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _UpdateScheduleItemRequestModel value)? $default,{required TResult orElse(),}){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _UpdateScheduleItemRequestModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// Callbacks receives the raw object, upcasted.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case final Subclass2 value:
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _UpdateScheduleItemRequestModel value) $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _UpdateScheduleItemRequestModel():
|
||||||
|
return $default(_that);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `map` that fallback to returning `null`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _UpdateScheduleItemRequestModel value)? $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _UpdateScheduleItemRequestModel() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to an `orElse` callback.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String periodStart, String periodEnd, bool isPeriodEnabled)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _UpdateScheduleItemRequestModel() when $default != null:
|
||||||
|
return $default(_that.periodStart,_that.periodEnd,_that.isPeriodEnabled);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// As opposed to `map`, this offers destructuring.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case Subclass2(:final field2):
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String periodStart, String periodEnd, bool isPeriodEnabled) $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _UpdateScheduleItemRequestModel():
|
||||||
|
return $default(_that.periodStart,_that.periodEnd,_that.isPeriodEnabled);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to returning `null`
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String periodStart, String periodEnd, bool isPeriodEnabled)? $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _UpdateScheduleItemRequestModel() when $default != null:
|
||||||
|
return $default(_that.periodStart,_that.periodEnd,_that.isPeriodEnabled);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
@JsonSerializable()
|
||||||
|
|
||||||
|
class _UpdateScheduleItemRequestModel implements UpdateScheduleItemRequestModel {
|
||||||
|
const _UpdateScheduleItemRequestModel({required this.periodStart, required this.periodEnd, required this.isPeriodEnabled});
|
||||||
|
factory _UpdateScheduleItemRequestModel.fromJson(Map<String, dynamic> json) => _$UpdateScheduleItemRequestModelFromJson(json);
|
||||||
|
|
||||||
|
@override final String periodStart;
|
||||||
|
@override final String periodEnd;
|
||||||
|
@override final bool isPeriodEnabled;
|
||||||
|
|
||||||
|
/// Create a copy of UpdateScheduleItemRequestModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$UpdateScheduleItemRequestModelCopyWith<_UpdateScheduleItemRequestModel> get copyWith => __$UpdateScheduleItemRequestModelCopyWithImpl<_UpdateScheduleItemRequestModel>(this, _$identity);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return _$UpdateScheduleItemRequestModelToJson(this, );
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is _UpdateScheduleItemRequestModel&&(identical(other.periodStart, periodStart) || other.periodStart == periodStart)&&(identical(other.periodEnd, periodEnd) || other.periodEnd == periodEnd)&&(identical(other.isPeriodEnabled, isPeriodEnabled) || other.isPeriodEnabled == isPeriodEnabled));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,periodStart,periodEnd,isPeriodEnabled);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'UpdateScheduleItemRequestModel(periodStart: $periodStart, periodEnd: $periodEnd, isPeriodEnabled: $isPeriodEnabled)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class _$UpdateScheduleItemRequestModelCopyWith<$Res> implements $UpdateScheduleItemRequestModelCopyWith<$Res> {
|
||||||
|
factory _$UpdateScheduleItemRequestModelCopyWith(_UpdateScheduleItemRequestModel value, $Res Function(_UpdateScheduleItemRequestModel) _then) = __$UpdateScheduleItemRequestModelCopyWithImpl;
|
||||||
|
@override @useResult
|
||||||
|
$Res call({
|
||||||
|
String periodStart, String periodEnd, bool isPeriodEnabled
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class __$UpdateScheduleItemRequestModelCopyWithImpl<$Res>
|
||||||
|
implements _$UpdateScheduleItemRequestModelCopyWith<$Res> {
|
||||||
|
__$UpdateScheduleItemRequestModelCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final _UpdateScheduleItemRequestModel _self;
|
||||||
|
final $Res Function(_UpdateScheduleItemRequestModel) _then;
|
||||||
|
|
||||||
|
/// Create a copy of UpdateScheduleItemRequestModel
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @pragma('vm:prefer-inline') $Res call({Object? periodStart = null,Object? periodEnd = null,Object? isPeriodEnabled = null,}) {
|
||||||
|
return _then(_UpdateScheduleItemRequestModel(
|
||||||
|
periodStart: null == periodStart ? _self.periodStart : periodStart // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,periodEnd: null == periodEnd ? _self.periodEnd : periodEnd // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,isPeriodEnabled: null == isPeriodEnabled ? _self.isPeriodEnabled : isPeriodEnabled // ignore: cast_nullable_to_non_nullable
|
||||||
|
as bool,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// dart format on
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
|
||||||
|
part of 'upsert_schedule_request_model.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// JsonSerializableGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
_UpdateScheduleRequestModel _$UpdateScheduleRequestModelFromJson(
|
||||||
|
Map<String, dynamic> json,
|
||||||
|
) => _UpdateScheduleRequestModel(
|
||||||
|
periods: (json['periods'] as List<dynamic>)
|
||||||
|
.map(
|
||||||
|
(e) =>
|
||||||
|
UpdateScheduleItemRequestModel.fromJson(e as Map<String, dynamic>),
|
||||||
|
)
|
||||||
|
.toList(),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$UpdateScheduleRequestModelToJson(
|
||||||
|
_UpdateScheduleRequestModel instance,
|
||||||
|
) => <String, dynamic>{'periods': instance.periods};
|
||||||
|
|
||||||
|
_UpdateScheduleItemRequestModel _$UpdateScheduleItemRequestModelFromJson(
|
||||||
|
Map<String, dynamic> json,
|
||||||
|
) => _UpdateScheduleItemRequestModel(
|
||||||
|
periodStart: json['periodStart'] as String,
|
||||||
|
periodEnd: json['periodEnd'] as String,
|
||||||
|
isPeriodEnabled: json['isPeriodEnabled'] as bool,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$UpdateScheduleItemRequestModelToJson(
|
||||||
|
_UpdateScheduleItemRequestModel instance,
|
||||||
|
) => <String, dynamic>{
|
||||||
|
'periodStart': instance.periodStart,
|
||||||
|
'periodEnd': instance.periodEnd,
|
||||||
|
'isPeriodEnabled': instance.isPeriodEnabled,
|
||||||
|
};
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
import 'package:device_management/src/core/data/models/get_installed_apps_response_model.dart';
|
||||||
|
import 'package:device_management/src/core/data/models/get_schedule_response_model.dart';
|
||||||
|
import 'package:device_management/src/core/domain/entities/schedule_period_entity.dart';
|
||||||
|
import 'package:device_management/src/features/apps_surveillance/data/installed_app_entity.dart';
|
||||||
|
|
||||||
|
import '../../domain/repositories/app_surveillance_repository.dart';
|
||||||
|
import '../datasources/apps_surveillance_remote_datasource.dart';
|
||||||
|
import '../models/upsert_schedule_request_model.dart';
|
||||||
|
|
||||||
|
class AppSurveillanceRepositoryImpl
|
||||||
|
implements AppSurveillanceRepository {
|
||||||
|
const AppSurveillanceRepositoryImpl(this._remote);
|
||||||
|
|
||||||
|
final AppSurveillanceRemoteDatasource _remote;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<InstalledAppEntity>> getInstalledApps({
|
||||||
|
required String deviceId
|
||||||
|
}) async {
|
||||||
|
final model = await _remote.getInstalledApps(deviceId: deviceId);
|
||||||
|
return model.toEntity();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<SchedulePeriodEntity>> getSchedule({required String deviceId}) async {
|
||||||
|
final model = await _remote.getSchedule(deviceId: deviceId);
|
||||||
|
return model.toEntity();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> upsertSchedule({
|
||||||
|
required String deviceId,
|
||||||
|
required UpdateScheduleRequestModel request
|
||||||
|
}) {
|
||||||
|
return _remote.upsertSchedule(
|
||||||
|
deviceId: deviceId,
|
||||||
|
request: request
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
import 'package:device_management/src/core/data/models/get_background_image_response_model.dart';
|
||||||
|
|
||||||
|
import '../../../features/remote_connection/domain/entities/picture_entity.dart';
|
||||||
|
import '../../domain/repositories/background_image_repository.dart';
|
||||||
|
import '../datasources/background_image_remote_datasource.dart';
|
||||||
|
|
||||||
|
class BackgroundImageRepositoryImpl implements BackgroundImageRepository {
|
||||||
|
const BackgroundImageRepositoryImpl(this._remote);
|
||||||
|
|
||||||
|
final BackgroundImageRemoteDatasource _remote;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<PictureEntity>> getPhotos() async {
|
||||||
|
final model = await _remote.getBackgroundImage();
|
||||||
|
return model.toEntities();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<String> uploadImage({required String path}) {
|
||||||
|
return _remote.uploadImage(path: path);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> setBackgroundImage({required String deviceId, required String photoId}) {
|
||||||
|
return _remote.setBackgroundImage(deviceId: deviceId, photoId: photoId);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
import 'package:device_management/src/core/data/datasources/functions_remote_datasource.dart';
|
|
||||||
import 'package:device_management/src/core/domain/repositories/functions_repository.dart';
|
|
||||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
|
||||||
|
|
||||||
class FunctionsRepositoryImpl implements FunctionsRepository {
|
|
||||||
const FunctionsRepositoryImpl(this._remote);
|
|
||||||
|
|
||||||
final FunctionsRemoteDatasource _remote;
|
|
||||||
|
|
||||||
@override
|
|
||||||
Future<List<PictureEntity>> getPictures({required String userId}) async {
|
|
||||||
await Future<void>.delayed(const Duration(milliseconds: 2000));
|
|
||||||
return _remote.getPictures(userId: userId);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Future<PictureEntity> takePicture({required String userId}) async {
|
|
||||||
await Future<void>.delayed(const Duration(milliseconds: 2000));
|
|
||||||
return _remote.takePicture(userId: userId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||||
|
|
||||||
|
import '../../domain/repositories/pictures_repository.dart';
|
||||||
|
import '../datasources/pictures_remote_datasource.dart';
|
||||||
|
|
||||||
|
class PicturesRepositoryImpl implements PicturesRepository {
|
||||||
|
const PicturesRepositoryImpl(this._remote);
|
||||||
|
|
||||||
|
final PicturesRemoteDatasource _remote;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<PictureEntity>> getPictures({required String deviceId}) {
|
||||||
|
return _remote.getPictures(deviceId: deviceId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<PictureEntity> takePicture({required String deviceId}) {
|
||||||
|
return _remote.takePicture(deviceId: deviceId);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
|
|
||||||
|
part 'schedule_period_entity.freezed.dart';
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
abstract class SchedulePeriodEntity with _$SchedulePeriodEntity {
|
||||||
|
const factory SchedulePeriodEntity({
|
||||||
|
required String periodStart,
|
||||||
|
required String periodEnd,
|
||||||
|
required bool isPeriodEnabled,
|
||||||
|
}) = _SchedulePeriodEntity;
|
||||||
|
}
|
||||||
@@ -0,0 +1,277 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
// coverage:ignore-file
|
||||||
|
// ignore_for_file: type=lint
|
||||||
|
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||||
|
|
||||||
|
part of 'schedule_period_entity.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// FreezedGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
// dart format off
|
||||||
|
T _$identity<T>(T value) => value;
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$SchedulePeriodEntity {
|
||||||
|
|
||||||
|
String get periodStart; String get periodEnd; bool get isPeriodEnabled;
|
||||||
|
/// Create a copy of SchedulePeriodEntity
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$SchedulePeriodEntityCopyWith<SchedulePeriodEntity> get copyWith => _$SchedulePeriodEntityCopyWithImpl<SchedulePeriodEntity>(this as SchedulePeriodEntity, _$identity);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is SchedulePeriodEntity&&(identical(other.periodStart, periodStart) || other.periodStart == periodStart)&&(identical(other.periodEnd, periodEnd) || other.periodEnd == periodEnd)&&(identical(other.isPeriodEnabled, isPeriodEnabled) || other.isPeriodEnabled == isPeriodEnabled));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,periodStart,periodEnd,isPeriodEnabled);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'SchedulePeriodEntity(periodStart: $periodStart, periodEnd: $periodEnd, isPeriodEnabled: $isPeriodEnabled)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class $SchedulePeriodEntityCopyWith<$Res> {
|
||||||
|
factory $SchedulePeriodEntityCopyWith(SchedulePeriodEntity value, $Res Function(SchedulePeriodEntity) _then) = _$SchedulePeriodEntityCopyWithImpl;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
String periodStart, String periodEnd, bool isPeriodEnabled
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class _$SchedulePeriodEntityCopyWithImpl<$Res>
|
||||||
|
implements $SchedulePeriodEntityCopyWith<$Res> {
|
||||||
|
_$SchedulePeriodEntityCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final SchedulePeriodEntity _self;
|
||||||
|
final $Res Function(SchedulePeriodEntity) _then;
|
||||||
|
|
||||||
|
/// Create a copy of SchedulePeriodEntity
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline') @override $Res call({Object? periodStart = null,Object? periodEnd = null,Object? isPeriodEnabled = null,}) {
|
||||||
|
return _then(_self.copyWith(
|
||||||
|
periodStart: null == periodStart ? _self.periodStart : periodStart // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,periodEnd: null == periodEnd ? _self.periodEnd : periodEnd // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,isPeriodEnabled: null == isPeriodEnabled ? _self.isPeriodEnabled : isPeriodEnabled // ignore: cast_nullable_to_non_nullable
|
||||||
|
as bool,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Adds pattern-matching-related methods to [SchedulePeriodEntity].
|
||||||
|
extension SchedulePeriodEntityPatterns on SchedulePeriodEntity {
|
||||||
|
/// A variant of `map` that fallback to returning `orElse`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _SchedulePeriodEntity value)? $default,{required TResult orElse(),}){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _SchedulePeriodEntity() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// Callbacks receives the raw object, upcasted.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case final Subclass2 value:
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _SchedulePeriodEntity value) $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _SchedulePeriodEntity():
|
||||||
|
return $default(_that);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `map` that fallback to returning `null`.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case final Subclass value:
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _SchedulePeriodEntity value)? $default,){
|
||||||
|
final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _SchedulePeriodEntity() when $default != null:
|
||||||
|
return $default(_that);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to an `orElse` callback.
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return orElse();
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String periodStart, String periodEnd, bool isPeriodEnabled)? $default,{required TResult orElse(),}) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _SchedulePeriodEntity() when $default != null:
|
||||||
|
return $default(_that.periodStart,_that.periodEnd,_that.isPeriodEnabled);case _:
|
||||||
|
return orElse();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A `switch`-like method, using callbacks.
|
||||||
|
///
|
||||||
|
/// As opposed to `map`, this offers destructuring.
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case Subclass2(:final field2):
|
||||||
|
/// return ...;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String periodStart, String periodEnd, bool isPeriodEnabled) $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _SchedulePeriodEntity():
|
||||||
|
return $default(_that.periodStart,_that.periodEnd,_that.isPeriodEnabled);case _:
|
||||||
|
throw StateError('Unexpected subclass');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// A variant of `when` that fallback to returning `null`
|
||||||
|
///
|
||||||
|
/// It is equivalent to doing:
|
||||||
|
/// ```dart
|
||||||
|
/// switch (sealedClass) {
|
||||||
|
/// case Subclass(:final field):
|
||||||
|
/// return ...;
|
||||||
|
/// case _:
|
||||||
|
/// return null;
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
|
||||||
|
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String periodStart, String periodEnd, bool isPeriodEnabled)? $default,) {final _that = this;
|
||||||
|
switch (_that) {
|
||||||
|
case _SchedulePeriodEntity() when $default != null:
|
||||||
|
return $default(_that.periodStart,_that.periodEnd,_that.isPeriodEnabled);case _:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
|
||||||
|
|
||||||
|
class _SchedulePeriodEntity implements SchedulePeriodEntity {
|
||||||
|
const _SchedulePeriodEntity({required this.periodStart, required this.periodEnd, required this.isPeriodEnabled});
|
||||||
|
|
||||||
|
|
||||||
|
@override final String periodStart;
|
||||||
|
@override final String periodEnd;
|
||||||
|
@override final bool isPeriodEnabled;
|
||||||
|
|
||||||
|
/// Create a copy of SchedulePeriodEntity
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$SchedulePeriodEntityCopyWith<_SchedulePeriodEntity> get copyWith => __$SchedulePeriodEntityCopyWithImpl<_SchedulePeriodEntity>(this, _$identity);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) || (other.runtimeType == runtimeType&&other is _SchedulePeriodEntity&&(identical(other.periodStart, periodStart) || other.periodStart == periodStart)&&(identical(other.periodEnd, periodEnd) || other.periodEnd == periodEnd)&&(identical(other.isPeriodEnabled, isPeriodEnabled) || other.isPeriodEnabled == isPeriodEnabled));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType,periodStart,periodEnd,isPeriodEnabled);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'SchedulePeriodEntity(periodStart: $periodStart, periodEnd: $periodEnd, isPeriodEnabled: $isPeriodEnabled)';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract mixin class _$SchedulePeriodEntityCopyWith<$Res> implements $SchedulePeriodEntityCopyWith<$Res> {
|
||||||
|
factory _$SchedulePeriodEntityCopyWith(_SchedulePeriodEntity value, $Res Function(_SchedulePeriodEntity) _then) = __$SchedulePeriodEntityCopyWithImpl;
|
||||||
|
@override @useResult
|
||||||
|
$Res call({
|
||||||
|
String periodStart, String periodEnd, bool isPeriodEnabled
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/// @nodoc
|
||||||
|
class __$SchedulePeriodEntityCopyWithImpl<$Res>
|
||||||
|
implements _$SchedulePeriodEntityCopyWith<$Res> {
|
||||||
|
__$SchedulePeriodEntityCopyWithImpl(this._self, this._then);
|
||||||
|
|
||||||
|
final _SchedulePeriodEntity _self;
|
||||||
|
final $Res Function(_SchedulePeriodEntity) _then;
|
||||||
|
|
||||||
|
/// Create a copy of SchedulePeriodEntity
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override @pragma('vm:prefer-inline') $Res call({Object? periodStart = null,Object? periodEnd = null,Object? isPeriodEnabled = null,}) {
|
||||||
|
return _then(_SchedulePeriodEntity(
|
||||||
|
periodStart: null == periodStart ? _self.periodStart : periodStart // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,periodEnd: null == periodEnd ? _self.periodEnd : periodEnd // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,isPeriodEnabled: null == isPeriodEnabled ? _self.isPeriodEnabled : isPeriodEnabled // ignore: cast_nullable_to_non_nullable
|
||||||
|
as bool,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// dart format on
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
import 'package:device_management/src/core/domain/entities/schedule_period_entity.dart';
|
||||||
|
import 'package:device_management/src/features/apps_surveillance/data/installed_app_entity.dart';
|
||||||
|
|
||||||
|
import '../../data/models/upsert_schedule_request_model.dart';
|
||||||
|
|
||||||
|
abstract class AppSurveillanceRepository {
|
||||||
|
Future<List<InstalledAppEntity>> getInstalledApps({
|
||||||
|
required String deviceId,
|
||||||
|
});
|
||||||
|
|
||||||
|
Future<List<SchedulePeriodEntity>> getSchedule({
|
||||||
|
required String deviceId,
|
||||||
|
});
|
||||||
|
|
||||||
|
Future<void> upsertSchedule({
|
||||||
|
required String deviceId,
|
||||||
|
required UpdateScheduleRequestModel request,
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||||
|
|
||||||
|
abstract class BackgroundImageRepository {
|
||||||
|
Future<List<PictureEntity>> getPhotos();
|
||||||
|
Future<String> uploadImage({required String path});
|
||||||
|
Future<void> setBackgroundImage({required String deviceId, required String photoId});
|
||||||
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
|
||||||
|
|
||||||
abstract class FunctionsRepository {
|
|
||||||
Future<List<PictureEntity>> getPictures({required String userId});
|
|
||||||
|
|
||||||
Future<PictureEntity> takePicture({required String userId});
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||||
|
|
||||||
|
abstract class PicturesRepository {
|
||||||
|
Future<List<PictureEntity>> getPictures({required String deviceId});
|
||||||
|
|
||||||
|
Future<PictureEntity> takePicture({required String deviceId});
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
||||||
|
|
||||||
|
import '../data/datasources/apps_surveillance_remote_datasource.dart';
|
||||||
|
import '../data/datasources/apps_surveillance_remote_datasource_impl.dart';
|
||||||
|
import '../data/datasources/scheduled_activities_remote_datasource.dart';
|
||||||
|
import '../data/datasources/scheduled_activities_remote_datasource_impl.dart';
|
||||||
|
|
||||||
|
final appSurveillanceRemoteDatasourceProvider =
|
||||||
|
Provider<AppSurveillanceRemoteDatasource>((ref) {
|
||||||
|
final questiaRepository = getIt<QuestiaRepository>();
|
||||||
|
return AppSurveillanceRemoteDatasourceImpl(questiaRepository);
|
||||||
|
});
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
|
||||||
|
import '../data/repositories/app_surveillance_repository_impl.dart';
|
||||||
|
import '../data/repositories/scheduled_activities_repository_impl.dart';
|
||||||
|
import '../domain/repositories/app_surveillance_repository.dart';
|
||||||
|
import '../domain/repositories/scheduled_activities_repository.dart';
|
||||||
|
import 'app_surveillance_remote_datasource.dart';
|
||||||
|
import 'scheduled_activities_remote_datasource_provider.dart';
|
||||||
|
|
||||||
|
final appSurveillanceRepositoryProvider =
|
||||||
|
Provider<AppSurveillanceRepository>((ref) {
|
||||||
|
final remote = ref.read(appSurveillanceRemoteDatasourceProvider);
|
||||||
|
return AppSurveillanceRepositoryImpl(remote);
|
||||||
|
});
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
||||||
|
|
||||||
|
import '../data/datasources/background_image_remote_datasource.dart';
|
||||||
|
import '../data/datasources/background_image_remote_datasource_impl.dart';
|
||||||
|
|
||||||
|
final backgroundImageRemoteDatasourceProvider =
|
||||||
|
Provider<BackgroundImageRemoteDatasource>((ref) {
|
||||||
|
final questiaRepository = getIt<QuestiaRepository>();
|
||||||
|
return BackgroundImageRemoteDatasourceImpl(questiaRepository);
|
||||||
|
});
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
|
||||||
|
import '../data/repositories/background_image_repository_impl.dart';
|
||||||
|
import '../domain/repositories/background_image_repository.dart';
|
||||||
|
import 'background_image_remote_datasource_provider.dart';
|
||||||
|
|
||||||
|
final backgroundImageRepositoryProvider =
|
||||||
|
Provider<BackgroundImageRepository>((ref) {
|
||||||
|
final remote = ref.read(backgroundImageRemoteDatasourceProvider);
|
||||||
|
return BackgroundImageRepositoryImpl(remote);
|
||||||
|
});
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
||||||
import 'package:device_management/src/core/data/datasources/functions_remote_datasource.dart';
|
|
||||||
import 'package:device_management/src/core/data/datasources/functions_remote_datasource_impl.dart';
|
|
||||||
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
|
||||||
|
|
||||||
final functionsRemoteDatasourceProvider = Provider<FunctionsRemoteDatasource>((ref) {
|
|
||||||
final questiaRepository = getIt<QuestiaRepository>();
|
|
||||||
return FunctionsRemoteDatasourceImpl(questiaRepository);
|
|
||||||
});
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
||||||
import 'package:device_management/src/core/providers/functions_remote_datasource_provider.dart';
|
|
||||||
import 'package:device_management/src/core/data/repositories/functions_repository_impl.dart';
|
|
||||||
import 'package:device_management/src/core/domain/repositories/functions_repository.dart';
|
|
||||||
|
|
||||||
final functionsRepositoryProvider = Provider<FunctionsRepository>((ref) {
|
|
||||||
final remote = ref.read(functionsRemoteDatasourceProvider);
|
|
||||||
return FunctionsRepositoryImpl(remote);
|
|
||||||
});
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
||||||
|
|
||||||
|
import '../data/datasources/pictures_remote_datasource.dart';
|
||||||
|
import '../data/datasources/pictures_remote_datasource_impl.dart';
|
||||||
|
|
||||||
|
final picturesRemoteDatasourceProvider = Provider<PicturesRemoteDatasource>((ref) {
|
||||||
|
final questiaRepository = getIt<QuestiaRepository>();
|
||||||
|
return PicturesRemoteDatasourceImpl(questiaRepository);
|
||||||
|
});
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
|
||||||
|
import '../data/repositories/pictures_repository_impl.dart';
|
||||||
|
import '../domain/repositories/pictures_repository.dart';
|
||||||
|
import 'pictures_remote_datasource_provider.dart';
|
||||||
|
|
||||||
|
final picturesRepositoryProvider = Provider<PicturesRepository>((ref) {
|
||||||
|
final remote = ref.read(picturesRemoteDatasourceProvider);
|
||||||
|
return PicturesRepositoryImpl(remote);
|
||||||
|
});
|
||||||
@@ -7,6 +7,7 @@ import 'package:utils/utils.dart';
|
|||||||
|
|
||||||
import '../../../core/presentation/widgets/time_range_selector.dart';
|
import '../../../core/presentation/widgets/time_range_selector.dart';
|
||||||
import 'state/activity_meter_view_model.dart';
|
import 'state/activity_meter_view_model.dart';
|
||||||
|
import 'state/activity_meter_view_state.dart';
|
||||||
import 'widgets/steps_bar_chart.dart';
|
import 'widgets/steps_bar_chart.dart';
|
||||||
import 'widgets/steps_history_section.dart';
|
import 'widgets/steps_history_section.dart';
|
||||||
import 'widgets/steps_progress_ring.dart';
|
import 'widgets/steps_progress_ring.dart';
|
||||||
@@ -20,12 +21,18 @@ class ActivityMeterScreen extends ConsumerWidget {
|
|||||||
final theme = ref.watch(themePortProvider);
|
final theme = ref.watch(themePortProvider);
|
||||||
final state = ref.watch(activityMeterViewModelProvider);
|
final state = ref.watch(activityMeterViewModelProvider);
|
||||||
final vm = ref.read(activityMeterViewModelProvider.notifier);
|
final vm = ref.read(activityMeterViewModelProvider.notifier);
|
||||||
|
final device = ref.watch(selectedDeviceProvider);
|
||||||
|
|
||||||
ref.listen(
|
ref.listen(
|
||||||
activityMeterViewModelProvider.select((s) => s.errorMessage),
|
activityMeterViewModelProvider.select((s) => s.errorEvent),
|
||||||
(previous, next) {
|
(previous, next) {
|
||||||
if (next.isNotEmpty) {
|
if (next != null) {
|
||||||
showTopSnackbar(context, message: next, type: MessageType.error);
|
final message = switch (next) {
|
||||||
|
ActivityMeterErrorEvent.loadData => context.translate(I18n.errorActivityData),
|
||||||
|
ActivityMeterErrorEvent.loadMore => context.translate(I18n.errorActivityData),
|
||||||
|
ActivityMeterErrorEvent.pedometer => context.translate(I18n.errorPedometer),
|
||||||
|
};
|
||||||
|
showTopSnackbar(context, message: message, type: MessageType.error);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
@@ -69,6 +76,43 @@ class ActivityMeterScreen extends ConsumerWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal: SizeUtils.getByScreen(small: 16, big: 14),
|
||||||
|
vertical: SizeUtils.getByScreen(small: 4, big: 4),
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
context.translate(I18n.activityMeterPedometer),
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: SizeUtils.getByScreen(small: 14, big: 15),
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Switch.adaptive(
|
||||||
|
value: device?.settings.pedometer ?? false,
|
||||||
|
activeTrackColor: theme.getColorFor(ThemeCode.legacyPrimary),
|
||||||
|
onChanged: (value) async {
|
||||||
|
final success = await vm.togglePedometer(enabled: value);
|
||||||
|
if (!context.mounted) return;
|
||||||
|
if (success) {
|
||||||
|
showTopSnackbar(
|
||||||
|
context,
|
||||||
|
message: context.translate(
|
||||||
|
value
|
||||||
|
? I18n.activityMeterPedometerEnabled
|
||||||
|
: I18n.activityMeterPedometerDisabled,
|
||||||
|
),
|
||||||
|
type: MessageType.success,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
StepsProgressRing(
|
StepsProgressRing(
|
||||||
steps: state.todayTotal,
|
steps: state.todayTotal,
|
||||||
goal: state.dailyGoal,
|
goal: state.dailyGoal,
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ class ActivityMeterViewModel extends Notifier<ActivityMeterViewState> {
|
|||||||
if (!ref.mounted) return;
|
if (!ref.mounted) return;
|
||||||
state = state.copyWith(
|
state = state.copyWith(
|
||||||
isLoadingMore: false,
|
isLoadingMore: false,
|
||||||
errorMessage: _formatError(e),
|
errorEvent: ActivityMeterErrorEvent.loadMore,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -113,7 +113,7 @@ class ActivityMeterViewModel extends Notifier<ActivityMeterViewState> {
|
|||||||
await _loadFilteredData();
|
await _loadFilteredData();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (!ref.mounted) return;
|
if (!ref.mounted) return;
|
||||||
state = state.copyWith(isLoading: false, errorMessage: _formatError(e));
|
state = state.copyWith(isLoading: false, errorEvent: ActivityMeterErrorEvent.loadData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,11 +157,11 @@ class ActivityMeterViewModel extends Notifier<ActivityMeterViewState> {
|
|||||||
hasMoreHistory: histSteps.length >= _historyPageSize,
|
hasMoreHistory: histSteps.length >= _historyPageSize,
|
||||||
stats: _computeStats(chartDaily),
|
stats: _computeStats(chartDaily),
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
errorMessage: '',
|
errorEvent: null,
|
||||||
);
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (!ref.mounted) return;
|
if (!ref.mounted) return;
|
||||||
state = state.copyWith(isLoading: false, errorMessage: _formatError(e));
|
state = state.copyWith(isLoading: false, errorEvent: ActivityMeterErrorEvent.loadData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -243,8 +243,25 @@ class ActivityMeterViewModel extends Notifier<ActivityMeterViewState> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
String _formatError(Object e) {
|
Future<bool> togglePedometer({required bool enabled}) async {
|
||||||
final msg = e.toString();
|
final device = ref.read(selectedDeviceProvider);
|
||||||
return msg.startsWith('Exception: ') ? msg.substring(11) : msg;
|
if (device == null) return false;
|
||||||
|
|
||||||
|
state = state.copyWith(errorEvent: null);
|
||||||
|
try {
|
||||||
|
final updatedSettings = device.settings.copyWith(pedometer: enabled);
|
||||||
|
await ref.read(deviceSettingsUpdateProvider).updateDeviceSettings(
|
||||||
|
device: device,
|
||||||
|
updatedSettings: updatedSettings,
|
||||||
|
);
|
||||||
|
if (!ref.mounted) return false;
|
||||||
|
ref.syncDeviceSettings(device, updatedSettings);
|
||||||
|
return true;
|
||||||
|
} catch (e) {
|
||||||
|
if (!ref.mounted) return false;
|
||||||
|
state = state.copyWith(errorEvent: ActivityMeterErrorEvent.pedometer);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,12 @@ import '../../../../core/presentation/time_range.dart';
|
|||||||
|
|
||||||
part 'activity_meter_view_state.freezed.dart';
|
part 'activity_meter_view_state.freezed.dart';
|
||||||
|
|
||||||
|
enum ActivityMeterErrorEvent {
|
||||||
|
loadData,
|
||||||
|
loadMore,
|
||||||
|
pedometer,
|
||||||
|
}
|
||||||
|
|
||||||
@freezed
|
@freezed
|
||||||
abstract class DailySteps with _$DailySteps {
|
abstract class DailySteps with _$DailySteps {
|
||||||
const factory DailySteps({
|
const factory DailySteps({
|
||||||
@@ -36,6 +42,6 @@ abstract class ActivityMeterViewState with _$ActivityMeterViewState {
|
|||||||
DateTime? customEnd,
|
DateTime? customEnd,
|
||||||
@Default(true) bool isLoading,
|
@Default(true) bool isLoading,
|
||||||
@Default(false) bool isLoadingMore,
|
@Default(false) bool isLoadingMore,
|
||||||
@Default('') String errorMessage,
|
ActivityMeterErrorEvent? errorEvent,
|
||||||
}) = _ActivityMeterViewState;
|
}) = _ActivityMeterViewState;
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user