add session recording aggregate view
This commit is contained in:
1 parent
bb82fa6507
commit
d365123045
4 files changed
+56
-4
No files matched your search
@@ -79,7 +79,7 @@ begin;
|
||||
drop view if exists whx_credential_dimension_source;
|
||||
drop view if exists target_all_subtypes;
|
||||
|
||||
-- Replaced in oss/70/08_targets.up.sql
|
||||
-- Replaced in oss/70/09_targets.up.sql
|
||||
create view target_all_subtypes as
|
||||
select
|
||||
public_id,
|
||||
@@ -116,7 +116,7 @@ begin;
|
||||
from
|
||||
target_ssh;
|
||||
|
||||
-- Replaced in oss/70/08_targets.up.sql
|
||||
-- Replaced in oss/70/09_targets.up.sql
|
||||
create view whx_host_dimension_source as
|
||||
with
|
||||
host_sources (
|
||||
@@ -249,7 +249,7 @@ begin;
|
||||
|
||||
-- The whx_credential_dimension_source view shows the current values in the
|
||||
-- operational tables of the credential dimension.
|
||||
-- Replaced in oss/70/08_targets.up.sql
|
||||
-- Replaced in oss/70/09_targets.up.sql
|
||||
create view whx_credential_dimension_source as
|
||||
with vault_generic_library as (
|
||||
select vcl.public_id as public_id,
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
-- Copyright (c) HashiCorp, Inc.
|
||||
-- SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
begin;
|
||||
|
||||
create view session_recording_aggregate as
|
||||
select
|
||||
rs.public_id,
|
||||
rs.storage_bucket_id,
|
||||
rs.session_id,
|
||||
rs.create_time,
|
||||
rs.update_time,
|
||||
rs.start_time,
|
||||
rs.end_time,
|
||||
sb.scope_id as storage_bucket_scope_id,
|
||||
-- fields that cover the user fields at creation time
|
||||
uh.public_id as user_history_public_id,
|
||||
uh.name as user_history_name,
|
||||
uh.description as user_history_description,
|
||||
uh.scope_id as user_history_scope_id,
|
||||
-- fields that cover the user's scope information at creation time
|
||||
ush.public_id as user_scope_history_public_id,
|
||||
ush.name as user_scope_history_name,
|
||||
ush.description as user_scope_history_description,
|
||||
ush.type as user_scope_history_type,
|
||||
ush.parent_id as user_scope_history_parent_id,
|
||||
ush.primary_auth_method_id as user_scope_history_primary_auth_method_id
|
||||
from recording_session rs
|
||||
join storage_plugin_storage_bucket sb on
|
||||
rs.storage_bucket_id = sb.public_id
|
||||
join iam_user_hst uh on
|
||||
rs.user_hst_id = uh.history_id
|
||||
join iam_scope_hst as ush on
|
||||
rs.user_scope_hst_id = ush.history_id;
|
||||
comment on view session_recording_aggregate is
|
||||
'session_recording_aggregate contains the session recording resource with its storage bucket scope info and historical user info.';
|
||||
|
||||
commit;
|
||||
File renamed without changes.
@@ -8,9 +8,11 @@
|
||||
-- end_time_null_or_after_start_time
|
||||
|
||||
begin;
|
||||
select plan(19);
|
||||
select plan(21);
|
||||
select wtt_load('widgets', 'iam', 'kms', 'auth', 'hosts', 'targets', 'sessions');
|
||||
|
||||
select has_view('session_recording_aggregate', 'view for aggregating session recording info does not exist');
|
||||
|
||||
-- tests a fk column referencing a history table
|
||||
-- add 5 to the plan for each time this function is called
|
||||
create function hst_fk_column(column_name name, pk_table name) returns text
|
||||
@@ -72,6 +74,18 @@ begin;
|
||||
where public_id = 'sr_123456789';
|
||||
select lives_ok('close_recording_session');
|
||||
|
||||
prepare select_session_recordings as
|
||||
select public_id::text, storage_bucket_id::text, storage_bucket_scope_id::text, session_id::text, user_history_public_id::text, user_history_name::text, user_history_scope_id::text, user_scope_history_type::text
|
||||
from session_recording_aggregate
|
||||
where public_id in ('sr_123456789')
|
||||
order by public_id;
|
||||
|
||||
select results_eq(
|
||||
'select_session_recordings',
|
||||
$$VALUES
|
||||
('sr_123456789', 'sb_________g', 'global', 's1_____clare', 'u______clare', 'Clare', 'o_____colors', 'org')$$
|
||||
);
|
||||
|
||||
-- Closing a second time should error
|
||||
select throws_ok('close_recording_session', '23602', null, 'closing a recording_session twice succeeded');
|
||||
|
||||
|
||||
Reference in new issue
Block a user