|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package services
-
- import (
- "gitlink.org.cn/cloudream/common/consts/errorcode"
- "gitlink.org.cn/cloudream/common/pkgs/logger"
- "gitlink.org.cn/cloudream/common/pkgs/mq"
- coormq "gitlink.org.cn/cloudream/storage/common/pkgs/mq/coordinator"
- )
-
- func (svc *Service) GetPackageObjectCacheInfos(msg *coormq.GetPackageObjectCacheInfos) (*coormq.GetPackageObjectCacheInfosResp, *mq.CodeMessage) {
- pkg, err := svc.db.Package().GetUserPackage(svc.db.SQLCtx(), msg.UserID, msg.PackageID)
- if err != nil {
- logger.WithField("PackageID", msg.PackageID).
- Warnf("getting package: %s", err.Error())
-
- return nil, mq.Failed(errorcode.OperationFailed, "get package failed")
- }
-
- if pkg.Redundancy.IsRepInfo() {
- infos, err := svc.db.ObjectRep().GetPackageObjectCacheInfos(svc.db.SQLCtx(), msg.PackageID)
- if err != nil {
- logger.WithField("PackageID", msg.PackageID).
- Warnf("getting rep package object cache infos: %s", err.Error())
-
- return nil, mq.Failed(errorcode.OperationFailed, "get rep package object cache infos failed")
- }
-
- return mq.ReplyOK(coormq.NewGetPackageObjectCacheInfosResp(infos))
- }
- // TODO EC
-
- return nil, mq.Failed(errorcode.OperationFailed, "not implement yet")
- }
-
- func (svc *Service) GetPackageObjectRepData(msg *coormq.GetPackageObjectRepData) (*coormq.GetPackageObjectRepDataResp, *mq.CodeMessage) {
- data, err := svc.db.ObjectRep().GetWithNodeIDInPackage(svc.db.SQLCtx(), msg.PackageID)
- if err != nil {
- logger.WithField("PackageID", msg.PackageID).
- Warnf("query object rep and node id in package: %s", err.Error())
-
- return nil, mq.Failed(errorcode.OperationFailed, "query object rep and node id in package failed")
- }
-
- return mq.ReplyOK(coormq.NewGetPackageObjectRepDataResp(data))
- }
-
- func (svc *Service) GetPackageObjectECData(msg *coormq.GetPackageObjectECData) (*coormq.GetPackageObjectECDataResp, *mq.CodeMessage) {
- data, err := svc.db.ObjectBlock().GetWithNodeIDInPackage(svc.db.SQLCtx(), msg.PackageID)
- if err != nil {
- logger.WithField("PackageID", msg.PackageID).
- Warnf("query object ec and node id in package: %s", err.Error())
-
- return nil, mq.Failed(errorcode.OperationFailed, "query object ec and node id in package failed")
- }
-
- return mq.ReplyOK(coormq.NewGetPackageObjectECDataResp(data))
- }
|