• Eugenia Grieff's avatar
    Add GraphQL endpoint for group issues timelogs · c895dc26
    Eugenia Grieff authored
    This will return data containing time tracked
    for the group issues by group members and within
    a time frame (limited to 60 days)
    
    To get the collection of timelogs for a certain
    group we include in Group a new concern
    HasTimelogsReport that will use Timelog scopes
    to filter results.
    
    We use a TimelogPresenter to display additional
    fields in TimelogType
    
    Group timelogs is a premium feature so we added
    group_timelogs feature to license
    
    TimelogType is authorized with read_group_timelogs
    permission that checks for a minimun access level of
    reporter and group_timelogs feature being available
    Refactor changes to improve code quality
    
    - Include subgroups in Issue and Timelog scopes
    - Field timelogs in GroupType is never null
    - Add error to object validation in TimelogResolver
    - Use fields UserType and IssueType  in TimelogType
    - Improve rule in GroupPolicy
    - Remove redundant TimelogPresenter
    - Add missing specs for new scopes
    - Extend specs for GroupType and  TimelogType
    - Add new matcher fon non null graphql fields
    
    Update GraphQL schema
    Add index for spent_at in timelogs table
    
    Fix Timelog scope to use group descendants
    c895dc26