Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import "github.com/globalsign/mgo"
- func (p *Service) putBucketPolicyToMgo(xl *xlog.Logger, bucketId string, newPolicy *policy.BucketPolicy) (err error) {
- bucketColl := p.PubInfoInstance.bucketInstance.Collection
- query := bson.M{"id": bucketId}
- updator := bson.M{"$set": bson.M{"policy": newPolicy}, "$inc": bson.M{"policy.changeId": 1}}
- err = bucketColl.Update(query, updator)
- if err != nil {
- err = BucketID(bucketId).DbError(xl, err)
- return
- }
- cacheRefresh := p.PubInfoInstance.bucketInstance.Refresher
- cacheKey := tblg.MakeCacheKey_ForBucketPolicy(bucketId)
- if err1 := cacheRefresh.Refresh(xl, cacheKey); err1 != nil {
- xl.Warnf("refresh failed id:%v", cacheKey)
- }
- return
- }
- func (p *Service) getBucketPolicyFromMgo(xl *xlog.Logger, bucketId string) (result *policy.BucketPolicy, err error) {
- var tmp struct {
- Policy policy.BucketPolicy `bson:"policy,omitempty"`
- }
- bucketColl := p.PubInfoInstance.bucketInstance.Collection
- query := bson.M{"id": bucketId}
- selector := bson.M{"policy": 1}
- err = bucketColl.Find(query).Select(selector).One(&tmp)
- if err != nil {
- err = BucketID(bucketId).DbError(xl, err)
- return
- }
- return &tmp.Policy, nil
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement