Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(jobFilters): Implement Filtering for Jobs #238

Open
10 tasks
drochow opened this issue Sep 24, 2024 · 0 comments
Open
10 tasks

feat(jobFilters): Implement Filtering for Jobs #238

drochow opened this issue Sep 24, 2024 · 0 comments
Assignees

Comments

@drochow
Copy link
Collaborator

drochow commented Sep 24, 2024

Task Description
Based on #237, we need to filter the respective relevant entities by jobs and jobs by entities.

Relevant entities are:

  • User
  • Component
  • Component Instance
  • Issue Match
  • Component Version

Acceptance Criteria:

  • Existing GraphQL Queries are adjusted to allow filtering by JobID
  • Existing Filters on the App Layer allow filtering by JobID
  • Job Filter allows filtering for respective entity IDs for relevant entities
  • Database Access Layer:
    • Existing List functionalities include filtering by job id
    • Job Filtering supports all entities
    • The join is only built when the respective filter is used
  • You can search by multiple job IDs at once (entity filtering)
  • You can search based on multiple entities at once (job filtering)
  • It is possible to list jobs for each of the entities using GraphQL
    • For respective entities, resolvers need to be created that allow fetching from the respective parent.
    • example:
query ($filter: UserFilter, $first: Int, $after: String) {
    Users (
        filter: $filter,
        first: $first,
        after: $after
    ) {
        totalCount
        edges {
            node {
                id
                name
                jobs { # <----- Direct connection via the UserResolver -> JobsResolver
                  edges { 
                      node { 
                           id
                          status
                        } 
                  }
                }
            }
            cursor
        }
    }
}
 - [ ] The established Base Resolver pattern is used

Expected Test:

Across Layers:

  • Happy case tests for existing entries
  • Tests for a massive list of jobs
  • tests for non-existing entries
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants