package patchsvc import ( "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object" getsvc "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get" putsvc "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/put" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/util" ) // Service implements Put operation of Object service v2. type Service struct { keyStorage *util.KeyStorage getSvc *getsvc.Service putSvc *putsvc.Service } // NewService constructs Service instance from provided options. func NewService(ks *util.KeyStorage, getSvc *getsvc.Service, putSvc *putsvc.Service) *Service { return &Service{ keyStorage: ks, getSvc: getSvc, putSvc: putSvc, } } // Put calls internal service and returns v2 object streamer. func (s *Service) Patch() (object.PatchObjectStream, error) { nodeKey, err := s.keyStorage.GetKey(nil) if err != nil { return nil, err } return &Streamer{ getSvc: s.getSvc, putSvc: s.putSvc, localNodeKey: nodeKey, }, nil }