-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathPermission.kt
163 lines (135 loc) · 2.84 KB
/
Permission.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
package com.akagiyui.drive.model
import jakarta.persistence.AttributeConverter
import jakarta.persistence.Converter
/**
* 权限枚举
*
* @author AkagiYui
*/
enum class Permission(val description: String) {
/**
* 个人文件上传
*/
PERSONAL_UPLOAD("个人文件上传"),
/**
* 个人文件下载
*/
PERSONAL_DOWNLOAD("个人文件下载"),
/**
* 创建文件夹
*/
FOLDER_CREATE("创建文件夹"),
/**
* 删除文件夹
*/
FOLDER_DELETE("删除文件夹"),
/**
* 获取角色信息
*/
ROLE_VIEW("获取角色信息"),
/**
* 添加角色
*/
ROLE_ADD("添加角色"),
/**
* 修改角色
*/
ROLE_UPDATE("修改角色"),
/**
* 删除角色
*/
ROLE_DELETE("删除角色"),
/**
* 分配角色
*/
ROLE_ASSIGN("分配角色"),
/**
* 用户查看
*/
USER_VIEW("用户查看"),
/**
* 用户添加
*/
USER_ADD("用户添加"),
/**
* 用户修改
*/
USER_UPDATE("用户修改"),
/**
* 用户删除
*/
USER_DELETE("用户删除"),
/**
* 公告添加
*/
ANNOUNCEMENT_ADD("公告添加"),
/**
* 公告修改
*/
ANNOUNCEMENT_UPDATE("公告修改"),
/**
* 公告删除
*/
ANNOUNCEMENT_DELETE("公告删除"),
/**
* 获取所有公告
*/
ANNOUNCEMENT_GET_ALL("获取所有公告"),
/**
* 获取设置
*/
CONFIGURATION_GET("获取设置"),
/**
* 修改设置
*/
CONFIGURATION_UPDATE("修改设置"),
/**
* 前端启用调试模式
*/
FRONTEND_ENABLE_DEBUG_MODE("前端启用调试模式"),
/**
* 获取操作日志
*/
ACTION_LOG_GET("获取操作日志"),
/**
* 获取系统信息
*/
SYSTEM_INFO_GET("获取系统信息"),
/**
* 获取所有文件列表
*/
FILE_LIST_ALL("获取所有文件列表"),
/**
* 锁定/解锁文件
*/
FILE_LOCK("锁定/解锁文件"),
/**
* 删除文件
*/
FILE_DELETE("删除文件"),
;
/**
* 从数据库值映射到枚举常量
*/
@Converter
class PermissionConverter : AttributeConverter<Permission, String> {
/**
* 将枚举常量转换为数据库列值
*
* @param permission 枚举常量
* @return 数据库列值
*/
override fun convertToDatabaseColumn(permission: Permission): String {
return permission.name
}
/**
* 将数据库列值转换为枚举常量
*
* @param value 数据库列值
* @return 枚举常量
*/
override fun convertToEntityAttribute(value: String): Permission {
return valueOf(value)
}
}
}