]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+admin/system/logs/log-row.model.ts
Remember last log type
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / system / logs / log-row.model.ts
index 9bc7dafdd6ac4a75486b9fd333d6d4930fa8aea2..615778210a4f0c6efe4fe371b96178863887fe52 100644 (file)
@@ -1,4 +1,4 @@
-import { LogLevel } from '@shared/models/server/log-level.type'
+import { LogLevel } from '@shared/models'
 import omit from 'lodash-es/omit'
 
 export class LogRow {
@@ -8,6 +8,10 @@ export class LogRow {
   message: string
   meta: string
 
+  by: string
+  domain: string
+  action: string
+
   constructor (row: any) {
     this.date = new Date(row.timestamp)
     this.localeDate = this.date.toLocaleString()
@@ -17,5 +21,20 @@ export class LogRow {
     const metaObj = omit(row, 'timestamp', 'level', 'message', 'label')
 
     if (Object.keys(metaObj).length !== 0) this.meta = JSON.stringify(metaObj, undefined, 2)
+
+    if (row.level === 'audit') {
+      try {
+        const message = JSON.parse(row.message)
+
+        this.by = message.user
+        this.domain = message.domain
+        this.action = message.action
+
+        this.meta = JSON.stringify(message, null, 2)
+        this.message = ''
+      } catch (err) {
+        console.error('Cannot parse audit message.', err)
+      }
+    }
   }
 }