Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. import "github.com/globalsign/mgo"
  2.  
  3. func (p *Service) putBucketPolicyToMgo(xl *xlog.Logger, bucketId string, newPolicy *policy.BucketPolicy) (err error) {
  4. bucketColl := p.PubInfoInstance.bucketInstance.Collection
  5. query := bson.M{"id": bucketId}
  6. updator := bson.M{"$set": bson.M{"policy": newPolicy}, "$inc": bson.M{"policy.changeId": 1}}
  7. err = bucketColl.Update(query, updator)
  8. if err != nil {
  9. err = BucketID(bucketId).DbError(xl, err)
  10. return
  11. }
  12.  
  13. cacheRefresh := p.PubInfoInstance.bucketInstance.Refresher
  14. cacheKey := tblg.MakeCacheKey_ForBucketPolicy(bucketId)
  15. if err1 := cacheRefresh.Refresh(xl, cacheKey); err1 != nil {
  16. xl.Warnf("refresh failed id:%v", cacheKey)
  17. }
  18. return
  19. }
  20.  
  21. func (p *Service) getBucketPolicyFromMgo(xl *xlog.Logger, bucketId string) (result *policy.BucketPolicy, err error) {
  22. var tmp struct {
  23. Policy policy.BucketPolicy `bson:"policy,omitempty"`
  24. }
  25. bucketColl := p.PubInfoInstance.bucketInstance.Collection
  26. query := bson.M{"id": bucketId}
  27. selector := bson.M{"policy": 1}
  28. err = bucketColl.Find(query).Select(selector).One(&tmp)
  29. if err != nil {
  30. err = BucketID(bucketId).DbError(xl, err)
  31. return
  32. }
  33.  
  34. return &tmp.Policy, nil
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement