Merge pull request #295 from Oloodi/216-p0-staff-01-profile-setup-wizard

Continuation of the development of the mobile apps
This commit is contained in:
Achintha Isuru
2026-01-29 00:32:25 -05:00
committed by GitHub
259 changed files with 29355 additions and 21790 deletions

View File

@@ -22,6 +22,11 @@
### Why this task is blocked: ### Why this task is blocked:
- Although this page existed in the prototype, it was not connected to any other pages. In other words, there was no way to navigate to it from anywhere in the application. Therefore, this issue can be closed, as the page is not required in the main application. - Although this page existed in the prototype, it was not connected to any other pages. In other words, there was no way to navigate to it from anywhere in the application. Therefore, this issue can be closed, as the page is not required in the main application.
### Github issue
- https://github.com/Oloodi/krow-workforce/issues/262
### Why this task is blocked:
- Although this page existed in the prototype, it was not connected to any other pages. In other words, there was no way to navigate to it from anywhere in the application. Therefore, this issue can be closed, as the page is not required in the main application.
# Deviations # Deviations
## App ## App
@@ -31,3 +36,14 @@
- https://github.com/Oloodi/krow-workforce/issues/240 - https://github.com/Oloodi/krow-workforce/issues/240
### Deveations: ### Deveations:
- In the web prototype, when creating an order, position role rates are displayed based on the selected vendor. This behavior was missing in the mobile prototype. Therefore, we added a dropdown to select the vendor and display the corresponding role rates based on that selection. - In the web prototype, when creating an order, position role rates are displayed based on the selected vendor. This behavior was missing in the mobile prototype. Therefore, we added a dropdown to select the vendor and display the corresponding role rates based on that selection.
# Points to considerate in the future
- client APP:
- Billing need to download a pdf of their invoice.
- On app launch, check whether there is an active session. If a valid session exists, skip the auth flow and navigate directly to Home, loading business account.
- Add an expiration time (TTL) to the session (store expiresAt / expiryTimestamp) and invalidate/clear the session when it has expired.
- Rapid order need IA to work, I think we need also to add a form as the webpage.
- Staff APP:
- On app launch, check whether there is an active session. If a valid session exists, skip the auth flow and navigate directly to Home, loading Staff account.
- Add an expiration time (TTL) to the session (store expiresAt / expiryTimestamp) and invalidate/clear the session when it has expired.
- For staffs Skills = Roles? thinking in the future for the smart assigned that need to know the roles of staff to assign.

View File

@@ -1,8 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application <application
android:label="krowwithus_client" android:label="Krow With Us Client"
android:name="${applicationName}" android:name="${applicationName}"
android:icon="@mipmap/ic_launcher"> android:icon="@mipmap/launcher_icon">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:exported="true" android:exported="true"

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@@ -0,0 +1,7 @@
flutter_launcher_icons:
android: "launcher_icon"
image_path_android: "assets/logo.png"
ios: true
image_path_ios: "assets/logo.png"
remove_alpha_ios: true

View File

@@ -427,7 +427,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
@@ -484,7 +484,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";

View File

