Description
Work involved:
- Add columns enabled, enabled_timestamp, disabled_timestamp to grouper_groups
- When a group is expired or unexpired, propagate the result to memberships, privileges (except admin privileges), and attributes.
- Update UI to show enabled/disabled dates and allow them to be edited.
- Update WS to show enabled/disabled dates and allow them to be edited.
- Have a way of returning disabled groups in WS.
- Change log and point in time
- Real change log would first get a disable event. Then followed by the usual events (e.g. membership deletes)
- Enabling a group would do the opposite. (Enable event goes first.)
- This would allow special consumers to do something different based on whether a group is being enabled/disabled vs all the memberships actually being removed. The context id of the enabled/disabled event would be the same as all the membership changes to allow the consumer to know which events to skip if it chooses to do so.
- Daemon job to update enabled flag based on dates.
- Update grouper_groups_v and grouper_roles_v to include new columns
- Entities can also be disabled