Compare commits
	
		
			159 Commits
		
	
	
		
			feature-hi
			...
			develop
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7b7ab2e82e | |||
| a460d2b296 | |||
| 33dd6c4c69 | |||
| 06c27d6b50 | |||
| 7dea44d1e8 | |||
| 5f27956035 | |||
| 32799f648c | |||
| 859b85ab2c | |||
| bd1101c348 | |||
| f29c84d05c | |||
| 7dbd6038f3 | |||
| 877633f4de | |||
| 22d3d18a17 | |||
| d65e61c297 | |||
| 467b0e0dd8 | |||
| 25a6ef37fa | |||
| 34763ace4a | |||
| 590a70c623 | |||
| 9b58412ca7 | |||
| a6c16e41c2 | |||
| 117434a5e3 | |||
| e4582eaac5 | |||
| 430d5b8dc7 | |||
| 9177c30d6e | |||
| 344f8f6d2c | |||
| 46971a8d46 | |||
| f330ef3f56 | |||
| 85f9988453 | |||
| f3de0bc165 | |||
| 421ee9179d | |||
| 0a66858d93 | |||
| 49428680de | |||
| 0c676dc3d6 | |||
| c702b610c5 | |||
| 5938c6b3c3 | |||
| 8000475c1f | |||
| da772f17cc | |||
| c44b0464a4 | |||
| 9d0cf8e313 | |||
| f0009dad88 | |||
| 905206f242 | |||
| 769fbc1b6a | |||
| 8daf57bcee | |||
| 33d488946a | |||
| 41a5e021c5 | |||
| 8f58893553 | |||
| 626d3d5564 | |||
| d833cdb733 | |||
| 8868914a76 | |||
| 70e6f82b10 | |||
| 6651613331 | |||
| 9ad0f624de | |||
| 82c143f847 | |||
| 1fdf731b81 | |||
| 2d3ccd25b4 | |||
| 385ee806d6 | |||
| 92aef41031 | |||
| 65b29ec4b8 | |||
| 9f51d68531 | |||
| 5bc4ba6332 | |||
| e9739ac2d5 | |||
| 4d3a33dd9b | |||
| ddeeaeaeac | |||
| c8e31b896b | |||
| c443a1d567 | |||
| 08ef784f57 | |||
| 999e30ab3a | |||
| c4c882a77d | |||
| fe93a94fc6 | |||
| a33c4ddac5 | |||
| 634fe41e78 | |||
| 328c4f410c | |||
| 43471fcf3d | |||
| e78e2b8cd4 | |||
| a57f42d4ed | |||
| 8ff993bf19 | |||
| 8968e53e5c | |||
| 430f2fe603 | |||
| d00592c3e7 | |||
| 3fb48b5bcf | |||
| 69fc98ad45 | |||
| 76a1f65083 | |||
| ed35e91d59 | |||
| ebbb70dc96 | |||
| 3281b134e0 | |||
| 2056be23cd | |||
| e57a1a915e | |||
| 181682a424 | |||
| 9fa711e460 | |||
| 1f30e2d97f | |||
| 0f84257eba | |||
| b171fef348 | |||
| 81f5b662b7 | |||
| 7a393bf630 | |||
| fc72391a75 | |||
| 6ad8203b6a | |||
| f58a2ec8cd | |||
| 91ef689d2a | |||
| ee6af2bc07 | |||
| 2db3b29359 | |||
| 107a5bdbf8 | |||
| 3802e4a5b9 | |||
| 04e8ce9c0a | |||
| 450c26b187 | |||
| 7129c0dee8 | |||
| ae6b6511d7 | |||
| 232a767312 | |||
| f5407d2477 | |||
| 19aca8f97f | |||
| c4a7533315 | |||
| d067ee702a | |||
| dfd9459922 | |||
| 51373fe7a2 | |||
| cafa1248d5 | |||
| ed710b3c2e | |||
| 8dd3ca9eae | |||
| 07ffa374fe | |||
| 0302c10fcd | |||
| 92361ec455 | |||
| cf4dea566e | |||
| d8c72a5d28 | |||
| 9803b06af1 | |||
| 8131ccae1e | |||
| e901f139d6 | |||
| 02dd659d1d | |||
| 277b3366f9 | |||
| b4defb9eda | |||
| 4c7f53e309 | |||
| 27618f4404 | |||
| 8bf5e5a06a | |||
| bc60362984 | |||
| 74c7c16877 | |||
| 0a577b5f48 | |||
| 57ddee2dc9 | |||
| 8ae8c97b41 | |||
| 883db8d7ef | |||
| 6450b292a7 | |||
| 65d15ffd4e | |||
| 07401d0864 | |||
| 21411e1517 | |||
| 339d402422 | |||
| c54a42aa43 | |||
| 42574583ed | |||
| 9aa3f7c058 | |||
| 1b407562df | |||
| f86c97dcf0 | |||
| 6b4d6a1c8c | |||
| 20dfe2c2e6 | |||
| 6c2c305f1c | |||
| dbbf6f6c5c | |||
| 07b32f1e32 | |||
| ea329d8d64 | |||
| f45848331e | |||
| a1ad6aa582 | |||
| 3e3e2579f0 | |||
| 681b5e42c3 | |||
| a0c025b58b | |||
| 20d7b16ede | |||
| afdc02f2a4 | 
							
								
								
									
										16
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -48,14 +48,14 @@ lib/generated_plugin_registrant.dart
 | 
				
			|||||||
#pubspec.lock
 | 
					#pubspec.lock
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Android related
 | 
					# Android related
 | 
				
			||||||
**/android/**/gradle-wrapper.jar
 | 
					materials/screenshots/android/**/gradle-wrapper.jar
 | 
				
			||||||
**/android/.gradle
 | 
					materials/screenshots/android/.gradle
 | 
				
			||||||
**/android/captures/
 | 
					materials/screenshots/android/captures/
 | 
				
			||||||
**/android/gradlew
 | 
					materials/screenshots/android/gradlew
 | 
				
			||||||
**/android/gradlew.bat
 | 
					materials/screenshots/android/gradlew.bat
 | 
				
			||||||
**/android/key.properties
 | 
					materials/screenshots/android/key.properties
 | 
				
			||||||
**/android/local.properties
 | 
					materials/screenshots/android/local.properties
 | 
				
			||||||
**/android/**/GeneratedPluginRegistrant.java
 | 
					materials/screenshots/android/**/GeneratedPluginRegistrant.java
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# iOS/XCode related
 | 
					# iOS/XCode related
 | 
				
			||||||
**/ios/**/*.mode1v3
 | 
					**/ios/**/*.mode1v3
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,6 +9,10 @@
 | 
				
			|||||||
# packages, and plugins designed to encourage good coding practices.
 | 
					# packages, and plugins designed to encourage good coding practices.
 | 
				
			||||||
include: package:flutter_lints/flutter.yaml
 | 
					include: package:flutter_lints/flutter.yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					analyzer:
 | 
				
			||||||
 | 
					  errors:
 | 
				
			||||||
 | 
					    invalid_annotation_target: ignore
 | 
				
			||||||
 | 
					
 | 
				
			||||||
linter:
 | 
					linter:
 | 
				
			||||||
  # The lint rules applied to this project can be customized in the
 | 
					  # The lint rules applied to this project can be customized in the
 | 
				
			||||||
  # section below to disable rules from the `package:flutter_lints/flutter.yaml`
 | 
					  # section below to disable rules from the `package:flutter_lints/flutter.yaml`
 | 
				
			||||||
@@ -28,6 +32,13 @@ linter:
 | 
				
			|||||||
    prefer_relative_imports: true
 | 
					    prefer_relative_imports: true
 | 
				
			||||||
    unnecessary_lambdas: true
 | 
					    unnecessary_lambdas: true
 | 
				
			||||||
    prefer_single_quotes: true
 | 
					    prefer_single_quotes: true
 | 
				
			||||||
 | 
					    prefer_if_elements_to_conditional_expressions: true
 | 
				
			||||||
 | 
					    prefer_expression_function_bodies: true
 | 
				
			||||||
 | 
					    omit_local_variable_types: true
 | 
				
			||||||
 | 
					    eol_at_end_of_file: true
 | 
				
			||||||
 | 
					    cast_nullable_to_non_nullable: true
 | 
				
			||||||
 | 
					    avoid_void_async: true
 | 
				
			||||||
 | 
					    avoid_multiple_declarations_per_line: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Additional information about this file can be found at
 | 
					# Additional information about this file can be found at
 | 
				
			||||||
