Object-Oriented Programming · Karat · Medium
Implement a permission system for users. Each user is a member of one or more groups, and permissions are attached to groups rather than directly to users. The task is split into three parts. Part 1: Effective permissions. For every user, determine the full set of permissions they hold through the groups they belong to. Part 2: Transitive group inheritance. Extend the system so that groups can inherit from other groups, with inheritance chaining through multiple levels. A…