import 'package:krow/core/application/clients/api/gql.dart'; const String _shiftFields = ''' id status status_updated_at start_at end_at clock_in clock_out break_in break_out ...position cancel_reason { type reason details } rating { id rating } '''; const String getShiftsQuery = ''' $_positionFragment query GetShifts (\$status: EventShiftPositionStaffStatusInput!, \$first: Int!, \$after: String) { staff_shifts(status: \$status, first: \$first, after: \$after) { pageInfo { hasNextPage } edges { node { $_shiftFields } cursor } } } '''; const String staffNoBreakShifts = ''' $_positionFragment query staffNoBreakShifts (\$first: Int!) { staff_no_break_shifts(first: \$first) { pageInfo{ } edges { node { $_shiftFields } } } } '''; const String getShiftPositionQuery = ''' $_positionFragment query GetShiftPosition (\$id: ID!) { staff_shift(id: \$id) { $_shiftFields } } '''; const String acceptShiftMutation = ''' $_positionFragment mutation AcceptShift(\$id: ID!) { accept_shift(position_id: \$id) { $_shiftFields } } '''; const String trackStaffClockin = ''' mutation TrackStaffClockin(\$id: ID!) { track_staff_clockin(position_staff_id: \$id) { } } '''; const String completeShiftMutation = ''' mutation CompleteShift(\$id: ID!, \$break_in: DateTime, \$break_out: DateTime) { track_staff_clockout(position_staff_id: \$id, break_in: \$break_in, break_out: \$break_out) { } } '''; const String trackStaffBreak = ''' mutation trackStaffBreak(\$id: ID!, \$break_in: DateTime!, \$break_out: DateTime!) { track_staff_break(position_staff_id: \$id, break_in: \$break_in, break_out: \$break_out) { } } '''; const String submitNoBreakStaffShiftMutation = ''' mutation SubmitNoBreakStaffShift(\$id: ID!, \$reason: NoBreakShiftPenaltyLogReason, \$details: String) { submit_no_break_staff_shift(position_staff_id: \$id, reason: \$reason, details: \$details) { } } '''; const String cancelStaffShiftMutation = ''' mutation cancelStaffShiftMutation(\$position_id: ID!, \$reason: CancelShiftPenaltyLogReason, \$details: String) { cancel_staff_shift(position_staff_id: \$position_id, reason: \$reason, details: \$details) { } } '''; const String declineStaffShiftMutation = ''' mutation DeclineStaffShift(\$position_id: ID!,\$reason: DeclineShiftPenaltyLogReason, \$details: String) { decline_shift(position_id: \$position_id, reason: \$reason, details: \$details) { } } '''; const _positionFragment = ''' $skillFragment fragment position on EventShiftPositionStaff { position { id start_time end_time rate break ...shift ...business_skill } } fragment shift on EventShiftPosition { shift { id name address ...FullAddress ...contacts event { id date name ...business additional_info tags{ id name slug } addons{ name } } } } fragment business_skill on EventShiftPosition { business_skill { skill { ...SkillFragment } } } fragment business on Event { business { name avatar } } fragment contacts on EventShift { contacts { id first_name last_name avatar title auth_info { email phone } } } fragment FullAddress on EventShift { full_address { street_number zip_code latitude longitude formatted_address street region city country } } ''';