...
- id_index
- name
- id
- description
- subject_id_data_field_id_index
grouper_members
Existing table can be stripped down since data is in the entity tables
- id (012)
- idIndexsubjectType
- id_index_foreign_key (id_index of group, local entity, or misc (user)
- subject_id (uuid for groups or entities, or some value of data field)
- type (G = group, E = local entity, U = user (person or non person)
- view_group_id_index (group which can view this subject, comes from privilege or data field view group (group / person / app / thing)
- search strings
- sort strings
- resolvable
...
- id (737)
- member_id (012)
- subject_identifier_value (12345678) (indexed non unique)
- subject_identifier_value_lower (if case insensitive?)
- data_field_id
Unique index on data_field_id / subject_identifier_value tuple
...
- id (234)
- system_name (emailAddress)
- display_name (Email)
- data_type (boolean, string, integer)
- type (user)
- multi_valued? false
- description
- privacy_level_id 058
- is_identifier? true
- access_related? false
- stored_locally? true
- stored_in_pit? true
- pit_retenion: 5 * 365
- group_can_see: ref:staff
- from_sole_source: my_people
- calculated: false
- dynamic: false
- case sensitive?
- id (567)
- system_name (org)
- display_name (Org)
- data_type (boolean, string, integer)
- type (row)
- multi_valued: true
- description
- privacy_level_id 058
- is_identifier? false
- access_related? true
- stored_locally? true
- pit_retention: 5*365
- group_can_see: ref:powerUsers
- from_sole_source: my_payroll
- calculated: false
- dynamic: false
...