Uploaded image for project: 'Magnolia GraphQL'
  1. Magnolia GraphQL
  2. MGNLGQL-6

GraphQL simple filters

    XMLWordPrintable

Details

    • Story
    • Resolution: Fixed
    • Neutral
    • 1.0
    • None
    • None
    • Yes
    • HL & LD 8
    • 8

    Description

      User story:

      As a developer I want the GraphQL endpoint to support filtering which content that it returns, so I can get just the content I need.

      Notes:
      Implement simple predicate parser:

      • must support AND (&&) and OR (||)
      • must support these operators:
        • equal =
        • not equal !=
        • greater than >
        • less than <
        • greather or equal than >=
        • less or eqaul than <=
        • like
      • it must be possible to implement and register additional filter operators
      • filtering must be abstracted from JCR
        • JCR implementation will be the default

      Example of such filter:

      {
        characters(filter: '@releaseDate >= "2020-01-01" AND (@name LIKE "T%" OR @title LIKE "T%")') {
          name
          title
          releaseDate
          friends {
            name
            title
            releaseDate
        }
      }
      

       

      Acceptance criteria:

      • API respects arguments, So I can specify `"name": "R2-D2"` and only get items where name matches R2-D2.
      • API respects multiple arguments.
      • Filter based on LIKE.
      • Fulltext search

      Checklists

        Acceptance criteria

        Attachments

          Issue Links

            Activity

              People

                jsimak Jaroslav Simak
                czimmermann Christopher Zimmermann
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Checklists

                    Task DoD

                    Time Tracking

                      Estimated:
                      Original Estimate - Not Specified
                      Not Specified
                      Remaining:
                      Remaining Estimate - 0d
                      0d
                      Logged:
                      Time Spent - 3d 3h
                      3d 3h