Passed
Push — main ( 26be31...19cade )
by Yume
01:25
created

app/models/user_logs.go   A

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 9
eloc 35
dl 0
loc 45
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
C models.UserLogType.ToString 0 18 9
1
package models
2
3
import (
4
	"gorm.io/gorm"
5
)
6
7
// Mem structure
8
type UserLogs struct {
9
	gorm.Model
10
	UserID  uint `json:"user_id" example:"1"`
11
	User    User
12
	LogType UserLogType `json:"user_log_type" example:"1"`
13
	Message string      `json:"user_message" example:"Edited Profile Picture"`
14
}
15
16
type UserLogType int64
17
18
const (
19
	UserLogin UserLogType = iota + 1
20
	UserLogout
21
	UserRegister
22
	UserEdit
23
	UserDeleted
24
	UserSubscribe
25
	UserUnsubscribe
26
)
27
28
func (s UserLogType) ToString() string {
29
	switch s {
30
	case UserLogin:
31
		return "User Login"
32
	case UserLogout:
33
		return "User Logout"
34
	case UserRegister:
35
		return "User Register"
36
	case UserEdit:
37
		return "User Edit"
38
	case UserDeleted:
39
		return "User Deleted"
40
	case UserSubscribe:
41
		return "User Subscribe"
42
	case UserUnsubscribe:
43
		return "User Unsubscribe"
44
	default:
45
		return "Unknown"
46
	}
47
}
48