MCPcopy Create free account
hub / github.com/actiontech/dtle / UpdateRoleInfo

Function UpdateRoleInfo

api/handler/v2/role.go:117–138  ·  view source on GitHub ↗
(logger g.LoggerType, role *common.Role, create bool)

Source from the content-addressed store, hash-verified

115}
116
117func UpdateRoleInfo(logger g.LoggerType, role *common.Role, create bool) error {
118 storeManager, err := common.NewStoreManager([]string{handler.ConsulAddr}, logger)
119 if err != nil {
120 return fmt.Errorf("get consul client failed: %v", err)
121 }
122 _, exist, err := storeManager.GetRole(role.Tenant, role.Name)
123 if err != nil {
124 return err
125 }
126 // not exist cannot update , exist cannot create
127 if !exist && !create {
128 return fmt.Errorf("role does not exist")
129 }
130 if exist && create {
131 return fmt.Errorf("role already exists , cannot create")
132 }
133
134 if err := storeManager.SaveRole(role); nil != err {
135 return fmt.Errorf("create metadata of role from consul failed: %v", err)
136 }
137 return nil
138}
139
140// @Id DeleteRoleV2
141// @Description delete Role.

Callers 2

CreateRoleV2Function · 0.85
UpdateRoleV2Function · 0.85

Calls 3

GetRoleMethod · 0.95
SaveRoleMethod · 0.95
NewStoreManagerFunction · 0.92

Tested by

no test coverage detected