update
This commit is contained in:
parent
374f110c88
commit
93ce774f7b
@ -47,10 +47,6 @@ func (c *Controller) PublishPrivileges() error {
|
|||||||
|
|
||||||
fmt.Println("Old Privilege:", old)
|
fmt.Println("Old Privilege:", old)
|
||||||
|
|
||||||
if len(old) == 0 || len(old) != len(c.client.Privileges) {
|
|
||||||
return c.setupActualPrivileges()
|
|
||||||
}
|
|
||||||
|
|
||||||
found := false
|
found := false
|
||||||
|
|
||||||
for _, oldPriv := range old {
|
for _, oldPriv := range old {
|
||||||
@ -112,22 +108,37 @@ func (c *Controller) updatePrivileges(oldPrivileges []Privilege) error {
|
|||||||
return errs[0]
|
return errs[0]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(oldPrivileges) == 0 || len(oldPrivileges) != len(c.client.Privileges) {
|
||||||
|
return c.setupActualPrivileges(oldPrivileges)
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// setupActualPrivileges настраивает привилегии в сервисе.
|
// setupActualPrivileges настраивает привилегии в сервисе.
|
||||||
func (c *Controller) setupActualPrivileges() error {
|
func (c *Controller) setupActualPrivileges(oldPrivileges []Privilege) error {
|
||||||
res := []Privilege{}
|
newPrivileges := []Privilege{}
|
||||||
_, body, errs := c.fiberClient.Post(c.client.URL + "/privilege/many").JSON(map[string][]Privilege{
|
|
||||||
"privileges": c.client.Privileges,
|
|
||||||
}).Bytes()
|
|
||||||
if errs != nil {
|
|
||||||
return errs[0]
|
|
||||||
}
|
|
||||||
fmt.Println("Response Body:", string(body))
|
|
||||||
|
|
||||||
if err := json.Unmarshal(body, &res); err != nil {
|
for _, newPriv := range c.client.Privileges {
|
||||||
return err
|
isNew := true
|
||||||
|
for _, oldPriv := range oldPrivileges {
|
||||||
|
if newPriv.PrivilegeID == oldPriv.PrivilegeID {
|
||||||
|
isNew = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if isNew {
|
||||||
|
newPrivileges = append(newPrivileges, newPriv)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(newPrivileges) > 0 {
|
||||||
|
_, _, errs := c.fiberClient.Post(c.client.URL + "/privilege/many").JSON(map[string][]Privilege{
|
||||||
|
"privileges": newPrivileges,
|
||||||
|
}).Bytes()
|
||||||
|
if errs != nil {
|
||||||
|
return errs[0]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
Loading…
Reference in New Issue
Block a user