-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathtoolbox.go
More file actions
95 lines (75 loc) · 2.56 KB
/
Copy pathtoolbox.go
File metadata and controls
95 lines (75 loc) · 2.56 KB
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
/*
Copyright 2024 The west2-online Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package pack
import (
"github.com/west2-online/fzuhelper-server/kitex_gen/model"
dbmodel "github.com/west2-online/fzuhelper-server/pkg/db/model"
)
// BuildToolboxConfig 将数据库模型转换为kitex模型
func BuildToolboxConfig(dbConfig *dbmodel.ToolboxConfig) *model.ToolboxConfig {
kitexConfig := &model.ToolboxConfig{
ToolId: dbConfig.ToolID,
}
// 处理指针字段
if dbConfig.Visible {
kitexConfig.Visible = &dbConfig.Visible
}
if dbConfig.Name != "" {
kitexConfig.Name = &dbConfig.Name
}
if dbConfig.Icon != "" {
kitexConfig.Icon = &dbConfig.Icon
}
if dbConfig.Type != "" {
kitexConfig.Type = &dbConfig.Type
}
if dbConfig.Message != "" {
kitexConfig.Message = &dbConfig.Message
}
if dbConfig.Extra != "" {
kitexConfig.Extra = &dbConfig.Extra
}
if dbConfig.Platform != "" {
kitexConfig.Platform = &dbConfig.Platform
}
if dbConfig.Version > 0 {
kitexConfig.Version = &dbConfig.Version
}
return kitexConfig
}
// BuildToolboxConfigList 将数据库模型列表转换为kitex模型列表
func BuildToolboxConfigList(dbConfigs []*dbmodel.ToolboxConfig) []*model.ToolboxConfig {
result := make([]*model.ToolboxConfig, len(dbConfigs))
for i, dbConfig := range dbConfigs {
result[i] = BuildToolboxConfig(dbConfig)
}
return result
}
// BuildToolboxConfigDetail 将数据库模型转换为管理端可读的kitex模型
func BuildToolboxConfigDetail(dbConfig *dbmodel.ToolboxConfig) *model.ToolboxConfig {
kitexConfig := BuildToolboxConfig(dbConfig)
kitexConfig.ConfigId = &dbConfig.Id
kitexConfig.Visible = &dbConfig.Visible
if dbConfig.StudentID != "" {
kitexConfig.StudentId = &dbConfig.StudentID
}
return kitexConfig
}
// BuildToolboxConfigDetailList 将数据库模型列表转换为管理端可读的kitex模型列表
func BuildToolboxConfigDetailList(dbConfigs []*dbmodel.ToolboxConfig) []*model.ToolboxConfig {
result := make([]*model.ToolboxConfig, len(dbConfigs))
for i, dbConfig := range dbConfigs {
result[i] = BuildToolboxConfigDetail(dbConfig)
}
return result
}