{"id":18939325,"url":"https://github.com/gentics/graphql-java-filter","last_synced_at":"2025-04-15T19:30:48.904Z","repository":{"id":52544195,"uuid":"122633209","full_name":"gentics/graphql-java-filter","owner":"gentics","description":"GraphQL Filter Library for GraphQL-Java","archived":false,"fork":false,"pushed_at":"2024-11-20T10:20:54.000Z","size":168,"stargazers_count":13,"open_issues_count":0,"forks_count":3,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-03-29T01:13:25.777Z","etag":null,"topics":["graphql","graphql-java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gentics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-02-23T14:42:47.000Z","updated_at":"2024-10-24T02:21:34.000Z","dependencies_parsed_at":"2024-03-19T16:53:54.749Z","dependency_job_id":null,"html_url":"https://github.com/gentics/graphql-java-filter","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gentics%2Fgraphql-java-filter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gentics%2Fgraphql-java-filter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gentics%2Fgraphql-java-filter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gentics%2Fgraphql-java-filter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gentics","download_url":"https://codeload.github.com/gentics/graphql-java-filter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249138617,"owners_count":21218915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graphql","graphql-java"],"created_at":"2024-11-08T12:17:08.497Z","updated_at":"2025-04-15T19:30:48.370Z","avatar_url":"https://github.com/gentics.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![](https://jitpack.io/v/gentics/graphql-java-filter.svg)](https://jitpack.io/#gentics/graphql-java-filter)\n\n# GraphQL Filter\nEnhance your GraphQL API with filters.\n\nUse this library to let the user filter through the results of a GraphQL query.\n\n## Live Demo\n[Here is an implementation of this library.](https://demo.getmesh.io/api/v1/demo/graphql/browser)\n\nTry this query:\n\n```graphql\n{\n  nodes(filter: {\n    schema: { is: vehicle },\n    fields: {\n      vehicle: {\n        price: {\n          lt: 2000000\n        }\n      }\n    }\n  }) {\n    elements {\n      fields {\n        ... on vehicle {\n          name\n          price\n        }\n      }\n    }\n  }\n}\n```\n\nPlay around with the autocompletion to see whats possible.\n\n## Usage\nCreate your filter by implementing the `Filter` interface or by extending one of the predefined abstract filters. It is best to create your filter by composing the small predefined filters.\n\nSee [AbstractFilterTest.java](src/test/java/com/gentics/graphqlfilter/AbstractFilterTest.java) to see an example of how to integrate this library in your environment.\n\n## Overview\n\n### Interfaces\n* `Filter` The main Filter interface. Every filter implements this.\n* `FilterField` can be used to create filters that can easily be nested in other filters.\n* `StartFilter` is used to easily create the argument object for `graphql-java`\n\n### Helper filters\n* `MainFilter` A filter that does not filter directly and instead contains a collection of other filters.\n* `StartMainFilter` Same as above but additionally implements StartFilter.\n* `MappedFilter` Used to map a type into another type using another Filter\n* `CommonFilters` Provides common filters which can be used for all types. This includes these logical operations of filters: `and`, `or` and `not`.\n\n### Predefined filters\nThe following filters can be used to filter primitive types: `BooleanFilter`, `DateFilter`, `NumberFilter`, `StringFilter`.\n\n## Examples\nSee [NodeFilter.java](src/test/java/com/gentics/graphqlfilter/filter/NodeFilter.java)  as an example filter implementation.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgentics%2Fgraphql-java-filter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgentics%2Fgraphql-java-filter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgentics%2Fgraphql-java-filter/lists"}