Вот три таблицы
Table users {
id uuid [pk, default: `gen_random_uuid()`]
auth_id uuid [ref: - auths.id]
org_id uuid [ref: - orgs.id]
access_group text [default: 'DEFAULT']
created_at int [default: `now()::int`]
updated_at int
age int
status text
}
Table op_user_access_groups {
op_id uuid [pk, ref: > ops.id]
access_group text [pk, default: 'DEFAULT']
}
Table op_users {
op_id uuid [pk, ref: > ops.id]
user_id uuid [pk, ref: > users.id]
access boolean [default: false]
}
- Таблица
users
содержит информацию о пользователе, и он / она принадлежит определенной организации (org_id) - Таблица
op_user_access_groups
имеет информация об операторе, имеющем доступ ко всем access_groups. op_id
принадлежит org_id
- Таблица
op_users
содержит информацию о пользователях (user_id), к которой может обращаться op_id
независимо от того, к какой группе принадлежит пользователь.
Я хочу создать представление так, чтобы, если я сделаю
select * from <that view> where op_id = ?
, я должен получить пользователей, к которым оператор имеет доступ.
Любая помощь приветствуется:)