refactor
This commit is contained in:
parent
81431e0d17
commit
4f4194c7b6
@ -65,7 +65,7 @@ func (c *Controller) PublishPrivileges() error {
|
||||
found = false
|
||||
}
|
||||
|
||||
return c.updatePrivileges()
|
||||
return c.updatePrivileges(old)
|
||||
}
|
||||
|
||||
// getActualPrivileges возвращает текущие привилегии из сервиса.
|
||||
@ -86,12 +86,25 @@ func (c *Controller) getActualPrivileges() ([]Privilege, error) {
|
||||
}
|
||||
|
||||
// updatePrivileges обновляет привилегии в сервисе.
|
||||
func (c *Controller) updatePrivileges() error {
|
||||
_, _, err := c.fiberClient.Put(c.client.URL + "/privilege/many").JSON(map[string][]Privilege{
|
||||
"privileges": c.client.Privileges,
|
||||
func (c *Controller) updatePrivileges(oldPrivileges []Privilege) error {
|
||||
newPrivilegesMap := make(map[string]Privilege)
|
||||
for _, newPriv := range c.client.Privileges {
|
||||
newPrivilegesMap[newPriv.PrivilegeID] = newPriv
|
||||
}
|
||||
|
||||
for i, oldPriv := range oldPrivileges {
|
||||
if newPriv, exists := newPrivilegesMap[oldPriv.PrivilegeID]; exists {
|
||||
if newPriv.Price != 0 {
|
||||
oldPrivileges[i].Price = newPriv.Price
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_, _, errs := c.fiberClient.Put(c.client.URL + "/privilege/many").JSON(map[string][]Privilege{
|
||||
"privileges": oldPrivileges,
|
||||
}).Bytes()
|
||||
if err != nil {
|
||||
return err[0]
|
||||
if errs != nil {
|
||||
return errs[0]
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -84,8 +84,8 @@ func TestUpdatePrivileges(t *testing.T) {
|
||||
ServiceKey: "test",
|
||||
Description: "This is a test 100 генераций",
|
||||
Type: "count",
|
||||
Price: 1000,
|
||||
Value: "100",
|
||||
Price: 10.0,
|
||||
Amount: 5,
|
||||
IsDeleted: false,
|
||||
CreatedAt: time.Now(),
|
||||
@ -98,7 +98,9 @@ func TestUpdatePrivileges(t *testing.T) {
|
||||
fiberClient := fiber.Client{}
|
||||
controller := NewPrivilege(client, &fiberClient)
|
||||
|
||||
err := controller.updatePrivileges()
|
||||
privileges, err := controller.getActualPrivileges()
|
||||
|
||||
err = controller.updatePrivileges(privileges)
|
||||
|
||||
assert.Nil(t, err)
|
||||
}
|
||||
@ -139,14 +141,13 @@ func TestRemovePrivilege(t *testing.T) {
|
||||
ServiceName: "key",
|
||||
Privileges: []Privilege{
|
||||
{
|
||||
ID: "1",
|
||||
PrivilegeID: "test1",
|
||||
Name: "Test1",
|
||||
ServiceKey: "key",
|
||||
Description: "This is a test",
|
||||
ID: "2",
|
||||
PrivilegeID: "64e60d28eac51324f2296753",
|
||||
Name: "100 генераций",
|
||||
ServiceKey: "test",
|
||||
Description: "This is a test 100 генераций",
|
||||
Type: "count",
|
||||
Value: "100",
|
||||
Price: 10.0,
|
||||
Amount: 5,
|
||||
IsDeleted: false,
|
||||
CreatedAt: time.Now(),
|
||||
|
Loading…
Reference in New Issue
Block a user