| @@ -0,0 +1,63 @@ | |||||
| package reqbuilder | |||||
| import ( | |||||
| "gitlink.org.cn/cloudream/common/pkg/distlock" | |||||
| "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" | |||||
| ) | |||||
| type MetadataCacheLockReqBuilder struct { | |||||
| *MetadataLockReqBuilder | |||||
| } | |||||
| func (b *MetadataLockReqBuilder) Cache() *MetadataCacheLockReqBuilder { | |||||
| return &MetadataCacheLockReqBuilder{MetadataLockReqBuilder: b} | |||||
| } | |||||
| func (b *MetadataCacheLockReqBuilder) ReadOne(objectID int) *MetadataCacheLockReqBuilder { | |||||
| b.locks = append(b.locks, distlock.Lock{ | |||||
| Path: b.makePath("Cache"), | |||||
| Name: lockprovider.METADATA_ELEMENT_READ_LOCK, | |||||
| Target: *lockprovider.NewStringLockTarget().Add(objectID), | |||||
| }) | |||||
| return b | |||||
| } | |||||
| func (b *MetadataCacheLockReqBuilder) WriteOne(objectID int) *MetadataCacheLockReqBuilder { | |||||
| b.locks = append(b.locks, distlock.Lock{ | |||||
| Path: b.makePath("Cache"), | |||||
| Name: lockprovider.METADATA_ELEMENT_WRITE_LOCK, | |||||
| Target: *lockprovider.NewStringLockTarget().Add(objectID), | |||||
| }) | |||||
| return b | |||||
| } | |||||
| func (b *MetadataCacheLockReqBuilder) CreateOne() *MetadataCacheLockReqBuilder { | |||||
| b.locks = append(b.locks, distlock.Lock{ | |||||
| Path: b.makePath("Cache"), | |||||
| Name: lockprovider.METADATA_ELEMENT_CREATE_LOCK, | |||||
| Target: *lockprovider.NewStringLockTarget(), | |||||
| }) | |||||
| return b | |||||
| } | |||||
| func (b *MetadataCacheLockReqBuilder) ReadAny() *MetadataCacheLockReqBuilder { | |||||
| b.locks = append(b.locks, distlock.Lock{ | |||||
| Path: b.makePath("Cache"), | |||||
| Name: lockprovider.METADATA_SET_READ_LOCK, | |||||
| Target: *lockprovider.NewStringLockTarget(), | |||||
| }) | |||||
| return b | |||||
| } | |||||
| func (b *MetadataCacheLockReqBuilder) WriteAny() *MetadataCacheLockReqBuilder { | |||||
| b.locks = append(b.locks, distlock.Lock{ | |||||
| Path: b.makePath("Cache"), | |||||
| Name: lockprovider.METADATA_SET_WRITE_LOCK, | |||||
| Target: *lockprovider.NewStringLockTarget(), | |||||
| }) | |||||
| return b | |||||
| } | |||||
| func (b *MetadataCacheLockReqBuilder) CreateAny() *MetadataCacheLockReqBuilder { | |||||
| b.locks = append(b.locks, distlock.Lock{ | |||||
| Path: b.makePath("Cache"), | |||||
| Name: lockprovider.METADATA_SET_CREATE_LOCK, | |||||
| Target: *lockprovider.NewStringLockTarget(), | |||||
| }) | |||||
| return b | |||||
| } | |||||
| @@ -29,11 +29,11 @@ func (b *MetadataObjectLockReqBuilder) WriteOne(objectID int) *MetadataObjectLoc | |||||
| }) | }) | ||||
| return b | return b | ||||
| } | } | ||||
| func (b *MetadataObjectLockReqBuilder) CreateOne() *MetadataObjectLockReqBuilder { | |||||
| func (b *MetadataObjectLockReqBuilder) CreateOne(bucketID int, objectName string) *MetadataObjectLockReqBuilder { | |||||
| b.locks = append(b.locks, distlock.Lock{ | b.locks = append(b.locks, distlock.Lock{ | ||||
| Path: b.makePath("Object"), | Path: b.makePath("Object"), | ||||
| Name: lockprovider.METADATA_ELEMENT_CREATE_LOCK, | Name: lockprovider.METADATA_ELEMENT_CREATE_LOCK, | ||||
| Target: *lockprovider.NewStringLockTarget(), | |||||
| Target: *lockprovider.NewStringLockTarget().Add(bucketID, objectName), | |||||
| }) | }) | ||||
| return b | return b | ||||
| } | } | ||||
| @@ -13,19 +13,19 @@ func (b *MetadataLockReqBuilder) UserBucket() *MetadataUserBucketLockReqBuilder | |||||
| return &MetadataUserBucketLockReqBuilder{MetadataLockReqBuilder: b} | return &MetadataUserBucketLockReqBuilder{MetadataLockReqBuilder: b} | ||||
| } | } | ||||
| func (b *MetadataUserBucketLockReqBuilder) ReadOne(bucketID int) *MetadataUserBucketLockReqBuilder { | |||||
| func (b *MetadataUserBucketLockReqBuilder) ReadOne(userID int, bucketID int) *MetadataUserBucketLockReqBuilder { | |||||
| b.locks = append(b.locks, distlock.Lock{ | b.locks = append(b.locks, distlock.Lock{ | ||||
| Path: b.makePath("UserBucket"), | Path: b.makePath("UserBucket"), | ||||
| Name: lockprovider.METADATA_ELEMENT_READ_LOCK, | Name: lockprovider.METADATA_ELEMENT_READ_LOCK, | ||||
| Target: *lockprovider.NewStringLockTarget().Add(bucketID), | |||||
| Target: *lockprovider.NewStringLockTarget().Add(userID, bucketID), | |||||
| }) | }) | ||||
| return b | return b | ||||
| } | } | ||||
| func (b *MetadataUserBucketLockReqBuilder) WriteOne(bucketID int) *MetadataUserBucketLockReqBuilder { | |||||
| func (b *MetadataUserBucketLockReqBuilder) WriteOne(userID int, bucketID int) *MetadataUserBucketLockReqBuilder { | |||||
| b.locks = append(b.locks, distlock.Lock{ | b.locks = append(b.locks, distlock.Lock{ | ||||
| Path: b.makePath("UserBucket"), | Path: b.makePath("UserBucket"), | ||||
| Name: lockprovider.METADATA_ELEMENT_WRITE_LOCK, | Name: lockprovider.METADATA_ELEMENT_WRITE_LOCK, | ||||
| Target: *lockprovider.NewStringLockTarget().Add(bucketID), | |||||
| Target: *lockprovider.NewStringLockTarget().Add(userID, bucketID), | |||||
| }) | }) | ||||
| return b | return b | ||||
| } | } | ||||