Passed
Branch main (df988b)
by Yume
01:16
created

app/models/access.go   A

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 25
dl 0
loc 35
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A models.AccessPermission.ToString 0 10 5
1
package models
2
3
import (
4
	"gorm.io/gorm"
5
)
6
7
// Access structure
8
type Access struct {
9
	gorm.Model
10
	UserID     uint `json:"user_id" example:"1"`
11
	User       User
12
	DeckID     uint `json:"deck_id" example:"1"`
13
	Deck       Deck
14
	Permission AccessPermission `json:"permission" example:"0"` // 0: None - 1: Student - 2: Editor - 3: Owner
15
}
16
17
type AccessPermission int64
18
19
const (
20
	AccessNone AccessPermission = iota
21
	AccessStudent
22
	AccessEditor
23
	AccessOwner
24
)
25
26
func (s AccessPermission) ToString() string {
27
	switch s {
28
	case AccessStudent:
29
		return "Access Student"
30
	case AccessEditor:
31
		return "Access Editor"
32
	case AccessOwner:
33
		return "Access Owner"
34
	default:
35
		return "Unknown"
36
	}
37
}
38