diff --git a/addons/core/translations/resources/en-us.yaml b/addons/core/translations/resources/en-us.yaml index 3debadfdc..84c878b90 100644 --- a/addons/core/translations/resources/en-us.yaml +++ b/addons/core/translations/resources/en-us.yaml @@ -214,6 +214,8 @@ org: session-recording: title: Session Recording title_plural: Session Recordings + details: Session details + related: Related connection: title: Connection title_plural: Connections diff --git a/ui/admin/app/routes/scopes/scope/session-recordings/session-recording.js b/ui/admin/app/routes/scopes/scope/session-recordings/session-recording.js index 47ae85ee4..b4d2e2f43 100644 --- a/ui/admin/app/routes/scopes/scope/session-recordings/session-recording.js +++ b/ui/admin/app/routes/scopes/scope/session-recordings/session-recording.js @@ -16,7 +16,27 @@ export default class ScopesScopeSessionRecordingsSessionRecordingRoute extends R if (!this.session.isAuthenticated) this.router.transitionTo('index'); } + /** + * Load session recording and related storage bucket if present + * @return {SessionRecordingModel, ?StorageBucketModel} + */ async model({ session_recording_id }) { - return this.store.findRecord('session-recording', session_recording_id); + let storageBucket = null; + const sessionRecording = await this.store.findRecord( + 'session-recording', + session_recording_id + ); + if (sessionRecording.target?.storage_bucket_id) { + const { storage_bucket_id } = sessionRecording.target; + storageBucket = await this.store.findRecord( + 'storage-bucket', + storage_bucket_id + ); + } + + return { + sessionRecording, + storageBucket, + }; } } diff --git a/ui/admin/app/templates/scopes/scope/session-recordings/session-recording/index.hbs b/ui/admin/app/templates/scopes/scope/session-recordings/session-recording/index.hbs index 5c89e63a4..dac6007af 100644 --- a/ui/admin/app/templates/scopes/scope/session-recordings/session-recording/index.hbs +++ b/ui/admin/app/templates/scopes/scope/session-recordings/session-recording/index.hbs @@ -11,7 +11,10 @@
- {{#each @model.connection_recordings as |connection|}} + {{#each + @model.sessionRecording.connection_recordings + as |connection| + }}

{{t 'resources.session-recording.connection.title'}} @@ -77,7 +80,50 @@ {{/each}} -

{{t 'actions.help'}}

+
+

{{t 'resources.session-recording.details'}}

+ {{! Start time }} +

+ + {{@model.sessionRecording.start_time}} +

+ {{! Duration }} +

+ + {{@model.sessionRecording.duration}} +

+ + {{! Bytes up }} +

+ + {{@model.sessionRecording.bytes_up}} +

+ + {{! Bytes down }} +

+ + {{@model.sessionRecording.bytes_down}} +

+
+ {{! Related }} +
+

{{t 'resources.session-recording.related'}}

+ {{! User name }} +

+ + {{@model.sessionRecording.user.name}} +

+ {{! Target name }} +

+ + {{@model.sessionRecording.target.name}} +

+ {{! Bucket name }} +

+ + {{@model.storageBucket.name}} +

+