getProjectTickets method

Future<Map<String, dynamic>> getProjectTickets({
  1. required String projectID,
  2. required String tenantProductID,
  3. Map<String, dynamic>? filters,
})

Fetch project tickets

Implementation

Future<Map<String, dynamic>> getProjectTickets({
  required String projectID,
  required String tenantProductID,
  Map<String, dynamic>? filters,
}) async {
  const query = r'''
    query GetProjectTickets($tenantProductID: String!, $projectID: String!, $filters: TicketFilters) {
      projectTickets(tenantProductID: $tenantProductID, projectID: $projectID, filters: $filters) {
        success
        message
        total
        projectTickets {
          id
          ticketNumber
          subject
          customValues
          startDate
          createdAt
        }
      }
    }
  ''';

  final result = await _api.graphql(query, {
    'tenantProductID': tenantProductID,
    'projectID': projectID,
    if (filters != null) 'filters': filters,
  });

  return result['projectTickets'] ?? {
    'success': false,
    'message': 'Failed to fetch tickets'
  };
}