Skip to content

Commit 40526d8

Browse files
committed
feature: add csp
1 parent dbf1aa4 commit 40526d8

File tree

2 files changed

+67
-2
lines changed

2 files changed

+67
-2
lines changed

controller/models/csp.go

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package models
2+
3+
import (
4+
"encoding/json"
5+
"fmt"
6+
7+
"github.com/ICKelin/cframe/codec"
8+
"github.com/ICKelin/cframe/pkg/etcdstorage"
9+
log "github.com/ICKelin/cframe/pkg/logs"
10+
)
11+
12+
var (
13+
cspPrefix = "/csps/"
14+
)
15+
16+
type CSPManagr struct {
17+
storage *etcdstorage.Etcd
18+
}
19+
20+
func NewCSPManager(store *etcdstorage.Etcd) *CSPManagr {
21+
return &CSPManagr{
22+
storage: store,
23+
}
24+
}
25+
26+
func (m *CSPManagr) AddCSP(namespace, name string, csp *codec.CSPInfo) error {
27+
key := fmt.Sprintf("%s%s/%s", cspPrefix, namespace, name)
28+
return m.storage.Set(key, csp)
29+
}
30+
31+
func (m *CSPManagr) GetCSP(namespace, name string) (*codec.CSPInfo, error) {
32+
key := fmt.Sprintf("%s%s/%s", cspPrefix, namespace, name)
33+
var csp codec.CSPInfo
34+
err := m.storage.Get(key, &csp)
35+
if err != nil {
36+
return nil, err
37+
}
38+
return &csp, nil
39+
}
40+
41+
func (m *CSPManagr) DelCSP(namespace, name string) error {
42+
key := fmt.Sprintf("%s%s/%s", cspPrefix, namespace, name)
43+
m.storage.Del(key)
44+
return nil
45+
}
46+
47+
func (m *CSPManagr) GetCSPList(namespace string) []*codec.CSPInfo {
48+
key := fmt.Sprintf("%s%s", cspPrefix, namespace)
49+
res, err := m.storage.List(key)
50+
if err != nil {
51+
log.Error("list %s fail: %v", key, err)
52+
return nil
53+
}
54+
55+
csps := make([]*codec.CSPInfo, 0)
56+
for _, val := range res {
57+
r := codec.CSPInfo{}
58+
err := json.Unmarshal([]byte(val), &r)
59+
if err != nil {
60+
log.Error("unmarshal to edge fail: %v", err)
61+
continue
62+
}
63+
csps = append(csps, &r)
64+
}
65+
return csps
66+
}

controller/models/route_manager.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ import (
1212
)
1313

1414
var (
15-
defaultRouteManager *RouteManager
16-
routePrefix = "/routes/"
15+
routePrefix = "/routes/"
1716
)
1817

1918
type RouteManager struct {

0 commit comments

Comments
 (0)