1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package service
- import (
- "context"
- "go-common/app/admin/main/upload/model"
- "go-common/library/log"
- )
- // ListBucket .
- func (s *Service) ListBucket(c context.Context, lbp *model.ListBucketParam) (bucketPage *model.BucketListPage, err error) {
- var (
- buckets []*model.Bucket
- count int
- )
- if err = s.orm.Table("bucket").Order("id desc").Limit(lbp.PS).Offset((lbp.PN - 1) * lbp.PS).Find(&buckets).Error; err != nil {
- log.Error("read bucket error(%v)", err)
- return
- }
- if err = s.orm.Table("bucket").Count(&count).Error; err != nil {
- log.Error("bucket count error(%v)", err)
- err = nil
- }
- bucketPage = &model.BucketListPage{
- Items: buckets,
- Page: &model.Page{
- PS: lbp.PS,
- PN: lbp.PN,
- Total: count,
- },
- }
- return
- }
- // ListPublicBucket .
- func (s *Service) ListPublicBucket(c context.Context, lbp *model.ListBucketParam) (bucketPage *model.BucketListPage, err error) {
- var (
- buckets []*model.Bucket
- count int
- )
- if err = s.orm.Table("bucket").Order("id desc").Limit(lbp.PS).Offset((lbp.PN-1)*lbp.PS).Where("property != ? AND property != ?", model.PrivateRead, model.PrivateReadWrite).Find(&buckets).Error; err != nil {
- log.Error("read bucket error(%v)", err)
- return
- }
- if err = s.orm.Table("bucket").Count(&count).Error; err != nil {
- log.Error("bucket count error(%v)", err)
- err = nil
- }
- bucketPage = &model.BucketListPage{
- Items: buckets,
- Page: &model.Page{
- PS: lbp.PS,
- PN: lbp.PN,
- Total: count,
- },
- }
- return
- }
- // AddBucket .
- func (s *Service) AddBucket(c context.Context, abp *model.AddBucketParam) (err error) {
- b := &model.Bucket{BucketName: abp.Name}
- if err = s.orm.Table("bucket").Where("bucket_name=?", abp.Name).
- Assign(map[string]interface{}{
- "key_id": abp.KeyID,
- "key_secret": abp.KeySecret,
- "purge_cdn": abp.PurgeCDN,
- "property": abp.Property,
- "cache_control": abp.CacheControl,
- "domain": abp.Domain,
- }).FirstOrCreate(b).Error; err != nil {
- log.Error("Failed to add bucket (%+v): %v", b, err)
- return
- }
- return s.dao.CreateTable(context.Background(), abp.Name)
- }
- // DetailBucket .
- func (s *Service) DetailBucket(c context.Context, bucketName string) (bucket *model.Bucket, err error) {
- var (
- limits []*model.DirLimit
- )
- bucket = &model.Bucket{}
- if err = s.orm.Table("bucket").Where("bucket_name = ?", bucketName).Find(bucket).Error; err != nil {
- return
- }
- if err = s.orm.Table("dir_limit").Where("bucket_name = ?", bucket.BucketName).Find(&limits).Error; err != nil {
- return
- }
- if len(limits) == 0 {
- return
- }
- bucket.DirLimit = limits
- return
- }
|