]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/+admin/system/logs/log-row.model.ts
Don't display log level in audit logs view
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / system / logs / log-row.model.ts
1 import { LogLevel } from '@shared/models'
2 import omit from 'lodash-es/omit'
3
4 export class LogRow {
5 date: Date
6 localeDate: string
7 level: LogLevel
8 message: string
9 meta: string
10
11 by: string
12 domain: string
13 action: string
14
15 constructor (row: any) {
16 this.date = new Date(row.timestamp)
17 this.localeDate = this.date.toLocaleString()
18 this.level = row.level
19 this.message = row.message
20
21 const metaObj = omit(row, 'timestamp', 'level', 'message', 'label')
22
23 if (Object.keys(metaObj).length !== 0) this.meta = JSON.stringify(metaObj, undefined, 2)
24
25 if (row.level === 'audit') {
26 try {
27 const message = JSON.parse(row.message)
28
29 this.by = message.user
30 this.domain = message.domain
31 this.action = message.action
32
33 this.meta = JSON.stringify(message, null, 2)
34 this.message = ''
35 } catch (err) {
36 console.error('Cannot parse audit message.', err)
37 }
38 }
39 }
40 }