|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package services
-
- import (
- "time"
-
- "gitlink.org.cn/cloudream/storage2/client/types"
- )
-
- // BucketService 是对存储桶进行操作的服务类
- type BucketService struct {
- *Service
- }
-
- // BucketSvc 创建并返回一个BucketService实例
- func (svc *Service) BucketSvc() *BucketService {
- return &BucketService{Service: svc}
- }
-
- // GetBucket 根据用户ID和桶ID获取桶信息
- // userID: 用户的唯一标识
- // bucketID: 桶的唯一标识
- // 返回值: 桶的信息和可能发生的错误
- func (svc *BucketService) GetBucket(bucketID types.BucketID) (types.Bucket, error) {
- return svc.DB.Bucket().GetByID(svc.DB.DefCtx(), bucketID)
- }
-
- func (svc *BucketService) GetBucketByName(bucketName string) (types.Bucket, error) {
- return svc.DB.Bucket().GetByName(svc.DB.DefCtx(), bucketName)
- }
-
- func (svc *BucketService) ListAllBuckets() ([]types.Bucket, error) {
- return svc.DB.Bucket().GetAll(svc.DB.DefCtx())
- }
-
- // GetBucketPackages 获取指定用户和桶的所有包
- // userID: 用户的唯一标识
- // bucketID: 桶的唯一标识
- // 返回值: 桶的所有包列表和可能发生的错误
- func (svc *BucketService) GetBucketPackages(bucketID types.BucketID) ([]types.Package, error) {
- return svc.DB.Package().GetBucketPackages(svc.DB.DefCtx(), bucketID)
- }
-
- func (svc *BucketService) CreateBucket(bucketName string, createTime time.Time) (types.Bucket, error) {
- return svc.DB.Bucket().Create(svc.DB.DefCtx(), bucketName, createTime)
- }
-
- // DeleteBucket 删除指定的桶
- // userID: 用户的唯一标识
- // bucketID: 桶的唯一标识
- // 返回值: 可能发生的错误
- func (svc *BucketService) DeleteBucket(bucketID types.BucketID) error {
- return svc.DB.Bucket().DeleteComplete(svc.DB.DefCtx(), bucketID)
- }
|