]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/+admin/system/logs/log-row.model.ts
Merge branch 'release/2.1.0' into develop
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / system / logs / log-row.model.ts
CommitLineData
2c22613c
C
1import { LogLevel } from '@shared/models/server/log-level.type'
2import omit from 'lodash-es/omit'
3
4export class LogRow {
5 date: Date
6 localeDate: string
7 level: LogLevel
8 message: string
9 meta: string
10
566c125d
C
11 by: string
12 domain: string
13 action: string
14
2c22613c
C
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)
566c125d
C
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 }
2c22613c
C
39 }
40}