Expand Specification filters for GraphQL + fine-grained AuthZ (Phase 2) (SZ-25)
rk@tigase.net opened 3 weeks ago

Summary

Expand all Specification utility classes to support advanced querying based on the newly introduced attributes and relationships. This enables flexible filtering in future REST and GraphQL endpoints, as well as fine-grained access control via AuthZ.


Acceptance Criteria

  •  UserSpecification includes filters:

    • by role
    • by isActive
    • by lastLoginAfter

  •  ProjectSpecification includes filters:

    • by owner
    • by visibility
    • by archived status
    • by name substring

  •  IssueSpecification includes filters:

    • by status, priority, severity
    • by assignee, reporter
    • by tags, dueDateBefore, closedAtNull

  •  PullRequestSpecification includes filters:

    • by status, reviewStatus, mergeStatus
    • by author, reviewers, relatedIssue

  •  Add unit tests for each Specification class covering all new filters


Notes

  • Follow the pattern used in existing Specification classes (PredicateBuilder, Root<T>, cb.equal(...), etc.)
  • Add Javadoc for all filter methods to improve readability

Work Estimate

TaskEstimated Time
Implement new filters in Specification classes1.5–2 hrs
Write unit tests for each filter case1 hr
Run builds and verify correctness30 min
Git hygiene (commit, push, PR)15 min

Total Estimate: ~3–3.5 hours


  • rk@tigase.net changed fields 3 weeks ago
    Name Previous Value Current Value
    Type
    New Feature
    Improvement
  • rk@tigase.net changed title 3 weeks ago
    Previous Value Current Value
    Expand Domain Queries (Specifications)
    Expand Specification filters for GraphQL + fine-grained AuthZ (Phase 2)
  • rk@tigase.net commented 3 weeks ago

    This issue tracks filter enhancements that are not strictly needed for MVP, but are valuable for GraphQL queries, Admin dashboards, and Authorization decisions down the line.

    I will revisit this after the initial REST-based Admin Panel and UI are functional.

issue 1 of 1
Type
Improvement
Priority
Normal
Assignee
Version
none
Sprints
n/a
Customer
n/a
Issue Votes (0)
Watchers (3)
Reference
SZ-25
Please wait...
Page is in error, reload to recover