# https://dart.dev/guides/language/analysis-options
 | 
					# https://dart.dev/guides/language/analysis-options
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,15 +25,16 @@ if (flutterVersionName == null) {
 | 
				
			|||||||
android {
 | 
					android {
 | 
				
			||||||
    namespace "eu.mhsl.marianum.mobile.client"
 | 
					    namespace "eu.mhsl.marianum.mobile.client"
 | 
				
			||||||
    compileSdk flutter.compileSdkVersion
 | 
					    compileSdk flutter.compileSdkVersion
 | 
				
			||||||
    ndkVersion flutter.ndkVersion
 | 
					    ndkVersion "27.0.12077973"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    compileOptions {
 | 
					    compileOptions {
 | 
				
			||||||
        sourceCompatibility JavaVersion.VERSION_1_8
 | 
					        sourceCompatibility JavaVersion.VERSION_17
 | 
				
			||||||
        targetCompatibility JavaVersion.VERSION_1_8
 | 
					        targetCompatibility JavaVersion.VERSION_17
 | 
				
			||||||
 | 
					        coreLibraryDesugaringEnabled true
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    kotlinOptions {
 | 
					    kotlinOptions {
 | 
				
			||||||
        jvmTarget = '1.8'
 | 
					        jvmTarget = '17'
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    sourceSets {
 | 
					    sourceSets {
 | 
				
			||||||
@@ -41,11 +42,8 @@ android {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    defaultConfig {
 | 
					    defaultConfig {
 | 
				
			||||||
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
 | 
					 | 
				
			||||||
        applicationId "eu.mhsl.marianum.mobile.client"
 | 
					        applicationId "eu.mhsl.marianum.mobile.client"
 | 
				
			||||||
        // You can update the following values to match your application needs.
 | 
					        minSdkVersion 26
 | 
				
			||||||
        // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
 | 
					 | 
				
			||||||
        minSdkVersion 19
 | 
					 | 
				
			||||||
        targetSdkVersion flutter.targetSdkVersion
 | 
					        targetSdkVersion flutter.targetSdkVersion
 | 
				
			||||||
        versionCode flutterVersionCode.toInteger()
 | 
					        versionCode flutterVersionCode.toInteger()
 | 
				
			||||||
        versionName flutterVersionName
 | 
					        versionName flutterVersionName
 | 
				
			||||||
@@ -66,5 +64,6 @@ flutter {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dependencies {
 | 
					dependencies {
 | 
				
			||||||
    implementation 'com.android.support:multidex:1.0.3'
 | 
					    implementation 'com.android.support:multidex:2.0.1'
 | 
				
			||||||
 | 
					    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.4'
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										0
									
								
								android/app/proguard-rules.pro
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								android/app/proguard-rules.pro
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -1,3 +1,6 @@
 | 
				
			|||||||
org.gradle.jvmargs=-Xmx4G
 | 
					org.gradle.jvmargs=-Xmx4G
 | 
				
			||||||
android.useAndroidX=true
 | 
					android.useAndroidX=true
 | 
				
			||||||
android.enableJetifier=true
 | 
					android.enableJetifier=true
 | 
				
			||||||
 | 
					android.defaults.buildfeatures.buildconfig=true
 | 
				
			||||||
 | 
					android.nonTransitiveRClass=false
 | 
				
			||||||
 | 
					android.nonFinalResIds=false
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
distributionBase=GRADLE_USER_HOME
 | 
					distributionBase=GRADLE_USER_HOME
 | 
				
			||||||
distributionPath=wrapper/dists
 | 
					distributionPath=wrapper/dists
 | 
				
			||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip
 | 
					distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
 | 
				
			||||||
networkTimeout=10000
 | 
					networkTimeout=10000
 | 
				
			||||||
 | 
					validateDistributionUrl=true
 | 
				
			||||||
zipStoreBase=GRADLE_USER_HOME
 | 
					zipStoreBase=GRADLE_USER_HOME
 | 
				
			||||||
zipStorePath=wrapper/dists
 | 
					zipStorePath=wrapper/dists
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,8 +19,8 @@ pluginManagement {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
plugins {
 | 
					plugins {
 | 
				
			||||||
    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
 | 
					    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
 | 
				
			||||||
    id "com.android.application" version "7.3.0" apply false
 | 
					    id "com.android.application" version '8.7.3' apply false
 | 
				
			||||||
    id "org.jetbrains.kotlin.android" version "1.7.10" apply false
 | 
					    id "org.jetbrains.kotlin.android" version "2.1.10" apply false
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include ":app"
 | 
					include ":app"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										29
									
								
								assets/ca/lets-encrypt-r10.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								assets/ca/lets-encrypt-r10.pem
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					-----BEGIN CERTIFICATE-----
 | 
				
			||||||
 | 
					MIIFBTCCAu2gAwIBAgIQS6hSk/eaL6JzBkuoBI110DANBgkqhkiG9w0BAQsFADBP
 | 
				
			||||||
 | 
					MQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFy
 | 
				
			||||||
 | 
					Y2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTAeFw0yNDAzMTMwMDAwMDBa
 | 
				
			||||||
 | 
					Fw0yNzAzMTIyMzU5NTlaMDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBF
 | 
				
			||||||
 | 
					bmNyeXB0MQwwCgYDVQQDEwNSMTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
 | 
				
			||||||
 | 
					AoIBAQDPV+XmxFQS7bRH/sknWHZGUCiMHT6I3wWd1bUYKb3dtVq/+vbOo76vACFL
 | 
				
			||||||
 | 
					YlpaPAEvxVgD9on/jhFD68G14BQHlo9vH9fnuoE5CXVlt8KvGFs3Jijno/QHK20a
 | 
				
			||||||
 | 
					/6tYvJWuQP/py1fEtVt/eA0YYbwX51TGu0mRzW4Y0YCF7qZlNrx06rxQTOr8IfM4
 | 
				
			||||||
 | 
					FpOUurDTazgGzRYSespSdcitdrLCnF2YRVxvYXvGLe48E1KGAdlX5jgc3421H5KR
 | 
				
			||||||
 | 
					mudKHMxFqHJV8LDmowfs/acbZp4/SItxhHFYyTr6717yW0QrPHTnj7JHwQdqzZq3
 | 
				
			||||||
 | 
					DZb3EoEmUVQK7GH29/Xi8orIlQ2NAgMBAAGjgfgwgfUwDgYDVR0PAQH/BAQDAgGG
 | 
				
			||||||
 | 
					MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATASBgNVHRMBAf8ECDAGAQH/
 | 
				
			||||||
 | 
					AgEAMB0GA1UdDgQWBBS7vMNHpeS8qcbDpHIMEI2iNeHI6DAfBgNVHSMEGDAWgBR5
 | 
				
			||||||
 | 
					tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKG
 | 
				
			||||||
 | 
					Fmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0gBAwwCjAIBgZngQwBAgEwJwYD
 | 
				
			||||||
 | 
					VR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVuY3Iub3JnLzANBgkqhkiG9w0B
 | 
				
			||||||
 | 
					AQsFAAOCAgEAkrHnQTfreZ2B5s3iJeE6IOmQRJWjgVzPw139vaBw1bGWKCIL0vIo
 | 
				
			||||||
 | 
					zwzn1OZDjCQiHcFCktEJr59L9MhwTyAWsVrdAfYf+B9haxQnsHKNY67u4s5Lzzfd
 | 
				
			||||||
 | 
					u6PUzeetUK29v+PsPmI2cJkxp+iN3epi4hKu9ZzUPSwMqtCceb7qPVxEbpYxY1p9
 | 
				
			||||||
 | 
					1n5PJKBLBX9eb9LU6l8zSxPWV7bK3lG4XaMJgnT9x3ies7msFtpKK5bDtotij/l0
 | 
				
			||||||
 | 
					GaKeA97pb5uwD9KgWvaFXMIEt8jVTjLEvwRdvCn294GPDF08U8lAkIv7tghluaQh
 | 
				
			||||||
 | 
					1QnlE4SEN4LOECj8dsIGJXpGUk3aU3KkJz9icKy+aUgA+2cP21uh6NcDIS3XyfaZ
 | 
				
			||||||
 | 
					QjmDQ993ChII8SXWupQZVBiIpcWO4RqZk3lr7Bz5MUCwzDIA359e57SSq5CCkY0N
 | 
				
			||||||
 | 
					4B6Vulk7LktfwrdGNVI5BsC9qqxSwSKgRJeZ9wygIaehbHFHFhcBaMDKpiZlBHyz
 | 
				
			||||||
 | 
					rsnnlFXCb5s8HKn5LsUgGvB24L7sGNZP2CX7dhHov+YhD+jozLW2p9W4959Bz2Ei
 | 
				
			||||||
 | 
					RmqDtmiXLnzqTpXbI+suyCsohKRg6Un0RC47+cpiVwHiXZAW+cn8eiNIjqbVgXLx
 | 
				
			||||||
 | 
					KPpdzvvtTnOPlC7SQZSYmdunr3Bf9b77AiC/ZidstK36dRILKz7OA54=
 | 
				
			||||||
 | 
					-----END CERTIFICATE-----
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 101 KiB  | 
							
								
								
									
										7
									
								
								build.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								build.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					targets:
 | 
				
			||||||
 | 
					  $default:
 | 
				
			||||||
 | 
					    builders:
 | 
				
			||||||
 | 
					      json_serializable:
 | 
				
			||||||
 | 
					        options:
 | 
				
			||||||
 | 
					          explicit_to_json: false
 | 
				
			||||||
 | 
					          generic_argument_factories: true
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 185 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 154 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								ios/.DS_Store
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ios/.DS_Store
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -21,6 +21,6 @@
 | 
				
			|||||||
  <key>CFBundleVersion</key>
 | 
					  <key>CFBundleVersion</key>
 | 
				
			||||||
  <string>1.0</string>
 | 
					  <string>1.0</string>
 | 
				
			||||||
  <key>MinimumOSVersion</key>
 | 
					  <key>MinimumOSVersion</key>
 | 
				
			||||||
  <string>11.0</string>
 | 
					  <string>13.0</string>
 | 
				
			||||||
</dict>
 | 
					</dict>
 | 
				
			||||||
</plist>
 | 
					</plist>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
# Uncomment this line to define a global platform for your project
 | 
					# Uncomment this line to define a global platform for your project
 | 
				
			||||||
platform :ios, '11.0'
 | 
					platform :ios, '15.0'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
 | 
					# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
 | 
				
			||||||
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
 | 
					ENV['COCOAPODS_DISABLE_STATS'] = 'true'
 | 
				
			||||||
@@ -31,6 +31,8 @@ target 'Runner' do
 | 
				
			|||||||
  use_frameworks!
 | 
					  use_frameworks!
 | 
				
			||||||
  use_modular_headers!
 | 
					  use_modular_headers!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pod 'PhoneNumberKit', '~> 3.7.6'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
 | 
					  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
 | 
				
			||||||
#  target 'RunnerTests' do
 | 
					#  target 'RunnerTests' do
 | 
				
			||||||
#    inherit! :search_paths
 | 
					#    inherit! :search_paths
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										313
									
								
								ios/Podfile.lock
									
									
									
									
									
								
							
							
						
						
									
										313
									
								
								ios/Podfile.lock
									
									
									
									
									
								
							@@ -1,185 +1,194 @@
 | 
				
			|||||||
PODS:
 | 
					PODS:
 | 
				
			||||||
  - better_open_file (0.0.1):
 | 
					  - connectivity_plus (0.0.1):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - device_info_plus (0.0.1):
 | 
					  - device_info_plus (0.0.1):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - DKImagePickerController/Core (4.3.4):
 | 
					  - DKImagePickerController/Core (4.3.9):
 | 
				
			||||||
    - DKImagePickerController/ImageDataManager
 | 
					    - DKImagePickerController/ImageDataManager
 | 
				
			||||||
    - DKImagePickerController/Resource
 | 
					    - DKImagePickerController/Resource
 | 
				
			||||||
  - DKImagePickerController/ImageDataManager (4.3.4)
 | 
					  - DKImagePickerController/ImageDataManager (4.3.9)
 | 
				
			||||||
  - DKImagePickerController/PhotoGallery (4.3.4):
 | 
					  - DKImagePickerController/PhotoGallery (4.3.9):
 | 
				
			||||||
    - DKImagePickerController/Core
 | 
					    - DKImagePickerController/Core
 | 
				
			||||||
    - DKPhotoGallery
 | 
					    - DKPhotoGallery
 | 
				
			||||||
  - DKImagePickerController/Resource (4.3.4)
 | 
					  - DKImagePickerController/Resource (4.3.9)
 | 
				
			||||||
  - DKPhotoGallery (0.0.17):
 | 
					  - DKPhotoGallery (0.0.19):
 | 
				
			||||||
    - DKPhotoGallery/Core (= 0.0.17)
 | 
					    - DKPhotoGallery/Core (= 0.0.19)
 | 
				
			||||||
    - DKPhotoGallery/Model (= 0.0.17)
 | 
					    - DKPhotoGallery/Model (= 0.0.19)
 | 
				
			||||||
    - DKPhotoGallery/Preview (= 0.0.17)
 | 
					    - DKPhotoGallery/Preview (= 0.0.19)
 | 
				
			||||||
    - DKPhotoGallery/Resource (= 0.0.17)
 | 
					    - DKPhotoGallery/Resource (= 0.0.19)
 | 
				
			||||||
    - SDWebImage
 | 
					    - SDWebImage
 | 
				
			||||||
    - SwiftyGif
 | 
					    - SwiftyGif
 | 
				
			||||||
  - DKPhotoGallery/Core (0.0.17):
 | 
					  - DKPhotoGallery/Core (0.0.19):
 | 
				
			||||||
    - DKPhotoGallery/Model
 | 
					    - DKPhotoGallery/Model
 | 
				
			||||||
    - DKPhotoGallery/Preview
 | 
					    - DKPhotoGallery/Preview
 | 
				
			||||||
    - SDWebImage
 | 
					    - SDWebImage
 | 
				
			||||||
    - SwiftyGif
 | 
					    - SwiftyGif
 | 
				
			||||||
  - DKPhotoGallery/Model (0.0.17):
 | 
					  - DKPhotoGallery/Model (0.0.19):
 | 
				
			||||||
    - SDWebImage
 | 
					    - SDWebImage
 | 
				
			||||||
    - SwiftyGif
 | 
					    - SwiftyGif
 | 
				
			||||||
  - DKPhotoGallery/Preview (0.0.17):
 | 
					  - DKPhotoGallery/Preview (0.0.19):
 | 
				
			||||||
    - DKPhotoGallery/Model
 | 
					    - DKPhotoGallery/Model
 | 
				
			||||||
    - DKPhotoGallery/Resource
 | 
					    - DKPhotoGallery/Resource
 | 
				
			||||||
    - SDWebImage
 | 
					    - SDWebImage
 | 
				
			||||||
    - SwiftyGif
 | 
					    - SwiftyGif
 | 
				
			||||||
  - DKPhotoGallery/Resource (0.0.17):
 | 
					  - DKPhotoGallery/Resource (0.0.19):
 | 
				
			||||||
    - SDWebImage
 | 
					    - SDWebImage
 | 
				
			||||||
    - SwiftyGif
 | 
					    - SwiftyGif
 | 
				
			||||||
 | 
					  - emoji_picker_flutter (0.0.1):
 | 
				
			||||||
 | 
					    - Flutter
 | 
				
			||||||
  - fast_rsa (0.6.0):
 | 
					  - fast_rsa (0.6.0):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - file_picker (0.0.1):
 | 
					  - file_picker (0.0.1):
 | 
				
			||||||
    - DKImagePickerController/PhotoGallery
 | 
					    - DKImagePickerController/PhotoGallery
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - Firebase/CoreOnly (10.12.0):
 | 
					  - Firebase/CoreOnly (12.2.0):
 | 
				
			||||||
    - FirebaseCore (= 10.12.0)
 | 
					    - FirebaseCore (~> 12.2.0)
 | 
				
			||||||
  - Firebase/InAppMessaging (10.12.0):
 | 
					  - Firebase/InAppMessaging (12.2.0):
 | 
				
			||||||
    - Firebase/CoreOnly
 | 
					    - Firebase/CoreOnly
 | 
				
			||||||
    - FirebaseInAppMessaging (~> 10.12.0-beta)
 | 
					    - FirebaseInAppMessaging (~> 12.2.0-beta)
 | 
				
			||||||
  - Firebase/Messaging (10.12.0):
 | 
					  - Firebase/Messaging (12.2.0):
 | 
				
			||||||
    - Firebase/CoreOnly
 | 
					    - Firebase/CoreOnly
 | 
				
			||||||
    - FirebaseMessaging (~> 10.12.0)
 | 
					    - FirebaseMessaging (~> 12.2.0)
 | 
				
			||||||
  - firebase_core (2.15.1):
 | 
					  - firebase_core (4.1.0):
 | 
				
			||||||
    - Firebase/CoreOnly (= 10.12.0)
 | 
					    - Firebase/CoreOnly (= 12.2.0)
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - firebase_in_app_messaging (0.7.3-5):
 | 
					  - firebase_in_app_messaging (0.9.0-1):
 | 
				
			||||||
    - Firebase/InAppMessaging (= 10.12.0)
 | 
					    - Firebase/InAppMessaging (= 12.2.0)
 | 
				
			||||||
    - firebase_core
 | 
					    - firebase_core
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - firebase_messaging (14.6.6):
 | 
					  - firebase_messaging (16.0.1):
 | 
				
			||||||
    - Firebase/Messaging (= 10.12.0)
 | 
					    - Firebase/Messaging (= 12.2.0)
 | 
				
			||||||
    - firebase_core
 | 
					    - firebase_core
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - FirebaseABTesting (10.13.0):
 | 
					  - FirebaseABTesting (12.2.0):
 | 
				
			||||||
    - FirebaseCore (~> 10.0)
 | 
					    - FirebaseCore (~> 12.2.0)
 | 
				
			||||||
  - FirebaseCore (10.12.0):
 | 
					  - FirebaseCore (12.2.0):
 | 
				
			||||||
    - FirebaseCoreInternal (~> 10.0)
 | 
					    - FirebaseCoreInternal (~> 12.2.0)
 | 
				
			||||||
    - GoogleUtilities/Environment (~> 7.8)
 | 
					    - GoogleUtilities/Environment (~> 8.1)
 | 
				
			||||||
    - GoogleUtilities/Logger (~> 7.8)
 | 
					    - GoogleUtilities/Logger (~> 8.1)
 | 
				
			||||||
  - FirebaseCoreInternal (10.13.0):
 | 
					  - FirebaseCoreInternal (12.2.0):
 | 
				
			||||||
    - "GoogleUtilities/NSData+zlib (~> 7.8)"
 | 
					    - "GoogleUtilities/NSData+zlib (~> 8.1)"
 | 
				
			||||||
  - FirebaseInAppMessaging (10.12.0-beta):
 | 
					  - FirebaseInAppMessaging (12.2.0-beta):
 | 
				
			||||||
    - FirebaseABTesting (~> 10.0)
 | 
					    - FirebaseABTesting (~> 12.2.0)
 | 
				
			||||||
    - FirebaseCore (~> 10.0)
 | 
					    - FirebaseCore (~> 12.2.0)
 | 
				
			||||||
    - FirebaseInstallations (~> 10.0)
 | 
					    - FirebaseInstallations (~> 12.2.0)
 | 
				
			||||||
    - GoogleUtilities/Environment (~> 7.8)
 | 
					    - GoogleUtilities/Environment (~> 8.1)
 | 
				
			||||||
    - nanopb (< 2.30910.0, >= 2.30908.0)
 | 
					    - GoogleUtilities/UserDefaults (~> 8.1)
 | 
				
			||||||
  - FirebaseInstallations (10.13.0):
 | 
					    - nanopb (~> 3.30910.0)
 | 
				
			||||||
    - FirebaseCore (~> 10.0)
 | 
					  - FirebaseInstallations (12.2.0):
 | 
				
			||||||
    - GoogleUtilities/Environment (~> 7.8)
 | 
					    - FirebaseCore (~> 12.2.0)
 | 
				
			||||||
    - GoogleUtilities/UserDefaults (~> 7.8)
 | 
					    - GoogleUtilities/Environment (~> 8.1)
 | 
				
			||||||
    - PromisesObjC (~> 2.1)
 | 
					    - GoogleUtilities/UserDefaults (~> 8.1)
 | 
				
			||||||
  - FirebaseMessaging (10.12.0):
 | 
					    - PromisesObjC (~> 2.4)
 | 
				
			||||||
    - FirebaseCore (~> 10.0)
 | 
					  - FirebaseMessaging (12.2.0):
 | 
				
			||||||
    - FirebaseInstallations (~> 10.0)
 | 
					    - FirebaseCore (~> 12.2.0)
 | 
				
			||||||
    - GoogleDataTransport (~> 9.2)
 | 
					    - FirebaseInstallations (~> 12.2.0)
 | 
				
			||||||
    - GoogleUtilities/AppDelegateSwizzler (~> 7.8)
 | 
					    - GoogleDataTransport (~> 10.1)
 | 
				
			||||||
    - GoogleUtilities/Environment (~> 7.8)
 | 
					    - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
 | 
				
			||||||
    - GoogleUtilities/Reachability (~> 7.8)
 | 
					    - GoogleUtilities/Environment (~> 8.1)
 | 
				
			||||||
    - GoogleUtilities/UserDefaults (~> 7.8)
 | 
					    - GoogleUtilities/Reachability (~> 8.1)
 | 
				
			||||||
    - nanopb (< 2.30910.0, >= 2.30908.0)
 | 
					    - GoogleUtilities/UserDefaults (~> 8.1)
 | 
				
			||||||
 | 
					    - nanopb (~> 3.30910.0)
 | 
				
			||||||
  - Flutter (1.0.0)
 | 
					  - Flutter (1.0.0)
 | 
				
			||||||
  - flutter_app_badger (1.3.0):
 | 
					  - flutter_app_badge (2.0.0):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - flutter_local_notifications (0.0.1):
 | 
					  - flutter_local_notifications (0.0.1):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - flutter_native_splash (0.0.1):
 | 
					  - flutter_native_splash (2.4.3):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - fluttertoast (0.0.2):
 | 
					  - GoogleDataTransport (10.1.0):
 | 
				
			||||||
    - Flutter
 | 
					    - nanopb (~> 3.30910.0)
 | 
				
			||||||
    - Toast
 | 
					    - PromisesObjC (~> 2.4)
 | 
				
			||||||
  - FMDB (2.7.5):
 | 
					  - GoogleUtilities/AppDelegateSwizzler (8.1.0):
 | 
				
			||||||
    - FMDB/standard (= 2.7.5)
 | 
					 | 
				
			||||||
  - FMDB/standard (2.7.5)
 | 
					 | 
				
			||||||
  - GoogleDataTransport (9.2.5):
 | 
					 | 
				
			||||||
    - GoogleUtilities/Environment (~> 7.7)
 | 
					 | 
				
			||||||
    - nanopb (< 2.30910.0, >= 2.30908.0)
 | 
					 | 
				
			||||||
    - PromisesObjC (< 3.0, >= 1.2)
 | 
					 | 
				
			||||||
  - GoogleUtilities/AppDelegateSwizzler (7.11.5):
 | 
					 | 
				
			||||||
    - GoogleUtilities/Environment
 | 
					    - GoogleUtilities/Environment
 | 
				
			||||||
    - GoogleUtilities/Logger
 | 
					    - GoogleUtilities/Logger
 | 
				
			||||||
    - GoogleUtilities/Network
 | 
					    - GoogleUtilities/Network
 | 
				
			||||||
  - GoogleUtilities/Environment (7.11.5):
 | 
					    - GoogleUtilities/Privacy
 | 
				
			||||||
    - PromisesObjC (< 3.0, >= 1.2)
 | 
					  - GoogleUtilities/Environment (8.1.0):
 | 
				
			||||||
  - GoogleUtilities/Logger (7.11.5):
 | 
					    - GoogleUtilities/Privacy
 | 
				
			||||||
 | 
					  - GoogleUtilities/Logger (8.1.0):
 | 
				
			||||||
    - GoogleUtilities/Environment
 | 
					    - GoogleUtilities/Environment
 | 
				
			||||||
  - GoogleUtilities/Network (7.11.5):
 | 
					    - GoogleUtilities/Privacy
 | 
				
			||||||
 | 
					  - GoogleUtilities/Network (8.1.0):
 | 
				
			||||||
    - GoogleUtilities/Logger
 | 
					    - GoogleUtilities/Logger
 | 
				
			||||||
    - "GoogleUtilities/NSData+zlib"
 | 
					    - "GoogleUtilities/NSData+zlib"
 | 
				
			||||||
 | 
					    - GoogleUtilities/Privacy
 | 
				
			||||||
    - GoogleUtilities/Reachability
 | 
					    - GoogleUtilities/Reachability
 | 
				
			||||||
  - "GoogleUtilities/NSData+zlib (7.11.5)"
 | 
					  - "GoogleUtilities/NSData+zlib (8.1.0)":
 | 
				
			||||||
  - GoogleUtilities/Reachability (7.11.5):
 | 
					    - GoogleUtilities/Privacy
 | 
				
			||||||
 | 
					  - GoogleUtilities/Privacy (8.1.0)
 | 
				
			||||||
 | 
					  - GoogleUtilities/Reachability (8.1.0):
 | 
				
			||||||
    - GoogleUtilities/Logger
 | 
					    - GoogleUtilities/Logger
 | 
				
			||||||
  - GoogleUtilities/UserDefaults (7.11.5):
 | 
					    - GoogleUtilities/Privacy
 | 
				
			||||||
 | 
					  - GoogleUtilities/UserDefaults (8.1.0):
 | 
				
			||||||
    - GoogleUtilities/Logger
 | 
					    - GoogleUtilities/Logger
 | 
				
			||||||
 | 
					    - GoogleUtilities/Privacy
 | 
				
			||||||
  - image_picker_ios (0.0.1):
 | 
					  - image_picker_ios (0.0.1):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
 | 
					  - in_app_review (2.0.0):
 | 
				
			||||||
 | 
					    - Flutter
 | 
				
			||||||
  - libphonenumber_plugin (0.0.1):
 | 
					  - libphonenumber_plugin (0.0.1):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
    - PhoneNumberKit
 | 
					    - PhoneNumberKit
 | 
				
			||||||
  - nanopb (2.30909.0):
 | 
					  - nanopb (3.30910.0):
 | 
				
			||||||
    - nanopb/decode (= 2.30909.0)
 | 
					    - nanopb/decode (= 3.30910.0)
 | 
				
			||||||
    - nanopb/encode (= 2.30909.0)
 | 
					    - nanopb/encode (= 3.30910.0)
 | 
				
			||||||
  - nanopb/decode (2.30909.0)
 | 
					  - nanopb/decode (3.30910.0)
 | 
				
			||||||
  - nanopb/encode (2.30909.0)
 | 
					  - nanopb/encode (3.30910.0)
 | 
				
			||||||
  - package_info (0.0.1):
 | 
					  - open_filex (0.0.2):
 | 
				
			||||||
 | 
					    - Flutter
 | 
				
			||||||
 | 
					  - package_info_plus (0.4.5):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - path_provider_foundation (0.0.1):
 | 
					  - path_provider_foundation (0.0.1):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
    - FlutterMacOS
 | 
					    - FlutterMacOS
 | 
				
			||||||
  - PhoneNumberKit (3.6.7):
 | 
					  - PhoneNumberKit (3.7.11):
 | 
				
			||||||
    - PhoneNumberKit/PhoneNumberKitCore (= 3.6.7)
 | 
					    - PhoneNumberKit/PhoneNumberKitCore (= 3.7.11)
 | 
				
			||||||
    - PhoneNumberKit/UIKit (= 3.6.7)
 | 
					    - PhoneNumberKit/UIKit (= 3.7.11)
 | 
				
			||||||
  - PhoneNumberKit/PhoneNumberKitCore (3.6.7)
 | 
					  - PhoneNumberKit/PhoneNumberKitCore (3.7.11)
 | 
				
			||||||
  - PhoneNumberKit/UIKit (3.6.7):
 | 
					  - PhoneNumberKit/UIKit (3.7.11):
 | 
				
			||||||
    - PhoneNumberKit/PhoneNumberKitCore
 | 
					    - PhoneNumberKit/PhoneNumberKitCore
 | 
				
			||||||
  - PromisesObjC (2.3.1)
 | 
					  - PromisesObjC (2.4.0)
 | 
				
			||||||
  - SDWebImage (5.17.0):
 | 
					  - SDWebImage (5.21.2):
 | 
				
			||||||
    - SDWebImage/Core (= 5.17.0)
 | 
					    - SDWebImage/Core (= 5.21.2)
 | 
				
			||||||
  - SDWebImage/Core (5.17.0)
 | 
					  - SDWebImage/Core (5.21.2)
 | 
				
			||||||
  - share_plus (0.0.1):
 | 
					  - share_plus (0.0.1):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - shared_preferences_foundation (0.0.1):
 | 
					  - shared_preferences_foundation (0.0.1):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
    - FlutterMacOS
 | 
					    - FlutterMacOS
 | 
				
			||||||
  - sqflite (0.0.3):
 | 
					  - sqflite_darwin (0.0.4):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
    - FMDB (>= 2.7.5)
 | 
					    - FlutterMacOS
 | 
				
			||||||
  - SwiftyGif (5.4.4)
 | 
					  - SwiftyGif (5.4.5)
 | 
				
			||||||
  - syncfusion_flutter_pdfviewer (0.0.1):
 | 
					  - syncfusion_flutter_pdfviewer (0.0.1):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
  - Toast (4.0.0)
 | 
					 | 
				
			||||||
  - url_launcher_ios (0.0.1):
 | 
					  - url_launcher_ios (0.0.1):
 | 
				
			||||||
    - Flutter
 | 
					    - Flutter
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DEPENDENCIES:
 | 
					DEPENDENCIES:
 | 
				
			||||||
  - better_open_file (from `.symlinks/plugins/better_open_file/ios`)
 | 
					  - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
 | 
				
			||||||
  - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
 | 
					  - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
 | 
				
			||||||
 | 
					  - emoji_picker_flutter (from `.symlinks/plugins/emoji_picker_flutter/ios`)
 | 
				
			||||||
  - fast_rsa (from `.symlinks/plugins/fast_rsa/ios`)
 | 
					  - fast_rsa (from `.symlinks/plugins/fast_rsa/ios`)
 | 
				
			||||||
  - file_picker (from `.symlinks/plugins/file_picker/ios`)
 | 
					  - file_picker (from `.symlinks/plugins/file_picker/ios`)
 | 
				
			||||||
  - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
 | 
					  - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
 | 
				
			||||||
  - firebase_in_app_messaging (from `.symlinks/plugins/firebase_in_app_messaging/ios`)
 | 
					  - firebase_in_app_messaging (from `.symlinks/plugins/firebase_in_app_messaging/ios`)
 | 
				
			||||||
  - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
 | 
					  - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
 | 
				
			||||||
  - Flutter (from `Flutter`)
 | 
					  - Flutter (from `Flutter`)
 | 
				
			||||||
  - flutter_app_badger (from `.symlinks/plugins/flutter_app_badger/ios`)
 | 
					  - flutter_app_badge (from `.symlinks/plugins/flutter_app_badge/ios`)
 | 
				
			||||||
  - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
 | 
					  - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
 | 
				
			||||||
  - flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
 | 
					  - flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
 | 
				
			||||||
  - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
 | 
					 | 
				
			||||||
  - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
 | 
					  - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
 | 
				
			||||||
 | 
					  - in_app_review (from `.symlinks/plugins/in_app_review/ios`)
 | 
				
			||||||
  - libphonenumber_plugin (from `.symlinks/plugins/libphonenumber_plugin/ios`)
 | 
					  - libphonenumber_plugin (from `.symlinks/plugins/libphonenumber_plugin/ios`)
 | 
				
			||||||
  - package_info (from `.symlinks/plugins/package_info/ios`)
 | 
					  - open_filex (from `.symlinks/plugins/open_filex/ios`)
 | 
				
			||||||
 | 
					  - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
 | 
				
			||||||
  - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
 | 
					  - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
 | 
				
			||||||
 | 
					  - PhoneNumberKit (~> 3.7.6)
 | 
				
			||||||
  - share_plus (from `.symlinks/plugins/share_plus/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`)
 | 
				
			||||||
  - sqflite (from `.symlinks/plugins/sqflite/ios`)
 | 
					  - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
 | 
				
			||||||
  - syncfusion_flutter_pdfviewer (from `.symlinks/plugins/syncfusion_flutter_pdfviewer/ios`)
 | 
					  - syncfusion_flutter_pdfviewer (from `.symlinks/plugins/syncfusion_flutter_pdfviewer/ios`)
 | 
				
			||||||
  - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
 | 
					  - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -194,7 +203,6 @@ SPEC REPOS:
 | 
				
			|||||||
    - FirebaseInAppMessaging
 | 
					    - FirebaseInAppMessaging
 | 
				
			||||||
    - FirebaseInstallations
 | 
					    - FirebaseInstallations
 | 
				
			||||||
    - FirebaseMessaging
 | 
					    - FirebaseMessaging
 | 
				
			||||||
    - FMDB
 | 
					 | 
				
			||||||
    - GoogleDataTransport
 | 
					    - GoogleDataTransport
 | 
				
			||||||
    - GoogleUtilities
 | 
					    - GoogleUtilities
 | 
				
			||||||
    - nanopb
 | 
					    - nanopb
 | 
				
			||||||
@@ -202,13 +210,14 @@ SPEC REPOS:
 | 
				
			|||||||
    - PromisesObjC
 | 
					    - PromisesObjC
 | 
				
			||||||
    - SDWebImage
 | 
					    - SDWebImage
 | 
				
			||||||
    - SwiftyGif
 | 
					    - SwiftyGif
 | 
				
			||||||
    - Toast
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
EXTERNAL SOURCES:
 | 
					EXTERNAL SOURCES:
 | 
				
			||||||
  better_open_file:
 | 
					  connectivity_plus:
 | 
				
			||||||
    :path: ".symlinks/plugins/better_open_file/ios"
 | 
					    :path: ".symlinks/plugins/connectivity_plus/ios"
 | 
				
			||||||
  device_info_plus:
 | 
					  device_info_plus:
 | 
				
			||||||
    :path: ".symlinks/plugins/device_info_plus/ios"
 | 
					    :path: ".symlinks/plugins/device_info_plus/ios"
 | 
				
			||||||
 | 
					  emoji_picker_flutter:
 | 
				
			||||||
 | 
					    :path: ".symlinks/plugins/emoji_picker_flutter/ios"
 | 
				
			||||||
  fast_rsa:
 | 
					  fast_rsa:
 | 
				
			||||||
    :path: ".symlinks/plugins/fast_rsa/ios"
 | 
					    :path: ".symlinks/plugins/fast_rsa/ios"
 | 
				
			||||||
  file_picker:
 | 
					  file_picker:
 | 
				
			||||||
@@ -221,74 +230,76 @@ EXTERNAL SOURCES:
 | 
				
			|||||||
    :path: ".symlinks/plugins/firebase_messaging/ios"
 | 
					    :path: ".symlinks/plugins/firebase_messaging/ios"
 | 
				
			||||||
  Flutter:
 | 
					  Flutter:
 | 
				
			||||||
    :path: Flutter
 | 
					    :path: Flutter
 | 
				
			||||||
  flutter_app_badger:
 | 
					  flutter_app_badge:
 | 
				
			||||||
    :path: ".symlinks/plugins/flutter_app_badger/ios"
 | 
					    :path: ".symlinks/plugins/flutter_app_badge/ios"
 | 
				
			||||||
  flutter_local_notifications:
 | 
					  flutter_local_notifications:
 | 
				
			||||||
    :path: ".symlinks/plugins/flutter_local_notifications/ios"
 | 
					    :path: ".symlinks/plugins/flutter_local_notifications/ios"
 | 
				
			||||||
  flutter_native_splash:
 | 
					  flutter_native_splash:
 | 
				
			||||||
    :path: ".symlinks/plugins/flutter_native_splash/ios"
 | 
					    :path: ".symlinks/plugins/flutter_native_splash/ios"
 | 
				
			||||||
  fluttertoast:
 | 
					 | 
				
			||||||
    :path: ".symlinks/plugins/fluttertoast/ios"
 | 
					 | 
				
			||||||
  image_picker_ios:
 | 
					  image_picker_ios:
 | 
				
			||||||
    :path: ".symlinks/plugins/image_picker_ios/ios"
 | 
					    :path: ".symlinks/plugins/image_picker_ios/ios"
 | 
				
			||||||
 | 
					  in_app_review:
 | 
				
			||||||
 | 
					    :path: ".symlinks/plugins/in_app_review/ios"
 | 
				
			||||||
  libphonenumber_plugin:
 | 
					  libphonenumber_plugin:
 | 
				
			||||||
    :path: ".symlinks/plugins/libphonenumber_plugin/ios"
 | 
					    :path: ".symlinks/plugins/libphonenumber_plugin/ios"
 | 
				
			||||||
  package_info:
 | 
					  open_filex:
 | 
				
			||||||
    :path: ".symlinks/plugins/package_info/ios"
 | 
					    :path: ".symlinks/plugins/open_filex/ios"
 | 
				
			||||||
 | 
					  package_info_plus:
 | 
				
			||||||
 | 
					    :path: ".symlinks/plugins/package_info_plus/ios"
 | 
				
			||||||
  path_provider_foundation:
 | 
					  path_provider_foundation:
 | 
				
			||||||
    :path: ".symlinks/plugins/path_provider_foundation/darwin"
 | 
					    :path: ".symlinks/plugins/path_provider_foundation/darwin"
 | 
				
			||||||
  share_plus:
 | 
					  share_plus:
 | 
				
			||||||
    :path: ".symlinks/plugins/share_plus/ios"
 | 
					    :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"
 | 
				
			||||||
  sqflite:
 | 
					  sqflite_darwin:
 | 
				
			||||||
    :path: ".symlinks/plugins/sqflite/ios"
 | 
					    :path: ".symlinks/plugins/sqflite_darwin/darwin"
 | 
				
			||||||
  syncfusion_flutter_pdfviewer:
 | 
					  syncfusion_flutter_pdfviewer:
 | 
				
			||||||
    :path: ".symlinks/plugins/syncfusion_flutter_pdfviewer/ios"
 | 
					    :path: ".symlinks/plugins/syncfusion_flutter_pdfviewer/ios"
 | 
				
			||||||
  url_launcher_ios:
 | 
					  url_launcher_ios:
 | 
				
			||||||
    :path: ".symlinks/plugins/url_launcher_ios/ios"
 | 
					    :path: ".symlinks/plugins/url_launcher_ios/ios"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SPEC CHECKSUMS:
 | 
					SPEC CHECKSUMS:
 | 
				
			||||||
  better_open_file: 03cf320415d4d3f46b6e00adc4a567d76c1a399d
 | 
					  connectivity_plus: cb623214f4e1f6ef8fe7403d580fdad517d2f7dd
 | 
				
			||||||
  device_info_plus: 7545d84d8d1b896cb16a4ff98c19f07ec4b298ea
 | 
					  device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe
 | 
				
			||||||
  DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
 | 
					  DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
 | 
				
			||||||
  DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
 | 
					  DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
 | 
				
			||||||
  fast_rsa: f696740d492d562e76f17b0a81dfc8ec3e635374
 | 
					  emoji_picker_flutter: ece213fc274bdddefb77d502d33080dc54e616cc
 | 
				
			||||||
  file_picker: ce3938a0df3cc1ef404671531facef740d03f920
 | 
					  fast_rsa: 8cf0f70421610bbe9462db881cdeef1cdd626153
 | 
				
			||||||
  Firebase: 07150e75d142fb9399f6777fa56a187b17f833a0
 | 
					  file_picker: a0560bc09d61de87f12d246fc47d2119e6ef37be
 | 
				
			||||||
  firebase_core: 4a3246a02f828a01c74a2c26427037786d90f17f
 | 
					  Firebase: 26f6f8d460603af3df970ad505b16b15f5e2e9a1
 | 
				
			||||||
  firebase_in_app_messaging: aebdbc10109a0ce44a3294f4ea57ed89ebe1d8bd
 | 
					  firebase_core: 3ff52146406557dddd01d570e807e203ec7e1302
 | 
				
			||||||
  firebase_messaging: 13b378c8449cae7ec96c79570170943dd73d4738
 | 
					  firebase_in_app_messaging: 42894eb8e92aa83ac58f1c534dc9f9f9546f23b9
 | 
				
			||||||
  FirebaseABTesting: 86ac5a4fc749088bb4d55a1cbfb2c4cb42c6d5de
 | 
					  firebase_messaging: 3dcc998dd98e1e54af75d0cccae8606eba43553c
 | 
				
			||||||
  FirebaseCore: f86a1394906b97ac445ae49c92552a9425831bed
 | 
					  FirebaseABTesting: 32f3fc079d72c9b93e000b60877c4e4f62ef7031
 | 
				
			||||||
  FirebaseCoreInternal: b342e37cd4f5b4454ec34308f073420e7920858e
 | 
					  FirebaseCore: 311c48a147ad4a0ab7febbaed89e8025c67510cd
 | 
				
			||||||
  FirebaseInAppMessaging: dc24f50aebaf81a377f0b8abf360778f94208931
 | 
					  FirebaseCoreInternal: 56ea29f3dad2894f81b060f706f9d53509b6ed3b
 | 
				
			||||||
  FirebaseInstallations: b28af1b9f997f1a799efe818c94695a3728c352f
 | 
					  FirebaseInAppMessaging: fecba63d44c5cd8f874e9d661a5aa5047380c7d0
 | 
				
			||||||
  FirebaseMessaging: bb2c4f6422a753038fe137d90ae7c1af57251316
 | 
					  FirebaseInstallations: 3e884b01feabdf67582a80f3250425a00979b4ed
 | 
				
			||||||
  Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
 | 
					  FirebaseMessaging: 43ec73bbfedd0c385a849bb91593ab4ad4b9e48e
 | 
				
			||||||
  flutter_app_badger: b87fc231847b03b92ce1412aa351842e7e97932f
 | 
					  Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
 | 
				
			||||||
  flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743
 | 
					  flutter_app_badge: ca742dd659a157c1090ef7cd881cb78f48f3bcdf
 | 
				
			||||||
  flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
 | 
					  flutter_local_notifications: a5a732f069baa862e728d839dd2ebb904737effb
 | 
				
			||||||
  fluttertoast: fafc4fa4d01a6a9e4f772ecd190ffa525e9e2d9c
 | 
					  flutter_native_splash: c32d145d68aeda5502d5f543ee38c192065986cf
 | 
				
			||||||
  FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
 | 
					  GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
 | 
				
			||||||
  GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2
 | 
					  GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
 | 
				
			||||||
  GoogleUtilities: 13e2c67ede716b8741c7989e26893d151b2b2084
 | 
					  image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a
 | 
				
			||||||
  image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5
 | 
					  in_app_review: 5596fe56fab799e8edb3561c03d053363ab13457
 | 
				
			||||||
  libphonenumber_plugin: e8a7d64a6624a7c25f2c4ab0b7ead2a8e341e35e
 | 
					  libphonenumber_plugin: d134f173b22bfa5ede50887071f087f309277f8c
 | 
				
			||||||
  nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431
 | 
					  nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
 | 
				
			||||||
  package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
 | 
					  open_filex: 432f3cd11432da3e39f47fcc0df2b1603854eff1
 | 
				
			||||||
  path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
 | 
					  package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
 | 
				
			||||||
  PhoneNumberKit: 43b5169526cc417398c8f13f77c97552c1c6ed76
 | 
					  path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
 | 
				
			||||||
  PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4
 | 
					  PhoneNumberKit: ced55861269312a5e3bc2ef82a58d6255b1c976a
 | 
				
			||||||
  SDWebImage: 750adf017a315a280c60fde706ab1e552a3ae4e9
 | 
					  PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
 | 
				
			||||||
  share_plus: 599aa54e4ea31d4b4c0e9c911bcc26c55e791028
 | 
					  SDWebImage: 9f177d83116802728e122410fb25ad88f5c7608a
 | 
				
			||||||
  shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
 | 
					  share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a
 | 
				
			||||||
  sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a
 | 
					  shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
 | 
				
			||||||
  SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
 | 
					  sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
 | 
				
			||||||
  syncfusion_flutter_pdfviewer: bb9998884b864cfedf72628df3503bdf57e397c0
 | 
					  SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
 | 
				
			||||||
  Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
 | 
					  syncfusion_flutter_pdfviewer: 90dc48305d2e33d4aa20681d1e98ddeda891bc14
 | 
				
			||||||
  url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
 | 
					  url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PODFILE CHECKSUM: 3d89a90682e2cd438911ad748b8ba5992f8b6a0e
 | 
					PODFILE CHECKSUM: e21c9d4c7b9623c73c6784ddc132fd50a603ad93
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COCOAPODS: 1.12.1
 | 
					COCOAPODS: 1.16.2
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -144,6 +144,7 @@
 | 
				
			|||||||
				9705A1C41CF9048500538489 /* Embed Frameworks */,
 | 
									9705A1C41CF9048500538489 /* Embed Frameworks */,
 | 
				
			||||||
				3B06AD1E1E4923F5004D2608 /* Thin Binary */,
 | 
									3B06AD1E1E4923F5004D2608 /* Thin Binary */,
 | 
				
			||||||
				174B54D80220E5F588BD9737 /* [CP] Embed Pods Frameworks */,
 | 
									174B54D80220E5F588BD9737 /* [CP] Embed Pods Frameworks */,
 | 
				
			||||||
 | 
									859FAB4E05FAC31B7B1A62D7 /* [CP] Copy Pods Resources */,
 | 
				
			||||||
			);
 | 
								);
 | 
				
			||||||
			buildRules = (
 | 
								buildRules = (
 | 
				
			||||||
			);
 | 
								);
 | 
				
			||||||
@@ -161,7 +162,7 @@
 | 
				
			|||||||
			isa = PBXProject;
 | 
								isa = PBXProject;
 | 
				
			||||||
			attributes = {
 | 
								attributes = {
 | 
				
			||||||
				BuildIndependentTargetsInParallel = YES;
 | 
									BuildIndependentTargetsInParallel = YES;
 | 
				
			||||||
				LastUpgradeCheck = 1430;
 | 
									LastUpgradeCheck = 1510;
 | 
				
			||||||
				ORGANIZATIONNAME = "";
 | 
									ORGANIZATIONNAME = "";
 | 
				
			||||||
				TargetAttributes = {
 | 
									TargetAttributes = {
 | 
				
			||||||
					97C146ED1CF9000F007C117D = {
 | 
										97C146ED1CF9000F007C117D = {
 | 
				
			||||||
@@ -237,6 +238,23 @@
 | 
				
			|||||||
			shellPath = /bin/sh;
 | 
								shellPath = /bin/sh;
 | 
				
			||||||
			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
 | 
								shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
 | 
							859FAB4E05FAC31B7B1A62D7 /* [CP] Copy Pods Resources */ = {
 | 
				
			||||||
 | 
								isa = PBXShellScriptBuildPhase;
 | 
				
			||||||
 | 
								buildActionMask = 2147483647;
 | 
				
			||||||
 | 
								files = (
 | 
				
			||||||
 | 
								);
 | 
				
			||||||
 | 
								inputFileListPaths = (
 | 
				
			||||||
 | 
									"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
 | 
				
			||||||
 | 
								);
 | 
				
			||||||
 | 
								name = "[CP] Copy Pods Resources";
 | 
				
			||||||
 | 
								outputFileListPaths = (
 | 
				
			||||||
 | 
									"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
 | 
				
			||||||
 | 
								);
 | 
				
			||||||
 | 
								runOnlyForDeploymentPostprocessing = 0;
 | 
				
			||||||
 | 
								shellPath = /bin/sh;
 | 
				
			||||||
 | 
								shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
 | 
				
			||||||
 | 
								showEnvVarsInLog = 0;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
		9740EEB61CF901F6004384FC /* Run Script */ = {
 | 
							9740EEB61CF901F6004384FC /* Run Script */ = {
 | 
				
			||||||
			isa = PBXShellScriptBuildPhase;
 | 
								isa = PBXShellScriptBuildPhase;
 | 
				
			||||||
			alwaysOutOfDate = 1;
 | 
								alwaysOutOfDate = 1;
 | 
				
			||||||
@@ -349,7 +367,7 @@
 | 
				
			|||||||
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 | 
									GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 | 
				
			||||||
				GCC_WARN_UNUSED_FUNCTION = YES;
 | 
									GCC_WARN_UNUSED_FUNCTION = YES;
 | 
				
			||||||
				GCC_WARN_UNUSED_VARIABLE = YES;
 | 
									GCC_WARN_UNUSED_VARIABLE = YES;
 | 
				
			||||||
				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
 | 
									IPHONEOS_DEPLOYMENT_TARGET = 13.0;
 | 
				
			||||||
				MTL_ENABLE_DEBUG_INFO = NO;
 | 
									MTL_ENABLE_DEBUG_INFO = NO;
 | 
				
			||||||
				SDKROOT = iphoneos;
 | 
									SDKROOT = iphoneos;
 | 
				
			||||||
				SUPPORTED_PLATFORMS = iphoneos;
 | 
									SUPPORTED_PLATFORMS = iphoneos;
 | 
				
			||||||
@@ -434,7 +452,7 @@
 | 
				
			|||||||
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 | 
									GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 | 
				
			||||||
				GCC_WARN_UNUSED_FUNCTION = YES;
 | 
									GCC_WARN_UNUSED_FUNCTION = YES;
 | 
				
			||||||
				GCC_WARN_UNUSED_VARIABLE = YES;
 | 
									GCC_WARN_UNUSED_VARIABLE = YES;
 | 
				
			||||||
				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
 | 
									IPHONEOS_DEPLOYMENT_TARGET = 13.0;
 | 
				
			||||||
				MTL_ENABLE_DEBUG_INFO = YES;
 | 
									MTL_ENABLE_DEBUG_INFO = YES;
 | 
				
			||||||
				ONLY_ACTIVE_ARCH = YES;
 | 
									ONLY_ACTIVE_ARCH = YES;
 | 
				
			||||||
				SDKROOT = iphoneos;
 | 
									SDKROOT = iphoneos;
 | 
				
			||||||
@@ -483,7 +501,7 @@
 | 
				
			|||||||
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 | 
									GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 | 
				
			||||||
				GCC_WARN_UNUSED_FUNCTION = YES;
 | 
									GCC_WARN_UNUSED_FUNCTION = YES;
 | 
				
			||||||
				GCC_WARN_UNUSED_VARIABLE = YES;
 | 
									GCC_WARN_UNUSED_VARIABLE = YES;
 | 
				
			||||||
				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
 | 
									IPHONEOS_DEPLOYMENT_TARGET = 13.0;
 | 
				
			||||||
				MTL_ENABLE_DEBUG_INFO = NO;
 | 
									MTL_ENABLE_DEBUG_INFO = NO;
 | 
				
			||||||
				SDKROOT = iphoneos;
 | 
									SDKROOT = iphoneos;
 | 
				
			||||||
				SUPPORTED_PLATFORMS = iphoneos;
 | 
									SUPPORTED_PLATFORMS = iphoneos;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
<Scheme
 | 
					<Scheme
 | 
				
			||||||
   LastUpgradeVersion = "1430"
 | 
					   LastUpgradeVersion = "1510"
 | 
				
			||||||
   version = "1.3">
 | 
					   version = "1.3">
 | 
				
			||||||
   <BuildAction
 | 
					   <BuildAction
 | 
				
			||||||
      parallelizeBuildables = "YES"
 | 
					      parallelizeBuildables = "YES"
 | 
				
			||||||
@@ -26,6 +26,7 @@
 | 
				
			|||||||
      buildConfiguration = "Debug"
 | 
					      buildConfiguration = "Debug"
 | 
				
			||||||
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
 | 
					      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
 | 
				
			||||||
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
 | 
					      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
 | 
				
			||||||
 | 
					      customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
 | 
				
			||||||
      shouldUseLaunchSchemeArgsEnv = "YES">
 | 
					      shouldUseLaunchSchemeArgsEnv = "YES">
 | 
				
			||||||
      <MacroExpansion>
 | 
					      <MacroExpansion>
 | 
				
			||||||
         <BuildableReference
 | 
					         <BuildableReference
 | 
				
			||||||
@@ -43,11 +44,13 @@
 | 
				
			|||||||
      buildConfiguration = "Debug"
 | 
					      buildConfiguration = "Debug"
 | 
				
			||||||
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
 | 
					      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
 | 
				
			||||||
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
 | 
					      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
 | 
				
			||||||
 | 
					      customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
 | 
				
			||||||
      launchStyle = "0"
 | 
					      launchStyle = "0"
 | 
				
			||||||
      useCustomWorkingDirectory = "NO"
 | 
					      useCustomWorkingDirectory = "NO"
 | 
				
			||||||
      ignoresPersistentStateOnLaunch = "NO"
 | 
					      ignoresPersistentStateOnLaunch = "NO"
 | 
				
			||||||
      debugDocumentVersioning = "YES"
 | 
					      debugDocumentVersioning = "YES"
 | 
				
			||||||
      debugServiceExtension = "internal"
 | 
					      debugServiceExtension = "internal"
 | 
				
			||||||
 | 
					      enableGPUValidationMode = "1"
 | 
				
			||||||
      allowLocationSimulation = "YES">
 | 
					      allowLocationSimulation = "YES">
 | 
				
			||||||
      <BuildableProductRunnable
 | 
					      <BuildableProductRunnable
 | 
				
			||||||
         runnableDebuggingMode = "0">
 | 
					         runnableDebuggingMode = "0">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
import UIKit
 | 
					import UIKit
 | 
				
			||||||
import Flutter
 | 
					import Flutter
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@UIApplicationMain
 | 
					@main
 | 
				
			||||||
@objc class AppDelegate: FlutterAppDelegate {
 | 
					@objc class AppDelegate: FlutterAppDelegate {
 | 
				
			||||||
  override func application(
 | 
					  override func application(
 | 
				
			||||||
    _ application: UIApplication,
 | 
					    _ application: UIApplication,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,5 @@ class ApiError {
 | 
				
			|||||||
  ApiError(this.message);
 | 
					  ApiError(this.message);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  String toString() {
 | 
					  String toString() => 'ApiError: $message';
 | 
				
			||||||
    return 'ApiError: $message';
 | 
					}
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,3 @@
 | 
				
			|||||||
class ApiParams {
 | 
					class ApiParams {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,4 +2,4 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class ApiRequest {
 | 
					class ApiRequest {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,5 +5,5 @@ abstract class ApiResponse {
 | 
				
			|||||||
  late http.Response rawResponse;
 | 
					  late http.Response rawResponse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @JsonKey(includeIfNull: false)
 | 
					  @JsonKey(includeIfNull: false)
 | 
				
			||||||
  late Map<String, String>? headers;
 | 
					  Map<String, String>? headers;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,18 +1,16 @@
 | 
				
			|||||||
import 'dart:convert';
 | 
					import 'dart:convert';
 | 
				
			||||||
 | 
					 | 
				
			||||||
import 'package:http/http.dart' as http;
 | 
					import 'package:http/http.dart' as http;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import 'getHolidaysResponse.dart';
 | 
					import 'getHolidaysResponse.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class GetHolidays {
 | 
					class GetHolidays {
 | 
				
			||||||
  Future<GetHolidaysResponse> query() async {
 | 
					  Future<GetHolidaysResponse> query() async {
 | 
				
			||||||
    String response = (await http.get(Uri.parse('https://ferien-api.de/api/v1/holidays/HE'))).body;
 | 
					    var response = (await http.get(Uri.parse('https://ferien-api.de/api/v1/holidays/HE'))).body;
 | 
				
			||||||
 | 
					    var data = jsonDecode(response) as List<dynamic>;
 | 
				
			||||||
    return GetHolidaysResponse(
 | 
					    return GetHolidaysResponse(
 | 
				
			||||||
        List<GetHolidaysResponseObject>.from(
 | 
					        List<GetHolidaysResponseObject>.from(
 | 
				
			||||||
            jsonDecode(response).map<GetHolidaysResponseObject>(
 | 
					            data.map<GetHolidaysResponseObject>((e) => GetHolidaysResponseObject.fromJson(e as Map<String, dynamic>))
 | 
				
			||||||
                    GetHolidaysResponseObject.fromJson
 | 
					 | 
				
			||||||
            )
 | 
					 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,24 +6,21 @@ import 'getHolidaysResponse.dart';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class GetHolidaysCache extends RequestCache<GetHolidaysResponse> {
 | 
					class GetHolidaysCache extends RequestCache<GetHolidaysResponse> {
 | 
				
			||||||
  GetHolidaysCache({onUpdate, renew}) : super(RequestCache.cacheDay, onUpdate, renew: renew) {
 | 
					  GetHolidaysCache({onUpdate, renew}) : super(RequestCache.cacheDay, onUpdate, renew: renew) {
 | 
				
			||||||
    start('MarianumMobile', 'state-holidays');
 | 
					    start('state-holidays');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  GetHolidaysResponse onLocalData(String json) {
 | 
					  GetHolidaysResponse onLocalData(String json) {
 | 
				
			||||||
    List<dynamic> parsedListJson = jsonDecode(json)['data'];
 | 
					    List<dynamic> parsedListJson = jsonDecode(json)['data'];
 | 
				
			||||||
    return GetHolidaysResponse(
 | 
					    return GetHolidaysResponse(
 | 
				
			||||||
        List<GetHolidaysResponseObject>.from(
 | 
					      List<GetHolidaysResponseObject>.from(
 | 
				
			||||||
            parsedListJson.map<GetHolidaysResponseObject>(
 | 
					        parsedListJson.map<GetHolidaysResponseObject>(
 | 
				
			||||||
                    // ignore: unnecessary_lambdas
 | 
					          (i) => GetHolidaysResponseObject.fromJson(i as Map<String, dynamic>)
 | 
				
			||||||
                    (dynamic i) => GetHolidaysResponseObject.fromJson(i)
 | 
					 | 
				
			||||||
            )
 | 
					 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					      )
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<GetHolidaysResponse> onLoad() {
 | 
					  Future<GetHolidaysResponse> onLoad() => GetHolidays().query();
 | 
				
			||||||
    return GetHolidays().query();
 | 
					}
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,4 +35,4 @@ class GetHolidaysResponseObject {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory GetHolidaysResponseObject.fromJson(Map<String, dynamic> json) => _$GetHolidaysResponseObjectFromJson(json);
 | 
					  factory GetHolidaysResponseObject.fromJson(Map<String, dynamic> json) => _$GetHolidaysResponseObjectFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$GetHolidaysResponseObjectToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$GetHolidaysResponseObjectToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,26 +16,19 @@ GetHolidaysResponse _$GetHolidaysResponseFromJson(Map<String, dynamic> json) =>
 | 
				
			|||||||
        (k, e) => MapEntry(k, e as String),
 | 
					        (k, e) => MapEntry(k, e as String),
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$GetHolidaysResponseToJson(GetHolidaysResponse instance) {
 | 
					Map<String, dynamic> _$GetHolidaysResponseToJson(
 | 
				
			||||||
  final val = <String, dynamic>{};
 | 
					        GetHolidaysResponse instance) =>
 | 
				
			||||||
 | 
					    <String, dynamic>{
 | 
				
			||||||
  void writeNotNull(String key, dynamic value) {
 | 
					      if (instance.headers case final value?) 'headers': value,
 | 
				
			||||||
    if (value != null) {
 | 
					      'data': instance.data.map((e) => e.toJson()).toList(),
 | 
				
			||||||
      val[key] = value;
 | 
					    };
 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  writeNotNull('headers', instance.headers);
 | 
					 | 
				
			||||||
  val['data'] = instance.data.map((e) => e.toJson()).toList();
 | 
					 | 
				
			||||||
  return val;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
GetHolidaysResponseObject _$GetHolidaysResponseObjectFromJson(
 | 
					GetHolidaysResponseObject _$GetHolidaysResponseObjectFromJson(
 | 
				
			||||||
        Map<String, dynamic> json) =>
 | 
					        Map<String, dynamic> json) =>
 | 
				
			||||||
    GetHolidaysResponseObject(
 | 
					    GetHolidaysResponseObject(
 | 
				
			||||||
      start: json['start'] as String,
 | 
					      start: json['start'] as String,
 | 
				
			||||||
      end: json['end'] as String,
 | 
					      end: json['end'] as String,
 | 
				
			||||||
      year: json['year'] as int,
 | 
					      year: (json['year'] as num).toInt(),
 | 
				
			||||||
      stateCode: json['stateCode'] as String,
 | 
					      stateCode: json['stateCode'] as String,
 | 
				
			||||||
      name: json['name'] as String,
 | 
					      name: json['name'] as String,
 | 
				
			||||||
      slug: json['slug'] as String,
 | 
					      slug: json['slug'] as String,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,6 @@ import 'dart:convert';
 | 
				
			|||||||
import 'dart:io';
 | 
					import 'dart:io';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import 'package:http/http.dart' as http;
 | 
					import 'package:http/http.dart' as http;
 | 
				
			||||||
import 'package:http/http.dart';
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
import '../../../model/accountData.dart';
 | 
					import '../../../model/accountData.dart';
 | 
				
			||||||
import '../../../model/endpointData.dart';
 | 
					import '../../../model/endpointData.dart';
 | 
				
			||||||
@@ -10,7 +9,7 @@ import 'autocompleteResponse.dart';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class AutocompleteApi {
 | 
					class AutocompleteApi {
 | 
				
			||||||
  Future<AutocompleteResponse> find(String query) async {
 | 
					  Future<AutocompleteResponse> find(String query) async {
 | 
				
			||||||
    Map<String, dynamic> getParameters = {
 | 
					    var getParameters = <String, dynamic>{
 | 
				
			||||||
      'search': query,
 | 
					      'search': query,
 | 
				
			||||||
      'itemType': ' ',
 | 
					      'itemType': ' ',
 | 
				
			||||||
      'itemId': ' ',
 | 
					      'itemId': ' ',
 | 
				
			||||||
@@ -18,16 +17,16 @@ class AutocompleteApi {
 | 
				
			|||||||
      'limit': '10',
 | 
					      'limit': '10',
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Map<String, String> headers = {};
 | 
					    var headers = <String, String>{};
 | 
				
			||||||
    headers.putIfAbsent('Accept', () => 'application/json');
 | 
					    headers.putIfAbsent('Accept', () => 'application/json');
 | 
				
			||||||
    headers.putIfAbsent('OCS-APIRequest', () => 'true');
 | 
					    headers.putIfAbsent('OCS-APIRequest', () => 'true');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Uri endpoint = Uri.https('${AccountData().buildHttpAuthString()}@${EndpointData().nextcloud().domain}', '${EndpointData().nextcloud().path}/ocs/v2.php/core/autocomplete/get', getParameters);
 | 
					    var endpoint = Uri.https('${AccountData().buildHttpAuthString()}@${EndpointData().nextcloud().domain}', '${EndpointData().nextcloud().path}/ocs/v2.php/core/autocomplete/get', getParameters);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Response response = await http.get(endpoint, headers: headers);
 | 
					    var response = await http.get(endpoint, headers: headers);
 | 
				
			||||||
    if(response.statusCode != HttpStatus.ok) throw Exception('Api call failed with ${response.statusCode}: ${response.body}');
 | 
					    if(response.statusCode != HttpStatus.ok) throw Exception('Api call failed with ${response.statusCode}: ${response.body}');
 | 
				
			||||||
    String result = response.body;
 | 
					    var result = response.body;
 | 
				
			||||||
    return AutocompleteResponse.fromJson(jsonDecode(result)['ocs']);
 | 
					    return AutocompleteResponse.fromJson(jsonDecode(result)['ocs']);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,7 +18,7 @@ class AutocompleteResponseObject {
 | 
				
			|||||||
  String label;
 | 
					  String label;
 | 
				
			||||||
  String? icon;
 | 
					  String? icon;
 | 
				
			||||||
  String? source;
 | 
					  String? source;
 | 
				
			||||||
  List<String>? status;
 | 
					  String? status;
 | 
				
			||||||
  String? subline;
 | 
					  String? subline;
 | 
				
			||||||
  String? shareWithDisplayNameUniqe;
 | 
					  String? shareWithDisplayNameUniqe;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -27,4 +27,4 @@ class AutocompleteResponseObject {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory AutocompleteResponseObject.fromJson(Map<String, dynamic> json) => _$AutocompleteResponseObjectFromJson(json);
 | 
					  factory AutocompleteResponseObject.fromJson(Map<String, dynamic> json) => _$AutocompleteResponseObjectFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$AutocompleteResponseObjectToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$AutocompleteResponseObjectToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,7 +28,7 @@ AutocompleteResponseObject _$AutocompleteResponseObjectFromJson(
 | 
				
			|||||||
      json['label'] as String,
 | 
					      json['label'] as String,
 | 
				
			||||||
      json['icon'] as String?,
 | 
					      json['icon'] as String?,
 | 
				
			||||||
      json['source'] as String?,
 | 
					      json['source'] as String?,
 | 
				
			||||||
      (json['status'] as List<dynamic>?)?.map((e) => e as String).toList(),
 | 
					      json['status'] as String?,
 | 
				
			||||||
      json['subline'] as String?,
 | 
					      json['subline'] as String?,
 | 
				
			||||||
      json['shareWithDisplayNameUniqe'] as String?,
 | 
					      json['shareWithDisplayNameUniqe'] as String?,
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,6 @@
 | 
				
			|||||||
import 'dart:io';
 | 
					import 'dart:io';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import 'package:http/http.dart' as http;
 | 
					import 'package:http/http.dart' as http;
 | 
				
			||||||
import 'package:http/http.dart';
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
import '../../../model/accountData.dart';
 | 
					import '../../../model/accountData.dart';
 | 
				
			||||||
import '../../../model/endpointData.dart';
 | 
					import '../../../model/endpointData.dart';
 | 
				
			||||||
@@ -9,15 +8,15 @@ import 'fileSharingApiParams.dart';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class FileSharingApi {
 | 
					class FileSharingApi {
 | 
				
			||||||
  Future<void> share(FileSharingApiParams query) async {
 | 
					  Future<void> share(FileSharingApiParams query) async {
 | 
				
			||||||
    Map<String, String> headers = {};
 | 
					    var headers = <String, String>{};
 | 
				
			||||||
    headers.putIfAbsent('Accept', () => 'application/json');
 | 
					    headers.putIfAbsent('Accept', () => 'application/json');
 | 
				
			||||||
    headers.putIfAbsent('OCS-APIRequest', () => 'true');
 | 
					    headers.putIfAbsent('OCS-APIRequest', () => 'true');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Uri endpoint = Uri.https('${AccountData().buildHttpAuthString()}@${EndpointData().nextcloud().domain}', '${EndpointData().nextcloud().path}/ocs/v2.php/apps/files_sharing/api/v1/shares', query.toJson().map((key, value) => MapEntry(key, value.toString())));
 | 
					    var endpoint = Uri.https('${AccountData().buildHttpAuthString()}@${EndpointData().nextcloud().domain}', '${EndpointData().nextcloud().path}/ocs/v2.php/apps/files_sharing/api/v1/shares', query.toJson().map((key, value) => MapEntry(key, value.toString())));
 | 
				
			||||||
    Response response = await http.post(endpoint, headers: headers);
 | 
					    var response = await http.post(endpoint, headers: headers);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(response.statusCode != HttpStatus.ok) {
 | 
					    if(response.statusCode != HttpStatus.ok) {
 | 
				
			||||||
      throw Exception('Api call failed with ${response.statusCode}: ${response.body}');
 | 
					      throw Exception('Api call failed with ${response.statusCode}: ${response.body}');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,4 +20,4 @@ class FileSharingApiParams {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory FileSharingApiParams.fromJson(Map<String, dynamic> json) => _$FileSharingApiParamsFromJson(json);
 | 
					  factory FileSharingApiParams.fromJson(Map<String, dynamic> json) => _$FileSharingApiParamsFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$FileSharingApiParamsToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$FileSharingApiParamsToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@ part of 'fileSharingApiParams.dart';
 | 
				
			|||||||
FileSharingApiParams _$FileSharingApiParamsFromJson(
 | 
					FileSharingApiParams _$FileSharingApiParamsFromJson(
 | 
				
			||||||
        Map<String, dynamic> json) =>
 | 
					        Map<String, dynamic> json) =>
 | 
				
			||||||
    FileSharingApiParams(
 | 
					    FileSharingApiParams(
 | 
				
			||||||
      shareType: json['shareType'] as int,
 | 
					      shareType: (json['shareType'] as num).toInt(),
 | 
				
			||||||
      shareWith: json['shareWith'] as String,
 | 
					      shareWith: json['shareWith'] as String,
 | 
				
			||||||
      path: json['path'] as String,
 | 
					      path: json['path'] as String,
 | 
				
			||||||
      referenceId: json['referenceId'] as String?,
 | 
					      referenceId: json['referenceId'] as String?,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,13 +14,9 @@ class GetChat extends TalkApi<GetChatResponse> {
 | 
				
			|||||||
  GetChat(this.chatToken, this.params) : super('v1/chat/$chatToken', null, getParameters: params.toJson());
 | 
					  GetChat(this.chatToken, this.params) : super('v1/chat/$chatToken', null, getParameters: params.toJson());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  assemble(String raw) {
 | 
					  assemble(String raw) => GetChatResponse.fromJson(jsonDecode(raw)['ocs']);
 | 
				
			||||||
    return GetChatResponse.fromJson(jsonDecode(raw)['ocs']);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response> request(Uri uri, Object? body, Map<String, String>? headers) {
 | 
					  Future<Response> request(Uri uri, Object? body, Map<String, String>? headers) => http.get(uri, headers: headers);
 | 
				
			||||||
    return http.get(uri, headers: headers);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,12 +9,11 @@ class GetChatCache extends RequestCache<GetChatResponse> {
 | 
				
			|||||||
  String chatToken;
 | 
					  String chatToken;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  GetChatCache({required onUpdate, required this.chatToken}) : super(RequestCache.cacheNothing, onUpdate) {
 | 
					  GetChatCache({required onUpdate, required this.chatToken}) : super(RequestCache.cacheNothing, onUpdate) {
 | 
				
			||||||
    start('MarianumMobile', 'nc-chat-$chatToken');
 | 
					    start('nc-chat-$chatToken');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<GetChatResponse> onLoad() {
 | 
					  Future<GetChatResponse> onLoad() => GetChat(
 | 
				
			||||||
    return GetChat(
 | 
					 | 
				
			||||||
      chatToken,
 | 
					      chatToken,
 | 
				
			||||||
      GetChatParams(
 | 
					      GetChatParams(
 | 
				
			||||||
        lookIntoFuture: GetChatParamsSwitch.off,
 | 
					        lookIntoFuture: GetChatParamsSwitch.off,
 | 
				
			||||||
@@ -22,11 +21,8 @@ class GetChatCache extends RequestCache<GetChatResponse> {
 | 
				
			|||||||
        limit: 200,
 | 
					        limit: 200,
 | 
				
			||||||
      )
 | 
					      )
 | 
				
			||||||
    ).run();
 | 
					    ).run();
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  GetChatResponse onLocalData(String json) {
 | 
					  GetChatResponse onLocalData(String json) => GetChatResponse.fromJson(jsonDecode(json));
 | 
				
			||||||
    return GetChatResponse.fromJson(jsonDecode(json));
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,4 +31,4 @@ class GetChatParams extends ApiParams {
 | 
				
			|||||||
enum GetChatParamsSwitch {
 | 
					enum GetChatParamsSwitch {
 | 
				
			||||||
  @JsonValue(1) on,
 | 
					  @JsonValue(1) on,
 | 
				
			||||||
  @JsonValue(0) off,
 | 
					  @JsonValue(0) off,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,37 +10,32 @@ GetChatParams _$GetChatParamsFromJson(Map<String, dynamic> json) =>
 | 
				
			|||||||
    GetChatParams(
 | 
					    GetChatParams(
 | 
				
			||||||
      lookIntoFuture:
 | 
					      lookIntoFuture:
 | 
				
			||||||
          $enumDecode(_$GetChatParamsSwitchEnumMap, json['lookIntoFuture']),
 | 
					          $enumDecode(_$GetChatParamsSwitchEnumMap, json['lookIntoFuture']),
 | 
				
			||||||
      limit: json['limit'] as int?,
 | 
					      limit: (json['limit'] as num?)?.toInt(),
 | 
				
			||||||
      lastKnownMessageId: json['lastKnownMessageId'] as int?,
 | 
					      lastKnownMessageId: (json['lastKnownMessageId'] as num?)?.toInt(),
 | 
				
			||||||
      lastCommonReadId: json['lastCommonReadId'] as int?,
 | 
					      lastCommonReadId: (json['lastCommonReadId'] as num?)?.toInt(),
 | 
				
			||||||
      timeout: json['timeout'] as int?,
 | 
					      timeout: (json['timeout'] as num?)?.toInt(),
 | 
				
			||||||
      setReadMarker: $enumDecodeNullable(
 | 
					      setReadMarker: $enumDecodeNullable(
 | 
				
			||||||
          _$GetChatParamsSwitchEnumMap, json['setReadMarker']),
 | 
					          _$GetChatParamsSwitchEnumMap, json['setReadMarker']),
 | 
				
			||||||
      includeLastKnown: $enumDecodeNullable(
 | 
					      includeLastKnown: $enumDecodeNullable(
 | 
				
			||||||
          _$GetChatParamsSwitchEnumMap, json['includeLastKnown']),
 | 
					          _$GetChatParamsSwitchEnumMap, json['includeLastKnown']),
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$GetChatParamsToJson(GetChatParams instance) {
 | 
					Map<String, dynamic> _$GetChatParamsToJson(GetChatParams instance) =>
 | 
				
			||||||
  final val = <String, dynamic>{
 | 
					    <String, dynamic>{
 | 
				
			||||||
    'lookIntoFuture': _$GetChatParamsSwitchEnumMap[instance.lookIntoFuture]!,
 | 
					      'lookIntoFuture': _$GetChatParamsSwitchEnumMap[instance.lookIntoFuture]!,
 | 
				
			||||||
  };
 | 
					      if (instance.limit case final value?) 'limit': value,
 | 
				
			||||||
 | 
					      if (instance.lastKnownMessageId case final value?)
 | 
				
			||||||
  void writeNotNull(String key, dynamic value) {
 | 
					        'lastKnownMessageId': value,
 | 
				
			||||||
    if (value != null) {
 | 
					      if (instance.lastCommonReadId case final value?)
 | 
				
			||||||
      val[key] = value;
 | 
					        'lastCommonReadId': value,
 | 
				
			||||||
    }
 | 
					      if (instance.timeout case final value?) 'timeout': value,
 | 
				
			||||||
  }
 | 
					      if (_$GetChatParamsSwitchEnumMap[instance.setReadMarker]
 | 
				
			||||||
 | 
					          case final value?)
 | 
				
			||||||
  writeNotNull('limit', instance.limit);
 | 
					        'setReadMarker': value,
 | 
				
			||||||
  writeNotNull('lastKnownMessageId', instance.lastKnownMessageId);
 | 
					      if (_$GetChatParamsSwitchEnumMap[instance.includeLastKnown]
 | 
				
			||||||
  writeNotNull('lastCommonReadId', instance.lastCommonReadId);
 | 
					          case final value?)
 | 
				
			||||||
  writeNotNull('timeout', instance.timeout);
 | 
					        'includeLastKnown': value,
 | 
				
			||||||
  writeNotNull(
 | 
					    };
 | 
				
			||||||
      'setReadMarker', _$GetChatParamsSwitchEnumMap[instance.setReadMarker]);
 | 
					 | 
				
			||||||
  writeNotNull('includeLastKnown',
 | 
					 | 
				
			||||||
      _$GetChatParamsSwitchEnumMap[instance.includeLastKnown]);
 | 
					 | 
				
			||||||
  return val;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
const _$GetChatParamsSwitchEnumMap = {
 | 
					const _$GetChatParamsSwitchEnumMap = {
 | 
				
			||||||
  GetChatParamsSwitch.on: 1,
 | 
					  GetChatParamsSwitch.on: 1,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,7 +16,7 @@ class GetChatResponse extends ApiResponse {
 | 
				
			|||||||
  Map<String, dynamic> toJson() => _$GetChatResponseToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$GetChatResponseToJson(this);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  List<GetChatResponseObject> sortByTimestamp() {
 | 
					  List<GetChatResponseObject> sortByTimestamp() {
 | 
				
			||||||
    List<GetChatResponseObject> sorted = data.toList();
 | 
					    var sorted = data.toList();
 | 
				
			||||||
    sorted.sort((a, b) => a.timestamp.compareTo(b.timestamp));
 | 
					    sorted.sort((a, b) => a.timestamp.compareTo(b.timestamp));
 | 
				
			||||||
    return sorted;
 | 
					    return sorted;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@@ -38,6 +38,7 @@ class GetChatResponseObject {
 | 
				
			|||||||
  Map<String, int>? reactions;
 | 
					  Map<String, int>? reactions;
 | 
				
			||||||
  List<String>? reactionsSelf;
 | 
					  List<String>? reactionsSelf;
 | 
				
			||||||
  @JsonKey(fromJson: _fromJson) Map<String, RichObjectString>? messageParameters;
 | 
					  @JsonKey(fromJson: _fromJson) Map<String, RichObjectString>? messageParameters;
 | 
				
			||||||
 | 
					  GetChatResponseObject? parent;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  GetChatResponseObject(
 | 
					  GetChatResponseObject(
 | 
				
			||||||
      this.id,
 | 
					      this.id,
 | 
				
			||||||
@@ -53,19 +54,19 @@ class GetChatResponseObject {
 | 
				
			|||||||
      this.message,
 | 
					      this.message,
 | 
				
			||||||
      this.messageParameters,
 | 
					      this.messageParameters,
 | 
				
			||||||
      this.reactions,
 | 
					      this.reactions,
 | 
				
			||||||
      this.reactionsSelf
 | 
					      this.reactionsSelf,
 | 
				
			||||||
 | 
					      this.parent,
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  factory GetChatResponseObject.fromJson(Map<String, dynamic> json) => _$GetChatResponseObjectFromJson(json);
 | 
					  factory GetChatResponseObject.fromJson(Map<String, dynamic> json) => _$GetChatResponseObjectFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$GetChatResponseObjectToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$GetChatResponseObjectToJson(this);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  static GetChatResponseObject getDateDummy(int timestamp) {
 | 
					  static GetChatResponseObject getDateDummy(int timestamp) {
 | 
				
			||||||
    DateTime elementDate = DateTime.fromMillisecondsSinceEpoch(timestamp * 1000);
 | 
					    var elementDate = DateTime.fromMillisecondsSinceEpoch(timestamp * 1000);
 | 
				
			||||||
    return getTextDummy(Jiffy.parseFromDateTime(elementDate).format(pattern: 'dd.MM.yyyy'));
 | 
					    return getTextDummy(Jiffy.parseFromDateTime(elementDate).format(pattern: 'dd.MM.yyyy'));
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  static GetChatResponseObject getTextDummy(String text) {
 | 
					  static GetChatResponseObject getTextDummy(String text) => GetChatResponseObject(
 | 
				
			||||||
    return GetChatResponseObject(
 | 
					 | 
				
			||||||
        0,
 | 
					        0,
 | 
				
			||||||
        '',
 | 
					        '',
 | 
				
			||||||
        GetRoomResponseObjectMessageActorType.user,
 | 
					        GetRoomResponseObjectMessageActorType.user,
 | 
				
			||||||
@@ -79,15 +80,15 @@ class GetChatResponseObject {
 | 
				
			|||||||
        text,
 | 
					        text,
 | 
				
			||||||
        null,
 | 
					        null,
 | 
				
			||||||
        null,
 | 
					        null,
 | 
				
			||||||
        null
 | 
					        null,
 | 
				
			||||||
 | 
					        null,
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, RichObjectString>? _fromJson(json) {
 | 
					Map<String, RichObjectString>? _fromJson(json) {
 | 
				
			||||||
  if(json is Map<String, dynamic>) {
 | 
					  if(json is Map<String, dynamic>) {
 | 
				
			||||||
    Map<String, RichObjectString> data = {};
 | 
					    var data = <String, RichObjectString>{};
 | 
				
			||||||
    for (var element in json.keys) {
 | 
					    for (var element in json.keys) {
 | 
				
			||||||
      data.putIfAbsent(element, () => RichObjectString.fromJson(json[element]));
 | 
					      data.putIfAbsent(element, () => RichObjectString.fromJson(json[element]));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -119,4 +120,5 @@ enum RichObjectStringObjectType {
 | 
				
			|||||||
  @JsonValue('guest') guest,
 | 
					  @JsonValue('guest') guest,
 | 
				
			||||||
  @JsonValue('highlight') highlight,
 | 
					  @JsonValue('highlight') highlight,
 | 
				
			||||||
  @JsonValue('talk-poll') talkPoll,
 | 
					  @JsonValue('talk-poll') talkPoll,
 | 
				
			||||||
}
 | 
					  @JsonValue('geo-location') geoLocation,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,30 +15,22 @@ GetChatResponse _$GetChatResponseFromJson(Map<String, dynamic> json) =>
 | 
				
			|||||||
        (k, e) => MapEntry(k, e as String),
 | 
					        (k, e) => MapEntry(k, e as String),
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$GetChatResponseToJson(GetChatResponse instance) {
 | 
					Map<String, dynamic> _$GetChatResponseToJson(GetChatResponse instance) =>
 | 
				
			||||||
  final val = <String, dynamic>{};
 | 
					    <String, dynamic>{
 | 
				
			||||||
 | 
					      if (instance.headers case final value?) 'headers': value,
 | 
				
			||||||
  void writeNotNull(String key, dynamic value) {
 | 
					      'data': instance.data.map((e) => e.toJson()).toList(),
 | 
				
			||||||
    if (value != null) {
 | 
					    };
 | 
				
			||||||
      val[key] = value;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  writeNotNull('headers', instance.headers);
 | 
					 | 
				
			||||||
  val['data'] = instance.data.map((e) => e.toJson()).toList();
 | 
					 | 
				
			||||||
  return val;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
GetChatResponseObject _$GetChatResponseObjectFromJson(
 | 
					GetChatResponseObject _$GetChatResponseObjectFromJson(
 | 
				
			||||||
        Map<String, dynamic> json) =>
 | 
					        Map<String, dynamic> json) =>
 | 
				
			||||||
    GetChatResponseObject(
 | 
					    GetChatResponseObject(
 | 
				
			||||||
      json['id'] as int,
 | 
					      (json['id'] as num).toInt(),
 | 
				
			||||||
      json['token'] as String,
 | 
					      json['token'] as String,
 | 
				
			||||||
      $enumDecode(
 | 
					      $enumDecode(
 | 
				
			||||||
          _$GetRoomResponseObjectMessageActorTypeEnumMap, json['actorType']),
 | 
					          _$GetRoomResponseObjectMessageActorTypeEnumMap, json['actorType']),
 | 
				
			||||||
      json['actorId'] as String,
 | 
					      json['actorId'] as String,
 | 
				
			||||||
      json['actorDisplayName'] as String,
 | 
					      json['actorDisplayName'] as String,
 | 
				
			||||||
      json['timestamp'] as int,
 | 
					      (json['timestamp'] as num).toInt(),
 | 
				
			||||||
      json['systemMessage'] as String,
 | 
					      json['systemMessage'] as String,
 | 
				
			||||||
      $enumDecode(
 | 
					      $enumDecode(
 | 
				
			||||||
          _$GetRoomResponseObjectMessageTypeEnumMap, json['messageType']),
 | 
					          _$GetRoomResponseObjectMessageTypeEnumMap, json['messageType']),
 | 
				
			||||||
@@ -47,11 +39,15 @@ GetChatResponseObject _$GetChatResponseObjectFromJson(
 | 
				
			|||||||
      json['message'] as String,
 | 
					      json['message'] as String,
 | 
				
			||||||
      _fromJson(json['messageParameters']),
 | 
					      _fromJson(json['messageParameters']),
 | 
				
			||||||
      (json['reactions'] as Map<String, dynamic>?)?.map(
 | 
					      (json['reactions'] as Map<String, dynamic>?)?.map(
 | 
				
			||||||
        (k, e) => MapEntry(k, e as int),
 | 
					        (k, e) => MapEntry(k, (e as num).toInt()),
 | 
				
			||||||
      ),
 | 
					      ),
 | 
				
			||||||
      (json['reactionsSelf'] as List<dynamic>?)
 | 
					      (json['reactionsSelf'] as List<dynamic>?)
 | 
				
			||||||
          ?.map((e) => e as String)
 | 
					          ?.map((e) => e as String)
 | 
				
			||||||
          .toList(),
 | 
					          .toList(),
 | 
				
			||||||
 | 
					      json['parent'] == null
 | 
				
			||||||
 | 
					          ? null
 | 
				
			||||||
 | 
					          : GetChatResponseObject.fromJson(
 | 
				
			||||||
 | 
					              json['parent'] as Map<String, dynamic>),
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$GetChatResponseObjectToJson(
 | 
					Map<String, dynamic> _$GetChatResponseObjectToJson(
 | 
				
			||||||
@@ -74,6 +70,7 @@ Map<String, dynamic> _$GetChatResponseObjectToJson(
 | 
				
			|||||||
      'reactionsSelf': instance.reactionsSelf,
 | 
					      'reactionsSelf': instance.reactionsSelf,
 | 
				
			||||||
      'messageParameters':
 | 
					      'messageParameters':
 | 
				
			||||||
          instance.messageParameters?.map((k, e) => MapEntry(k, e.toJson())),
 | 
					          instance.messageParameters?.map((k, e) => MapEntry(k, e.toJson())),
 | 
				
			||||||
 | 
					      'parent': instance.parent?.toJson(),
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const _$GetRoomResponseObjectMessageActorTypeEnumMap = {
 | 
					const _$GetRoomResponseObjectMessageActorTypeEnumMap = {
 | 
				
			||||||
@@ -116,4 +113,5 @@ const _$RichObjectStringObjectTypeEnumMap = {
 | 
				
			|||||||
  RichObjectStringObjectType.guest: 'guest',
 | 
					  RichObjectStringObjectType.guest: 'guest',
 | 
				
			||||||
  RichObjectStringObjectType.highlight: 'highlight',
 | 
					  RichObjectStringObjectType.highlight: 'highlight',
 | 
				
			||||||
  RichObjectStringObjectType.talkPoll: 'talk-poll',
 | 
					  RichObjectStringObjectType.talkPoll: 'talk-poll',
 | 
				
			||||||
 | 
					  RichObjectStringObjectType.geoLocation: 'geo-location',
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,4 +11,4 @@ class RichObjectStringProcessor {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    return message;
 | 
					    return message;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,9 +10,7 @@ class CreateRoom extends TalkApi {
 | 
				
			|||||||
  CreateRoom(this.params) : super('v4/room', params);
 | 
					  CreateRoom(this.params) : super('v4/room', params);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  assemble(String raw) {
 | 
					  assemble(String raw) => null;
 | 
				
			||||||
    return null;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response>? request(Uri uri, Object? body, Map<String, String>? headers) {
 | 
					  Future<Response>? request(Uri uri, Object? body, Map<String, String>? headers) {
 | 
				
			||||||
@@ -22,4 +20,4 @@ class CreateRoom extends TalkApi {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    return null;
 | 
					    return null;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,4 +24,4 @@ class CreateRoomParams extends ApiParams {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory CreateRoomParams.fromJson(Map<String, dynamic> json) => _$CreateRoomParamsFromJson(json);
 | 
					  factory CreateRoomParams.fromJson(Map<String, dynamic> json) => _$CreateRoomParamsFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$CreateRoomParamsToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$CreateRoomParamsToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@ part of 'createRoomParams.dart';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
CreateRoomParams _$CreateRoomParamsFromJson(Map<String, dynamic> json) =>
 | 
					CreateRoomParams _$CreateRoomParamsFromJson(Map<String, dynamic> json) =>
 | 
				
			||||||
    CreateRoomParams(
 | 
					    CreateRoomParams(
 | 
				
			||||||
      roomType: json['roomType'] as int,
 | 
					      roomType: (json['roomType'] as num).toInt(),
 | 
				
			||||||
      invite: json['invite'] as String,
 | 
					      invite: json['invite'] as String,
 | 
				
			||||||
      source: json['source'] as String?,
 | 
					      source: json['source'] as String?,
 | 
				
			||||||
      roomName: json['roomName'] as String?,
 | 
					      roomName: json['roomName'] as String?,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,13 +10,9 @@ class DeleteMessage extends TalkApi {
 | 
				
			|||||||
  DeleteMessage(this.chatToken, this.messageId) : super('v1/chat/$chatToken/$messageId', null);
 | 
					  DeleteMessage(this.chatToken, this.messageId) : super('v1/chat/$chatToken/$messageId', null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  assemble(String raw) {
 | 
					  assemble(String raw) => null;
 | 
				
			||||||
    return null;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response>? request(Uri uri, ApiParams? body, Map<String, String>? headers) {
 | 
					  Future<Response>? request(Uri uri, ApiParams? body, Map<String, String>? headers) => http.delete(uri, headers: headers);
 | 
				
			||||||
    return http.delete(uri, headers: headers);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,9 +11,7 @@ class DeleteReactMessage extends TalkApi {
 | 
				
			|||||||
  DeleteReactMessage({required this.chatToken, required this.messageId, required DeleteReactMessageParams params}) : super('v1/reaction/$chatToken/$messageId', params);
 | 
					  DeleteReactMessage({required this.chatToken, required this.messageId, required DeleteReactMessageParams params}) : super('v1/reaction/$chatToken/$messageId', params);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  assemble(String raw) {
 | 
					  assemble(String raw) => null;
 | 
				
			||||||
    return null;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response>? request(Uri uri, ApiParams? body, Map<String, String>? headers) {
 | 
					  Future<Response>? request(Uri uri, ApiParams? body, Map<String, String>? headers) {
 | 
				
			||||||
@@ -23,4 +21,4 @@ class DeleteReactMessage extends TalkApi {
 | 
				
			|||||||
    return null;
 | 
					    return null;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,4 +12,4 @@ class DeleteReactMessageParams extends ApiParams {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory DeleteReactMessageParams.fromJson(Map<String, dynamic> json) => _$DeleteReactMessageParamsFromJson(json);
 | 
					  factory DeleteReactMessageParams.fromJson(Map<String, dynamic> json) => _$DeleteReactMessageParamsFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$DeleteReactMessageParamsToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$DeleteReactMessageParamsToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,13 +10,9 @@ class GetParticipants extends TalkApi<GetParticipantsResponse> {
 | 
				
			|||||||
  GetParticipants(this.token) : super('v4/room/$token/participants', null);
 | 
					  GetParticipants(this.token) : super('v4/room/$token/participants', null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  GetParticipantsResponse assemble(String raw) {
 | 
					  GetParticipantsResponse assemble(String raw) => GetParticipantsResponse.fromJson(jsonDecode(raw)['ocs']);
 | 
				
			||||||
    return GetParticipantsResponse.fromJson(jsonDecode(raw)['ocs']);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<http.Response> request(Uri uri, Object? body, Map<String, String>? headers) {
 | 
					  Future<http.Response> request(Uri uri, Object? body, Map<String, String>? headers) => http.get(uri, headers: headers);
 | 
				
			||||||
    return http.get(uri, headers: headers);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,19 +8,15 @@ class GetParticipantsCache extends RequestCache<GetParticipantsResponse> {
 | 
				
			|||||||
  String chatToken;
 | 
					  String chatToken;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  GetParticipantsCache({required onUpdate, required this.chatToken}) : super(RequestCache.cacheNothing, onUpdate) {
 | 
					  GetParticipantsCache({required onUpdate, required this.chatToken}) : super(RequestCache.cacheNothing, onUpdate) {
 | 
				
			||||||
    start('MarianumMobile', 'nc-chat-participants-$chatToken');
 | 
					    start('nc-chat-participants-$chatToken');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<GetParticipantsResponse> onLoad() {
 | 
					  Future<GetParticipantsResponse> onLoad() => GetParticipants(
 | 
				
			||||||
    return GetParticipants(
 | 
					 | 
				
			||||||
        chatToken,
 | 
					        chatToken,
 | 
				
			||||||
    ).run();
 | 
					    ).run();
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  GetParticipantsResponse onLocalData(String json) {
 | 
					  GetParticipantsResponse onLocalData(String json) => GetParticipantsResponse.fromJson(jsonDecode(json));
 | 
				
			||||||
    return GetParticipantsResponse.fromJson(jsonDecode(json));
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -55,12 +55,15 @@ class GetParticipantsResponseObject {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum GetParticipantsResponseObjectParticipantType {
 | 
					enum GetParticipantsResponseObjectParticipantType {
 | 
				
			||||||
  @JsonValue(1) owner,
 | 
					  @JsonValue(1) owner('Besitzer'),
 | 
				
			||||||
  @JsonValue(2) moderator,
 | 
					  @JsonValue(2) moderator('Moderator'),
 | 
				
			||||||
  @JsonValue(3) user,
 | 
					  @JsonValue(3) user('Teilnehmer'),
 | 
				
			||||||
  @JsonValue(4) guest,
 | 
					  @JsonValue(4) guest('Gast'),
 | 
				
			||||||
  @JsonValue(5) userFollowingPublicLink,
 | 
					  @JsonValue(5) userFollowingPublicLink('Teilnehmer über Link'),
 | 
				
			||||||
  @JsonValue(6) guestWithModeratorPermissions
 | 
					  @JsonValue(6) guestWithModeratorPermissions('Gast Moderator');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const GetParticipantsResponseObjectParticipantType(this.prettyName);
 | 
				
			||||||
 | 
					  final String prettyName;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum GetParticipantsResponseObjectParticipantsInCallFlags {
 | 
					enum GetParticipantsResponseObjectParticipantsInCallFlags {
 | 
				
			||||||
@@ -69,4 +72,4 @@ enum GetParticipantsResponseObjectParticipantsInCallFlags {
 | 
				
			|||||||
  @JsonValue(2) providesAudio,
 | 
					  @JsonValue(2) providesAudio,
 | 
				
			||||||
  @JsonValue(3) providesVideo,
 | 
					  @JsonValue(3) providesVideo,
 | 
				
			||||||
  @JsonValue(4) usesSipDialIn
 | 
					  @JsonValue(4) usesSipDialIn
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,34 +18,26 @@ GetParticipantsResponse _$GetParticipantsResponseFromJson(
 | 
				
			|||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$GetParticipantsResponseToJson(
 | 
					Map<String, dynamic> _$GetParticipantsResponseToJson(
 | 
				
			||||||
    GetParticipantsResponse instance) {
 | 
					        GetParticipantsResponse instance) =>
 | 
				
			||||||
  final val = <String, dynamic>{};
 | 
					    <String, dynamic>{
 | 
				
			||||||
 | 
					      if (instance.headers case final value?) 'headers': value,
 | 
				
			||||||
  void writeNotNull(String key, dynamic value) {
 | 
					      'data': instance.data.map((e) => e.toJson()).toList(),
 | 
				
			||||||
    if (value != null) {
 | 
					    };
 | 
				
			||||||
      val[key] = value;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  writeNotNull('headers', instance.headers);
 | 
					 | 
				
			||||||
  val['data'] = instance.data.map((e) => e.toJson()).toList();
 | 
					 | 
				
			||||||
  return val;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
GetParticipantsResponseObject _$GetParticipantsResponseObjectFromJson(
 | 
					GetParticipantsResponseObject _$GetParticipantsResponseObjectFromJson(
 | 
				
			||||||
        Map<String, dynamic> json) =>
 | 
					        Map<String, dynamic> json) =>
 | 
				
			||||||
    GetParticipantsResponseObject(
 | 
					    GetParticipantsResponseObject(
 | 
				
			||||||
      json['attendeeId'] as int,
 | 
					      (json['attendeeId'] as num).toInt(),
 | 
				
			||||||
      json['actorType'] as String,
 | 
					      json['actorType'] as String,
 | 
				
			||||||
      json['actorId'] as String,
 | 
					      json['actorId'] as String,
 | 
				
			||||||
      json['displayName'] as String,
 | 
					      json['displayName'] as String,
 | 
				
			||||||
      $enumDecode(_$GetParticipantsResponseObjectParticipantTypeEnumMap,
 | 
					      $enumDecode(_$GetParticipantsResponseObjectParticipantTypeEnumMap,
 | 
				
			||||||
          json['participantType']),
 | 
					          json['participantType']),
 | 
				
			||||||
      json['lastPing'] as int,
 | 
					      (json['lastPing'] as num).toInt(),
 | 
				
			||||||
      $enumDecode(_$GetParticipantsResponseObjectParticipantsInCallFlagsEnumMap,
 | 
					      $enumDecode(_$GetParticipantsResponseObjectParticipantsInCallFlagsEnumMap,
 | 
				
			||||||
          json['inCall']),
 | 
					          json['inCall']),
 | 
				
			||||||
      json['permissions'] as int,
 | 
					      (json['permissions'] as num).toInt(),
 | 
				
			||||||
      json['attendeePermissions'] as int,
 | 
					      (json['attendeePermissions'] as num).toInt(),
 | 
				
			||||||
      json['sessionId'] as String?,
 | 
					      json['sessionId'] as String?,
 | 
				
			||||||
      (json['sessionIds'] as List<dynamic>).map((e) => e as String).toList(),
 | 
					      (json['sessionIds'] as List<dynamic>).map((e) => e as String).toList(),
 | 
				
			||||||
      json['status'] as String?,
 | 
					      json['status'] as String?,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,13 +13,9 @@ class GetReactions extends TalkApi<GetReactionsResponse> {
 | 
				
			|||||||
  GetReactions({required this.chatToken, required this.messageId}) : super('v1/reaction/$chatToken/$messageId', null);
 | 
					  GetReactions({required this.chatToken, required this.messageId}) : super('v1/reaction/$chatToken/$messageId', null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  assemble(String raw) {
 | 
					  assemble(String raw) => GetReactionsResponse.fromJson(jsonDecode(raw)['ocs']);
 | 
				
			||||||
    return GetReactionsResponse.fromJson(jsonDecode(raw)['ocs']);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response>? request(Uri uri, ApiParams? body, Map<String, String>? headers) {
 | 
					  Future<Response>? request(Uri uri, ApiParams? body, Map<String, String>? headers) => http.get(uri, headers: headers);
 | 
				
			||||||
    return http.get(uri, headers: headers);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,4 +30,4 @@ class GetReactionsResponseObject {
 | 
				
			|||||||
enum GetReactionsResponseObjectActorType {
 | 
					enum GetReactionsResponseObjectActorType {
 | 
				
			||||||
  @JsonValue('guests') guests,
 | 
					  @JsonValue('guests') guests,
 | 
				
			||||||
  @JsonValue('users') users,
 | 
					  @JsonValue('users') users,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,20 +22,12 @@ GetReactionsResponse _$GetReactionsResponseFromJson(
 | 
				
			|||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$GetReactionsResponseToJson(
 | 
					Map<String, dynamic> _$GetReactionsResponseToJson(
 | 
				
			||||||
    GetReactionsResponse instance) {
 | 
					        GetReactionsResponse instance) =>
 | 
				
			||||||
  final val = <String, dynamic>{};
 | 
					    <String, dynamic>{
 | 
				
			||||||
 | 
					      if (instance.headers case final value?) 'headers': value,
 | 
				
			||||||
  void writeNotNull(String key, dynamic value) {
 | 
					      'data': instance.data
 | 
				
			||||||
    if (value != null) {
 | 
					          .map((k, e) => MapEntry(k, e.map((e) => e.toJson()).toList())),
 | 
				
			||||||
      val[key] = value;
 | 
					    };
 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  writeNotNull('headers', instance.headers);
 | 
					 | 
				
			||||||
  val['data'] = instance.data
 | 
					 | 
				
			||||||
      .map((k, e) => MapEntry(k, e.map((e) => e.toJson()).toList()));
 | 
					 | 
				
			||||||
  return val;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
GetReactionsResponseObject _$GetReactionsResponseObjectFromJson(
 | 
					GetReactionsResponseObject _$GetReactionsResponseObjectFromJson(
 | 
				
			||||||
        Map<String, dynamic> json) =>
 | 
					        Map<String, dynamic> json) =>
 | 
				
			||||||
@@ -44,7 +36,7 @@ GetReactionsResponseObject _$GetReactionsResponseObjectFromJson(
 | 
				
			|||||||
          _$GetReactionsResponseObjectActorTypeEnumMap, json['actorType']),
 | 
					          _$GetReactionsResponseObjectActorTypeEnumMap, json['actorType']),
 | 
				
			||||||
      json['actorId'] as String,
 | 
					      json['actorId'] as String,
 | 
				
			||||||
      json['actorDisplayName'] as String,
 | 
					      json['actorDisplayName'] as String,
 | 
				
			||||||
      json['timestamp'] as int,
 | 
					      (json['timestamp'] as num).toInt(),
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$GetReactionsResponseObjectToJson(
 | 
					Map<String, dynamic> _$GetReactionsResponseObjectToJson(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,12 +9,8 @@ class LeaveRoom extends TalkApi {
 | 
				
			|||||||
  LeaveRoom(this.chatToken) : super('v4/room/$chatToken/participants/self', null);
 | 
					  LeaveRoom(this.chatToken) : super('v4/room/$chatToken/participants/self', null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  assemble(String raw) {
 | 
					  assemble(String raw) => null;
 | 
				
			||||||
    return null;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response> request(Uri uri, Object? body, Map<String, String>? headers) {
 | 
					  Future<Response> request(Uri uri, Object? body, Map<String, String>? headers) => http.delete(uri, headers: headers);
 | 
				
			||||||
    return http.delete(uri, headers: headers);
 | 
					}
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,9 +11,7 @@ class ReactMessage extends TalkApi {
 | 
				
			|||||||
  ReactMessage({required this.chatToken, required this.messageId, required ReactMessageParams params}) : super('v1/reaction/$chatToken/$messageId', params);
 | 
					  ReactMessage({required this.chatToken, required this.messageId, required ReactMessageParams params}) : super('v1/reaction/$chatToken/$messageId', params);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  assemble(String raw) {
 | 
					  assemble(String raw) => null;
 | 
				
			||||||
    return null;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response>? request(Uri uri, ApiParams? body, Map<String, String>? headers) {
 | 
					  Future<Response>? request(Uri uri, ApiParams? body, Map<String, String>? headers) {
 | 
				
			||||||
@@ -23,4 +21,4 @@ class ReactMessage extends TalkApi {
 | 
				
			|||||||
    return null;
 | 
					    return null;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,4 +12,4 @@ class ReactMessageParams extends ApiParams {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory ReactMessageParams.fromJson(Map<String, dynamic> json) => _$ReactMessageParamsFromJson(json);
 | 
					  factory ReactMessageParams.fromJson(Map<String, dynamic> json) => _$ReactMessageParamsFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$ReactMessageParamsToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$ReactMessageParamsToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,13 +14,9 @@ class GetRoom extends TalkApi<GetRoomResponse> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  GetRoomResponse assemble(String raw) {
 | 
					  GetRoomResponse assemble(String raw) => GetRoomResponse.fromJson(jsonDecode(raw)['ocs']);
 | 
				
			||||||
    return GetRoomResponse.fromJson(jsonDecode(raw)['ocs']);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<http.Response> request(Uri uri, Object? body, Map<String, String>? headers) {
 | 
					  Future<http.Response> request(Uri uri, Object? body, Map<String, String>? headers) => http.get(uri, headers: headers);
 | 
				
			||||||
    return http.get(uri, headers: headers);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,20 +8,16 @@ import 'getRoomResponse.dart';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class GetRoomCache extends RequestCache<GetRoomResponse> {
 | 
					class GetRoomCache extends RequestCache<GetRoomResponse> {
 | 
				
			||||||
  GetRoomCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
 | 
					  GetRoomCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
 | 
				
			||||||
    start('MarianumMobile', 'nc-rooms');
 | 
					    start('nc-rooms');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  GetRoomResponse onLocalData(String json) {
 | 
					  GetRoomResponse onLocalData(String json) => GetRoomResponse.fromJson(jsonDecode(json));
 | 
				
			||||||
    return GetRoomResponse.fromJson(jsonDecode(json));
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<GetRoomResponse> onLoad() {
 | 
					  Future<GetRoomResponse> onLoad() => GetRoom(
 | 
				
			||||||
    return GetRoom(
 | 
					 | 
				
			||||||
      GetRoomParams(
 | 
					      GetRoomParams(
 | 
				
			||||||
        includeStatus: true,
 | 
					        includeStatus: true,
 | 
				
			||||||
      )
 | 
					      )
 | 
				
			||||||
    ).run();
 | 
					    ).run();
 | 
				
			||||||
  }
 | 
					}
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,4 +22,4 @@ class GetRoomParams extends ApiParams {
 | 
				
			|||||||
enum GetRoomParamsStatusUpdate {
 | 
					enum GetRoomParamsStatusUpdate {
 | 
				
			||||||
  @JsonValue(0) defaults,
 | 
					  @JsonValue(0) defaults,
 | 
				
			||||||
  @JsonValue(1) keepAlive,
 | 
					  @JsonValue(1) keepAlive,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ GetRoomParams _$GetRoomParamsFromJson(Map<String, dynamic> json) =>
 | 
				
			|||||||
      noStatusUpdate: $enumDecodeNullable(
 | 
					      noStatusUpdate: $enumDecodeNullable(
 | 
				
			||||||
          _$GetRoomParamsStatusUpdateEnumMap, json['noStatusUpdate']),
 | 
					          _$GetRoomParamsStatusUpdateEnumMap, json['noStatusUpdate']),
 | 
				
			||||||
      includeStatus: json['includeStatus'] as bool?,
 | 
					      includeStatus: json['includeStatus'] as bool?,
 | 
				
			||||||
      modifiedSince: json['modifiedSince'] as int?,
 | 
					      modifiedSince: (json['modifiedSince'] as num?)?.toInt(),
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$GetRoomParamsToJson(GetRoomParams instance) =>
 | 
					Map<String, dynamic> _$GetRoomParamsToJson(GetRoomParams instance) =>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -110,6 +110,7 @@ enum GetRoomResponseObjectConversationType {
 | 
				
			|||||||
  @JsonValue(3) public,
 | 
					  @JsonValue(3) public,
 | 
				
			||||||
  @JsonValue(4) changelog,
 | 
					  @JsonValue(4) changelog,
 | 
				
			||||||
  @JsonValue(5) deleted,
 | 
					  @JsonValue(5) deleted,
 | 
				
			||||||
 | 
					  @JsonValue(6) noteToSelf,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum GetRoomResponseObjectParticipantNotificationLevel {
 | 
					enum GetRoomResponseObjectParticipantNotificationLevel {
 | 
				
			||||||
@@ -164,4 +165,4 @@ enum GetRoomResponseObjectMessageType {
 | 
				
			|||||||
  @JsonValue('comment_deleted') deletedComment,
 | 
					  @JsonValue('comment_deleted') deletedComment,
 | 
				
			||||||
  @JsonValue('system') system,
 | 
					  @JsonValue('system') system,
 | 
				
			||||||
  @JsonValue('command') command,
 | 
					  @JsonValue('command') command,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,50 +15,42 @@ GetRoomResponse _$GetRoomResponseFromJson(Map<String, dynamic> json) =>
 | 
				
			|||||||
        (k, e) => MapEntry(k, e as String),
 | 
					        (k, e) => MapEntry(k, e as String),
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$GetRoomResponseToJson(GetRoomResponse instance) {
 | 
					Map<String, dynamic> _$GetRoomResponseToJson(GetRoomResponse instance) =>
 | 
				
			||||||
  final val = <String, dynamic>{};
 | 
					    <String, dynamic>{
 | 
				
			||||||
 | 
					      if (instance.headers case final value?) 'headers': value,
 | 
				
			||||||
  void writeNotNull(String key, dynamic value) {
 | 
					      'data': instance.data.map((e) => e.toJson()).toList(),
 | 
				
			||||||
    if (value != null) {
 | 
					    };
 | 
				
			||||||
      val[key] = value;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  writeNotNull('headers', instance.headers);
 | 
					 | 
				
			||||||
  val['data'] = instance.data.map((e) => e.toJson()).toList();
 | 
					 | 
				
			||||||
  return val;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
GetRoomResponseObject _$GetRoomResponseObjectFromJson(
 | 
					GetRoomResponseObject _$GetRoomResponseObjectFromJson(
 | 
				
			||||||
        Map<String, dynamic> json) =>
 | 
					        Map<String, dynamic> json) =>
 | 
				
			||||||
    GetRoomResponseObject(
 | 
					    GetRoomResponseObject(
 | 
				
			||||||
      json['id'] as int,
 | 
					      (json['id'] as num).toInt(),
 | 
				
			||||||
      json['token'] as String,
 | 
					      json['token'] as String,
 | 
				
			||||||
      $enumDecode(_$GetRoomResponseObjectConversationTypeEnumMap, json['type']),
 | 
					      $enumDecode(_$GetRoomResponseObjectConversationTypeEnumMap, json['type']),
 | 
				
			||||||
      json['name'] as String,
 | 
					      json['name'] as String,
 | 
				
			||||||
      json['displayName'] as String,
 | 
					      json['displayName'] as String,
 | 
				
			||||||
      json['description'] as String,
 | 
					      json['description'] as String,
 | 
				
			||||||
      json['participantType'] as int,
 | 
					      (json['participantType'] as num).toInt(),
 | 
				
			||||||
      json['participantFlags'] as int,
 | 
					      (json['participantFlags'] as num).toInt(),
 | 
				
			||||||
      json['readOnly'] as int,
 | 
					      (json['readOnly'] as num).toInt(),
 | 
				
			||||||
      json['listable'] as int,
 | 
					      (json['listable'] as num).toInt(),
 | 
				
			||||||
      json['lastPing'] as int,
 | 
					      (json['lastPing'] as num).toInt(),
 | 
				
			||||||
      json['sessionId'] as String,
 | 
					      json['sessionId'] as String,
 | 
				
			||||||
      json['hasPassword'] as bool,
 | 
					      json['hasPassword'] as bool,
 | 
				
			||||||
      json['hasCall'] as bool,
 | 
					      json['hasCall'] as bool,
 | 
				
			||||||
      json['callFlag'] as int,
 | 
					      (json['callFlag'] as num).toInt(),
 | 
				
			||||||
      json['canStartCall'] as bool,
 | 
					      json['canStartCall'] as bool,
 | 
				
			||||||
      json['canDeleteConversation'] as bool,
 | 
					      json['canDeleteConversation'] as bool,
 | 
				
			||||||
      json['canLeaveConversation'] as bool,
 | 
					      json['canLeaveConversation'] as bool,
 | 
				
			||||||
      json['lastActivity'] as int,
 | 
					      (json['lastActivity'] as num).toInt(),
 | 
				
			||||||
      json['isFavorite'] as bool,
 | 
					      json['isFavorite'] as bool,
 | 
				
			||||||
      $enumDecode(_$GetRoomResponseObjectParticipantNotificationLevelEnumMap,
 | 
					      $enumDecode(_$GetRoomResponseObjectParticipantNotificationLevelEnumMap,
 | 
				
			||||||
          json['notificationLevel']),
 | 
					          json['notificationLevel']),
 | 
				
			||||||
      json['unreadMessages'] as int,
 | 
					      (json['unreadMessages'] as num).toInt(),
 | 
				
			||||||
      json['unreadMention'] as bool,
 | 
					      json['unreadMention'] as bool,
 | 
				
			||||||
      json['unreadMentionDirect'] as bool,
 | 
					      json['unreadMentionDirect'] as bool,
 | 
				
			||||||
      json['lastReadMessage'] as int,
 | 
					      (json['lastReadMessage'] as num).toInt(),
 | 
				
			||||||
      json['lastCommonReadMessage'] as int,
 | 
					      (json['lastCommonReadMessage'] as num).toInt(),
 | 
				
			||||||
      GetChatResponseObject.fromJson(
 | 
					      GetChatResponseObject.fromJson(
 | 
				
			||||||
          json['lastMessage'] as Map<String, dynamic>),
 | 
					          json['lastMessage'] as Map<String, dynamic>),
 | 
				
			||||||
      json['status'] as String?,
 | 
					      json['status'] as String?,
 | 
				
			||||||
@@ -110,6 +102,7 @@ const _$GetRoomResponseObjectConversationTypeEnumMap = {
 | 
				
			|||||||
  GetRoomResponseObjectConversationType.public: 3,
 | 
					  GetRoomResponseObjectConversationType.public: 3,
 | 
				
			||||||
  GetRoomResponseObjectConversationType.changelog: 4,
 | 
					  GetRoomResponseObjectConversationType.changelog: 4,
 | 
				
			||||||
  GetRoomResponseObjectConversationType.deleted: 5,
 | 
					  GetRoomResponseObjectConversationType.deleted: 5,
 | 
				
			||||||
 | 
					  GetRoomResponseObjectConversationType.noteToSelf: 6,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const _$GetRoomResponseObjectParticipantNotificationLevelEnumMap = {
 | 
					const _$GetRoomResponseObjectParticipantNotificationLevelEnumMap = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,9 +10,7 @@ class SendMessage extends TalkApi {
 | 
				
			|||||||
  SendMessage(this.chatToken, SendMessageParams params) : super('v1/chat/$chatToken', params);
 | 
					  SendMessage(this.chatToken, SendMessageParams params) : super('v1/chat/$chatToken', params);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  assemble(String raw) {
 | 
					  assemble(String raw) => null;
 | 
				
			||||||
    return null;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response>? request(Uri uri, ApiParams? body, Map<String, String>? headers) {
 | 
					  Future<Response>? request(Uri uri, ApiParams? body, Map<String, String>? headers) {
 | 
				
			||||||
@@ -22,4 +20,4 @@ class SendMessage extends TalkApi {
 | 
				
			|||||||
    return null;
 | 
					    return null;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,10 +7,10 @@ part 'sendMessageParams.g.dart';
 | 
				
			|||||||
@JsonSerializable(explicitToJson: true, includeIfNull: false)
 | 
					@JsonSerializable(explicitToJson: true, includeIfNull: false)
 | 
				
			||||||
class SendMessageParams extends ApiParams {
 | 
					class SendMessageParams extends ApiParams {
 | 
				
			||||||
  String message;
 | 
					  String message;
 | 
				
			||||||
  int? replyTo;
 | 
					  String? replyTo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  SendMessageParams(this.message, {this.replyTo});
 | 
					  SendMessageParams(this.message, {this.replyTo});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  factory SendMessageParams.fromJson(Map<String, dynamic> json) => _$SendMessageParamsFromJson(json);
 | 
					  factory SendMessageParams.fromJson(Map<String, dynamic> json) => _$SendMessageParamsFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$SendMessageParamsToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$SendMessageParamsToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,20 +9,11 @@ part of 'sendMessageParams.dart';
 | 
				
			|||||||
SendMessageParams _$SendMessageParamsFromJson(Map<String, dynamic> json) =>
 | 
					SendMessageParams _$SendMessageParamsFromJson(Map<String, dynamic> json) =>
 | 
				
			||||||
    SendMessageParams(
 | 
					    SendMessageParams(
 | 
				
			||||||
      json['message'] as String,
 | 
					      json['message'] as String,
 | 
				
			||||||
      replyTo: json['replyTo'] as int?,
 | 
					      replyTo: json['replyTo'] as String?,
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$SendMessageParamsToJson(SendMessageParams instance) {
 | 
					Map<String, dynamic> _$SendMessageParamsToJson(SendMessageParams instance) =>
 | 
				
			||||||
  final val = <String, dynamic>{
 | 
					    <String, dynamic>{
 | 
				
			||||||
    'message': instance.message,
 | 
					      'message': instance.message,
 | 
				
			||||||
  };
 | 
					      if (instance.replyTo case final value?) 'replyTo': value,
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
  void writeNotNull(String key, dynamic value) {
 | 
					 | 
				
			||||||
    if (value != null) {
 | 
					 | 
				
			||||||
      val[key] = value;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  writeNotNull('replyTo', instance.replyTo);
 | 
					 | 
				
			||||||
  return val;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,4 +2,4 @@ import '../../../apiResponse.dart';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class SendMessageResponse extends ApiResponse {
 | 
					class SendMessageResponse extends ApiResponse {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,9 +11,7 @@ class SetFavorite extends TalkApi {
 | 
				
			|||||||
  SetFavorite(this.chatToken, this.favoriteState) : super('v4/room/$chatToken/favorite', null);
 | 
					  SetFavorite(this.chatToken, this.favoriteState) : super('v4/room/$chatToken/favorite', null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  assemble(String raw) {
 | 
					  assemble(String raw) => null;
 | 
				
			||||||
    return null;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response> request(Uri uri, Object? body, Map<String, String>? headers) {
 | 
					  Future<Response> request(Uri uri, Object? body, Map<String, String>? headers) {
 | 
				
			||||||
@@ -24,4 +22,4 @@ class SetFavorite extends TalkApi {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,9 +15,7 @@ class SetReadMarker extends TalkApi {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  assemble(String raw) {
 | 
					  assemble(String raw) => null;
 | 
				
			||||||
    return null;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response> request(Uri uri, Object? body, Map<String, String>? headers) {
 | 
					  Future<Response> request(Uri uri, Object? body, Map<String, String>? headers) {
 | 
				
			||||||
@@ -29,4 +27,4 @@ class SetReadMarker extends TalkApi {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,4 +14,4 @@ class SetReadMarkerParams extends ApiParams {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory SetReadMarkerParams.fromJson(Map<String, dynamic> json) => _$SetReadMarkerParamsFromJson(json);
 | 
					  factory SetReadMarkerParams.fromJson(Map<String, dynamic> json) => _$SetReadMarkerParamsFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$SetReadMarkerParamsToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$SetReadMarkerParamsToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@ part of 'setReadMarkerParams.dart';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
SetReadMarkerParams _$SetReadMarkerParamsFromJson(Map<String, dynamic> json) =>
 | 
					SetReadMarkerParams _$SetReadMarkerParamsFromJson(Map<String, dynamic> json) =>
 | 
				
			||||||
    SetReadMarkerParams(
 | 
					    SetReadMarkerParams(
 | 
				
			||||||
      lastReadMessage: json['lastReadMessage'] as int?,
 | 
					      lastReadMessage: (json['lastReadMessage'] as num?)?.toInt(),
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$SetReadMarkerParamsToJson(
 | 
					Map<String, dynamic> _$SetReadMarkerParamsToJson(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,7 @@ abstract class TalkApi<T extends ApiResponse?> extends ApiRequest {
 | 
				
			|||||||
      getParameters?.update(key, (value) => value.toString());
 | 
					      getParameters?.update(key, (value) => value.toString());
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Uri endpoint = Uri.https('${AccountData().buildHttpAuthString()}@${EndpointData().nextcloud().domain}', '${EndpointData().nextcloud().path}/ocs/v2.php/apps/spreed/api/$path', getParameters);
 | 
					    var endpoint = Uri.https('${AccountData().buildHttpAuthString()}@${EndpointData().nextcloud().domain}', '${EndpointData().nextcloud().path}/ocs/v2.php/apps/spreed/api/$path', getParameters);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    headers ??= {};
 | 
					    headers ??= {};
 | 
				
			||||||
    headers?.putIfAbsent('Accept', () => 'application/json');
 | 
					    headers?.putIfAbsent('Accept', () => 'application/json');
 | 
				
			||||||
@@ -58,11 +58,9 @@ abstract class TalkApi<T extends ApiResponse?> extends ApiRequest {
 | 
				
			|||||||
      assembled?.headers = data.headers;
 | 
					      assembled?.headers = data.headers;
 | 
				
			||||||
      return assembled;
 | 
					      return assembled;
 | 
				
			||||||
    } catch (e) {
 | 
					    } catch (e) {
 | 
				
			||||||
      // TODO report error
 | 
					      var message = 'Error assembling Talk API ${T.toString()} message: ${e.toString()} response with request body: $body and request headers: ${headers.toString()}';
 | 
				
			||||||
      log('Error assembling Talk API ${T.toString()} message: ${e.toString()} response on ${endpoint.path} with request body: $body and request headers: ${headers.toString()}');
 | 
					      log(message);
 | 
				
			||||||
 | 
					      throw Exception(message);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    throw Exception('Error assembling Talk API response');
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,7 +6,5 @@ class TalkError {
 | 
				
			|||||||
  TalkError(this.status, this.code, this.message);
 | 
					  TalkError(this.status, this.code, this.message);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  String toString() {
 | 
					  String toString() => 'Talk - $status - ($code): $message';
 | 
				
			||||||
    return 'Talk - $status - ($code): $message';
 | 
					}
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,4 +19,4 @@ class DownloadFile extends WebdavApi<DownloadFileParams> {
 | 
				
			|||||||
    // OpenFile.open(localPath);
 | 
					    // OpenFile.open(localPath);
 | 
				
			||||||
    throw UnimplementedError();
 | 
					    throw UnimplementedError();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,4 +14,4 @@ class DownloadFileParams extends ApiParams {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory DownloadFileParams.fromJson(Map<String, dynamic> json) => _$DownloadFileParamsFromJson(json);
 | 
					  factory DownloadFileParams.fromJson(Map<String, dynamic> json) => _$DownloadFileParamsFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$DownloadFileParamsToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$DownloadFileParamsToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,4 +11,4 @@ class DownloadFileResponse {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory DownloadFileResponse.fromJson(Map<String, dynamic> json) => _$DownloadFileResponseFromJson(json);
 | 
					  factory DownloadFileResponse.fromJson(Map<String, dynamic> json) => _$DownloadFileResponseFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$DownloadFileResponseToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$DownloadFileResponseToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,4 +34,4 @@ class CacheableFile {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory CacheableFile.fromJson(Map<String, dynamic> json) => _$CacheableFileFromJson(json);
 | 
					  factory CacheableFile.fromJson(Map<String, dynamic> json) => _$CacheableFileFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$CacheableFileToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$CacheableFileToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,7 +12,7 @@ CacheableFile _$CacheableFileFromJson(Map<String, dynamic> json) =>
 | 
				
			|||||||
      isDirectory: json['isDirectory'] as bool,
 | 
					      isDirectory: json['isDirectory'] as bool,
 | 
				
			||||||
      name: json['name'] as String,
 | 
					      name: json['name'] as String,
 | 
				
			||||||
      mimeType: json['mimeType'] as String?,
 | 
					      mimeType: json['mimeType'] as String?,
 | 
				
			||||||
      size: json['size'] as int?,
 | 
					      size: (json['size'] as num?)?.toInt(),
 | 
				
			||||||
      eTag: json['eTag'] as String?,
 | 
					      eTag: json['eTag'] as String?,
 | 
				
			||||||
      createdAt: json['createdAt'] == null
 | 
					      createdAt: json['createdAt'] == null
 | 
				
			||||||
          ? null
 | 
					          ? null
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,8 +13,8 @@ class ListFiles extends WebdavApi<ListFilesParams> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<ListFilesResponse> run() async {
 | 
					  Future<ListFilesResponse> run() async {
 | 
				
			||||||
    List<WebDavFile> davFiles = (await (await WebdavApi.webdav).propfind(PathUri.parse(params.path))).toWebDavFiles();
 | 
					    var davFiles = (await (await WebdavApi.webdav).propfind(PathUri.parse(params.path))).toWebDavFiles();
 | 
				
			||||||
    Set<CacheableFile> files = davFiles.map(CacheableFile.fromDavFile).toSet();
 | 
					    var files = davFiles.map(CacheableFile.fromDavFile).toSet();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // webdav handles subdirectories wrong, this is a fix
 | 
					    // webdav handles subdirectories wrong, this is a fix
 | 
				
			||||||
    // currently this fix is not needed anymore
 | 
					    // currently this fix is not needed anymore
 | 
				
			||||||
@@ -30,4 +30,4 @@ class ListFiles extends WebdavApi<ListFilesParams> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    return ListFilesResponse(files);
 | 
					    return ListFilesResponse(files);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,19 +11,17 @@ class ListFilesCache extends RequestCache<ListFilesResponse> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  ListFilesCache({required onUpdate, required this.path}) : super(RequestCache.cacheNothing, onUpdate) {
 | 
					  ListFilesCache({required onUpdate, required this.path}) : super(RequestCache.cacheNothing, onUpdate) {
 | 
				
			||||||
    var bytes = utf8.encode('MarianumMobile-$path');
 | 
					    var bytes = utf8.encode('MarianumMobile-$path');
 | 
				
			||||||
    String cacheName = md5.convert(bytes).toString();
 | 
					    var cacheName = md5.convert(bytes).toString();
 | 
				
			||||||
    start('MarianumMobile', 'wd-folder-$cacheName');
 | 
					    start('wd-folder-$cacheName');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<ListFilesResponse> onLoad() async {
 | 
					  Future<ListFilesResponse> onLoad() async {
 | 
				
			||||||
    ListFilesResponse data = await ListFiles(ListFilesParams(path)).run();
 | 
					    var data = await ListFiles(ListFilesParams(path)).run();
 | 
				
			||||||
    return data;
 | 
					    return data;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  ListFilesResponse onLocalData(String json) {
 | 
					  ListFilesResponse onLocalData(String json) => ListFilesResponse.fromJson(jsonDecode(json));
 | 
				
			||||||
    return ListFilesResponse.fromJson(jsonDecode(json));
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,4 +12,4 @@ class ListFilesParams extends ApiParams {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory ListFilesParams.fromJson(Map<String, dynamic> json) => _$ListFilesParamsFromJson(json);
 | 
					  factory ListFilesParams.fromJson(Map<String, dynamic> json) => _$ListFilesParamsFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$ListFilesParamsToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$ListFilesParamsToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,4 +54,4 @@ class ListFilesResponse extends ApiResponse {
 | 
				
			|||||||
        var list = files.toList()..sort((a, b) => b.sort!.compareTo(a.sort!));
 | 
					        var list = files.toList()..sort((a, b) => b.sort!.compareTo(a.sort!));
 | 
				
			||||||
        return reversed ? list.reversed.toList() : list;
 | 
					        return reversed ? list.reversed.toList() : list;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,16 +15,8 @@ ListFilesResponse _$ListFilesResponseFromJson(Map<String, dynamic> json) =>
 | 
				
			|||||||
        (k, e) => MapEntry(k, e as String),
 | 
					        (k, e) => MapEntry(k, e as String),
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$ListFilesResponseToJson(ListFilesResponse instance) {
 | 
					Map<String, dynamic> _$ListFilesResponseToJson(ListFilesResponse instance) =>
 | 
				
			||||||
  final val = <String, dynamic>{};
 | 
					    <String, dynamic>{
 | 
				
			||||||
 | 
					      if (instance.headers case final value?) 'headers': value,
 | 
				
			||||||
  void writeNotNull(String key, dynamic value) {
 | 
					      'files': instance.files.map((e) => e.toJson()).toList(),
 | 
				
			||||||
    if (value != null) {
 | 
					    };
 | 
				
			||||||
      val[key] = value;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  writeNotNull('headers', instance.headers);
 | 
					 | 
				
			||||||
  val['files'] = instance.files.map((e) => e.toJson()).toList();
 | 
					 | 
				
			||||||
  return val;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,11 +17,7 @@ abstract class WebdavApi<T> extends ApiRequest {
 | 
				
			|||||||
  static Future<WebDavClient> webdav = establishWebdavConnection();
 | 
					  static Future<WebDavClient> webdav = establishWebdavConnection();
 | 
				
			||||||
  static Future<String> webdavConnectString = buildWebdavConnectString();
 | 
					  static Future<String> webdavConnectString = buildWebdavConnectString();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  static Future<WebDavClient> establishWebdavConnection() async {
 | 
					  static Future<WebDavClient> establishWebdavConnection() async => NextcloudClient(Uri.parse('https://${EndpointData().nextcloud().full()}'), password: AccountData().getPassword(), loginName: AccountData().getUsername()).webdav;
 | 
				
			||||||
    return NextcloudClient(Uri.parse('https://${EndpointData().nextcloud().full()}'), password: AccountData().getPassword(), loginName: AccountData().getUsername()).webdav;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  static Future<String> buildWebdavConnectString() async {
 | 
					  static Future<String> buildWebdavConnectString() async => 'https://${AccountData().buildHttpAuthString()}@${EndpointData().nextcloud().full()}/remote.php/dav/files/${AccountData().getUsername()}/';
 | 
				
			||||||
    return 'https://${AccountData().buildHttpAuthString()}@${EndpointData().nextcloud().full()}/remote.php/dav/files/${AccountData().getUsername()}/';
 | 
					}
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,13 +9,9 @@ class GetBreakers extends MhslApi<GetBreakersResponse> {
 | 
				
			|||||||
  GetBreakers() : super('breaker/');
 | 
					  GetBreakers() : super('breaker/');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  GetBreakersResponse assemble(String raw) {
 | 
					  GetBreakersResponse assemble(String raw) => GetBreakersResponse.fromJson(jsonDecode(raw));
 | 
				
			||||||
    return GetBreakersResponse.fromJson(jsonDecode(raw));
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response>? request(Uri uri) {
 | 
					  Future<Response>? request(Uri uri) => http.get(uri);
 | 
				
			||||||
    return http.get(uri);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,16 +6,12 @@ import 'getBreakersResponse.dart';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class GetBreakersCache extends RequestCache<GetBreakersResponse> {
 | 
					class GetBreakersCache extends RequestCache<GetBreakersResponse> {
 | 
				
			||||||
  GetBreakersCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
 | 
					  GetBreakersCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
 | 
				
			||||||
    start('MarianumMobile', 'breakers');
 | 
					    start('breakers');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  GetBreakersResponse onLocalData(String json) {
 | 
					  GetBreakersResponse onLocalData(String json) => GetBreakersResponse.fromJson(jsonDecode(json));
 | 
				
			||||||
    return GetBreakersResponse.fromJson(jsonDecode(json));
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<GetBreakersResponse> onLoad() {
 | 
					  Future<GetBreakersResponse> onLoad() => GetBreakers().run();
 | 
				
			||||||
    return GetBreakers().run();
 | 
					}
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,4 +33,4 @@ enum BreakerArea {
 | 
				
			|||||||
  @JsonValue('TALK') talk,
 | 
					  @JsonValue('TALK') talk,
 | 
				
			||||||
  @JsonValue('FILES') files,
 | 
					  @JsonValue('FILES') files,
 | 
				
			||||||
  @JsonValue('MORE') more,
 | 
					  @JsonValue('MORE') more,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,20 +17,13 @@ GetBreakersResponse _$GetBreakersResponseFromJson(Map<String, dynamic> json) =>
 | 
				
			|||||||
        (k, e) => MapEntry(k, e as String),
 | 
					        (k, e) => MapEntry(k, e as String),
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$GetBreakersResponseToJson(GetBreakersResponse instance) {
 | 
					Map<String, dynamic> _$GetBreakersResponseToJson(
 | 
				
			||||||
  final val = <String, dynamic>{};
 | 
					        GetBreakersResponse instance) =>
 | 
				
			||||||
 | 
					    <String, dynamic>{
 | 
				
			||||||
  void writeNotNull(String key, dynamic value) {
 | 
					      if (instance.headers case final value?) 'headers': value,
 | 
				
			||||||
    if (value != null) {
 | 
					      'global': instance.global.toJson(),
 | 
				
			||||||
      val[key] = value;
 | 
					      'regional': instance.regional.map((k, e) => MapEntry(k, e.toJson())),
 | 
				
			||||||
    }
 | 
					    };
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  writeNotNull('headers', instance.headers);
 | 
					 | 
				
			||||||
  val['global'] = instance.global.toJson();
 | 
					 | 
				
			||||||
  val['regional'] = instance.regional.map((k, e) => MapEntry(k, e.toJson()));
 | 
					 | 
				
			||||||
  return val;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
GetBreakersReponseObject _$GetBreakersReponseObjectFromJson(
 | 
					GetBreakersReponseObject _$GetBreakersReponseObjectFromJson(
 | 
				
			||||||
        Map<String, dynamic> json) =>
 | 
					        Map<String, dynamic> json) =>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,7 +16,7 @@ class AddCustomTimetableEvent extends MhslApi<void> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response>? request(Uri uri) {
 | 
					  Future<Response>? request(Uri uri) {
 | 
				
			||||||
    String body = jsonEncode(params.toJson());
 | 
					    var body = jsonEncode(params.toJson());
 | 
				
			||||||
    return http.post(uri, body: body);
 | 
					    return http.post(uri, body: body);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,4 +13,4 @@ class AddCustomTimetableEventParams {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory AddCustomTimetableEventParams.fromJson(Map<String, dynamic> json) => _$AddCustomTimetableEventParamsFromJson(json);
 | 
					  factory AddCustomTimetableEventParams.fromJson(Map<String, dynamic> json) => _$AddCustomTimetableEventParamsFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$AddCustomTimetableEventParamsToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$AddCustomTimetableEventParamsToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,4 +25,4 @@ class CustomTimetableEvent {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory CustomTimetableEvent.fromJson(Map<String, dynamic> json) => _$CustomTimetableEventFromJson(json);
 | 
					  factory CustomTimetableEvent.fromJson(Map<String, dynamic> json) => _$CustomTimetableEventFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$CustomTimetableEventToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$CustomTimetableEventToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,12 +12,8 @@ class GetCustomTimetableEvent extends MhslApi<GetCustomTimetableEventResponse> {
 | 
				
			|||||||
  GetCustomTimetableEvent(this.params) : super('server/timetable/customEvents?user=${params.user}');
 | 
					  GetCustomTimetableEvent(this.params) : super('server/timetable/customEvents?user=${params.user}');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  GetCustomTimetableEventResponse assemble(String raw) {
 | 
					  GetCustomTimetableEventResponse assemble(String raw) => GetCustomTimetableEventResponse.fromJson({'events': jsonDecode(raw)});
 | 
				
			||||||
    return GetCustomTimetableEventResponse.fromJson({'events': jsonDecode(raw)});
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response>? request(Uri uri) {
 | 
					  Future<Response>? request(Uri uri) => http.get(uri);
 | 
				
			||||||
    return http.get(uri);
 | 
					}
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,16 +9,12 @@ class GetCustomTimetableEventCache extends RequestCache<GetCustomTimetableEventR
 | 
				
			|||||||
  GetCustomTimetableEventParams params;
 | 
					  GetCustomTimetableEventParams params;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  GetCustomTimetableEventCache(this.params, {onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
 | 
					  GetCustomTimetableEventCache(this.params, {onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
 | 
				
			||||||
    start('MarianumMobile', 'customTimetableEvents');
 | 
					    start('customTimetableEvents');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<GetCustomTimetableEventResponse> onLoad() {
 | 
					  Future<GetCustomTimetableEventResponse> onLoad() => GetCustomTimetableEvent(params).run();
 | 
				
			||||||
    return GetCustomTimetableEvent(params).run();
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  GetCustomTimetableEventResponse onLocalData(String json) {
 | 
					  GetCustomTimetableEventResponse onLocalData(String json) => GetCustomTimetableEventResponse.fromJson(jsonDecode(json));
 | 
				
			||||||
    return GetCustomTimetableEventResponse.fromJson(jsonDecode(json));
 | 
					}
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,4 +10,4 @@ class GetCustomTimetableEventParams {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory GetCustomTimetableEventParams.fromJson(Map<String, dynamic> json) => _$GetCustomTimetableEventParamsFromJson(json);
 | 
					  factory GetCustomTimetableEventParams.fromJson(Map<String, dynamic> json) => _$GetCustomTimetableEventParamsFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$GetCustomTimetableEventParamsToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$GetCustomTimetableEventParamsToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,4 +13,4 @@ class GetCustomTimetableEventResponse extends ApiResponse {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory GetCustomTimetableEventResponse.fromJson(Map<String, dynamic> json) => _$GetCustomTimetableEventResponseFromJson(json);
 | 
					  factory GetCustomTimetableEventResponse.fromJson(Map<String, dynamic> json) => _$GetCustomTimetableEventResponseFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$GetCustomTimetableEventResponseToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$GetCustomTimetableEventResponseToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,16 +17,8 @@ GetCustomTimetableEventResponse _$GetCustomTimetableEventResponseFromJson(
 | 
				
			|||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Map<String, dynamic> _$GetCustomTimetableEventResponseToJson(
 | 
					Map<String, dynamic> _$GetCustomTimetableEventResponseToJson(
 | 
				
			||||||
    GetCustomTimetableEventResponse instance) {
 | 
					        GetCustomTimetableEventResponse instance) =>
 | 
				
			||||||
  final val = <String, dynamic>{};
 | 
					    <String, dynamic>{
 | 
				
			||||||
 | 
					      if (instance.headers case final value?) 'headers': value,
 | 
				
			||||||
  void writeNotNull(String key, dynamic value) {
 | 
					      'events': instance.events,
 | 
				
			||||||
    if (value != null) {
 | 
					    };
 | 
				
			||||||
      val[key] = value;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  writeNotNull('headers', instance.headers);
 | 
					 | 
				
			||||||
  val['events'] = instance.events;
 | 
					 | 
				
			||||||
  return val;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,5 @@ class RemoveCustomTimetableEvent extends MhslApi<void> {
 | 
				
			|||||||
  void assemble(String raw) {}
 | 
					  void assemble(String raw) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response>? request(Uri uri) {
 | 
					  Future<Response>? request(Uri uri) => http.delete(uri, body: jsonEncode(params.toJson()));
 | 
				
			||||||
    return http.delete(uri, body: jsonEncode(params.toJson()));
 | 
					}
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,4 +10,4 @@ class RemoveCustomTimetableEventParams {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory RemoveCustomTimetableEventParams.fromJson(Map<String, dynamic> json) => _$RemoveCustomTimetableEventParamsFromJson(json);
 | 
					  factory RemoveCustomTimetableEventParams.fromJson(Map<String, dynamic> json) => _$RemoveCustomTimetableEventParamsFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$RemoveCustomTimetableEventParamsToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$RemoveCustomTimetableEventParamsToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,5 @@ class UpdateCustomTimetableEvent extends MhslApi<void> {
 | 
				
			|||||||
  void assemble(String raw) {}
 | 
					  void assemble(String raw) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Future<Response>? request(Uri uri) {
 | 
					  Future<Response>? request(Uri uri) => http.patch(uri, body: jsonEncode(params.toJson()));
 | 
				
			||||||
    return http.patch(uri, body: jsonEncode(params.toJson()));
 | 
					}
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,4 +14,4 @@ class UpdateCustomTimetableEventParams {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  factory UpdateCustomTimetableEventParams.fromJson(Map<String, dynamic> json) => _$UpdateCustomTimetableEventParamsFromJson(json);
 | 
					  factory UpdateCustomTimetableEventParams.fromJson(Map<String, dynamic> json) => _$UpdateCustomTimetableEventParamsFromJson(json);
 | 
				
			||||||
  Map<String, dynamic> toJson() => _$UpdateCustomTimetableEventParamsToJson(this);
 | 
					  Map<String, dynamic> toJson() => _$UpdateCustomTimetableEventParamsToJson(this);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,21 +0,0 @@
 | 
				
			|||||||
import 'dart:convert';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import 'package:http/http.dart' as http;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import '../../mhslApi.dart';
 | 
					 | 
				
			||||||
import 'getMessagesResponse.dart';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class GetMessages extends MhslApi<GetMessagesResponse> {
 | 
					 | 
				
			||||||
  GetMessages() : super('message/messages.json');
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @override
 | 
					 | 
				
			||||||
  GetMessagesResponse assemble(String raw) {
 | 
					 | 
				
			||||||
    return GetMessagesResponse.fromJson(jsonDecode(raw));
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @override
 | 
					 | 
				
			||||||
  Future<http.Response> request(Uri uri) {
 | 
					 | 
				
			||||||
    return http.get(uri);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user