-
Notifications
You must be signed in to change notification settings - Fork 3
/
unassign_roles.go
40 lines (32 loc) · 952 Bytes
/
unassign_roles.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
package perm
import (
"github.com/bianjieai/iritamod/modules/perm/types"
. "github.com/kaifei-bianjie/common-parser/modules"
. "github.com/kaifei-bianjie/iritamod-parser/modules"
)
type DocMsgUnassignRoles struct {
Address string `bson:"address" json:"address"`
Roles []string `bson:"roles" json:"roles"`
Operator string `bson:"operator" json:"operator"`
}
func (m *DocMsgUnassignRoles) GetType() string {
return DocTypeUnassignRoles
}
func (m *DocMsgUnassignRoles) BuildMsg(v interface{}) {
msg := v.(*MsgUnassignRoles)
m.Address = msg.Address
for _, r := range msg.Roles {
name := types.Role_name[int32(r)]
m.Roles = append(m.Roles, name)
}
m.Operator = msg.Operator
}
func (m *DocMsgUnassignRoles) HandleTxMsg(v SdkMsg) MsgDocInfo {
var addrs []string
msg := v.(*MsgUnassignRoles)
addrs = append(addrs, msg.Operator)
handler := func() (Msg, []string) {
return m, addrs
}
return CreateMsgDocInfo(v, handler)
}