Skip to content

6.2.2.8 UserGroup

6.2.2.8.1 Purpose

A set of users of one Organization that receives roles as a whole, like a group in Google Workspace. Instead of giving the same role to every technician one by one, the Organization creates a group, adds its people and gives the role to the group: a member holds every role of the group on top of their own memberships, and loses them when they leave it. Groups hold users only, never other groups, so effective access stays one join with no cycles.

6.2.2.8.2 Questions it answers

  • Which groups does this Organization have, and who belongs to each?
  • Which roles does a user hold because of a group, and since when?
  • Who created or archived a group?

6.2.2.8.3 Fields

Field Type Cardinality Description
id string (uuid) 1..1 Key.
organization Organization 1..1
name string 1..1 (organization, name) is unique among active groups, e.g. Technicians, Milking staff, Veterinarians.
description string 0..1
created_by User 1..1
archived_at datetime 0..1 Archiving ends every membership and every role of the group at the same time; rows are never deleted, so who could act through a group, and when, stays answerable for any past write number.
archived_by User 0..1
system_version SystemVersion 1..1
created_at datetime 1..1
updated_at datetime 1..1

6.2.2.8.4 Relationships

References

Referenced by

Uses types

SystemVersion

6.2.2.8.5 Rules & constraints

  • A set of users of one Organization that receives roles as a whole, like a Google Workspace group.
  • A member holds every role of the group in addition to their own memberships (OrganizationAccessControlMembership); leaving the group removes them.
  • Groups hold users only, never other groups: effective access stays one join, with no cycles.