This commit is contained in:
Pavel 2024-02-23 08:45:12 +03:00
parent 374f110c88
commit 93ce774f7b

@ -47,10 +47,6 @@ func (c *Controller) PublishPrivileges() error {
fmt.Println("Old Privilege:", old)
if len(old) == 0 || len(old) != len(c.client.Privileges) {
return c.setupActualPrivileges()
}
found := false
for _, oldPriv := range old {
@ -112,22 +108,37 @@ func (c *Controller) updatePrivileges(oldPrivileges []Privilege) error {
return errs[0]
}
if len(oldPrivileges) == 0 || len(oldPrivileges) != len(c.client.Privileges) {
return c.setupActualPrivileges(oldPrivileges)
}
return nil
}
// setupActualPrivileges настраивает привилегии в сервисе.
func (c *Controller) setupActualPrivileges() error {
res := []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))
func (c *Controller) setupActualPrivileges(oldPrivileges []Privilege) error {
newPrivileges := []Privilege{}
if err := json.Unmarshal(body, &res); err != nil {
return err
for _, newPriv := range c.client.Privileges {
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