Skip to content

Commit 7db07d6

Browse files
committed
增加企业版认证相关API
1 parent 092d2ed commit 7db07d6

9 files changed

Lines changed: 271 additions & 61 deletions

File tree

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package models
2+
3+
import (
4+
"encoding/json"
5+
_ "github.com/go-sql-driver/mysql"
6+
"github.com/iwind/TeaGo/Tea"
7+
"github.com/iwind/TeaGo/dbs"
8+
"time"
9+
)
10+
11+
type AuthorityKeyDAO dbs.DAO
12+
13+
func NewAuthorityKeyDAO() *AuthorityKeyDAO {
14+
return dbs.NewDAO(&AuthorityKeyDAO{
15+
DAOObject: dbs.DAOObject{
16+
DB: Tea.Env,
17+
Table: "edgeAuthorityKeys",
18+
Model: new(AuthorityKey),
19+
PkName: "id",
20+
},
21+
}).(*AuthorityKeyDAO)
22+
}
23+
24+
var SharedAuthorityKeyDAO *AuthorityKeyDAO
25+
26+
func init() {
27+
dbs.OnReady(func() {
28+
SharedAuthorityKeyDAO = NewAuthorityKeyDAO()
29+
})
30+
}
31+
32+
// UpdateKey 设置Key
33+
func (this *AuthorityKeyDAO) UpdateKey(tx *dbs.Tx, value string, dayFrom string, dayTo string, hostname string, macAddresses []string) error {
34+
one, err := this.Query(tx).
35+
AscPk().
36+
Find()
37+
if err != nil {
38+
return err
39+
}
40+
op := NewAuthorityKeyOperator()
41+
if one != nil {
42+
op.Id = one.(*AuthorityKey).Id
43+
}
44+
op.Value = value
45+
op.DayFrom = dayFrom
46+
op.DayTo = dayTo
47+
op.Hostname = hostname
48+
49+
if len(macAddresses) == 0 {
50+
macAddresses = []string{}
51+
}
52+
macAddressesJSON, err := json.Marshal(macAddresses)
53+
if err != nil {
54+
return err
55+
}
56+
57+
op.MacAddresses = macAddressesJSON
58+
op.UpdatedAt = time.Now().Unix()
59+
60+
return this.Save(tx, op)
61+
}
62+
63+
// ReadKey 读取Key
64+
func (this *AuthorityKeyDAO) ReadKey(tx *dbs.Tx) (key *AuthorityKey, err error) {
65+
one, err := this.Query(tx).
66+
AscPk().
67+
Find()
68+
if err != nil {
69+
return nil, err
70+
}
71+
if one == nil {
72+
return nil, nil
73+
}
74+
return one.(*AuthorityKey), nil
75+
}
76+
77+
// ResetKey 重置Key
78+
func (this *AuthorityKeyDAO) ResetKey(tx *dbs.Tx) error {
79+
_, err := this.Query(tx).
80+
Delete()
81+
return err
82+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package models
2+
3+
import (
4+
_ "github.com/go-sql-driver/mysql"
5+
_ "github.com/iwind/TeaGo/bootstrap"
6+
"testing"
7+
)
8+
9+
func TestAuthorityKeyDAO_UpdateValue(t *testing.T) {
10+
err := NewAuthorityKeyDAO().UpdateValue(nil, "12345678")
11+
if err != nil {
12+
t.Fatal(err)
13+
}
14+
t.Logf("ok")
15+
}
16+
17+
func TestAuthorityKeyDAO_ReadValue(t *testing.T) {
18+
value, err := NewAuthorityKeyDAO().ReadValue(nil)
19+
if err != nil {
20+
t.Fatal(err)
21+
}
22+
t.Logf(value)
23+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package models
2+
3+
// AuthorityKey 企业版认证信息
4+
type AuthorityKey struct {
5+
Id uint32 `field:"id"` // ID
6+
Value string `field:"value"` // Key值
7+
DayFrom string `field:"dayFrom"` // 开始日期
8+
DayTo string `field:"dayTo"` // 结束日期
9+
Hostname string `field:"hostname"` // Hostname
10+
MacAddresses string `field:"macAddresses"` // MAC地址
11+
UpdatedAt uint64 `field:"updatedAt"` // 创建/修改时间
12+
}
13+
14+
type AuthorityKeyOperator struct {
15+
Id interface{} // ID
16+
Value interface{} // Key值
17+
DayFrom interface{} // 开始日期
18+
DayTo interface{} // 结束日期
19+
Hostname interface{} // Hostname
20+
MacAddresses interface{} // MAC地址
21+
UpdatedAt interface{} // 创建/修改时间
22+
}
23+
24+
func NewAuthorityKeyOperator() *AuthorityKeyOperator {
25+
return &AuthorityKeyOperator{}
26+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package models

internal/db/models/message_dao_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ func TestMessageDAO_CreateClusterMessage(t *testing.T) {
1111
var tx *dbs.Tx
1212

1313
dao := NewMessageDAO()
14-
err := dao.CreateClusterMessage(tx, 1, "test", "error", "123", []byte("456"))
14+
err := dao.CreateClusterMessage(tx, 1, "test", "error", "123", "123", []byte("456"))
1515
if err != nil {
1616
t.Fatal(err)
1717
}

0 commit comments

Comments
 (0)