This repository has been archived by the owner on Mar 16, 2022. It is now read-only.
/
configenv.go
89 lines (76 loc) · 2.32 KB
/
configenv.go
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
/**
* Created by GoLand.
* Email: xzghua@gmail.com
* Date: 2019-07-17
* Time: 15:07
*/
package repository
import (
"github.com/jinzhu/gorm"
"github.com/kplcloud/kplcloud/src/repository/types"
)
type ConfigEnvRepository interface {
GetConfigEnvByNameNs(name, namespace string) ([]*types.ConfigEnv, error)
GetConfigEnvCountByNameNs(name, ns string) (cnt int64, err error)
GetConfigEnvPaginate(name, ns string, offset int, limit int) ([]types.ConfigEnv, error)
CreateConfEnv(name, ns, envKey, envVar, EnvDesc string) error
FindById(id int64) (types.ConfigEnv, bool)
Update(id int64, confEnv types.ConfigEnv) error
Delete(id int64) error
}
type configEnv struct {
db *gorm.DB
}
func NewConfigEnvRepository(db *gorm.DB) ConfigEnvRepository {
return &configEnv{db: db}
}
func (c *configEnv) GetConfigEnvByNameNs(name, namespace string) (configEnvs []*types.ConfigEnv, err error) {
err = c.db.Where("name = ?", name).Where("namespace = ?", namespace).Find(&configEnvs).Error
return configEnvs, err
}
func (c *configEnv) GetConfigEnvCountByNameNs(name, ns string) (cnt int64, err error) {
confEnv := new(types.ConfigEnv)
query := c.db.Model(&confEnv)
if name != "" {
query = query.Where("name = ?", name)
}
if ns != "" {
query = query.Where("namespace = ?", ns)
}
err = query.Count(&cnt).Error
return cnt, err
}
func (c *configEnv) GetConfigEnvPaginate(name, ns string, offset int, limit int) ([]types.ConfigEnv, error) {
var confEnv []types.ConfigEnv
query := c.db
if name != "" {
query = query.Where("name = ?", name)
}
if ns != "" {
query = query.Where("namespace = ?", ns)
}
err := query.Offset(offset).Limit(limit).Find(&confEnv).Error
return confEnv, err
}
func (c *configEnv) CreateConfEnv(name, ns, envKey, envVar, EnvDesc string) error {
confEnv := types.ConfigEnv{
Name: name,
Namespace: ns,
EnvKey: envKey,
EnvVar: envVar,
EnvDesc: EnvDesc,
}
err := c.db.Create(&confEnv).Error
return err
}
func (c *configEnv) FindById(id int64) (confEnv types.ConfigEnv, res bool) {
res = c.db.Find(&confEnv, "id = ?", id).RecordNotFound()
return
}
func (c *configEnv) Update(id int64, confEnv types.ConfigEnv) error {
return c.db.Where("id = ?", id).Save(&confEnv).Error
}
func (c *configEnv) Delete(id int64) error {
var confEnv types.ConfigEnv
return c.db.Delete(&confEnv, "id = ?", id).Error
}