diff --git a/views/046_permission_subjects.sql b/views/046_permission_subjects.sql index b2b6d447..8a9ef326 100644 --- a/views/046_permission_subjects.sql +++ b/views/046_permission_subjects.sql @@ -1,17 +1,21 @@ CREATE OR REPLACE VIEW permission_subjects AS SELECT - t.id::text AS id, + t.id::TEXT AS id, t.name, - 'team'::text AS type + 'team' AS type, + NULL AS "email", + NULL AS "owner" FROM teams t WHERE t.deleted_at IS NULL UNION ALL SELECT - pg.id::text AS id, + pg.id::TEXT AS id, pg.name, - 'permission_subject_group'::text AS type + 'permission_subject_group' AS type, + NULL AS "email", + NULL AS "owner" FROM permission_groups pg WHERE pg.deleted_at IS NULL AND pg.name IS NOT NULL @@ -20,9 +24,26 @@ WHERE pg.deleted_at IS NULL UNION ALL SELECT - p.id::text AS id, + p.id::TEXT AS id, + access_tokens.name, + 'access_token_person' AS type, + NULL AS "email", + access_tokens.created_by::TEXT AS "owner" +FROM people p +INNER JOIN access_tokens + ON p.id = access_tokens.person_id +WHERE p.deleted_at IS NULL + AND p.type = 'access_token' + AND p.email IS NOT NULL + +UNION ALL + +SELECT + p.id::TEXT AS id, p.name, - 'person'::text AS type + 'person' AS type, + p.email, + NULL AS "owner" FROM people p WHERE p.deleted_at IS NULL AND p.type IS NULL @@ -31,9 +52,11 @@ WHERE p.deleted_at IS NULL UNION ALL SELECT - r.name AS id, + r.name::TEXT AS id, r.name, - 'role'::text AS type + 'role' AS type, + NULL AS "email", + NULL AS "owner" FROM ( VALUES ('everyone'),