Include nested subgroups in groups' children.json when `active` is false
See https://gitlab.com/gitlab-org/gitlab/-/issues/467265 for more context. https://gitlab.com/gitlab-org/gitlab/-/work_items/525633 adds a new `active` parameter that will filter out group descendants by their status. However, it currently only return direct child groups and projects. For https://gitlab.com/gitlab-org/gitlab/-/issues/442906, we need to return any nested subgroups and projects that matches the `active=false` filter and display the results in the `Inactive` tab. Consider this group structure: * `Parent` \> `Child A` \> `Inactive A` * `Parent` \> `Inactive B` \> `Child B` When fetching `/groups/parent/-/children.json?active=false`, we want to return all the matched inactive subgroups and their descendants. * `Inactive A` * `Inactive B `\> `Child B` ## Acceptance Criteria When `active=false` is set, the result should meet the following: * The endpoint should only return the matching inactive subgroups and their descendants * Group ancestors (parent) that does not match the filters should not be returned * Existing functionality should remain intact for other filter combinations See https://docs.gitlab.com/development/namespaces/ for more information about namespace (group/projects) hierarchy
task