25 lines
759 B
Go
25 lines
759 B
Go
package reqbuilder
|
|
|
|
import (
|
|
"gitlink.org.cn/cloudream/common/pkgs/distlock"
|
|
clitypes "gitlink.org.cn/cloudream/jcs-pub/client/types"
|
|
"gitlink.org.cn/cloudream/jcs-pub/common/pkgs/distlock/lockprovider"
|
|
)
|
|
|
|
type MetadataObjectLockReqBuilder struct {
|
|
*MetadataLockReqBuilder
|
|
}
|
|
|
|
func (b *MetadataLockReqBuilder) Object() *MetadataObjectLockReqBuilder {
|
|
return &MetadataObjectLockReqBuilder{MetadataLockReqBuilder: b}
|
|
}
|
|
|
|
func (b *MetadataObjectLockReqBuilder) CreateOne(packageID clitypes.PackageID, objectPath string) *MetadataObjectLockReqBuilder {
|
|
b.locks = append(b.locks, distlock.Lock{
|
|
Path: b.makePath("Object"),
|
|
Name: lockprovider.MetadataCreateLock,
|
|
Target: *lockprovider.NewStringLockTarget().Add(packageID, objectPath),
|
|
})
|
|
return b
|
|
}
|