@@ -1,122 +1 @@
{ {"images":[{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@3x.png","scale":"3x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@3x.png","scale":"3x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@3x.png","scale":"3x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@1x.png","scale":"1x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@3x.png","scale":"3x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@1x.png","scale":"1x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@1x.png","scale":"1x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@1x.png","scale":"1x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@2x.png","scale":"2x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@1x.png","scale":"1x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@2x.png","scale":"2x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@1x.png","scale":"1x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@2x.png","scale":"2x"},{"size":"83.5x83.5","idiom":"ipad","filename":"Icon-App-83.5x83.5@2x.png","scale":"2x"},{"size":"1024x1024","idiom":"ios-marketing","filename":"Icon-App-1024x1024@1x.png","scale":"1x"}],"info":{"version":1,"author":"xcode"}}
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@3x.png",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@3x.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@1x.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "Icon-App-1024x1024@1x.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 492 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 1023 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

After

Width:  |  Height:  |  Size: 740 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 704 B

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 1023 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 862 B

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 862 B

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 B

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string> <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>krowwithus_client</string> <string>Krow With Us Client</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
@@ -13,7 +13,7 @@
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>krowwithus_client</string> <string>Krow With Us Client</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>

View File

@@ -1,11 +1,13 @@
// This is a generated file; do not edit or check into version control. // This is a generated file; do not edit or check into version control.
FLUTTER_ROOT=/Users/achinthaisuru/Documents/flutter FLUTTER_ROOT=/Users/josesalazar/flutter
FLUTTER_APPLICATION_PATH=/Users/achinthaisuru/Documents/Github/krow-workforce/apps/mobile/apps/client FLUTTER_APPLICATION_PATH=/Users/josesalazar/Documents/DEV/krow-workforce/apps/mobile/apps/client
COCOAPODS_PARALLEL_CODE_SIGN=true COCOAPODS_PARALLEL_CODE_SIGN=true
FLUTTER_TARGET=/Users/josesalazar/Documents/DEV/krow-workforce/apps/mobile/apps/client/lib/main.dart
FLUTTER_BUILD_DIR=build FLUTTER_BUILD_DIR=build
FLUTTER_BUILD_NAME=1.0.0 FLUTTER_BUILD_NAME=1.0.0
FLUTTER_BUILD_NUMBER=1 FLUTTER_BUILD_NUMBER=1
DART_DEFINES=RkxVVFRFUl9WRVJTSU9OPTMuMzguNw==,RkxVVFRFUl9DSEFOTkVMPXN0YWJsZQ==,RkxVVFRFUl9HSVRfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9mbHV0dGVyL2ZsdXR0ZXIuZ2l0,RkxVVFRFUl9GUkFNRVdPUktfUkVWSVNJT049M2I2MmVmYzJhMw==,RkxVVFRFUl9FTkdJTkVfUkVWSVNJT049NzhmYzMwMTJlNA==,RkxVVFRFUl9EQVJUX1ZFUlNJT049My4xMC43
DART_OBFUSCATION=false DART_OBFUSCATION=false
TRACK_WIDGET_CREATION=true TRACK_WIDGET_CREATION=true
TREE_SHAKE_ICONS=false TREE_SHAKE_ICONS=false
PACKAGE_CONFIG=.dart_tool/package_config.json PACKAGE_CONFIG=/Users/josesalazar/Documents/DEV/krow-workforce/apps/mobile/.dart_tool/package_config.json

View File

@@ -1,12 +1,14 @@
#!/bin/sh #!/bin/sh
# This is a generated file; do not edit or check into version control. # This is a generated file; do not edit or check into version control.
export "FLUTTER_ROOT=/Users/achinthaisuru/Documents/flutter" export "FLUTTER_ROOT=/Users/josesalazar/flutter"
export "FLUTTER_APPLICATION_PATH=/Users/achinthaisuru/Documents/Github/krow-workforce/apps/mobile/apps/client" export "FLUTTER_APPLICATION_PATH=/Users/josesalazar/Documents/DEV/krow-workforce/apps/mobile/apps/client"
export "COCOAPODS_PARALLEL_CODE_SIGN=true" export "COCOAPODS_PARALLEL_CODE_SIGN=true"
export "FLUTTER_TARGET=/Users/josesalazar/Documents/DEV/krow-workforce/apps/mobile/apps/client/lib/main.dart"
export "FLUTTER_BUILD_DIR=build" export "FLUTTER_BUILD_DIR=build"
export "FLUTTER_BUILD_NAME=1.0.0" export "FLUTTER_BUILD_NAME=1.0.0"
export "FLUTTER_BUILD_NUMBER=1" export "FLUTTER_BUILD_NUMBER=1"
export "DART_DEFINES=RkxVVFRFUl9WRVJTSU9OPTMuMzguNw==,RkxVVFRFUl9DSEFOTkVMPXN0YWJsZQ==,RkxVVFRFUl9HSVRfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9mbHV0dGVyL2ZsdXR0ZXIuZ2l0,RkxVVFRFUl9GUkFNRVdPUktfUkVWSVNJT049M2I2MmVmYzJhMw==,RkxVVFRFUl9FTkdJTkVfUkVWSVNJT049NzhmYzMwMTJlNA==,RkxVVFRFUl9EQVJUX1ZFUlNJT049My4xMC43"
export "DART_OBFUSCATION=false" export "DART_OBFUSCATION=false"
export "TRACK_WIDGET_CREATION=true" export "TRACK_WIDGET_CREATION=true"
export "TREE_SHAKE_ICONS=false" export "TREE_SHAKE_ICONS=false"
export "PACKAGE_CONFIG=.dart_tool/package_config.json" export "PACKAGE_CONFIG=/Users/josesalazar/Documents/DEV/krow-workforce/apps/mobile/.dart_tool/package_config.json"

View File

@@ -0,0 +1,144 @@
PODS:
- AppCheckCore (11.2.0):
- GoogleUtilities/Environment (~> 8.0)
- GoogleUtilities/UserDefaults (~> 8.0)
- PromisesObjC (~> 2.4)
- Firebase/AppCheck (12.8.0):
- Firebase/CoreOnly
- FirebaseAppCheck (~> 12.8.0)
- Firebase/Auth (12.8.0):
- Firebase/CoreOnly
- FirebaseAuth (~> 12.8.0)
- Firebase/CoreOnly (12.8.0):
- FirebaseCore (~> 12.8.0)
- firebase_app_check (0.4.1-4):
- Firebase/AppCheck (~> 12.8.0)
- Firebase/CoreOnly (~> 12.8.0)
- firebase_core
- FlutterMacOS
- firebase_auth (6.1.4):
- Firebase/Auth (~> 12.8.0)
- Firebase/CoreOnly (~> 12.8.0)
- firebase_core
- FlutterMacOS
- firebase_core (4.4.0):
- Firebase/CoreOnly (~> 12.8.0)
- FlutterMacOS
- FirebaseAppCheck (12.8.0):
- AppCheckCore (~> 11.0)
- FirebaseAppCheckInterop (~> 12.8.0)
- FirebaseCore (~> 12.8.0)
- GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1)
- FirebaseAppCheckInterop (12.8.0)
- FirebaseAuth (12.8.0):
- FirebaseAppCheckInterop (~> 12.8.0)
- FirebaseAuthInterop (~> 12.8.0)
- FirebaseCore (~> 12.8.0)
- FirebaseCoreExtension (~> 12.8.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/Environment (~> 8.1)
- GTMSessionFetcher/Core (< 6.0, >= 3.4)
- RecaptchaInterop (~> 101.0)
- FirebaseAuthInterop (12.8.0)
- FirebaseCore (12.8.0):
- FirebaseCoreInternal (~> 12.8.0)
- GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/Logger (~> 8.1)
- FirebaseCoreExtension (12.8.0):
- FirebaseCore (~> 12.8.0)
- FirebaseCoreInternal (12.8.0):
- "GoogleUtilities/NSData+zlib (~> 8.1)"
- FlutterMacOS (1.0.0)
- GoogleUtilities/AppDelegateSwizzler (8.1.0):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Privacy
- GoogleUtilities/Environment (8.1.0):
- GoogleUtilities/Privacy
- GoogleUtilities/Logger (8.1.0):
- GoogleUtilities/Environment
- GoogleUtilities/Privacy
- GoogleUtilities/Network (8.1.0):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Privacy
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (8.1.0)":
- GoogleUtilities/Privacy
- GoogleUtilities/Privacy (8.1.0)
- GoogleUtilities/Reachability (8.1.0):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- GoogleUtilities/UserDefaults (8.1.0):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- GTMSessionFetcher/Core (5.0.0)
- PromisesObjC (2.4.0)
- shared_preferences_foundation (0.0.1):
- Flutter
- FlutterMacOS
- url_launcher_macos (0.0.1):
- FlutterMacOS
DEPENDENCIES:
- firebase_app_check (from `Flutter/ephemeral/.symlinks/plugins/firebase_app_check/macos`)
- firebase_auth (from `Flutter/ephemeral/.symlinks/plugins/firebase_auth/macos`)
- firebase_core (from `Flutter/ephemeral/.symlinks/plugins/firebase_core/macos`)
- FlutterMacOS (from `Flutter/ephemeral`)
- shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
- url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
SPEC REPOS:
trunk:
- AppCheckCore
- Firebase
- FirebaseAppCheck
- FirebaseAppCheckInterop
- FirebaseAuth
- FirebaseAuthInterop
- FirebaseCore
- FirebaseCoreExtension
- FirebaseCoreInternal
- GoogleUtilities
- GTMSessionFetcher
- PromisesObjC
EXTERNAL SOURCES:
firebase_app_check:
:path: Flutter/ephemeral/.symlinks/plugins/firebase_app_check/macos
firebase_auth:
:path: Flutter/ephemeral/.symlinks/plugins/firebase_auth/macos
firebase_core:
:path: Flutter/ephemeral/.symlinks/plugins/firebase_core/macos
FlutterMacOS:
:path: Flutter/ephemeral
shared_preferences_foundation:
:path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
url_launcher_macos:
:path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
SPEC CHECKSUMS:
AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f
Firebase: 9a58fdbc9d8655ed7b79a19cf9690bb007d3d46d
firebase_app_check: daf97f2d7044e28b68d23bc90e16751acee09732
firebase_auth: 2c2438e41f061c03bd67dcb045dfd7bc843b5f52
firebase_core: b1697fb64ff2b9ca16baaa821205f8b0c058e5d2
FirebaseAppCheck: 11da425929a45c677d537adfff3520ccd57c1690
FirebaseAppCheckInterop: ba3dc604a89815379e61ec2365101608d365cf7d
FirebaseAuth: 4c289b1a43f5955283244a55cf6bd616de344be5
FirebaseAuthInterop: 95363fe96493cb4f106656666a0768b420cba090
FirebaseCore: 0dbad74bda10b8fb9ca34ad8f375fb9dd3ebef7c
FirebaseCoreExtension: 6605938d51f765d8b18bfcafd2085276a252bee2
FirebaseCoreInternal: fe5fa466aeb314787093a7dce9f0beeaad5a2a21
FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
GTMSessionFetcher: 02d6e866e90bc236f48a703a041dfe43e6221a29
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb
url_launcher_macos: f87a979182d112f911de6820aefddaf56ee9fbfd
PODFILE CHECKSUM: 54d867c82ac51cbd61b565781b9fada492027009
COCOAPODS: 1.16.2

View File

@@ -21,12 +21,14 @@
/* End PBXAggregateTarget section */ /* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
0F4B527ECDE4F2B2C670C976 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7312AB7BD5F6DDA3D35C363 /* Pods_RunnerTests.framework */; };
331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; };
335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; };
33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; };
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
9DB7E3A540BFA4257A1E28F2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37067E162A87D9CF2CE23CE4 /* Pods_Runner.framework */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
@@ -60,11 +62,12 @@
/* End PBXCopyFilesBuildPhase section */ /* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
3235450CFBBC51513BBB882F /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };
33CC10ED2044A3C60003C045 /* krow_client.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "krow_client.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 33CC10ED2044A3C60003C045 /* krow_client.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = krow_client.app; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; }; 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; };
33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; }; 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
@@ -76,8 +79,15 @@
33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; }; 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; };
33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; };
33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; };
37067E162A87D9CF2CE23CE4 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
52BFCC2D82C3A8048E275DF3 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = "<group>"; };
54AD243DC5A5AF26694848AC /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
8E21FE29E642AD2A9B5E46C9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
E0E474066D036677DFE3795B /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
E7312AB7BD5F6DDA3D35C363 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FF54856CCC3D0D2B521DE3D2 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@@ -85,6 +95,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
0F4B527ECDE4F2B2C670C976 /* Pods_RunnerTests.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@@ -92,6 +103,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
9DB7E3A540BFA4257A1E28F2 /* Pods_Runner.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@@ -125,6 +137,7 @@
331C80D6294CF71000263BE5 /* RunnerTests */, 331C80D6294CF71000263BE5 /* RunnerTests */,
33CC10EE2044A3C60003C045 /* Products */, 33CC10EE2044A3C60003C045 /* Products */,
D73912EC22F37F3D000D13A0 /* Frameworks */, D73912EC22F37F3D000D13A0 /* Frameworks */,
F114226C38150965DB02851D /* Pods */,
); );
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@@ -175,10 +188,26 @@
D73912EC22F37F3D000D13A0 /* Frameworks */ = { D73912EC22F37F3D000D13A0 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
37067E162A87D9CF2CE23CE4 /* Pods_Runner.framework */,
E7312AB7BD5F6DDA3D35C363 /* Pods_RunnerTests.framework */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
F114226C38150965DB02851D /* Pods */ = {
isa = PBXGroup;
children = (
8E21FE29E642AD2A9B5E46C9 /* Pods-Runner.debug.xcconfig */,
E0E474066D036677DFE3795B /* Pods-Runner.release.xcconfig */,
3235450CFBBC51513BBB882F /* Pods-Runner.profile.xcconfig */,
FF54856CCC3D0D2B521DE3D2 /* Pods-RunnerTests.debug.xcconfig */,
54AD243DC5A5AF26694848AC /* Pods-RunnerTests.release.xcconfig */,
52BFCC2D82C3A8048E275DF3 /* Pods-RunnerTests.profile.xcconfig */,
);
name = Pods;
path = Pods;
sourceTree = "<group>";
};
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
@@ -186,6 +215,7 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
buildPhases = ( buildPhases = (
1F1C8C8AD94BD1FFF3970EA2 /* [CP] Check Pods Manifest.lock */,
331C80D1294CF70F00263BE5 /* Sources */, 331C80D1294CF70F00263BE5 /* Sources */,
331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D2294CF70F00263BE5 /* Frameworks */,
331C80D3294CF70F00263BE5 /* Resources */, 331C80D3294CF70F00263BE5 /* Resources */,
@@ -204,11 +234,13 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = ( buildPhases = (
13A75D879CCA17A67E27F169 /* [CP] Check Pods Manifest.lock */,
33CC10E92044A3C60003C045 /* Sources */, 33CC10E92044A3C60003C045 /* Sources */,
33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EA2044A3C60003C045 /* Frameworks */,
33CC10EB2044A3C60003C045 /* Resources */, 33CC10EB2044A3C60003C045 /* Resources */,
33CC110E2044A8840003C045 /* Bundle Framework */, 33CC110E2044A8840003C045 /* Bundle Framework */,
3399D490228B24CF009A79C7 /* ShellScript */, 3399D490228B24CF009A79C7 /* ShellScript */,
D0A48B88512859849D0E92D6 /* [CP] Embed Pods Frameworks */,
); );
buildRules = ( buildRules = (
); );
@@ -291,6 +323,50 @@
/* End PBXResourcesBuildPhase section */ /* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */
13A75D879CCA17A67E27F169 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
1F1C8C8AD94BD1FFF3970EA2 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
3399D490228B24CF009A79C7 /* ShellScript */ = { 3399D490228B24CF009A79C7 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1; alwaysOutOfDate = 1;
@@ -329,6 +405,23 @@
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
}; };
D0A48B88512859849D0E92D6 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */ /* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */
@@ -380,6 +473,7 @@
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
331C80DB294CF71000263BE5 /* Debug */ = { 331C80DB294CF71000263BE5 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = FF54856CCC3D0D2B521DE3D2 /* Pods-RunnerTests.debug.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
@@ -394,6 +488,7 @@
}; };
331C80DC294CF71000263BE5 /* Release */ = { 331C80DC294CF71000263BE5 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 54AD243DC5A5AF26694848AC /* Pods-RunnerTests.release.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
@@ -408,6 +503,7 @@
}; };
331C80DD294CF71000263BE5 /* Profile */ = { 331C80DD294CF71000263BE5 /* Profile */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 52BFCC2D82C3A8048E275DF3 /* Pods-RunnerTests.profile.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;

View File

@@ -4,4 +4,7 @@
<FileRef <FileRef
location = "group:Runner.xcodeproj"> location = "group:Runner.xcodeproj">
</FileRef> </FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace> </Workspace>

View File

@@ -1,7 +1,7 @@
name: krowwithus_client name: krowwithus_client
description: "Krow Client Application" description: "Krow Client Application"
publish_to: 'none' publish_to: "none"
version: 1.0.0+1 version: 0.0.1-M3+1
resolution: workspace resolution: workspace
environment: environment:
@@ -45,6 +45,9 @@ dev_dependencies:
sdk: flutter sdk: flutter
flutter_lints: ^6.0.0 flutter_lints: ^6.0.0
rename: ^3.1.0 rename: ^3.1.0
flutter_launcher_icons: ^0.14.4
flutter: flutter:
uses-material-design: true uses-material-design: true
assets:
- assets/logo.png

View File

@@ -1,8 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application <application
android:label="krowwithus_staff" android:label="Krow With Us Staff"
android:name="${applicationName}" android:name="${applicationName}"
android:icon="@mipmap/ic_launcher"> android:icon="@mipmap/launcher_icon">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:exported="true" android:exported="true"

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@@ -0,0 +1,7 @@
flutter_launcher_icons:
android: "launcher_icon"
image_path_android: "assets/logo.png"
ios: true
image_path_ios: "assets/logo.png"
remove_alpha_ios: true

View File

@@ -427,7 +427,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
@@ -484,7 +484,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";

View File

@@ -1,122 +1 @@
{ {"images":[{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@3x.png","scale":"3x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@3x.png","scale":"3x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@3x.png","scale":"3x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@1x.png","scale":"1x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@3x.png","scale":"3x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@1x.png","scale":"1x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@1x.png","scale":"1x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@1x.png","scale":"1x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@2x.png","scale":"2x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@1x.png","scale":"1x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@2x.png","scale":"2x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@1x.png","scale":"1x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@2x.png","scale":"2x"},{"size":"83.5x83.5","idiom":"ipad","filename":"Icon-App-83.5x83.5@2x.png","scale":"2x"},{"size":"1024x1024","idiom":"ios-marketing","filename":"Icon-App-1024x1024@1x.png","scale":"1x"}],"info":{"version":1,"author":"xcode"}}
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@3x.png",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@3x.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@1x.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "Icon-App-1024x1024@1x.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 501 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

After

Width:  |  Height:  |  Size: 744 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 704 B

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 862 B

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 862 B

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 B

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string> <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>krowwithus_staff</string> <string>Krow With Us Staff</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
@@ -13,7 +13,7 @@
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>krowwithus_staff</string> <string>Krow With Us Staff</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>

View File

@@ -1,7 +1,7 @@
name: krowwithus_staff name: krowwithus_staff
description: "Krow Staff Application" description: "Krow Staff Application"
publish_to: 'none' publish_to: 'none'
version: 1.0.0+1 version: 0.0.1-M3+1
resolution: workspace resolution: workspace
environment: environment:
@@ -29,6 +29,9 @@ dev_dependencies:
sdk: flutter sdk: flutter
flutter_lints: ^6.0.0 flutter_lints: ^6.0.0
rename: ^3.1.0 rename: ^3.1.0
flutter_launcher_icons: ^0.14.4
flutter: flutter:
uses-material-design: true uses-material-design: true
assets:
- assets/logo.png

View File

@@ -79,7 +79,12 @@
"cleaning": "Cleaning", "cleaning": "Cleaning",
"security": "Security", "security": "Security",
"driving": "Driving", "driving": "Driving",
"cooking": "Cooking" "cooking": "Cooking",
"cashier": "Cashier",
"server": "Server",
"barista": "Barista",
"host_hostess": "Host/Hostess",
"busser": "Busser"
}, },
"industries": { "industries": {
"hospitality": "Hospitality", "hospitality": "Hospitality",
@@ -577,7 +582,8 @@
"server": "Server", "server": "Server",
"barista": "Barista", "barista": "Barista",
"host_hostess": "Host/Hostess", "host_hostess": "Host/Hostess",
"busser": "Busser" "busser": "Busser",
"driving": "Driving"
} }
} }
} }

View File

@@ -79,7 +79,12 @@
"cleaning": "Limpieza", "cleaning": "Limpieza",
"security": "Seguridad", "security": "Seguridad",
"driving": "Conducción", "driving": "Conducción",
"cooking": "Cocina" "cooking": "Cocina",
"cashier": "Cajero",
"server": "Mesero",
"barista": "Barista",
"host_hostess": "Anfitrión",
"busser": "Ayudante de mesero"
}, },
"industries": { "industries": {
"hospitality": "Hostelería", "hospitality": "Hostelería",
@@ -576,7 +581,8 @@
"server": "Server", "server": "Server",
"barista": "Barista", "barista": "Barista",
"host_hostess": "Host/Hostess", "host_hostess": "Host/Hostess",
"busser": "Busser" "busser": "Busser",
"driving": "Driving"
} }
} }
} }

View File

@@ -4,9 +4,9 @@
/// To regenerate, run: `dart run slang` /// To regenerate, run: `dart run slang`
/// ///
/// Locales: 2 /// Locales: 2
/// Strings: 1026 (513 per locale) /// Strings: 1038 (519 per locale)
/// ///
/// Built on 2026-01-26 at 02:23 UTC /// Built on 2026-01-27 at 19:37 UTC
// coverage:ignore-file // coverage:ignore-file
// ignore_for_file: type=lint, unused_import // ignore_for_file: type=lint, unused_import

View File

@@ -2420,6 +2420,21 @@ class TranslationsStaffAuthenticationProfileSetupPageExperienceSkillsEn {
/// en: 'Cooking' /// en: 'Cooking'
String get cooking => 'Cooking'; String get cooking => 'Cooking';
/// en: 'Cashier'
String get cashier => 'Cashier';
/// en: 'Server'
String get server => 'Server';
/// en: 'Barista'
String get barista => 'Barista';
/// en: 'Host/Hostess'
String get host_hostess => 'Host/Hostess';
/// en: 'Busser'
String get busser => 'Busser';
} }
// Path: staff_authentication.profile_setup_page.experience.industries // Path: staff_authentication.profile_setup_page.experience.industries
@@ -2589,6 +2604,9 @@ class TranslationsStaffOnboardingExperienceSkillsEn {
/// en: 'Busser' /// en: 'Busser'
String get busser => 'Busser'; String get busser => 'Busser';
/// en: 'Driving'
String get driving => 'Driving';
} }
// Path: staff.home.improve.items.training // Path: staff.home.improve.items.training
@@ -2724,6 +2742,11 @@ extension on Translations {
'staff_authentication.profile_setup_page.experience.skills.security' => 'Security', 'staff_authentication.profile_setup_page.experience.skills.security' => 'Security',
'staff_authentication.profile_setup_page.experience.skills.driving' => 'Driving', 'staff_authentication.profile_setup_page.experience.skills.driving' => 'Driving',
'staff_authentication.profile_setup_page.experience.skills.cooking' => 'Cooking', 'staff_authentication.profile_setup_page.experience.skills.cooking' => 'Cooking',
'staff_authentication.profile_setup_page.experience.skills.cashier' => 'Cashier',
'staff_authentication.profile_setup_page.experience.skills.server' => 'Server',
'staff_authentication.profile_setup_page.experience.skills.barista' => 'Barista',
'staff_authentication.profile_setup_page.experience.skills.host_hostess' => 'Host/Hostess',
'staff_authentication.profile_setup_page.experience.skills.busser' => 'Busser',
'staff_authentication.profile_setup_page.experience.industries.hospitality' => 'Hospitality', 'staff_authentication.profile_setup_page.experience.industries.hospitality' => 'Hospitality',
'staff_authentication.profile_setup_page.experience.industries.food_service' => 'Food Service', 'staff_authentication.profile_setup_page.experience.industries.food_service' => 'Food Service',
'staff_authentication.profile_setup_page.experience.industries.warehouse' => 'Warehouse', 'staff_authentication.profile_setup_page.experience.industries.warehouse' => 'Warehouse',
@@ -3090,6 +3113,7 @@ extension on Translations {
'staff.onboarding.experience.skills.barista' => 'Barista', 'staff.onboarding.experience.skills.barista' => 'Barista',
'staff.onboarding.experience.skills.host_hostess' => 'Host/Hostess', 'staff.onboarding.experience.skills.host_hostess' => 'Host/Hostess',
'staff.onboarding.experience.skills.busser' => 'Busser', 'staff.onboarding.experience.skills.busser' => 'Busser',
'staff.onboarding.experience.skills.driving' => 'Driving',
'staff_documents.title' => 'Documents', 'staff_documents.title' => 'Documents',
'staff_documents.verification_card.title' => 'Document Verification', 'staff_documents.verification_card.title' => 'Document Verification',
'staff_documents.verification_card.progress' => ({required Object completed, required Object total}) => '${completed}/${total} Complete', 'staff_documents.verification_card.progress' => ({required Object completed, required Object total}) => '${completed}/${total} Complete',
@@ -3171,14 +3195,14 @@ extension on Translations {
'staff_time_card.hours_worked' => 'Hours Worked', 'staff_time_card.hours_worked' => 'Hours Worked',
'staff_time_card.total_earnings' => 'Total Earnings', 'staff_time_card.total_earnings' => 'Total Earnings',
'staff_time_card.shift_history' => 'Shift History', 'staff_time_card.shift_history' => 'Shift History',
_ => null,
} ?? switch (path) {
'staff_time_card.no_shifts' => 'No shifts for this month', 'staff_time_card.no_shifts' => 'No shifts for this month',
'staff_time_card.hours' => 'hours', 'staff_time_card.hours' => 'hours',
'staff_time_card.per_hr' => '/hr', 'staff_time_card.per_hr' => '/hr',
'staff_time_card.status.approved' => 'Approved', 'staff_time_card.status.approved' => 'Approved',
'staff_time_card.status.disputed' => 'Disputed', 'staff_time_card.status.disputed' => 'Disputed',
'staff_time_card.status.paid' => 'Paid', 'staff_time_card.status.paid' => 'Paid',
_ => null,
} ?? switch (path) {
'staff_time_card.status.pending' => 'Pending', 'staff_time_card.status.pending' => 'Pending',
_ => null, _ => null,
}; };

View File

@@ -1463,6 +1463,11 @@ class _TranslationsStaffAuthenticationProfileSetupPageExperienceSkillsEs impleme
@override String get security => 'Seguridad'; @override String get security => 'Seguridad';
@override String get driving => 'Conducción'; @override String get driving => 'Conducción';
@override String get cooking => 'Cocina'; @override String get cooking => 'Cocina';
@override String get cashier => 'Cajero';
@override String get server => 'Mesero';
@override String get barista => 'Barista';
@override String get host_hostess => 'Anfitrión';
@override String get busser => 'Ayudante de mesero';
} }
// Path: staff_authentication.profile_setup_page.experience.industries // Path: staff_authentication.profile_setup_page.experience.industries
@@ -1564,6 +1569,7 @@ class _TranslationsStaffOnboardingExperienceSkillsEs implements TranslationsStaf
@override String get barista => 'Barista'; @override String get barista => 'Barista';
@override String get host_hostess => 'Host/Hostess'; @override String get host_hostess => 'Host/Hostess';
@override String get busser => 'Busser'; @override String get busser => 'Busser';
@override String get driving => 'Driving';
} }
// Path: staff.home.improve.items.training // Path: staff.home.improve.items.training
@@ -1679,6 +1685,11 @@ extension on TranslationsEs {
'staff_authentication.profile_setup_page.experience.skills.security' => 'Seguridad', 'staff_authentication.profile_setup_page.experience.skills.security' => 'Seguridad',
'staff_authentication.profile_setup_page.experience.skills.driving' => 'Conducción', 'staff_authentication.profile_setup_page.experience.skills.driving' => 'Conducción',
'staff_authentication.profile_setup_page.experience.skills.cooking' => 'Cocina', 'staff_authentication.profile_setup_page.experience.skills.cooking' => 'Cocina',
'staff_authentication.profile_setup_page.experience.skills.cashier' => 'Cajero',
'staff_authentication.profile_setup_page.experience.skills.server' => 'Mesero',
'staff_authentication.profile_setup_page.experience.skills.barista' => 'Barista',
'staff_authentication.profile_setup_page.experience.skills.host_hostess' => 'Anfitrión',
'staff_authentication.profile_setup_page.experience.skills.busser' => 'Ayudante de mesero',
'staff_authentication.profile_setup_page.experience.industries.hospitality' => 'Hostelería', 'staff_authentication.profile_setup_page.experience.industries.hospitality' => 'Hostelería',
'staff_authentication.profile_setup_page.experience.industries.food_service' => 'Servicio de comida', 'staff_authentication.profile_setup_page.experience.industries.food_service' => 'Servicio de comida',
'staff_authentication.profile_setup_page.experience.industries.warehouse' => 'Almacén', 'staff_authentication.profile_setup_page.experience.industries.warehouse' => 'Almacén',
@@ -2045,6 +2056,7 @@ extension on TranslationsEs {
'staff.onboarding.experience.skills.barista' => 'Barista', 'staff.onboarding.experience.skills.barista' => 'Barista',
'staff.onboarding.experience.skills.host_hostess' => 'Host/Hostess', 'staff.onboarding.experience.skills.host_hostess' => 'Host/Hostess',
'staff.onboarding.experience.skills.busser' => 'Busser', 'staff.onboarding.experience.skills.busser' => 'Busser',
'staff.onboarding.experience.skills.driving' => 'Driving',
'staff_documents.title' => 'Documents', 'staff_documents.title' => 'Documents',
'staff_documents.verification_card.title' => 'Document Verification', 'staff_documents.verification_card.title' => 'Document Verification',
'staff_documents.verification_card.progress' => ({required Object completed, required Object total}) => '${completed}/${total} Complete', 'staff_documents.verification_card.progress' => ({required Object completed, required Object total}) => '${completed}/${total} Complete',
@@ -2126,14 +2138,14 @@ extension on TranslationsEs {
'staff_time_card.hours_worked' => 'Horas trabajadas', 'staff_time_card.hours_worked' => 'Horas trabajadas',
'staff_time_card.total_earnings' => 'Ganancias totales', 'staff_time_card.total_earnings' => 'Ganancias totales',
'staff_time_card.shift_history' => 'Historial de turnos', 'staff_time_card.shift_history' => 'Historial de turnos',
_ => null,
} ?? switch (path) {
'staff_time_card.no_shifts' => 'No hay turnos para este mes', 'staff_time_card.no_shifts' => 'No hay turnos para este mes',
'staff_time_card.hours' => 'horas', 'staff_time_card.hours' => 'horas',
'staff_time_card.per_hr' => '/hr', 'staff_time_card.per_hr' => '/hr',
'staff_time_card.status.approved' => 'Aprobado', 'staff_time_card.status.approved' => 'Aprobado',
'staff_time_card.status.disputed' => 'Disputado', 'staff_time_card.status.disputed' => 'Disputado',
'staff_time_card.status.paid' => 'Pagado', 'staff_time_card.status.paid' => 'Pagado',
_ => null,
} ?? switch (path) {
'staff_time_card.status.pending' => 'Pendiente', 'staff_time_card.status.pending' => 'Pendiente',
_ => null, _ => null,
}; };

View File

@@ -24,3 +24,4 @@ export 'src/session/client_session_store.dart';
// Export the generated Data Connect SDK // Export the generated Data Connect SDK
export 'src/dataconnect_generated/generated.dart'; export 'src/dataconnect_generated/generated.dart';
export 'src/session/staff_session_store.dart';

View File

@@ -1,16 +1,16 @@
# Basic Usage # Basic Usage
```dart ```dart
ExampleConnector.instance.createTeamMember(createTeamMemberVariables).execute(); ExampleConnector.instance.createFaqData(createFaqDataVariables).execute();
ExampleConnector.instance.updateTeamMember(updateTeamMemberVariables).execute(); ExampleConnector.instance.updateFaqData(updateFaqDataVariables).execute();
ExampleConnector.instance.updateTeamMemberInviteStatus(updateTeamMemberInviteStatusVariables).execute(); ExampleConnector.instance.deleteFaqData(deleteFaqDataVariables).execute();
ExampleConnector.instance.acceptInviteByCode(acceptInviteByCodeVariables).execute(); ExampleConnector.instance.createStaffAvailability(createStaffAvailabilityVariables).execute();
ExampleConnector.instance.cancelInviteByCode(cancelInviteByCodeVariables).execute(); ExampleConnector.instance.updateStaffAvailability(updateStaffAvailabilityVariables).execute();
ExampleConnector.instance.deleteTeamMember(deleteTeamMemberVariables).execute(); ExampleConnector.instance.deleteStaffAvailability(deleteStaffAvailabilityVariables).execute();
ExampleConnector.instance.listActivityLogs(listActivityLogsVariables).execute(); ExampleConnector.instance.listStaffAvailabilityStats(listStaffAvailabilityStatsVariables).execute();
ExampleConnector.instance.getActivityLogById(getActivityLogByIdVariables).execute(); ExampleConnector.instance.getStaffAvailabilityStatsByStaffId(getStaffAvailabilityStatsByStaffIdVariables).execute();
ExampleConnector.instance.listActivityLogsByUserId(listActivityLogsByUserIdVariables).execute(); ExampleConnector.instance.filterStaffAvailabilityStats(filterStaffAvailabilityStatsVariables).execute();
ExampleConnector.instance.listUnreadActivityLogsByUserId(listUnreadActivityLogsByUserIdVariables).execute(); ExampleConnector.instance.createTaxForm(createTaxFormVariables).execute();
``` ```
@@ -23,8 +23,8 @@ Optional fields can be discovered based on classes that have `Optional` object t
This is an example of a mutation with an optional field: This is an example of a mutation with an optional field:
```dart ```dart
await ExampleConnector.instance.getRapidOrders({ ... }) await ExampleConnector.instance.updateWorkforce({ ... })
.offset(...) .workforceNumber(...)
.execute(); .execute();
``` ```

View File

@@ -6,11 +6,26 @@ class CreateAccountVariablesBuilder {
String last4; String last4;
Optional<bool> _isPrimary = Optional.optional(nativeFromJson, nativeToJson); Optional<bool> _isPrimary = Optional.optional(nativeFromJson, nativeToJson);
String ownerId; String ownerId;
Optional<String> _accountNumber = Optional.optional(nativeFromJson, nativeToJson);
Optional<String> _routeNumber = Optional.optional(nativeFromJson, nativeToJson);
Optional<Timestamp> _expiryTime = Optional.optional((json) => json['expiryTime'] = Timestamp.fromJson(json['expiryTime']), defaultSerializer);
final FirebaseDataConnect _dataConnect; CreateAccountVariablesBuilder isPrimary(bool? t) { final FirebaseDataConnect _dataConnect; CreateAccountVariablesBuilder isPrimary(bool? t) {
_isPrimary.value = t; _isPrimary.value = t;
return this; return this;
} }
CreateAccountVariablesBuilder accountNumber(String? t) {
_accountNumber.value = t;
return this;
}
CreateAccountVariablesBuilder routeNumber(String? t) {
_routeNumber.value = t;
return this;
}
CreateAccountVariablesBuilder expiryTime(Timestamp? t) {
_expiryTime.value = t;
return this;
}
CreateAccountVariablesBuilder(this._dataConnect, {required this.bank,required this.type,required this.last4,required this.ownerId,}); CreateAccountVariablesBuilder(this._dataConnect, {required this.bank,required this.type,required this.last4,required this.ownerId,});
Deserializer<CreateAccountData> dataDeserializer = (dynamic json) => CreateAccountData.fromJson(jsonDecode(json)); Deserializer<CreateAccountData> dataDeserializer = (dynamic json) => CreateAccountData.fromJson(jsonDecode(json));
@@ -20,7 +35,7 @@ class CreateAccountVariablesBuilder {
} }
MutationRef<CreateAccountData, CreateAccountVariables> ref() { MutationRef<CreateAccountData, CreateAccountVariables> ref() {
CreateAccountVariables vars= CreateAccountVariables(bank: bank,type: type,last4: last4,isPrimary: _isPrimary,ownerId: ownerId,); CreateAccountVariables vars= CreateAccountVariables(bank: bank,type: type,last4: last4,isPrimary: _isPrimary,ownerId: ownerId,accountNumber: _accountNumber,routeNumber: _routeNumber,expiryTime: _expiryTime,);
return _dataConnect.mutation("createAccount", dataDeserializer, varsSerializer, vars); return _dataConnect.mutation("createAccount", dataDeserializer, varsSerializer, vars);
} }
} }
@@ -100,6 +115,9 @@ class CreateAccountVariables {
final String last4; final String last4;
late final Optional<bool>isPrimary; late final Optional<bool>isPrimary;
final String ownerId; final String ownerId;
late final Optional<String>accountNumber;
late final Optional<String>routeNumber;
late final Optional<Timestamp>expiryTime;
@Deprecated('fromJson is deprecated for Variable classes as they are no longer required for deserialization.') @Deprecated('fromJson is deprecated for Variable classes as they are no longer required for deserialization.')
CreateAccountVariables.fromJson(Map<String, dynamic> json): CreateAccountVariables.fromJson(Map<String, dynamic> json):
@@ -116,6 +134,18 @@ class CreateAccountVariables {
isPrimary.value = json['isPrimary'] == null ? null : nativeFromJson<bool>(json['isPrimary']); isPrimary.value = json['isPrimary'] == null ? null : nativeFromJson<bool>(json['isPrimary']);
accountNumber = Optional.optional(nativeFromJson, nativeToJson);
accountNumber.value = json['accountNumber'] == null ? null : nativeFromJson<String>(json['accountNumber']);
routeNumber = Optional.optional(nativeFromJson, nativeToJson);
routeNumber.value = json['routeNumber'] == null ? null : nativeFromJson<String>(json['routeNumber']);
expiryTime = Optional.optional((json) => json['expiryTime'] = Timestamp.fromJson(json['expiryTime']), defaultSerializer);
expiryTime.value = json['expiryTime'] == null ? null : Timestamp.fromJson(json['expiryTime']);
} }
@override @override
bool operator ==(Object other) { bool operator ==(Object other) {
@@ -131,11 +161,14 @@ class CreateAccountVariables {
type == otherTyped.type && type == otherTyped.type &&
last4 == otherTyped.last4 && last4 == otherTyped.last4 &&
isPrimary == otherTyped.isPrimary && isPrimary == otherTyped.isPrimary &&
ownerId == otherTyped.ownerId; ownerId == otherTyped.ownerId &&
accountNumber == otherTyped.accountNumber &&
routeNumber == otherTyped.routeNumber &&
expiryTime == otherTyped.expiryTime;
} }
@override @override
int get hashCode => Object.hashAll([bank.hashCode, type.hashCode, last4.hashCode, isPrimary.hashCode, ownerId.hashCode]); int get hashCode => Object.hashAll([bank.hashCode, type.hashCode, last4.hashCode, isPrimary.hashCode, ownerId.hashCode, accountNumber.hashCode, routeNumber.hashCode, expiryTime.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -149,6 +182,15 @@ class CreateAccountVariables {
json['isPrimary'] = isPrimary.toJson(); json['isPrimary'] = isPrimary.toJson();
} }
json['ownerId'] = nativeToJson<String>(ownerId); json['ownerId'] = nativeToJson<String>(ownerId);
if(accountNumber.state == OptionalState.set) {
json['accountNumber'] = accountNumber.toJson();
}
if(routeNumber.state == OptionalState.set) {
json['routeNumber'] = routeNumber.toJson();
}
if(expiryTime.state == OptionalState.set) {
json['expiryTime'] = expiryTime.toJson();
}
return json; return json;
} }
@@ -158,6 +200,9 @@ class CreateAccountVariables {
required this.last4, required this.last4,
required this.isPrimary, required this.isPrimary,
required this.ownerId, required this.ownerId,
required this.accountNumber,
required this.routeNumber,
required this.expiryTime,
}); });
} }

View File

@@ -15,8 +15,9 @@ class CreateStaffVariablesBuilder {
Optional<int> _cancellationCount = Optional.optional(nativeFromJson, nativeToJson); Optional<int> _cancellationCount = Optional.optional(nativeFromJson, nativeToJson);
Optional<int> _reliabilityScore = Optional.optional(nativeFromJson, nativeToJson); Optional<int> _reliabilityScore = Optional.optional(nativeFromJson, nativeToJson);
Optional<String> _bio = Optional.optional(nativeFromJson, nativeToJson); Optional<String> _bio = Optional.optional(nativeFromJson, nativeToJson);
Optional<AnyValue> _industries = Optional.optional(AnyValue.fromJson, defaultSerializer); Optional<List<String>> _skills = Optional.optional(listDeserializer(nativeFromJson), listSerializer(nativeToJson));
Optional<AnyValue> _preferredLocations = Optional.optional(AnyValue.fromJson, defaultSerializer); Optional<List<String>> _industries = Optional.optional(listDeserializer(nativeFromJson), listSerializer(nativeToJson));
Optional<List<String>> _preferredLocations = Optional.optional(listDeserializer(nativeFromJson), listSerializer(nativeToJson));
Optional<int> _maxDistanceMiles = Optional.optional(nativeFromJson, nativeToJson); Optional<int> _maxDistanceMiles = Optional.optional(nativeFromJson, nativeToJson);
Optional<AnyValue> _languages = Optional.optional(AnyValue.fromJson, defaultSerializer); Optional<AnyValue> _languages = Optional.optional(AnyValue.fromJson, defaultSerializer);
Optional<AnyValue> _itemsAttire = Optional.optional(AnyValue.fromJson, defaultSerializer); Optional<AnyValue> _itemsAttire = Optional.optional(AnyValue.fromJson, defaultSerializer);
@@ -83,11 +84,15 @@ class CreateStaffVariablesBuilder {
_bio.value = t; _bio.value = t;
return this; return this;
} }
CreateStaffVariablesBuilder industries(AnyValue? t) { CreateStaffVariablesBuilder skills(List<String>? t) {
_skills.value = t;
return this;
}
CreateStaffVariablesBuilder industries(List<String>? t) {
_industries.value = t; _industries.value = t;
return this; return this;
} }
CreateStaffVariablesBuilder preferredLocations(AnyValue? t) { CreateStaffVariablesBuilder preferredLocations(List<String>? t) {
_preferredLocations.value = t; _preferredLocations.value = t;
return this; return this;
} }
@@ -168,7 +173,7 @@ class CreateStaffVariablesBuilder {
} }
MutationRef<CreateStaffData, CreateStaffVariables> ref() { MutationRef<CreateStaffData, CreateStaffVariables> ref() {
CreateStaffVariables vars= CreateStaffVariables(userId: userId,fullName: fullName,level: _level,role: _role,phone: _phone,email: _email,photoUrl: _photoUrl,totalShifts: _totalShifts,averageRating: _averageRating,onTimeRate: _onTimeRate,noShowCount: _noShowCount,cancellationCount: _cancellationCount,reliabilityScore: _reliabilityScore,bio: _bio,industries: _industries,preferredLocations: _preferredLocations,maxDistanceMiles: _maxDistanceMiles,languages: _languages,itemsAttire: _itemsAttire,xp: _xp,badges: _badges,isRecommended: _isRecommended,ownerId: _ownerId,department: _department,hubId: _hubId,manager: _manager,english: _english,backgroundCheckStatus: _backgroundCheckStatus,employmentType: _employmentType,initial: _initial,englishRequired: _englishRequired,city: _city,addres: _addres,); CreateStaffVariables vars= CreateStaffVariables(userId: userId,fullName: fullName,level: _level,role: _role,phone: _phone,email: _email,photoUrl: _photoUrl,totalShifts: _totalShifts,averageRating: _averageRating,onTimeRate: _onTimeRate,noShowCount: _noShowCount,cancellationCount: _cancellationCount,reliabilityScore: _reliabilityScore,bio: _bio,skills: _skills,industries: _industries,preferredLocations: _preferredLocations,maxDistanceMiles: _maxDistanceMiles,languages: _languages,itemsAttire: _itemsAttire,xp: _xp,badges: _badges,isRecommended: _isRecommended,ownerId: _ownerId,department: _department,hubId: _hubId,manager: _manager,english: _english,backgroundCheckStatus: _backgroundCheckStatus,employmentType: _employmentType,initial: _initial,englishRequired: _englishRequired,city: _city,addres: _addres,);
return _dataConnect.mutation("CreateStaff", dataDeserializer, varsSerializer, vars); return _dataConnect.mutation("CreateStaff", dataDeserializer, varsSerializer, vars);
} }
} }
@@ -257,8 +262,9 @@ class CreateStaffVariables {
late final Optional<int>cancellationCount; late final Optional<int>cancellationCount;
late final Optional<int>reliabilityScore; late final Optional<int>reliabilityScore;
late final Optional<String>bio; late final Optional<String>bio;
late final Optional<AnyValue>industries; late final Optional<List<String>>skills;
late final Optional<AnyValue>preferredLocations; late final Optional<List<String>>industries;
late final Optional<List<String>>preferredLocations;
late final Optional<int>maxDistanceMiles; late final Optional<int>maxDistanceMiles;
late final Optional<AnyValue>languages; late final Optional<AnyValue>languages;
late final Optional<AnyValue>itemsAttire; late final Optional<AnyValue>itemsAttire;
@@ -333,12 +339,22 @@ class CreateStaffVariables {
bio.value = json['bio'] == null ? null : nativeFromJson<String>(json['bio']); bio.value = json['bio'] == null ? null : nativeFromJson<String>(json['bio']);
industries = Optional.optional(AnyValue.fromJson, defaultSerializer); skills = Optional.optional(listDeserializer(nativeFromJson), listSerializer(nativeToJson));
industries.value = json['industries'] == null ? null : AnyValue.fromJson(json['industries']); skills.value = json['skills'] == null ? null : (json['skills'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList();
preferredLocations = Optional.optional(AnyValue.fromJson, defaultSerializer); industries = Optional.optional(listDeserializer(nativeFromJson), listSerializer(nativeToJson));
preferredLocations.value = json['preferredLocations'] == null ? null : AnyValue.fromJson(json['preferredLocations']); industries.value = json['industries'] == null ? null : (json['industries'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList();
preferredLocations = Optional.optional(listDeserializer(nativeFromJson), listSerializer(nativeToJson));
preferredLocations.value = json['preferredLocations'] == null ? null : (json['preferredLocations'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList();
maxDistanceMiles = Optional.optional(nativeFromJson, nativeToJson); maxDistanceMiles = Optional.optional(nativeFromJson, nativeToJson);
@@ -433,6 +449,7 @@ class CreateStaffVariables {
cancellationCount == otherTyped.cancellationCount && cancellationCount == otherTyped.cancellationCount &&
reliabilityScore == otherTyped.reliabilityScore && reliabilityScore == otherTyped.reliabilityScore &&
bio == otherTyped.bio && bio == otherTyped.bio &&
skills == otherTyped.skills &&
industries == otherTyped.industries && industries == otherTyped.industries &&
preferredLocations == otherTyped.preferredLocations && preferredLocations == otherTyped.preferredLocations &&
maxDistanceMiles == otherTyped.maxDistanceMiles && maxDistanceMiles == otherTyped.maxDistanceMiles &&
@@ -455,7 +472,7 @@ class CreateStaffVariables {
} }
@override @override
int get hashCode => Object.hashAll([userId.hashCode, fullName.hashCode, level.hashCode, role.hashCode, phone.hashCode, email.hashCode, photoUrl.hashCode, totalShifts.hashCode, averageRating.hashCode, onTimeRate.hashCode, noShowCount.hashCode, cancellationCount.hashCode, reliabilityScore.hashCode, bio.hashCode, industries.hashCode, preferredLocations.hashCode, maxDistanceMiles.hashCode, languages.hashCode, itemsAttire.hashCode, xp.hashCode, badges.hashCode, isRecommended.hashCode, ownerId.hashCode, department.hashCode, hubId.hashCode, manager.hashCode, english.hashCode, backgroundCheckStatus.hashCode, employmentType.hashCode, initial.hashCode, englishRequired.hashCode, city.hashCode, addres.hashCode]); int get hashCode => Object.hashAll([userId.hashCode, fullName.hashCode, level.hashCode, role.hashCode, phone.hashCode, email.hashCode, photoUrl.hashCode, totalShifts.hashCode, averageRating.hashCode, onTimeRate.hashCode, noShowCount.hashCode, cancellationCount.hashCode, reliabilityScore.hashCode, bio.hashCode, skills.hashCode, industries.hashCode, preferredLocations.hashCode, maxDistanceMiles.hashCode, languages.hashCode, itemsAttire.hashCode, xp.hashCode, badges.hashCode, isRecommended.hashCode, ownerId.hashCode, department.hashCode, hubId.hashCode, manager.hashCode, english.hashCode, backgroundCheckStatus.hashCode, employmentType.hashCode, initial.hashCode, englishRequired.hashCode, city.hashCode, addres.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -498,6 +515,9 @@ class CreateStaffVariables {
if(bio.state == OptionalState.set) { if(bio.state == OptionalState.set) {
json['bio'] = bio.toJson(); json['bio'] = bio.toJson();
} }
if(skills.state == OptionalState.set) {
json['skills'] = skills.toJson();
}
if(industries.state == OptionalState.set) { if(industries.state == OptionalState.set) {
json['industries'] = industries.toJson(); json['industries'] = industries.toJson();
} }
@@ -573,6 +593,7 @@ class CreateStaffVariables {
required this.cancellationCount, required this.cancellationCount,
required this.reliabilityScore, required this.reliabilityScore,
required this.bio, required this.bio,
required this.skills,
required this.industries, required this.industries,
required this.preferredLocations, required this.preferredLocations,
required this.maxDistanceMiles, required this.maxDistanceMiles,

View File

@@ -45,6 +45,9 @@ class FilterAccountsAccounts {
final String last4; final String last4;
final bool? isPrimary; final bool? isPrimary;
final String ownerId; final String ownerId;
final String? accountNumber;
final Timestamp? expiryTime;
final String? routeNumber;
FilterAccountsAccounts.fromJson(dynamic json): FilterAccountsAccounts.fromJson(dynamic json):
id = nativeFromJson<String>(json['id']), id = nativeFromJson<String>(json['id']),
@@ -52,7 +55,10 @@ class FilterAccountsAccounts {
type = accountTypeDeserializer(json['type']), type = accountTypeDeserializer(json['type']),
last4 = nativeFromJson<String>(json['last4']), last4 = nativeFromJson<String>(json['last4']),
isPrimary = json['isPrimary'] == null ? null : nativeFromJson<bool>(json['isPrimary']), isPrimary = json['isPrimary'] == null ? null : nativeFromJson<bool>(json['isPrimary']),
ownerId = nativeFromJson<String>(json['ownerId']); ownerId = nativeFromJson<String>(json['ownerId']),
accountNumber = json['accountNumber'] == null ? null : nativeFromJson<String>(json['accountNumber']),
expiryTime = json['expiryTime'] == null ? null : Timestamp.fromJson(json['expiryTime']),
routeNumber = json['routeNumber'] == null ? null : nativeFromJson<String>(json['routeNumber']);
@override @override
bool operator ==(Object other) { bool operator ==(Object other) {
if(identical(this, other)) { if(identical(this, other)) {
@@ -68,11 +74,14 @@ class FilterAccountsAccounts {
type == otherTyped.type && type == otherTyped.type &&
last4 == otherTyped.last4 && last4 == otherTyped.last4 &&
isPrimary == otherTyped.isPrimary && isPrimary == otherTyped.isPrimary &&
ownerId == otherTyped.ownerId; ownerId == otherTyped.ownerId &&
accountNumber == otherTyped.accountNumber &&
expiryTime == otherTyped.expiryTime &&
routeNumber == otherTyped.routeNumber;
} }
@override @override
int get hashCode => Object.hashAll([id.hashCode, bank.hashCode, type.hashCode, last4.hashCode, isPrimary.hashCode, ownerId.hashCode]); int get hashCode => Object.hashAll([id.hashCode, bank.hashCode, type.hashCode, last4.hashCode, isPrimary.hashCode, ownerId.hashCode, accountNumber.hashCode, expiryTime.hashCode, routeNumber.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -87,6 +96,15 @@ class FilterAccountsAccounts {
json['isPrimary'] = nativeToJson<bool?>(isPrimary); json['isPrimary'] = nativeToJson<bool?>(isPrimary);
} }
json['ownerId'] = nativeToJson<String>(ownerId); json['ownerId'] = nativeToJson<String>(ownerId);
if (accountNumber != null) {
json['accountNumber'] = nativeToJson<String?>(accountNumber);
}
if (expiryTime != null) {
json['expiryTime'] = expiryTime!.toJson();
}
if (routeNumber != null) {
json['routeNumber'] = nativeToJson<String?>(routeNumber);
}
return json; return json;
} }
@@ -97,6 +115,9 @@ class FilterAccountsAccounts {
required this.last4, required this.last4,
this.isPrimary, this.isPrimary,
required this.ownerId, required this.ownerId,
this.accountNumber,
this.expiryTime,
this.routeNumber,
}); });
} }

View File

@@ -51,6 +51,8 @@ class FilterStaffStaffs {
final int? totalShifts; final int? totalShifts;
final String? ownerId; final String? ownerId;
final bool? isRecommended; final bool? isRecommended;
final List<String>? skills;
final List<String>? industries;
final EnumValue<BackgroundCheckStatus>? backgroundCheckStatus; final EnumValue<BackgroundCheckStatus>? backgroundCheckStatus;
final EnumValue<EmploymentType>? employmentType; final EnumValue<EmploymentType>? employmentType;
final String? initial; final String? initial;
@@ -71,6 +73,12 @@ class FilterStaffStaffs {
totalShifts = json['totalShifts'] == null ? null : nativeFromJson<int>(json['totalShifts']), totalShifts = json['totalShifts'] == null ? null : nativeFromJson<int>(json['totalShifts']),
ownerId = json['ownerId'] == null ? null : nativeFromJson<String>(json['ownerId']), ownerId = json['ownerId'] == null ? null : nativeFromJson<String>(json['ownerId']),
isRecommended = json['isRecommended'] == null ? null : nativeFromJson<bool>(json['isRecommended']), isRecommended = json['isRecommended'] == null ? null : nativeFromJson<bool>(json['isRecommended']),
skills = json['skills'] == null ? null : (json['skills'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList(),
industries = json['industries'] == null ? null : (json['industries'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList(),
backgroundCheckStatus = json['backgroundCheckStatus'] == null ? null : backgroundCheckStatusDeserializer(json['backgroundCheckStatus']), backgroundCheckStatus = json['backgroundCheckStatus'] == null ? null : backgroundCheckStatusDeserializer(json['backgroundCheckStatus']),
employmentType = json['employmentType'] == null ? null : employmentTypeDeserializer(json['employmentType']), employmentType = json['employmentType'] == null ? null : employmentTypeDeserializer(json['employmentType']),
initial = json['initial'] == null ? null : nativeFromJson<String>(json['initial']), initial = json['initial'] == null ? null : nativeFromJson<String>(json['initial']),
@@ -99,6 +107,8 @@ class FilterStaffStaffs {
totalShifts == otherTyped.totalShifts && totalShifts == otherTyped.totalShifts &&
ownerId == otherTyped.ownerId && ownerId == otherTyped.ownerId &&
isRecommended == otherTyped.isRecommended && isRecommended == otherTyped.isRecommended &&
skills == otherTyped.skills &&
industries == otherTyped.industries &&
backgroundCheckStatus == otherTyped.backgroundCheckStatus && backgroundCheckStatus == otherTyped.backgroundCheckStatus &&
employmentType == otherTyped.employmentType && employmentType == otherTyped.employmentType &&
initial == otherTyped.initial && initial == otherTyped.initial &&
@@ -108,7 +118,7 @@ class FilterStaffStaffs {
} }
@override @override
int get hashCode => Object.hashAll([id.hashCode, userId.hashCode, fullName.hashCode, level.hashCode, phone.hashCode, email.hashCode, photoUrl.hashCode, averageRating.hashCode, reliabilityScore.hashCode, totalShifts.hashCode, ownerId.hashCode, isRecommended.hashCode, backgroundCheckStatus.hashCode, employmentType.hashCode, initial.hashCode, englishRequired.hashCode, city.hashCode, addres.hashCode]); int get hashCode => Object.hashAll([id.hashCode, userId.hashCode, fullName.hashCode, level.hashCode, phone.hashCode, email.hashCode, photoUrl.hashCode, averageRating.hashCode, reliabilityScore.hashCode, totalShifts.hashCode, ownerId.hashCode, isRecommended.hashCode, skills.hashCode, industries.hashCode, backgroundCheckStatus.hashCode, employmentType.hashCode, initial.hashCode, englishRequired.hashCode, city.hashCode, addres.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -143,6 +153,12 @@ class FilterStaffStaffs {
if (isRecommended != null) { if (isRecommended != null) {
json['isRecommended'] = nativeToJson<bool?>(isRecommended); json['isRecommended'] = nativeToJson<bool?>(isRecommended);
} }
if (skills != null) {
json['skills'] = skills?.map((e) => nativeToJson<String>(e)).toList();
}
if (industries != null) {
json['industries'] = industries?.map((e) => nativeToJson<String>(e)).toList();
}
if (backgroundCheckStatus != null) { if (backgroundCheckStatus != null) {
json['backgroundCheckStatus'] = json['backgroundCheckStatus'] =
backgroundCheckStatusSerializer(backgroundCheckStatus!) backgroundCheckStatusSerializer(backgroundCheckStatus!)
@@ -181,6 +197,8 @@ class FilterStaffStaffs {
this.totalShifts, this.totalShifts,
this.ownerId, this.ownerId,
this.isRecommended, this.isRecommended,
this.skills,
this.industries,
this.backgroundCheckStatus, this.backgroundCheckStatus,
this.employmentType, this.employmentType,
this.initial, this.initial,

View File

@@ -25,9 +25,10 @@ class GetAccountByIdAccount {
final String last4; final String last4;
final bool? isPrimary; final bool? isPrimary;
final String ownerId; final String ownerId;
final String? accountNumber;
final String? routeNumber;
final Timestamp? expiryTime;
final Timestamp? createdAt; final Timestamp? createdAt;
final Timestamp? updatedAt;
final String? createdBy;
GetAccountByIdAccount.fromJson(dynamic json): GetAccountByIdAccount.fromJson(dynamic json):
id = nativeFromJson<String>(json['id']), id = nativeFromJson<String>(json['id']),
@@ -36,9 +37,10 @@ class GetAccountByIdAccount {
last4 = nativeFromJson<String>(json['last4']), last4 = nativeFromJson<String>(json['last4']),
isPrimary = json['isPrimary'] == null ? null : nativeFromJson<bool>(json['isPrimary']), isPrimary = json['isPrimary'] == null ? null : nativeFromJson<bool>(json['isPrimary']),
ownerId = nativeFromJson<String>(json['ownerId']), ownerId = nativeFromJson<String>(json['ownerId']),
createdAt = json['createdAt'] == null ? null : Timestamp.fromJson(json['createdAt']), accountNumber = json['accountNumber'] == null ? null : nativeFromJson<String>(json['accountNumber']),
updatedAt = json['updatedAt'] == null ? null : Timestamp.fromJson(json['updatedAt']), routeNumber = json['routeNumber'] == null ? null : nativeFromJson<String>(json['routeNumber']),
createdBy = json['createdBy'] == null ? null : nativeFromJson<String>(json['createdBy']); expiryTime = json['expiryTime'] == null ? null : Timestamp.fromJson(json['expiryTime']),
createdAt = json['createdAt'] == null ? null : Timestamp.fromJson(json['createdAt']);
@override @override
bool operator ==(Object other) { bool operator ==(Object other) {
if(identical(this, other)) { if(identical(this, other)) {
@@ -55,13 +57,14 @@ class GetAccountByIdAccount {
last4 == otherTyped.last4 && last4 == otherTyped.last4 &&
isPrimary == otherTyped.isPrimary && isPrimary == otherTyped.isPrimary &&
ownerId == otherTyped.ownerId && ownerId == otherTyped.ownerId &&
createdAt == otherTyped.createdAt && accountNumber == otherTyped.accountNumber &&
updatedAt == otherTyped.updatedAt && routeNumber == otherTyped.routeNumber &&
createdBy == otherTyped.createdBy; expiryTime == otherTyped.expiryTime &&
createdAt == otherTyped.createdAt;
} }
@override @override
int get hashCode => Object.hashAll([id.hashCode, bank.hashCode, type.hashCode, last4.hashCode, isPrimary.hashCode, ownerId.hashCode, createdAt.hashCode, updatedAt.hashCode, createdBy.hashCode]); int get hashCode => Object.hashAll([id.hashCode, bank.hashCode, type.hashCode, last4.hashCode, isPrimary.hashCode, ownerId.hashCode, accountNumber.hashCode, routeNumber.hashCode, expiryTime.hashCode, createdAt.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -76,15 +79,18 @@ class GetAccountByIdAccount {
json['isPrimary'] = nativeToJson<bool?>(isPrimary); json['isPrimary'] = nativeToJson<bool?>(isPrimary);
} }
json['ownerId'] = nativeToJson<String>(ownerId); json['ownerId'] = nativeToJson<String>(ownerId);
if (accountNumber != null) {
json['accountNumber'] = nativeToJson<String?>(accountNumber);
}
if (routeNumber != null) {
json['routeNumber'] = nativeToJson<String?>(routeNumber);
}
if (expiryTime != null) {
json['expiryTime'] = expiryTime!.toJson();
}
if (createdAt != null) { if (createdAt != null) {
json['createdAt'] = createdAt!.toJson(); json['createdAt'] = createdAt!.toJson();
} }
if (updatedAt != null) {
json['updatedAt'] = updatedAt!.toJson();
}
if (createdBy != null) {
json['createdBy'] = nativeToJson<String?>(createdBy);
}
return json; return json;
} }
@@ -95,9 +101,10 @@ class GetAccountByIdAccount {
required this.last4, required this.last4,
this.isPrimary, this.isPrimary,
required this.ownerId, required this.ownerId,
this.accountNumber,
this.routeNumber,
this.expiryTime,
this.createdAt, this.createdAt,
this.updatedAt,
this.createdBy,
}); });
} }

View File

@@ -25,9 +25,10 @@ class GetAccountsByOwnerIdAccounts {
final String last4; final String last4;
final bool? isPrimary; final bool? isPrimary;
final String ownerId; final String ownerId;
final String? accountNumber;
final String? routeNumber;
final Timestamp? expiryTime;
final Timestamp? createdAt; final Timestamp? createdAt;
final Timestamp? updatedAt;
final String? createdBy;
GetAccountsByOwnerIdAccounts.fromJson(dynamic json): GetAccountsByOwnerIdAccounts.fromJson(dynamic json):
id = nativeFromJson<String>(json['id']), id = nativeFromJson<String>(json['id']),
@@ -36,9 +37,10 @@ class GetAccountsByOwnerIdAccounts {
last4 = nativeFromJson<String>(json['last4']), last4 = nativeFromJson<String>(json['last4']),
isPrimary = json['isPrimary'] == null ? null : nativeFromJson<bool>(json['isPrimary']), isPrimary = json['isPrimary'] == null ? null : nativeFromJson<bool>(json['isPrimary']),
ownerId = nativeFromJson<String>(json['ownerId']), ownerId = nativeFromJson<String>(json['ownerId']),
createdAt = json['createdAt'] == null ? null : Timestamp.fromJson(json['createdAt']), accountNumber = json['accountNumber'] == null ? null : nativeFromJson<String>(json['accountNumber']),
updatedAt = json['updatedAt'] == null ? null : Timestamp.fromJson(json['updatedAt']), routeNumber = json['routeNumber'] == null ? null : nativeFromJson<String>(json['routeNumber']),
createdBy = json['createdBy'] == null ? null : nativeFromJson<String>(json['createdBy']); expiryTime = json['expiryTime'] == null ? null : Timestamp.fromJson(json['expiryTime']),
createdAt = json['createdAt'] == null ? null : Timestamp.fromJson(json['createdAt']);
@override @override
bool operator ==(Object other) { bool operator ==(Object other) {
if(identical(this, other)) { if(identical(this, other)) {
@@ -55,13 +57,14 @@ class GetAccountsByOwnerIdAccounts {
last4 == otherTyped.last4 && last4 == otherTyped.last4 &&
isPrimary == otherTyped.isPrimary && isPrimary == otherTyped.isPrimary &&
ownerId == otherTyped.ownerId && ownerId == otherTyped.ownerId &&
createdAt == otherTyped.createdAt && accountNumber == otherTyped.accountNumber &&
updatedAt == otherTyped.updatedAt && routeNumber == otherTyped.routeNumber &&
createdBy == otherTyped.createdBy; expiryTime == otherTyped.expiryTime &&
createdAt == otherTyped.createdAt;
} }
@override @override
int get hashCode => Object.hashAll([id.hashCode, bank.hashCode, type.hashCode, last4.hashCode, isPrimary.hashCode, ownerId.hashCode, createdAt.hashCode, updatedAt.hashCode, createdBy.hashCode]); int get hashCode => Object.hashAll([id.hashCode, bank.hashCode, type.hashCode, last4.hashCode, isPrimary.hashCode, ownerId.hashCode, accountNumber.hashCode, routeNumber.hashCode, expiryTime.hashCode, createdAt.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -76,15 +79,18 @@ class GetAccountsByOwnerIdAccounts {
json['isPrimary'] = nativeToJson<bool?>(isPrimary); json['isPrimary'] = nativeToJson<bool?>(isPrimary);
} }
json['ownerId'] = nativeToJson<String>(ownerId); json['ownerId'] = nativeToJson<String>(ownerId);
if (accountNumber != null) {
json['accountNumber'] = nativeToJson<String?>(accountNumber);
}
if (routeNumber != null) {
json['routeNumber'] = nativeToJson<String?>(routeNumber);
}
if (expiryTime != null) {
json['expiryTime'] = expiryTime!.toJson();
}
if (createdAt != null) { if (createdAt != null) {
json['createdAt'] = createdAt!.toJson(); json['createdAt'] = createdAt!.toJson();
} }
if (updatedAt != null) {
json['updatedAt'] = updatedAt!.toJson();
}
if (createdBy != null) {
json['createdBy'] = nativeToJson<String?>(createdBy);
}
return json; return json;
} }
@@ -95,9 +101,10 @@ class GetAccountsByOwnerIdAccounts {
required this.last4, required this.last4,
this.isPrimary, this.isPrimary,
required this.ownerId, required this.ownerId,
this.accountNumber,
this.routeNumber,
this.expiryTime,
this.createdAt, this.createdAt,
this.updatedAt,
this.createdBy,
}); });
} }

View File

@@ -0,0 +1,268 @@
part of 'generated.dart';
class GetCompletedShiftsByBusinessIdVariablesBuilder {
String businessId;
Timestamp dateFrom;
Timestamp dateTo;
Optional<int> _offset = Optional.optional(nativeFromJson, nativeToJson);
Optional<int> _limit = Optional.optional(nativeFromJson, nativeToJson);
final FirebaseDataConnect _dataConnect; GetCompletedShiftsByBusinessIdVariablesBuilder offset(int? t) {
_offset.value = t;
return this;
}
GetCompletedShiftsByBusinessIdVariablesBuilder limit(int? t) {
_limit.value = t;
return this;
}
GetCompletedShiftsByBusinessIdVariablesBuilder(this._dataConnect, {required this.businessId,required this.dateFrom,required this.dateTo,});
Deserializer<GetCompletedShiftsByBusinessIdData> dataDeserializer = (dynamic json) => GetCompletedShiftsByBusinessIdData.fromJson(jsonDecode(json));
Serializer<GetCompletedShiftsByBusinessIdVariables> varsSerializer = (GetCompletedShiftsByBusinessIdVariables vars) => jsonEncode(vars.toJson());
Future<QueryResult<GetCompletedShiftsByBusinessIdData, GetCompletedShiftsByBusinessIdVariables>> execute() {
return ref().execute();
}
QueryRef<GetCompletedShiftsByBusinessIdData, GetCompletedShiftsByBusinessIdVariables> ref() {
GetCompletedShiftsByBusinessIdVariables vars= GetCompletedShiftsByBusinessIdVariables(businessId: businessId,dateFrom: dateFrom,dateTo: dateTo,offset: _offset,limit: _limit,);
return _dataConnect.query("getCompletedShiftsByBusinessId", dataDeserializer, varsSerializer, vars);
}
}
@immutable
class GetCompletedShiftsByBusinessIdShifts {
final String id;
final Timestamp? date;
final Timestamp? startTime;
final Timestamp? endTime;
final double? hours;
final double? cost;
final int? workersNeeded;
final int? filled;
final Timestamp? createdAt;
final GetCompletedShiftsByBusinessIdShiftsOrder order;
GetCompletedShiftsByBusinessIdShifts.fromJson(dynamic json):
id = nativeFromJson<String>(json['id']),
date = json['date'] == null ? null : Timestamp.fromJson(json['date']),
startTime = json['startTime'] == null ? null : Timestamp.fromJson(json['startTime']),
endTime = json['endTime'] == null ? null : Timestamp.fromJson(json['endTime']),
hours = json['hours'] == null ? null : nativeFromJson<double>(json['hours']),
cost = json['cost'] == null ? null : nativeFromJson<double>(json['cost']),
workersNeeded = json['workersNeeded'] == null ? null : nativeFromJson<int>(json['workersNeeded']),
filled = json['filled'] == null ? null : nativeFromJson<int>(json['filled']),
createdAt = json['createdAt'] == null ? null : Timestamp.fromJson(json['createdAt']),
order = GetCompletedShiftsByBusinessIdShiftsOrder.fromJson(json['order']);
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final GetCompletedShiftsByBusinessIdShifts otherTyped = other as GetCompletedShiftsByBusinessIdShifts;
return id == otherTyped.id &&
date == otherTyped.date &&
startTime == otherTyped.startTime &&
endTime == otherTyped.endTime &&
hours == otherTyped.hours &&
cost == otherTyped.cost &&
workersNeeded == otherTyped.workersNeeded &&
filled == otherTyped.filled &&
createdAt == otherTyped.createdAt &&
order == otherTyped.order;
}
@override
int get hashCode => Object.hashAll([id.hashCode, date.hashCode, startTime.hashCode, endTime.hashCode, hours.hashCode, cost.hashCode, workersNeeded.hashCode, filled.hashCode, createdAt.hashCode, order.hashCode]);
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['id'] = nativeToJson<String>(id);
if (date != null) {
json['date'] = date!.toJson();
}
if (startTime != null) {
json['startTime'] = startTime!.toJson();
}
if (endTime != null) {
json['endTime'] = endTime!.toJson();
}
if (hours != null) {
json['hours'] = nativeToJson<double?>(hours);
}
if (cost != null) {
json['cost'] = nativeToJson<double?>(cost);
}
if (workersNeeded != null) {
json['workersNeeded'] = nativeToJson<int?>(workersNeeded);
}
if (filled != null) {
json['filled'] = nativeToJson<int?>(filled);
}
if (createdAt != null) {
json['createdAt'] = createdAt!.toJson();
}
json['order'] = order.toJson();
return json;
}
GetCompletedShiftsByBusinessIdShifts({
required this.id,
this.date,
this.startTime,
this.endTime,
this.hours,
this.cost,
this.workersNeeded,
this.filled,
this.createdAt,
required this.order,
});
}
@immutable
class GetCompletedShiftsByBusinessIdShiftsOrder {
final EnumValue<OrderStatus> status;
GetCompletedShiftsByBusinessIdShiftsOrder.fromJson(dynamic json):
status = orderStatusDeserializer(json['status']);
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final GetCompletedShiftsByBusinessIdShiftsOrder otherTyped = other as GetCompletedShiftsByBusinessIdShiftsOrder;
return status == otherTyped.status;
}
@override
int get hashCode => status.hashCode;
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['status'] =
orderStatusSerializer(status)
;
return json;
}
GetCompletedShiftsByBusinessIdShiftsOrder({
required this.status,
});
}
@immutable
class GetCompletedShiftsByBusinessIdData {
final List<GetCompletedShiftsByBusinessIdShifts> shifts;
GetCompletedShiftsByBusinessIdData.fromJson(dynamic json):
shifts = (json['shifts'] as List<dynamic>)
.map((e) => GetCompletedShiftsByBusinessIdShifts.fromJson(e))
.toList();
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final GetCompletedShiftsByBusinessIdData otherTyped = other as GetCompletedShiftsByBusinessIdData;
return shifts == otherTyped.shifts;
}
@override
int get hashCode => shifts.hashCode;
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['shifts'] = shifts.map((e) => e.toJson()).toList();
return json;
}
GetCompletedShiftsByBusinessIdData({
required this.shifts,
});
}
@immutable
class GetCompletedShiftsByBusinessIdVariables {
final String businessId;
final Timestamp dateFrom;
final Timestamp dateTo;
late final Optional<int>offset;
late final Optional<int>limit;
@Deprecated('fromJson is deprecated for Variable classes as they are no longer required for deserialization.')
GetCompletedShiftsByBusinessIdVariables.fromJson(Map<String, dynamic> json):
businessId = nativeFromJson<String>(json['businessId']),
dateFrom = Timestamp.fromJson(json['dateFrom']),
dateTo = Timestamp.fromJson(json['dateTo']) {
offset = Optional.optional(nativeFromJson, nativeToJson);
offset.value = json['offset'] == null ? null : nativeFromJson<int>(json['offset']);
limit = Optional.optional(nativeFromJson, nativeToJson);
limit.value = json['limit'] == null ? null : nativeFromJson<int>(json['limit']);
}
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final GetCompletedShiftsByBusinessIdVariables otherTyped = other as GetCompletedShiftsByBusinessIdVariables;
return businessId == otherTyped.businessId &&
dateFrom == otherTyped.dateFrom &&
dateTo == otherTyped.dateTo &&
offset == otherTyped.offset &&
limit == otherTyped.limit;
}
@override
int get hashCode => Object.hashAll([businessId.hashCode, dateFrom.hashCode, dateTo.hashCode, offset.hashCode, limit.hashCode]);
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['businessId'] = nativeToJson<String>(businessId);
json['dateFrom'] = dateFrom.toJson();
json['dateTo'] = dateTo.toJson();
if(offset.state == OptionalState.set) {
json['offset'] = offset.toJson();
}
if(limit.state == OptionalState.set) {
json['limit'] = limit.toJson();
}
return json;
}
GetCompletedShiftsByBusinessIdVariables({
required this.businessId,
required this.dateFrom,
required this.dateTo,
required this.offset,
required this.limit,
});
}

View File

@@ -37,8 +37,9 @@ class GetStaffByIdStaff {
final AnyValue? badges; final AnyValue? badges;
final bool? isRecommended; final bool? isRecommended;
final String? bio; final String? bio;
final AnyValue? industries; final List<String>? skills;
final AnyValue? preferredLocations; final List<String>? industries;
final List<String>? preferredLocations;
final int? maxDistanceMiles; final int? maxDistanceMiles;
final AnyValue? languages; final AnyValue? languages;
final AnyValue? itemsAttire; final AnyValue? itemsAttire;
@@ -76,8 +77,15 @@ class GetStaffByIdStaff {
badges = json['badges'] == null ? null : AnyValue.fromJson(json['badges']), badges = json['badges'] == null ? null : AnyValue.fromJson(json['badges']),
isRecommended = json['isRecommended'] == null ? null : nativeFromJson<bool>(json['isRecommended']), isRecommended = json['isRecommended'] == null ? null : nativeFromJson<bool>(json['isRecommended']),
bio = json['bio'] == null ? null : nativeFromJson<String>(json['bio']), bio = json['bio'] == null ? null : nativeFromJson<String>(json['bio']),
industries = json['industries'] == null ? null : AnyValue.fromJson(json['industries']), skills = json['skills'] == null ? null : (json['skills'] as List<dynamic>)
preferredLocations = json['preferredLocations'] == null ? null : AnyValue.fromJson(json['preferredLocations']), .map((e) => nativeFromJson<String>(e))
.toList(),
industries = json['industries'] == null ? null : (json['industries'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList(),
preferredLocations = json['preferredLocations'] == null ? null : (json['preferredLocations'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList(),
maxDistanceMiles = json['maxDistanceMiles'] == null ? null : nativeFromJson<int>(json['maxDistanceMiles']), maxDistanceMiles = json['maxDistanceMiles'] == null ? null : nativeFromJson<int>(json['maxDistanceMiles']),
languages = json['languages'] == null ? null : AnyValue.fromJson(json['languages']), languages = json['languages'] == null ? null : AnyValue.fromJson(json['languages']),
itemsAttire = json['itemsAttire'] == null ? null : AnyValue.fromJson(json['itemsAttire']), itemsAttire = json['itemsAttire'] == null ? null : AnyValue.fromJson(json['itemsAttire']),
@@ -123,6 +131,7 @@ class GetStaffByIdStaff {
badges == otherTyped.badges && badges == otherTyped.badges &&
isRecommended == otherTyped.isRecommended && isRecommended == otherTyped.isRecommended &&
bio == otherTyped.bio && bio == otherTyped.bio &&
skills == otherTyped.skills &&
industries == otherTyped.industries && industries == otherTyped.industries &&
preferredLocations == otherTyped.preferredLocations && preferredLocations == otherTyped.preferredLocations &&
maxDistanceMiles == otherTyped.maxDistanceMiles && maxDistanceMiles == otherTyped.maxDistanceMiles &&
@@ -145,7 +154,7 @@ class GetStaffByIdStaff {
} }
@override @override
int get hashCode => Object.hashAll([id.hashCode, userId.hashCode, fullName.hashCode, role.hashCode, level.hashCode, phone.hashCode, email.hashCode, photoUrl.hashCode, totalShifts.hashCode, averageRating.hashCode, onTimeRate.hashCode, noShowCount.hashCode, cancellationCount.hashCode, reliabilityScore.hashCode, xp.hashCode, badges.hashCode, isRecommended.hashCode, bio.hashCode, industries.hashCode, preferredLocations.hashCode, maxDistanceMiles.hashCode, languages.hashCode, itemsAttire.hashCode, ownerId.hashCode, createdAt.hashCode, updatedAt.hashCode, createdBy.hashCode, department.hashCode, hubId.hashCode, manager.hashCode, english.hashCode, backgroundCheckStatus.hashCode, employmentType.hashCode, initial.hashCode, englishRequired.hashCode, city.hashCode, addres.hashCode]); int get hashCode => Object.hashAll([id.hashCode, userId.hashCode, fullName.hashCode, role.hashCode, level.hashCode, phone.hashCode, email.hashCode, photoUrl.hashCode, totalShifts.hashCode, averageRating.hashCode, onTimeRate.hashCode, noShowCount.hashCode, cancellationCount.hashCode, reliabilityScore.hashCode, xp.hashCode, badges.hashCode, isRecommended.hashCode, bio.hashCode, skills.hashCode, industries.hashCode, preferredLocations.hashCode, maxDistanceMiles.hashCode, languages.hashCode, itemsAttire.hashCode, ownerId.hashCode, createdAt.hashCode, updatedAt.hashCode, createdBy.hashCode, department.hashCode, hubId.hashCode, manager.hashCode, english.hashCode, backgroundCheckStatus.hashCode, employmentType.hashCode, initial.hashCode, englishRequired.hashCode, city.hashCode, addres.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -198,11 +207,14 @@ class GetStaffByIdStaff {
if (bio != null) { if (bio != null) {
json['bio'] = nativeToJson<String?>(bio); json['bio'] = nativeToJson<String?>(bio);
} }
if (skills != null) {
json['skills'] = skills?.map((e) => nativeToJson<String>(e)).toList();
}
if (industries != null) { if (industries != null) {
json['industries'] = industries!.toJson(); json['industries'] = industries?.map((e) => nativeToJson<String>(e)).toList();
} }
if (preferredLocations != null) { if (preferredLocations != null) {
json['preferredLocations'] = preferredLocations!.toJson(); json['preferredLocations'] = preferredLocations?.map((e) => nativeToJson<String>(e)).toList();
} }
if (maxDistanceMiles != null) { if (maxDistanceMiles != null) {
json['maxDistanceMiles'] = nativeToJson<int?>(maxDistanceMiles); json['maxDistanceMiles'] = nativeToJson<int?>(maxDistanceMiles);
@@ -285,6 +297,7 @@ class GetStaffByIdStaff {
this.badges, this.badges,
this.isRecommended, this.isRecommended,
this.bio, this.bio,
this.skills,
this.industries, this.industries,
this.preferredLocations, this.preferredLocations,
this.maxDistanceMiles, this.maxDistanceMiles,

View File

@@ -36,8 +36,9 @@ class GetStaffByUserIdStaffs {
final AnyValue? badges; final AnyValue? badges;
final bool? isRecommended; final bool? isRecommended;
final String? bio; final String? bio;
final AnyValue? industries; final List<String>? skills;
final AnyValue? preferredLocations; final List<String>? industries;
final List<String>? preferredLocations;
final int? maxDistanceMiles; final int? maxDistanceMiles;
final AnyValue? languages; final AnyValue? languages;
final AnyValue? itemsAttire; final AnyValue? itemsAttire;
@@ -74,8 +75,15 @@ class GetStaffByUserIdStaffs {
badges = json['badges'] == null ? null : AnyValue.fromJson(json['badges']), badges = json['badges'] == null ? null : AnyValue.fromJson(json['badges']),
isRecommended = json['isRecommended'] == null ? null : nativeFromJson<bool>(json['isRecommended']), isRecommended = json['isRecommended'] == null ? null : nativeFromJson<bool>(json['isRecommended']),
bio = json['bio'] == null ? null : nativeFromJson<String>(json['bio']), bio = json['bio'] == null ? null : nativeFromJson<String>(json['bio']),
industries = json['industries'] == null ? null : AnyValue.fromJson(json['industries']), skills = json['skills'] == null ? null : (json['skills'] as List<dynamic>)
preferredLocations = json['preferredLocations'] == null ? null : AnyValue.fromJson(json['preferredLocations']), .map((e) => nativeFromJson<String>(e))
.toList(),
industries = json['industries'] == null ? null : (json['industries'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList(),
preferredLocations = json['preferredLocations'] == null ? null : (json['preferredLocations'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList(),
maxDistanceMiles = json['maxDistanceMiles'] == null ? null : nativeFromJson<int>(json['maxDistanceMiles']), maxDistanceMiles = json['maxDistanceMiles'] == null ? null : nativeFromJson<int>(json['maxDistanceMiles']),
languages = json['languages'] == null ? null : AnyValue.fromJson(json['languages']), languages = json['languages'] == null ? null : AnyValue.fromJson(json['languages']),
itemsAttire = json['itemsAttire'] == null ? null : AnyValue.fromJson(json['itemsAttire']), itemsAttire = json['itemsAttire'] == null ? null : AnyValue.fromJson(json['itemsAttire']),
@@ -120,6 +128,7 @@ class GetStaffByUserIdStaffs {
badges == otherTyped.badges && badges == otherTyped.badges &&
isRecommended == otherTyped.isRecommended && isRecommended == otherTyped.isRecommended &&
bio == otherTyped.bio && bio == otherTyped.bio &&
skills == otherTyped.skills &&
industries == otherTyped.industries && industries == otherTyped.industries &&
preferredLocations == otherTyped.preferredLocations && preferredLocations == otherTyped.preferredLocations &&
maxDistanceMiles == otherTyped.maxDistanceMiles && maxDistanceMiles == otherTyped.maxDistanceMiles &&
@@ -142,7 +151,7 @@ class GetStaffByUserIdStaffs {
} }
@override @override
int get hashCode => Object.hashAll([id.hashCode, userId.hashCode, fullName.hashCode, level.hashCode, phone.hashCode, email.hashCode, photoUrl.hashCode, totalShifts.hashCode, averageRating.hashCode, onTimeRate.hashCode, noShowCount.hashCode, cancellationCount.hashCode, reliabilityScore.hashCode, xp.hashCode, badges.hashCode, isRecommended.hashCode, bio.hashCode, industries.hashCode, preferredLocations.hashCode, maxDistanceMiles.hashCode, languages.hashCode, itemsAttire.hashCode, ownerId.hashCode, createdAt.hashCode, updatedAt.hashCode, createdBy.hashCode, department.hashCode, hubId.hashCode, manager.hashCode, english.hashCode, backgroundCheckStatus.hashCode, employmentType.hashCode, initial.hashCode, englishRequired.hashCode, city.hashCode, addres.hashCode]); int get hashCode => Object.hashAll([id.hashCode, userId.hashCode, fullName.hashCode, level.hashCode, phone.hashCode, email.hashCode, photoUrl.hashCode, totalShifts.hashCode, averageRating.hashCode, onTimeRate.hashCode, noShowCount.hashCode, cancellationCount.hashCode, reliabilityScore.hashCode, xp.hashCode, badges.hashCode, isRecommended.hashCode, bio.hashCode, skills.hashCode, industries.hashCode, preferredLocations.hashCode, maxDistanceMiles.hashCode, languages.hashCode, itemsAttire.hashCode, ownerId.hashCode, createdAt.hashCode, updatedAt.hashCode, createdBy.hashCode, department.hashCode, hubId.hashCode, manager.hashCode, english.hashCode, backgroundCheckStatus.hashCode, employmentType.hashCode, initial.hashCode, englishRequired.hashCode, city.hashCode, addres.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -192,11 +201,14 @@ class GetStaffByUserIdStaffs {
if (bio != null) { if (bio != null) {
json['bio'] = nativeToJson<String?>(bio); json['bio'] = nativeToJson<String?>(bio);
} }
if (skills != null) {
json['skills'] = skills?.map((e) => nativeToJson<String>(e)).toList();
}
if (industries != null) { if (industries != null) {
json['industries'] = industries!.toJson(); json['industries'] = industries?.map((e) => nativeToJson<String>(e)).toList();
} }
if (preferredLocations != null) { if (preferredLocations != null) {
json['preferredLocations'] = preferredLocations!.toJson(); json['preferredLocations'] = preferredLocations?.map((e) => nativeToJson<String>(e)).toList();
} }
if (maxDistanceMiles != null) { if (maxDistanceMiles != null) {
json['maxDistanceMiles'] = nativeToJson<int?>(maxDistanceMiles); json['maxDistanceMiles'] = nativeToJson<int?>(maxDistanceMiles);
@@ -278,6 +290,7 @@ class GetStaffByUserIdStaffs {
this.badges, this.badges,
this.isRecommended, this.isRecommended,
this.bio, this.bio,
this.skills,
this.industries, this.industries,
this.preferredLocations, this.preferredLocations,
this.maxDistanceMiles, this.maxDistanceMiles,

View File

@@ -24,9 +24,10 @@ class ListAccountsAccounts {
final String last4; final String last4;
final bool? isPrimary; final bool? isPrimary;
final String ownerId; final String ownerId;
final String? accountNumber;
final String? routeNumber;
final Timestamp? expiryTime;
final Timestamp? createdAt; final Timestamp? createdAt;
final Timestamp? updatedAt;
final String? createdBy;
ListAccountsAccounts.fromJson(dynamic json): ListAccountsAccounts.fromJson(dynamic json):
id = nativeFromJson<String>(json['id']), id = nativeFromJson<String>(json['id']),
@@ -35,9 +36,10 @@ class ListAccountsAccounts {
last4 = nativeFromJson<String>(json['last4']), last4 = nativeFromJson<String>(json['last4']),
isPrimary = json['isPrimary'] == null ? null : nativeFromJson<bool>(json['isPrimary']), isPrimary = json['isPrimary'] == null ? null : nativeFromJson<bool>(json['isPrimary']),
ownerId = nativeFromJson<String>(json['ownerId']), ownerId = nativeFromJson<String>(json['ownerId']),
createdAt = json['createdAt'] == null ? null : Timestamp.fromJson(json['createdAt']), accountNumber = json['accountNumber'] == null ? null : nativeFromJson<String>(json['accountNumber']),
updatedAt = json['updatedAt'] == null ? null : Timestamp.fromJson(json['updatedAt']), routeNumber = json['routeNumber'] == null ? null : nativeFromJson<String>(json['routeNumber']),
createdBy = json['createdBy'] == null ? null : nativeFromJson<String>(json['createdBy']); expiryTime = json['expiryTime'] == null ? null : Timestamp.fromJson(json['expiryTime']),
createdAt = json['createdAt'] == null ? null : Timestamp.fromJson(json['createdAt']);
@override @override
bool operator ==(Object other) { bool operator ==(Object other) {
if(identical(this, other)) { if(identical(this, other)) {
@@ -54,13 +56,14 @@ class ListAccountsAccounts {
last4 == otherTyped.last4 && last4 == otherTyped.last4 &&
isPrimary == otherTyped.isPrimary && isPrimary == otherTyped.isPrimary &&
ownerId == otherTyped.ownerId && ownerId == otherTyped.ownerId &&
createdAt == otherTyped.createdAt && accountNumber == otherTyped.accountNumber &&
updatedAt == otherTyped.updatedAt && routeNumber == otherTyped.routeNumber &&
createdBy == otherTyped.createdBy; expiryTime == otherTyped.expiryTime &&
createdAt == otherTyped.createdAt;
} }
@override @override
int get hashCode => Object.hashAll([id.hashCode, bank.hashCode, type.hashCode, last4.hashCode, isPrimary.hashCode, ownerId.hashCode, createdAt.hashCode, updatedAt.hashCode, createdBy.hashCode]); int get hashCode => Object.hashAll([id.hashCode, bank.hashCode, type.hashCode, last4.hashCode, isPrimary.hashCode, ownerId.hashCode, accountNumber.hashCode, routeNumber.hashCode, expiryTime.hashCode, createdAt.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -75,15 +78,18 @@ class ListAccountsAccounts {
json['isPrimary'] = nativeToJson<bool?>(isPrimary); json['isPrimary'] = nativeToJson<bool?>(isPrimary);
} }
json['ownerId'] = nativeToJson<String>(ownerId); json['ownerId'] = nativeToJson<String>(ownerId);
if (accountNumber != null) {
json['accountNumber'] = nativeToJson<String?>(accountNumber);
}
if (routeNumber != null) {
json['routeNumber'] = nativeToJson<String?>(routeNumber);
}
if (expiryTime != null) {
json['expiryTime'] = expiryTime!.toJson();
}
if (createdAt != null) { if (createdAt != null) {
json['createdAt'] = createdAt!.toJson(); json['createdAt'] = createdAt!.toJson();
} }
if (updatedAt != null) {
json['updatedAt'] = updatedAt!.toJson();
}
if (createdBy != null) {
json['createdBy'] = nativeToJson<String?>(createdBy);
}
return json; return json;
} }
@@ -94,9 +100,10 @@ class ListAccountsAccounts {
required this.last4, required this.last4,
this.isPrimary, this.isPrimary,
required this.ownerId, required this.ownerId,
this.accountNumber,
this.routeNumber,
this.expiryTime,
this.createdAt, this.createdAt,
this.updatedAt,
this.createdBy,
}); });
} }

View File

@@ -6,6 +6,7 @@ class ListShiftRolesByBusinessAndDateRangeVariablesBuilder {
Timestamp end; Timestamp end;
Optional<int> _offset = Optional.optional(nativeFromJson, nativeToJson); Optional<int> _offset = Optional.optional(nativeFromJson, nativeToJson);
Optional<int> _limit = Optional.optional(nativeFromJson, nativeToJson); Optional<int> _limit = Optional.optional(nativeFromJson, nativeToJson);
Optional<ShiftStatus> _status = Optional.optional((data) => ShiftStatus.values.byName(data), enumSerializer);
final FirebaseDataConnect _dataConnect; ListShiftRolesByBusinessAndDateRangeVariablesBuilder offset(int? t) { final FirebaseDataConnect _dataConnect; ListShiftRolesByBusinessAndDateRangeVariablesBuilder offset(int? t) {
_offset.value = t; _offset.value = t;
@@ -15,6 +16,10 @@ class ListShiftRolesByBusinessAndDateRangeVariablesBuilder {
_limit.value = t; _limit.value = t;
return this; return this;
} }
ListShiftRolesByBusinessAndDateRangeVariablesBuilder status(ShiftStatus? t) {
_status.value = t;
return this;
}
ListShiftRolesByBusinessAndDateRangeVariablesBuilder(this._dataConnect, {required this.businessId,required this.start,required this.end,}); ListShiftRolesByBusinessAndDateRangeVariablesBuilder(this._dataConnect, {required this.businessId,required this.start,required this.end,});
Deserializer<ListShiftRolesByBusinessAndDateRangeData> dataDeserializer = (dynamic json) => ListShiftRolesByBusinessAndDateRangeData.fromJson(jsonDecode(json)); Deserializer<ListShiftRolesByBusinessAndDateRangeData> dataDeserializer = (dynamic json) => ListShiftRolesByBusinessAndDateRangeData.fromJson(jsonDecode(json));
@@ -24,7 +29,7 @@ class ListShiftRolesByBusinessAndDateRangeVariablesBuilder {
} }
QueryRef<ListShiftRolesByBusinessAndDateRangeData, ListShiftRolesByBusinessAndDateRangeVariables> ref() { QueryRef<ListShiftRolesByBusinessAndDateRangeData, ListShiftRolesByBusinessAndDateRangeVariables> ref() {
ListShiftRolesByBusinessAndDateRangeVariables vars= ListShiftRolesByBusinessAndDateRangeVariables(businessId: businessId,start: start,end: end,offset: _offset,limit: _limit,); ListShiftRolesByBusinessAndDateRangeVariables vars= ListShiftRolesByBusinessAndDateRangeVariables(businessId: businessId,start: start,end: end,offset: _offset,limit: _limit,status: _status,);
return _dataConnect.query("listShiftRolesByBusinessAndDateRange", dataDeserializer, varsSerializer, vars); return _dataConnect.query("listShiftRolesByBusinessAndDateRange", dataDeserializer, varsSerializer, vars);
} }
} }
@@ -308,6 +313,7 @@ class ListShiftRolesByBusinessAndDateRangeVariables {
final Timestamp end; final Timestamp end;
late final Optional<int>offset; late final Optional<int>offset;
late final Optional<int>limit; late final Optional<int>limit;
late final Optional<ShiftStatus>status;
@Deprecated('fromJson is deprecated for Variable classes as they are no longer required for deserialization.') @Deprecated('fromJson is deprecated for Variable classes as they are no longer required for deserialization.')
ListShiftRolesByBusinessAndDateRangeVariables.fromJson(Map<String, dynamic> json): ListShiftRolesByBusinessAndDateRangeVariables.fromJson(Map<String, dynamic> json):
@@ -326,6 +332,10 @@ class ListShiftRolesByBusinessAndDateRangeVariables {
limit = Optional.optional(nativeFromJson, nativeToJson); limit = Optional.optional(nativeFromJson, nativeToJson);
limit.value = json['limit'] == null ? null : nativeFromJson<int>(json['limit']); limit.value = json['limit'] == null ? null : nativeFromJson<int>(json['limit']);
status = Optional.optional((data) => ShiftStatus.values.byName(data), enumSerializer);
status.value = json['status'] == null ? null : ShiftStatus.values.byName(json['status']);
} }
@override @override
bool operator ==(Object other) { bool operator ==(Object other) {
@@ -341,11 +351,12 @@ class ListShiftRolesByBusinessAndDateRangeVariables {
start == otherTyped.start && start == otherTyped.start &&
end == otherTyped.end && end == otherTyped.end &&
offset == otherTyped.offset && offset == otherTyped.offset &&
limit == otherTyped.limit; limit == otherTyped.limit &&
status == otherTyped.status;
} }
@override @override
int get hashCode => Object.hashAll([businessId.hashCode, start.hashCode, end.hashCode, offset.hashCode, limit.hashCode]); int get hashCode => Object.hashAll([businessId.hashCode, start.hashCode, end.hashCode, offset.hashCode, limit.hashCode, status.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -359,6 +370,9 @@ class ListShiftRolesByBusinessAndDateRangeVariables {
if(limit.state == OptionalState.set) { if(limit.state == OptionalState.set) {
json['limit'] = limit.toJson(); json['limit'] = limit.toJson();
} }
if(status.state == OptionalState.set) {
json['status'] = status.toJson();
}
return json; return json;
} }
@@ -368,6 +382,7 @@ class ListShiftRolesByBusinessAndDateRangeVariables {
required this.end, required this.end,
required this.offset, required this.offset,
required this.limit, required this.limit,
required this.status,
}); });
} }

View File

@@ -0,0 +1,229 @@
part of 'generated.dart';
class ListShiftRolesByBusinessAndDatesSummaryVariablesBuilder {
String businessId;
Timestamp start;
Timestamp end;
Optional<int> _offset = Optional.optional(nativeFromJson, nativeToJson);
Optional<int> _limit = Optional.optional(nativeFromJson, nativeToJson);
final FirebaseDataConnect _dataConnect; ListShiftRolesByBusinessAndDatesSummaryVariablesBuilder offset(int? t) {
_offset.value = t;
return this;
}
ListShiftRolesByBusinessAndDatesSummaryVariablesBuilder limit(int? t) {
_limit.value = t;
return this;
}
ListShiftRolesByBusinessAndDatesSummaryVariablesBuilder(this._dataConnect, {required this.businessId,required this.start,required this.end,});
Deserializer<ListShiftRolesByBusinessAndDatesSummaryData> dataDeserializer = (dynamic json) => ListShiftRolesByBusinessAndDatesSummaryData.fromJson(jsonDecode(json));
Serializer<ListShiftRolesByBusinessAndDatesSummaryVariables> varsSerializer = (ListShiftRolesByBusinessAndDatesSummaryVariables vars) => jsonEncode(vars.toJson());
Future<QueryResult<ListShiftRolesByBusinessAndDatesSummaryData, ListShiftRolesByBusinessAndDatesSummaryVariables>> execute() {
return ref().execute();
}
QueryRef<ListShiftRolesByBusinessAndDatesSummaryData, ListShiftRolesByBusinessAndDatesSummaryVariables> ref() {
ListShiftRolesByBusinessAndDatesSummaryVariables vars= ListShiftRolesByBusinessAndDatesSummaryVariables(businessId: businessId,start: start,end: end,offset: _offset,limit: _limit,);
return _dataConnect.query("listShiftRolesByBusinessAndDatesSummary", dataDeserializer, varsSerializer, vars);
}
}
@immutable
class ListShiftRolesByBusinessAndDatesSummaryShiftRoles {
final String roleId;
final double? hours;
final double? totalValue;
final ListShiftRolesByBusinessAndDatesSummaryShiftRolesRole role;
ListShiftRolesByBusinessAndDatesSummaryShiftRoles.fromJson(dynamic json):
roleId = nativeFromJson<String>(json['roleId']),
hours = json['hours'] == null ? null : nativeFromJson<double>(json['hours']),
totalValue = json['totalValue'] == null ? null : nativeFromJson<double>(json['totalValue']),
role = ListShiftRolesByBusinessAndDatesSummaryShiftRolesRole.fromJson(json['role']);
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final ListShiftRolesByBusinessAndDatesSummaryShiftRoles otherTyped = other as ListShiftRolesByBusinessAndDatesSummaryShiftRoles;
return roleId == otherTyped.roleId &&
hours == otherTyped.hours &&
totalValue == otherTyped.totalValue &&
role == otherTyped.role;
}
@override
int get hashCode => Object.hashAll([roleId.hashCode, hours.hashCode, totalValue.hashCode, role.hashCode]);
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['roleId'] = nativeToJson<String>(roleId);
if (hours != null) {
json['hours'] = nativeToJson<double?>(hours);
}
if (totalValue != null) {
json['totalValue'] = nativeToJson<double?>(totalValue);
}
json['role'] = role.toJson();
return json;
}
ListShiftRolesByBusinessAndDatesSummaryShiftRoles({
required this.roleId,
this.hours,
this.totalValue,
required this.role,
});
}
@immutable
class ListShiftRolesByBusinessAndDatesSummaryShiftRolesRole {
final String id;
final String name;
ListShiftRolesByBusinessAndDatesSummaryShiftRolesRole.fromJson(dynamic json):
id = nativeFromJson<String>(json['id']),
name = nativeFromJson<String>(json['name']);
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final ListShiftRolesByBusinessAndDatesSummaryShiftRolesRole otherTyped = other as ListShiftRolesByBusinessAndDatesSummaryShiftRolesRole;
return id == otherTyped.id &&
name == otherTyped.name;
}
@override
int get hashCode => Object.hashAll([id.hashCode, name.hashCode]);
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['id'] = nativeToJson<String>(id);
json['name'] = nativeToJson<String>(name);
return json;
}
ListShiftRolesByBusinessAndDatesSummaryShiftRolesRole({
required this.id,
required this.name,
});
}
@immutable
class ListShiftRolesByBusinessAndDatesSummaryData {
final List<ListShiftRolesByBusinessAndDatesSummaryShiftRoles> shiftRoles;
ListShiftRolesByBusinessAndDatesSummaryData.fromJson(dynamic json):
shiftRoles = (json['shiftRoles'] as List<dynamic>)
.map((e) => ListShiftRolesByBusinessAndDatesSummaryShiftRoles.fromJson(e))
.toList();
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final ListShiftRolesByBusinessAndDatesSummaryData otherTyped = other as ListShiftRolesByBusinessAndDatesSummaryData;
return shiftRoles == otherTyped.shiftRoles;
}
@override
int get hashCode => shiftRoles.hashCode;
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['shiftRoles'] = shiftRoles.map((e) => e.toJson()).toList();
return json;
}
ListShiftRolesByBusinessAndDatesSummaryData({
required this.shiftRoles,
});
}
@immutable
class ListShiftRolesByBusinessAndDatesSummaryVariables {
final String businessId;
final Timestamp start;
final Timestamp end;
late final Optional<int>offset;
late final Optional<int>limit;
@Deprecated('fromJson is deprecated for Variable classes as they are no longer required for deserialization.')
ListShiftRolesByBusinessAndDatesSummaryVariables.fromJson(Map<String, dynamic> json):
businessId = nativeFromJson<String>(json['businessId']),
start = Timestamp.fromJson(json['start']),
end = Timestamp.fromJson(json['end']) {
offset = Optional.optional(nativeFromJson, nativeToJson);
offset.value = json['offset'] == null ? null : nativeFromJson<int>(json['offset']);
limit = Optional.optional(nativeFromJson, nativeToJson);
limit.value = json['limit'] == null ? null : nativeFromJson<int>(json['limit']);
}
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final ListShiftRolesByBusinessAndDatesSummaryVariables otherTyped = other as ListShiftRolesByBusinessAndDatesSummaryVariables;
return businessId == otherTyped.businessId &&
start == otherTyped.start &&
end == otherTyped.end &&
offset == otherTyped.offset &&
limit == otherTyped.limit;
}
@override
int get hashCode => Object.hashAll([businessId.hashCode, start.hashCode, end.hashCode, offset.hashCode, limit.hashCode]);
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['businessId'] = nativeToJson<String>(businessId);
json['start'] = start.toJson();
json['end'] = end.toJson();
if(offset.state == OptionalState.set) {
json['offset'] = offset.toJson();
}
if(limit.state == OptionalState.set) {
json['limit'] = limit.toJson();
}
return json;
}
ListShiftRolesByBusinessAndDatesSummaryVariables({
required this.businessId,
required this.start,
required this.end,
required this.offset,
required this.limit,
});
}

View File

@@ -36,8 +36,9 @@ class ListStaffStaffs {
final AnyValue? badges; final AnyValue? badges;
final bool? isRecommended; final bool? isRecommended;
final String? bio; final String? bio;
final AnyValue? industries; final List<String>? skills;
final AnyValue? preferredLocations; final List<String>? industries;
final List<String>? preferredLocations;
final int? maxDistanceMiles; final int? maxDistanceMiles;
final AnyValue? languages; final AnyValue? languages;
final AnyValue? itemsAttire; final AnyValue? itemsAttire;
@@ -73,8 +74,15 @@ class ListStaffStaffs {
badges = json['badges'] == null ? null : AnyValue.fromJson(json['badges']), badges = json['badges'] == null ? null : AnyValue.fromJson(json['badges']),
isRecommended = json['isRecommended'] == null ? null : nativeFromJson<bool>(json['isRecommended']), isRecommended = json['isRecommended'] == null ? null : nativeFromJson<bool>(json['isRecommended']),
bio = json['bio'] == null ? null : nativeFromJson<String>(json['bio']), bio = json['bio'] == null ? null : nativeFromJson<String>(json['bio']),
industries = json['industries'] == null ? null : AnyValue.fromJson(json['industries']), skills = json['skills'] == null ? null : (json['skills'] as List<dynamic>)
preferredLocations = json['preferredLocations'] == null ? null : AnyValue.fromJson(json['preferredLocations']), .map((e) => nativeFromJson<String>(e))
.toList(),
industries = json['industries'] == null ? null : (json['industries'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList(),
preferredLocations = json['preferredLocations'] == null ? null : (json['preferredLocations'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList(),
maxDistanceMiles = json['maxDistanceMiles'] == null ? null : nativeFromJson<int>(json['maxDistanceMiles']), maxDistanceMiles = json['maxDistanceMiles'] == null ? null : nativeFromJson<int>(json['maxDistanceMiles']),
languages = json['languages'] == null ? null : AnyValue.fromJson(json['languages']), languages = json['languages'] == null ? null : AnyValue.fromJson(json['languages']),
itemsAttire = json['itemsAttire'] == null ? null : AnyValue.fromJson(json['itemsAttire']), itemsAttire = json['itemsAttire'] == null ? null : AnyValue.fromJson(json['itemsAttire']),
@@ -118,6 +126,7 @@ class ListStaffStaffs {
badges == otherTyped.badges && badges == otherTyped.badges &&
isRecommended == otherTyped.isRecommended && isRecommended == otherTyped.isRecommended &&
bio == otherTyped.bio && bio == otherTyped.bio &&
skills == otherTyped.skills &&
industries == otherTyped.industries && industries == otherTyped.industries &&
preferredLocations == otherTyped.preferredLocations && preferredLocations == otherTyped.preferredLocations &&
maxDistanceMiles == otherTyped.maxDistanceMiles && maxDistanceMiles == otherTyped.maxDistanceMiles &&
@@ -138,7 +147,7 @@ class ListStaffStaffs {
} }
@override @override
int get hashCode => Object.hashAll([id.hashCode, userId.hashCode, fullName.hashCode, level.hashCode, role.hashCode, phone.hashCode, email.hashCode, photoUrl.hashCode, totalShifts.hashCode, averageRating.hashCode, onTimeRate.hashCode, noShowCount.hashCode, cancellationCount.hashCode, reliabilityScore.hashCode, xp.hashCode, badges.hashCode, isRecommended.hashCode, bio.hashCode, industries.hashCode, preferredLocations.hashCode, maxDistanceMiles.hashCode, languages.hashCode, itemsAttire.hashCode, ownerId.hashCode, createdAt.hashCode, department.hashCode, hubId.hashCode, manager.hashCode, english.hashCode, backgroundCheckStatus.hashCode, employmentType.hashCode, initial.hashCode, englishRequired.hashCode, city.hashCode, addres.hashCode]); int get hashCode => Object.hashAll([id.hashCode, userId.hashCode, fullName.hashCode, level.hashCode, role.hashCode, phone.hashCode, email.hashCode, photoUrl.hashCode, totalShifts.hashCode, averageRating.hashCode, onTimeRate.hashCode, noShowCount.hashCode, cancellationCount.hashCode, reliabilityScore.hashCode, xp.hashCode, badges.hashCode, isRecommended.hashCode, bio.hashCode, skills.hashCode, industries.hashCode, preferredLocations.hashCode, maxDistanceMiles.hashCode, languages.hashCode, itemsAttire.hashCode, ownerId.hashCode, createdAt.hashCode, department.hashCode, hubId.hashCode, manager.hashCode, english.hashCode, backgroundCheckStatus.hashCode, employmentType.hashCode, initial.hashCode, englishRequired.hashCode, city.hashCode, addres.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -191,11 +200,14 @@ class ListStaffStaffs {
if (bio != null) { if (bio != null) {
json['bio'] = nativeToJson<String?>(bio); json['bio'] = nativeToJson<String?>(bio);
} }
if (skills != null) {
json['skills'] = skills?.map((e) => nativeToJson<String>(e)).toList();
}
if (industries != null) { if (industries != null) {
json['industries'] = industries!.toJson(); json['industries'] = industries?.map((e) => nativeToJson<String>(e)).toList();
} }
if (preferredLocations != null) { if (preferredLocations != null) {
json['preferredLocations'] = preferredLocations!.toJson(); json['preferredLocations'] = preferredLocations?.map((e) => nativeToJson<String>(e)).toList();
} }
if (maxDistanceMiles != null) { if (maxDistanceMiles != null) {
json['maxDistanceMiles'] = nativeToJson<int?>(maxDistanceMiles); json['maxDistanceMiles'] = nativeToJson<int?>(maxDistanceMiles);
@@ -272,6 +284,7 @@ class ListStaffStaffs {
this.badges, this.badges,
this.isRecommended, this.isRecommended,
this.bio, this.bio,
this.skills,
this.industries, this.industries,
this.preferredLocations, this.preferredLocations,
this.maxDistanceMiles, this.maxDistanceMiles,

View File

@@ -0,0 +1,407 @@
part of 'generated.dart';
class ListStaffsApplicationsByBusinessForDayVariablesBuilder {
String businessId;
Timestamp dayStart;
Timestamp dayEnd;
Optional<int> _offset = Optional.optional(nativeFromJson, nativeToJson);
Optional<int> _limit = Optional.optional(nativeFromJson, nativeToJson);
final FirebaseDataConnect _dataConnect; ListStaffsApplicationsByBusinessForDayVariablesBuilder offset(int? t) {
_offset.value = t;
return this;
}
ListStaffsApplicationsByBusinessForDayVariablesBuilder limit(int? t) {
_limit.value = t;
return this;
}
ListStaffsApplicationsByBusinessForDayVariablesBuilder(this._dataConnect, {required this.businessId,required this.dayStart,required this.dayEnd,});
Deserializer<ListStaffsApplicationsByBusinessForDayData> dataDeserializer = (dynamic json) => ListStaffsApplicationsByBusinessForDayData.fromJson(jsonDecode(json));
Serializer<ListStaffsApplicationsByBusinessForDayVariables> varsSerializer = (ListStaffsApplicationsByBusinessForDayVariables vars) => jsonEncode(vars.toJson());
Future<QueryResult<ListStaffsApplicationsByBusinessForDayData, ListStaffsApplicationsByBusinessForDayVariables>> execute() {
return ref().execute();
}
QueryRef<ListStaffsApplicationsByBusinessForDayData, ListStaffsApplicationsByBusinessForDayVariables> ref() {
ListStaffsApplicationsByBusinessForDayVariables vars= ListStaffsApplicationsByBusinessForDayVariables(businessId: businessId,dayStart: dayStart,dayEnd: dayEnd,offset: _offset,limit: _limit,);
return _dataConnect.query("listStaffsApplicationsByBusinessForDay", dataDeserializer, varsSerializer, vars);
}
}
@immutable
class ListStaffsApplicationsByBusinessForDayApplications {
final String id;
final String shiftId;
final String roleId;
final Timestamp? checkInTime;
final Timestamp? checkOutTime;
final Timestamp? appliedAt;
final EnumValue<ApplicationStatus> status;
final ListStaffsApplicationsByBusinessForDayApplicationsShiftRole shiftRole;
final ListStaffsApplicationsByBusinessForDayApplicationsStaff staff;
ListStaffsApplicationsByBusinessForDayApplications.fromJson(dynamic json):
id = nativeFromJson<String>(json['id']),
shiftId = nativeFromJson<String>(json['shiftId']),
roleId = nativeFromJson<String>(json['roleId']),
checkInTime = json['checkInTime'] == null ? null : Timestamp.fromJson(json['checkInTime']),
checkOutTime = json['checkOutTime'] == null ? null : Timestamp.fromJson(json['checkOutTime']),
appliedAt = json['appliedAt'] == null ? null : Timestamp.fromJson(json['appliedAt']),
status = applicationStatusDeserializer(json['status']),
shiftRole = ListStaffsApplicationsByBusinessForDayApplicationsShiftRole.fromJson(json['shiftRole']),
staff = ListStaffsApplicationsByBusinessForDayApplicationsStaff.fromJson(json['staff']);
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final ListStaffsApplicationsByBusinessForDayApplications otherTyped = other as ListStaffsApplicationsByBusinessForDayApplications;
return id == otherTyped.id &&
shiftId == otherTyped.shiftId &&
roleId == otherTyped.roleId &&
checkInTime == otherTyped.checkInTime &&
checkOutTime == otherTyped.checkOutTime &&
appliedAt == otherTyped.appliedAt &&
status == otherTyped.status &&
shiftRole == otherTyped.shiftRole &&
staff == otherTyped.staff;
}
@override
int get hashCode => Object.hashAll([id.hashCode, shiftId.hashCode, roleId.hashCode, checkInTime.hashCode, checkOutTime.hashCode, appliedAt.hashCode, status.hashCode, shiftRole.hashCode, staff.hashCode]);
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['id'] = nativeToJson<String>(id);
json['shiftId'] = nativeToJson<String>(shiftId);
json['roleId'] = nativeToJson<String>(roleId);
if (checkInTime != null) {
json['checkInTime'] = checkInTime!.toJson();
}
if (checkOutTime != null) {
json['checkOutTime'] = checkOutTime!.toJson();
}
if (appliedAt != null) {
json['appliedAt'] = appliedAt!.toJson();
}
json['status'] =
applicationStatusSerializer(status)
;
json['shiftRole'] = shiftRole.toJson();
json['staff'] = staff.toJson();
return json;
}
ListStaffsApplicationsByBusinessForDayApplications({
required this.id,
required this.shiftId,
required this.roleId,
this.checkInTime,
this.checkOutTime,
this.appliedAt,
required this.status,
required this.shiftRole,
required this.staff,
});
}
@immutable
class ListStaffsApplicationsByBusinessForDayApplicationsShiftRole {
final ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleShift shift;
final int count;
final int? assigned;
final ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleRole role;
ListStaffsApplicationsByBusinessForDayApplicationsShiftRole.fromJson(dynamic json):
shift = ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleShift.fromJson(json['shift']),
count = nativeFromJson<int>(json['count']),
assigned = json['assigned'] == null ? null : nativeFromJson<int>(json['assigned']),
role = ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleRole.fromJson(json['role']);
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final ListStaffsApplicationsByBusinessForDayApplicationsShiftRole otherTyped = other as ListStaffsApplicationsByBusinessForDayApplicationsShiftRole;
return shift == otherTyped.shift &&
count == otherTyped.count &&
assigned == otherTyped.assigned &&
role == otherTyped.role;
}
@override
int get hashCode => Object.hashAll([shift.hashCode, count.hashCode, assigned.hashCode, role.hashCode]);
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['shift'] = shift.toJson();
json['count'] = nativeToJson<int>(count);
if (assigned != null) {
json['assigned'] = nativeToJson<int?>(assigned);
}
json['role'] = role.toJson();
return json;
}
ListStaffsApplicationsByBusinessForDayApplicationsShiftRole({
required this.shift,
required this.count,
this.assigned,
required this.role,
});
}
@immutable
class ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleShift {
final String? location;
final double? cost;
ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleShift.fromJson(dynamic json):
location = json['location'] == null ? null : nativeFromJson<String>(json['location']),
cost = json['cost'] == null ? null : nativeFromJson<double>(json['cost']);
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleShift otherTyped = other as ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleShift;
return location == otherTyped.location &&
cost == otherTyped.cost;
}
@override
int get hashCode => Object.hashAll([location.hashCode, cost.hashCode]);
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
if (location != null) {
json['location'] = nativeToJson<String?>(location);
}
if (cost != null) {
json['cost'] = nativeToJson<double?>(cost);
}
return json;
}
ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleShift({
this.location,
this.cost,
});
}
@immutable
class ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleRole {
final String name;
ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleRole.fromJson(dynamic json):
name = nativeFromJson<String>(json['name']);
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleRole otherTyped = other as ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleRole;
return name == otherTyped.name;
}
@override
int get hashCode => name.hashCode;
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['name'] = nativeToJson<String>(name);
return json;
}
ListStaffsApplicationsByBusinessForDayApplicationsShiftRoleRole({
required this.name,
});
}
@immutable
class ListStaffsApplicationsByBusinessForDayApplicationsStaff {
final String id;
final String fullName;
final String? email;
final String? phone;
final String? photoUrl;
ListStaffsApplicationsByBusinessForDayApplicationsStaff.fromJson(dynamic json):
id = nativeFromJson<String>(json['id']),
fullName = nativeFromJson<String>(json['fullName']),
email = json['email'] == null ? null : nativeFromJson<String>(json['email']),
phone = json['phone'] == null ? null : nativeFromJson<String>(json['phone']),
photoUrl = json['photoUrl'] == null ? null : nativeFromJson<String>(json['photoUrl']);
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final ListStaffsApplicationsByBusinessForDayApplicationsStaff otherTyped = other as ListStaffsApplicationsByBusinessForDayApplicationsStaff;
return id == otherTyped.id &&
fullName == otherTyped.fullName &&
email == otherTyped.email &&
phone == otherTyped.phone &&
photoUrl == otherTyped.photoUrl;
}
@override
int get hashCode => Object.hashAll([id.hashCode, fullName.hashCode, email.hashCode, phone.hashCode, photoUrl.hashCode]);
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['id'] = nativeToJson<String>(id);
json['fullName'] = nativeToJson<String>(fullName);
if (email != null) {
json['email'] = nativeToJson<String?>(email);
}
if (phone != null) {
json['phone'] = nativeToJson<String?>(phone);
}
if (photoUrl != null) {
json['photoUrl'] = nativeToJson<String?>(photoUrl);
}
return json;
}
ListStaffsApplicationsByBusinessForDayApplicationsStaff({
required this.id,
required this.fullName,
this.email,
this.phone,
this.photoUrl,
});
}
@immutable
class ListStaffsApplicationsByBusinessForDayData {
final List<ListStaffsApplicationsByBusinessForDayApplications> applications;
ListStaffsApplicationsByBusinessForDayData.fromJson(dynamic json):
applications = (json['applications'] as List<dynamic>)
.map((e) => ListStaffsApplicationsByBusinessForDayApplications.fromJson(e))
.toList();
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final ListStaffsApplicationsByBusinessForDayData otherTyped = other as ListStaffsApplicationsByBusinessForDayData;
return applications == otherTyped.applications;
}
@override
int get hashCode => applications.hashCode;
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['applications'] = applications.map((e) => e.toJson()).toList();
return json;
}
ListStaffsApplicationsByBusinessForDayData({
required this.applications,
});
}
@immutable
class ListStaffsApplicationsByBusinessForDayVariables {
final String businessId;
final Timestamp dayStart;
final Timestamp dayEnd;
late final Optional<int>offset;
late final Optional<int>limit;
@Deprecated('fromJson is deprecated for Variable classes as they are no longer required for deserialization.')
ListStaffsApplicationsByBusinessForDayVariables.fromJson(Map<String, dynamic> json):
businessId = nativeFromJson<String>(json['businessId']),
dayStart = Timestamp.fromJson(json['dayStart']),
dayEnd = Timestamp.fromJson(json['dayEnd']) {
offset = Optional.optional(nativeFromJson, nativeToJson);
offset.value = json['offset'] == null ? null : nativeFromJson<int>(json['offset']);
limit = Optional.optional(nativeFromJson, nativeToJson);
limit.value = json['limit'] == null ? null : nativeFromJson<int>(json['limit']);
}
@override
bool operator ==(Object other) {
if(identical(this, other)) {
return true;
}
if(other.runtimeType != runtimeType) {
return false;
}
final ListStaffsApplicationsByBusinessForDayVariables otherTyped = other as ListStaffsApplicationsByBusinessForDayVariables;
return businessId == otherTyped.businessId &&
dayStart == otherTyped.dayStart &&
dayEnd == otherTyped.dayEnd &&
offset == otherTyped.offset &&
limit == otherTyped.limit;
}
@override
int get hashCode => Object.hashAll([businessId.hashCode, dayStart.hashCode, dayEnd.hashCode, offset.hashCode, limit.hashCode]);
Map<String, dynamic> toJson() {
Map<String, dynamic> json = {};
json['businessId'] = nativeToJson<String>(businessId);
json['dayStart'] = dayStart.toJson();
json['dayEnd'] = dayEnd.toJson();
if(offset.state == OptionalState.set) {
json['offset'] = offset.toJson();
}
if(limit.state == OptionalState.set) {
json['limit'] = limit.toJson();
}
return json;
}
ListStaffsApplicationsByBusinessForDayVariables({
required this.businessId,
required this.dayStart,
required this.dayEnd,
required this.offset,
required this.limit,
});
}

View File

@@ -6,6 +6,9 @@ class UpdateAccountVariablesBuilder {
Optional<AccountType> _type = Optional.optional((data) => AccountType.values.byName(data), enumSerializer); Optional<AccountType> _type = Optional.optional((data) => AccountType.values.byName(data), enumSerializer);
Optional<String> _last4 = Optional.optional(nativeFromJson, nativeToJson); Optional<String> _last4 = Optional.optional(nativeFromJson, nativeToJson);
Optional<bool> _isPrimary = Optional.optional(nativeFromJson, nativeToJson); Optional<bool> _isPrimary = Optional.optional(nativeFromJson, nativeToJson);
Optional<String> _accountNumber = Optional.optional(nativeFromJson, nativeToJson);
Optional<String> _routeNumber = Optional.optional(nativeFromJson, nativeToJson);
Optional<Timestamp> _expiryTime = Optional.optional((json) => json['expiryTime'] = Timestamp.fromJson(json['expiryTime']), defaultSerializer);
final FirebaseDataConnect _dataConnect; UpdateAccountVariablesBuilder bank(String? t) { final FirebaseDataConnect _dataConnect; UpdateAccountVariablesBuilder bank(String? t) {
_bank.value = t; _bank.value = t;
@@ -23,6 +26,18 @@ class UpdateAccountVariablesBuilder {
_isPrimary.value = t; _isPrimary.value = t;
return this; return this;
} }
UpdateAccountVariablesBuilder accountNumber(String? t) {
_accountNumber.value = t;
return this;
}
UpdateAccountVariablesBuilder routeNumber(String? t) {
_routeNumber.value = t;
return this;
}
UpdateAccountVariablesBuilder expiryTime(Timestamp? t) {
_expiryTime.value = t;
return this;
}
UpdateAccountVariablesBuilder(this._dataConnect, {required this.id,}); UpdateAccountVariablesBuilder(this._dataConnect, {required this.id,});
Deserializer<UpdateAccountData> dataDeserializer = (dynamic json) => UpdateAccountData.fromJson(jsonDecode(json)); Deserializer<UpdateAccountData> dataDeserializer = (dynamic json) => UpdateAccountData.fromJson(jsonDecode(json));
@@ -32,7 +47,7 @@ class UpdateAccountVariablesBuilder {
} }
MutationRef<UpdateAccountData, UpdateAccountVariables> ref() { MutationRef<UpdateAccountData, UpdateAccountVariables> ref() {
UpdateAccountVariables vars= UpdateAccountVariables(id: id,bank: _bank,type: _type,last4: _last4,isPrimary: _isPrimary,); UpdateAccountVariables vars= UpdateAccountVariables(id: id,bank: _bank,type: _type,last4: _last4,isPrimary: _isPrimary,accountNumber: _accountNumber,routeNumber: _routeNumber,expiryTime: _expiryTime,);
return _dataConnect.mutation("updateAccount", dataDeserializer, varsSerializer, vars); return _dataConnect.mutation("updateAccount", dataDeserializer, varsSerializer, vars);
} }
} }
@@ -114,6 +129,9 @@ class UpdateAccountVariables {
late final Optional<AccountType>type; late final Optional<AccountType>type;
late final Optional<String>last4; late final Optional<String>last4;
late final Optional<bool>isPrimary; late final Optional<bool>isPrimary;
late final Optional<String>accountNumber;
late final Optional<String>routeNumber;
late final Optional<Timestamp>expiryTime;
@Deprecated('fromJson is deprecated for Variable classes as they are no longer required for deserialization.') @Deprecated('fromJson is deprecated for Variable classes as they are no longer required for deserialization.')
UpdateAccountVariables.fromJson(Map<String, dynamic> json): UpdateAccountVariables.fromJson(Map<String, dynamic> json):
@@ -136,6 +154,18 @@ class UpdateAccountVariables {
isPrimary = Optional.optional(nativeFromJson, nativeToJson); isPrimary = Optional.optional(nativeFromJson, nativeToJson);
isPrimary.value = json['isPrimary'] == null ? null : nativeFromJson<bool>(json['isPrimary']); isPrimary.value = json['isPrimary'] == null ? null : nativeFromJson<bool>(json['isPrimary']);
accountNumber = Optional.optional(nativeFromJson, nativeToJson);
accountNumber.value = json['accountNumber'] == null ? null : nativeFromJson<String>(json['accountNumber']);
routeNumber = Optional.optional(nativeFromJson, nativeToJson);
routeNumber.value = json['routeNumber'] == null ? null : nativeFromJson<String>(json['routeNumber']);
expiryTime = Optional.optional((json) => json['expiryTime'] = Timestamp.fromJson(json['expiryTime']), defaultSerializer);
expiryTime.value = json['expiryTime'] == null ? null : Timestamp.fromJson(json['expiryTime']);
} }
@override @override
bool operator ==(Object other) { bool operator ==(Object other) {
@@ -151,11 +181,14 @@ class UpdateAccountVariables {
bank == otherTyped.bank && bank == otherTyped.bank &&
type == otherTyped.type && type == otherTyped.type &&
last4 == otherTyped.last4 && last4 == otherTyped.last4 &&
isPrimary == otherTyped.isPrimary; isPrimary == otherTyped.isPrimary &&
accountNumber == otherTyped.accountNumber &&
routeNumber == otherTyped.routeNumber &&
expiryTime == otherTyped.expiryTime;
} }
@override @override
int get hashCode => Object.hashAll([id.hashCode, bank.hashCode, type.hashCode, last4.hashCode, isPrimary.hashCode]); int get hashCode => Object.hashAll([id.hashCode, bank.hashCode, type.hashCode, last4.hashCode, isPrimary.hashCode, accountNumber.hashCode, routeNumber.hashCode, expiryTime.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -173,6 +206,15 @@ class UpdateAccountVariables {
if(isPrimary.state == OptionalState.set) { if(isPrimary.state == OptionalState.set) {
json['isPrimary'] = isPrimary.toJson(); json['isPrimary'] = isPrimary.toJson();
} }
if(accountNumber.state == OptionalState.set) {
json['accountNumber'] = accountNumber.toJson();
}
if(routeNumber.state == OptionalState.set) {
json['routeNumber'] = routeNumber.toJson();
}
if(expiryTime.state == OptionalState.set) {
json['expiryTime'] = expiryTime.toJson();
}
return json; return json;
} }
@@ -182,6 +224,9 @@ class UpdateAccountVariables {
required this.type, required this.type,
required this.last4, required this.last4,
required this.isPrimary, required this.isPrimary,
required this.accountNumber,
required this.routeNumber,
required this.expiryTime,
}); });
} }

View File

@@ -16,8 +16,9 @@ class UpdateStaffVariablesBuilder {
Optional<int> _cancellationCount = Optional.optional(nativeFromJson, nativeToJson); Optional<int> _cancellationCount = Optional.optional(nativeFromJson, nativeToJson);
Optional<int> _reliabilityScore = Optional.optional(nativeFromJson, nativeToJson); Optional<int> _reliabilityScore = Optional.optional(nativeFromJson, nativeToJson);
Optional<String> _bio = Optional.optional(nativeFromJson, nativeToJson); Optional<String> _bio = Optional.optional(nativeFromJson, nativeToJson);
Optional<AnyValue> _industries = Optional.optional(AnyValue.fromJson, defaultSerializer); Optional<List<String>> _skills = Optional.optional(listDeserializer(nativeFromJson), listSerializer(nativeToJson));
Optional<AnyValue> _preferredLocations = Optional.optional(AnyValue.fromJson, defaultSerializer); Optional<List<String>> _industries = Optional.optional(listDeserializer(nativeFromJson), listSerializer(nativeToJson));
Optional<List<String>> _preferredLocations = Optional.optional(listDeserializer(nativeFromJson), listSerializer(nativeToJson));
Optional<int> _maxDistanceMiles = Optional.optional(nativeFromJson, nativeToJson); Optional<int> _maxDistanceMiles = Optional.optional(nativeFromJson, nativeToJson);
Optional<AnyValue> _languages = Optional.optional(AnyValue.fromJson, defaultSerializer); Optional<AnyValue> _languages = Optional.optional(AnyValue.fromJson, defaultSerializer);
Optional<AnyValue> _itemsAttire = Optional.optional(AnyValue.fromJson, defaultSerializer); Optional<AnyValue> _itemsAttire = Optional.optional(AnyValue.fromJson, defaultSerializer);
@@ -92,11 +93,15 @@ class UpdateStaffVariablesBuilder {
_bio.value = t; _bio.value = t;
return this; return this;
} }
UpdateStaffVariablesBuilder industries(AnyValue? t) { UpdateStaffVariablesBuilder skills(List<String>? t) {
_skills.value = t;
return this;
}
UpdateStaffVariablesBuilder industries(List<String>? t) {
_industries.value = t; _industries.value = t;
return this; return this;
} }
UpdateStaffVariablesBuilder preferredLocations(AnyValue? t) { UpdateStaffVariablesBuilder preferredLocations(List<String>? t) {
_preferredLocations.value = t; _preferredLocations.value = t;
return this; return this;
} }
@@ -177,7 +182,7 @@ class UpdateStaffVariablesBuilder {
} }
MutationRef<UpdateStaffData, UpdateStaffVariables> ref() { MutationRef<UpdateStaffData, UpdateStaffVariables> ref() {
UpdateStaffVariables vars= UpdateStaffVariables(id: id,userId: _userId,fullName: _fullName,level: _level,role: _role,phone: _phone,email: _email,photoUrl: _photoUrl,totalShifts: _totalShifts,averageRating: _averageRating,onTimeRate: _onTimeRate,noShowCount: _noShowCount,cancellationCount: _cancellationCount,reliabilityScore: _reliabilityScore,bio: _bio,industries: _industries,preferredLocations: _preferredLocations,maxDistanceMiles: _maxDistanceMiles,languages: _languages,itemsAttire: _itemsAttire,xp: _xp,badges: _badges,isRecommended: _isRecommended,ownerId: _ownerId,department: _department,hubId: _hubId,manager: _manager,english: _english,backgroundCheckStatus: _backgroundCheckStatus,employmentType: _employmentType,initial: _initial,englishRequired: _englishRequired,city: _city,addres: _addres,); UpdateStaffVariables vars= UpdateStaffVariables(id: id,userId: _userId,fullName: _fullName,level: _level,role: _role,phone: _phone,email: _email,photoUrl: _photoUrl,totalShifts: _totalShifts,averageRating: _averageRating,onTimeRate: _onTimeRate,noShowCount: _noShowCount,cancellationCount: _cancellationCount,reliabilityScore: _reliabilityScore,bio: _bio,skills: _skills,industries: _industries,preferredLocations: _preferredLocations,maxDistanceMiles: _maxDistanceMiles,languages: _languages,itemsAttire: _itemsAttire,xp: _xp,badges: _badges,isRecommended: _isRecommended,ownerId: _ownerId,department: _department,hubId: _hubId,manager: _manager,english: _english,backgroundCheckStatus: _backgroundCheckStatus,employmentType: _employmentType,initial: _initial,englishRequired: _englishRequired,city: _city,addres: _addres,);
return _dataConnect.mutation("UpdateStaff", dataDeserializer, varsSerializer, vars); return _dataConnect.mutation("UpdateStaff", dataDeserializer, varsSerializer, vars);
} }
} }
@@ -269,8 +274,9 @@ class UpdateStaffVariables {
late final Optional<int>cancellationCount; late final Optional<int>cancellationCount;
late final Optional<int>reliabilityScore; late final Optional<int>reliabilityScore;
late final Optional<String>bio; late final Optional<String>bio;
late final Optional<AnyValue>industries; late final Optional<List<String>>skills;
late final Optional<AnyValue>preferredLocations; late final Optional<List<String>>industries;
late final Optional<List<String>>preferredLocations;
late final Optional<int>maxDistanceMiles; late final Optional<int>maxDistanceMiles;
late final Optional<AnyValue>languages; late final Optional<AnyValue>languages;
late final Optional<AnyValue>itemsAttire; late final Optional<AnyValue>itemsAttire;
@@ -351,12 +357,22 @@ class UpdateStaffVariables {
bio.value = json['bio'] == null ? null : nativeFromJson<String>(json['bio']); bio.value = json['bio'] == null ? null : nativeFromJson<String>(json['bio']);
industries = Optional.optional(AnyValue.fromJson, defaultSerializer); skills = Optional.optional(listDeserializer(nativeFromJson), listSerializer(nativeToJson));
industries.value = json['industries'] == null ? null : AnyValue.fromJson(json['industries']); skills.value = json['skills'] == null ? null : (json['skills'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList();
preferredLocations = Optional.optional(AnyValue.fromJson, defaultSerializer); industries = Optional.optional(listDeserializer(nativeFromJson), listSerializer(nativeToJson));
preferredLocations.value = json['preferredLocations'] == null ? null : AnyValue.fromJson(json['preferredLocations']); industries.value = json['industries'] == null ? null : (json['industries'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList();
preferredLocations = Optional.optional(listDeserializer(nativeFromJson), listSerializer(nativeToJson));
preferredLocations.value = json['preferredLocations'] == null ? null : (json['preferredLocations'] as List<dynamic>)
.map((e) => nativeFromJson<String>(e))
.toList();
maxDistanceMiles = Optional.optional(nativeFromJson, nativeToJson); maxDistanceMiles = Optional.optional(nativeFromJson, nativeToJson);
@@ -452,6 +468,7 @@ class UpdateStaffVariables {
cancellationCount == otherTyped.cancellationCount && cancellationCount == otherTyped.cancellationCount &&
reliabilityScore == otherTyped.reliabilityScore && reliabilityScore == otherTyped.reliabilityScore &&
bio == otherTyped.bio && bio == otherTyped.bio &&
skills == otherTyped.skills &&
industries == otherTyped.industries && industries == otherTyped.industries &&
preferredLocations == otherTyped.preferredLocations && preferredLocations == otherTyped.preferredLocations &&
maxDistanceMiles == otherTyped.maxDistanceMiles && maxDistanceMiles == otherTyped.maxDistanceMiles &&
@@ -474,7 +491,7 @@ class UpdateStaffVariables {
} }
@override @override
int get hashCode => Object.hashAll([id.hashCode, userId.hashCode, fullName.hashCode, level.hashCode, role.hashCode, phone.hashCode, email.hashCode, photoUrl.hashCode, totalShifts.hashCode, averageRating.hashCode, onTimeRate.hashCode, noShowCount.hashCode, cancellationCount.hashCode, reliabilityScore.hashCode, bio.hashCode, industries.hashCode, preferredLocations.hashCode, maxDistanceMiles.hashCode, languages.hashCode, itemsAttire.hashCode, xp.hashCode, badges.hashCode, isRecommended.hashCode, ownerId.hashCode, department.hashCode, hubId.hashCode, manager.hashCode, english.hashCode, backgroundCheckStatus.hashCode, employmentType.hashCode, initial.hashCode, englishRequired.hashCode, city.hashCode, addres.hashCode]); int get hashCode => Object.hashAll([id.hashCode, userId.hashCode, fullName.hashCode, level.hashCode, role.hashCode, phone.hashCode, email.hashCode, photoUrl.hashCode, totalShifts.hashCode, averageRating.hashCode, onTimeRate.hashCode, noShowCount.hashCode, cancellationCount.hashCode, reliabilityScore.hashCode, bio.hashCode, skills.hashCode, industries.hashCode, preferredLocations.hashCode, maxDistanceMiles.hashCode, languages.hashCode, itemsAttire.hashCode, xp.hashCode, badges.hashCode, isRecommended.hashCode, ownerId.hashCode, department.hashCode, hubId.hashCode, manager.hashCode, english.hashCode, backgroundCheckStatus.hashCode, employmentType.hashCode, initial.hashCode, englishRequired.hashCode, city.hashCode, addres.hashCode]);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -522,6 +539,9 @@ class UpdateStaffVariables {
if(bio.state == OptionalState.set) { if(bio.state == OptionalState.set) {
json['bio'] = bio.toJson(); json['bio'] = bio.toJson();
} }
if(skills.state == OptionalState.set) {
json['skills'] = skills.toJson();
}
if(industries.state == OptionalState.set) { if(industries.state == OptionalState.set) {
json['industries'] = industries.toJson(); json['industries'] = industries.toJson();
} }
@@ -598,6 +618,7 @@ class UpdateStaffVariables {
required this.cancellationCount, required this.cancellationCount,
required this.reliabilityScore, required this.reliabilityScore,
required this.bio, required this.bio,
required this.skills,
required this.industries, required this.industries,
required this.preferredLocations, required this.preferredLocations,
required this.maxDistanceMiles, required this.maxDistanceMiles,

View File

@@ -13,6 +13,8 @@ class FinancialRepositoryMock {
totalAmount: 1500.0, totalAmount: 1500.0,
workAmount: 1400.0, workAmount: 1400.0,
addonsAmount: 100.0, addonsAmount: 100.0,
invoiceNumber: 'INV-1',
issueDate: null,
), ),
]; ];
} }

View File

@@ -28,7 +28,6 @@ class ProfileRepositoryMock {
phone: '555-123-4567', phone: '555-123-4567',
status: StaffStatus.active, status: StaffStatus.active,
avatar: null, avatar: null,
livePhoto: null,
address: null, address: null,
); );
} }
@@ -52,7 +51,8 @@ class ProfileRepositoryMock {
const EmergencyContact( const EmergencyContact(
name: 'Jane Doe', name: 'Jane Doe',
phone: '555-987-6543', phone: '555-987-6543',
relationship: 'Family', relationship: RelationshipType.spouse,
id: 'contact_1',
), ),
]; ];
} }

View File

@@ -36,4 +36,23 @@ class StaffRepositoryMock {
await Future.delayed(const Duration(milliseconds: 500)); await Future.delayed(const Duration(milliseconds: 500));
return staff; return staff;
} }
// Mock Availability Data Store
final Map<String, dynamic> _mockAvailability = {};
Future<Map<String, dynamic>> getAvailability(String userId, DateTime start, DateTime end) async {
await Future.delayed(const Duration(milliseconds: 300));
// Return mock structure: Date ISO String -> { isAvailable: bool, slots: { id: bool } }
// Auto-generate some data if empty
if (_mockAvailability.isEmpty) {
// Just return empty, let the caller handle defaults
}
return _mockAvailability;
}
Future<void> updateAvailability(String userId, String dateIso, Map<String, dynamic> data) async {
await Future.delayed(const Duration(milliseconds: 200));
_mockAvailability[dateIso] = data;
}
} }

Some files were not shown because too many files have changed in this diff Show More