Skip to content
Snippets Groups Projects
Commit 4a3f8301 authored by Anton Sattarov's avatar Anton Sattarov
Browse files

Исправлена ошибка при которой была возможность изменить обьект находящийся в кеше Items

parent 62b3db3e
No related branches found
No related tags found
No related merge requests found
......@@ -35,7 +35,7 @@ func (m cachingMiddleware) Get(ctx context.Context, spaceId, envId, collectionId
value, e := m.cache.Get(makeKey(spaceId, envId, collectionId, itemId))
if e == nil {
return value.(*service.Item), err
return value.(*service.Item).Clone(), err
}
itm, err = m.Items.Get(ctx, spaceId, envId, collectionId, itemId, options...)
if err == nil {
......@@ -43,9 +43,9 @@ func (m cachingMiddleware) Get(ctx context.Context, spaceId, envId, collectionId
if err != nil {
return nil, err
}
m.cache.Set(makeKey(itm.SpaceID, env.ID, itm.CollectionID, itm.ID), itm)
m.cache.Set(makeKey(itm.SpaceID, env.ID, itm.CollectionID, itm.ID), itm.Clone())
for _, al := range env.Aliases {
m.cache.Set(makeKey(itm.SpaceID, al, itm.CollectionID, itm.ID), itm)
m.cache.Set(makeKey(itm.SpaceID, al, itm.CollectionID, itm.ID), itm.Clone())
}
}
return itm, err
......@@ -132,7 +132,7 @@ func (m cachingMiddleware) GetPublished(ctx context.Context, spaceId, envId, col
if e == nil {
value := val.(map[string]*service.Item)
if i, ok := value[opts.LocaleID]; ok {
return i, nil
return i.Clone(), nil
}
}
......@@ -147,7 +147,7 @@ func (m cachingMiddleware) GetPublished(ctx context.Context, spaceId, envId, col
if val != nil {
value = val.(map[string]*service.Item)
}
value[opts.LocaleID] = itm
value[opts.LocaleID] = itm.Clone()
m.cachePublished.Set(makeKey(itm.SpaceID, env.ID, itm.CollectionID, itm.ID), value)
for _, al := range env.Aliases {
m.cachePublished.Set(makeKey(itm.SpaceID, al, itm.CollectionID, itm.ID), value)
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment