query listApplications @auth(level: USER) { applications { id shiftId staffId status appliedAt checkInTime checkOutTime origin createdAt shift { id title date startTime endTime location status order { id eventName #location teamHub { address placeId hubName } business { id businessName email contactName } vendor { id companyName } } } shiftRole { id roleId count assigned startTime endTime hours breakType isBreakPaid totalValue role { id name costPerHour } } } } query getApplicationById($id: UUID!) @auth(level: USER) { application(id: $id) { id shiftId staffId status appliedAt checkInTime checkOutTime origin createdAt shift { id title date startTime endTime location status order { id eventName #location teamHub { address placeId hubName } business { id businessName email contactName } vendor { id companyName } } } shiftRole { id roleId count assigned startTime endTime hours totalValue role { id name costPerHour } } } } query getApplicationsByShiftId($shiftId: UUID!) @auth(level: USER) { applications(where: { shiftId: { eq: $shiftId } }) { id shiftId staffId status appliedAt checkInTime checkOutTime origin createdAt shift { id title date startTime endTime location status order { id eventName #location teamHub { address placeId hubName } business { id businessName email contactName } vendor { id companyName } } } shiftRole { id roleId count assigned startTime endTime hours totalValue role { id name costPerHour } } } } query getApplicationsByShiftIdAndStatus( $shiftId: UUID! $status: ApplicationStatus! $offset: Int $limit: Int ) @auth(level: USER) { applications( where: { shiftId: { eq: $shiftId } status: { eq: $status } } offset: $offset limit: $limit ) { id shiftId staffId status appliedAt checkInTime checkOutTime origin createdAt shift { id title date startTime endTime location status order { id eventName #location teamHub { address placeId hubName } business { id businessName email contactName } vendor { id companyName } } } shiftRole { id roleId count assigned startTime endTime hours totalValue role { id name costPerHour } } } } query getApplicationsByStaffId( $staffId: UUID! $offset: Int $limit: Int $dayStart: Timestamp $dayEnd: Timestamp ) @auth(level: USER) { applications( where: { staffId: { eq: $staffId } status: { in: [ CONFIRMED, CHECKED_IN, CHECKED_OUT, LATE] } shift: { date: { ge: $dayStart, le: $dayEnd } } } offset: $offset limit: $limit ) { id shiftId staffId status appliedAt checkInTime checkOutTime origin createdAt shift { id title date startTime endTime location status durationDays description latitude longitude order { id eventName #location teamHub { address placeId hubName } business { id businessName email contactName companyLogoUrl } vendor { id companyName } } } shiftRole { id roleId count assigned startTime endTime hours breakType isBreakPaid totalValue role { id name costPerHour } } } } query vaidateDayStaffApplication( $staffId: UUID! $offset: Int $limit: Int $dayStart: Timestamp $dayEnd: Timestamp ) @auth(level: USER) { applications( where: { staffId: { eq: $staffId } shift: { date: { ge: $dayStart, le: $dayEnd } } } offset: $offset limit: $limit ) { id shiftId staffId status appliedAt checkInTime checkOutTime origin createdAt shift { id title date startTime endTime location status durationDays description order { id eventName #location teamHub { address placeId hubName } business { id businessName email contactName companyLogoUrl } vendor { id companyName } } } shiftRole { id roleId count assigned startTime endTime hours totalValue role { id name costPerHour } } } } #validation before apply query getApplicationByStaffShiftAndRole( $staffId: UUID! $shiftId: UUID! $roleId: UUID! $offset: Int $limit: Int ) @auth(level: USER) { applications( where: { staffId: { eq: $staffId } shiftId: { eq: $shiftId } shiftRole: { roleId: { eq: $roleId } } } offset: $offset limit: $limit ) { id shiftId staffId status appliedAt checkInTime checkOutTime origin createdAt shift { id title date startTime endTime location status order { id eventName teamHub { address placeId hubName } business { id businessName email contactName companyLogoUrl } vendor { id companyName } } } shiftRole { id roleId count assigned startTime endTime hours totalValue role { id name costPerHour } } } } #getting staffs of an shiftrole CONFIRMED for orders view client query listAcceptedApplicationsByShiftRoleKey( $shiftId: UUID! $roleId: UUID! $offset: Int $limit: Int ) @auth(level: USER) { applications( where: { shiftId: { eq: $shiftId } roleId: { eq: $roleId } status: { eq: CONFIRMED } } offset: $offset limit: $limit orderBy: { appliedAt: ASC } ) { id checkInTime checkOutTime staff { id fullName email phone photoUrl } } } #getting staffs of an shiftrole status for orders of the day view client query listAcceptedApplicationsByBusinessForDay( $businessId: UUID! $dayStart: Timestamp! $dayEnd: Timestamp! $offset: Int $limit: Int ) @auth(level: USER) { applications( where: { status: { in: [ CONFIRMED, CHECKED_IN, CHECKED_OUT, LATE] } shift: { date: { ge: $dayStart, le: $dayEnd } order: { businessId: { eq: $businessId } } } } offset: $offset limit: $limit orderBy: { appliedAt: ASC } ) { id shiftId roleId checkInTime checkOutTime appliedAt staff { id fullName email phone photoUrl averageRating } } } #coverage list and today live query listStaffsApplicationsByBusinessForDay( $businessId: UUID! $dayStart: Timestamp! $dayEnd: Timestamp! $offset: Int $limit: Int ) @auth(level: USER) { applications( where: { status: {in: [ CONFIRMED, CHECKED_IN, CHECKED_OUT, LATE]} shift: { date: { ge: $dayStart, le: $dayEnd } order: { businessId: { eq: $businessId } } } } offset: $offset limit: $limit orderBy: { appliedAt: ASC } ) { id shiftId roleId checkInTime checkOutTime appliedAt status shiftRole { startTime shift { date location locationAddress cost } count assigned hours role { name } } staff { id fullName email phone photoUrl } } } # ========================================================== # COMPLETED APPLICATIONS BY STAFF (same payload as # getApplicationByStaffShiftAndRole) # ========================================================== query listCompletedApplicationsByStaffId( $staffId: UUID! $offset: Int $limit: Int ) @auth(level: USER) { applications( where: { staffId: { eq: $staffId } status: { eq: COMPLETED } } offset: $offset limit: $limit orderBy: { appliedAt: DESC } ) { id shiftId staffId status appliedAt checkInTime checkOutTime origin createdAt shift { id title date startTime endTime location status description durationDays order { id eventName teamHub { address placeId hubName } business { id businessName email contactName companyLogoUrl } vendor { id companyName } } } shiftRole { id roleId count assigned startTime endTime hours breakType isBreakPaid totalValue role { id name costPerHour } } } }