|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package cdssdk
-
- import (
- "gitlink.org.cn/cloudream/common/pkgs/types"
- "gitlink.org.cn/cloudream/common/utils/serder"
- )
-
- // 存储服务特性
- type StorageFeature interface {
- GetType() string
- // 输出调试用的字符串,不要包含敏感信息
- String() string
- }
-
- var _ = serder.UseTypeUnionInternallyTagged(types.Ref(types.NewTypeUnion[StorageFeature](
- (*BypassUploadFeature)(nil),
- (*MultipartUploadFeature)(nil),
- )), "type")
-
- // 存储服务支持被非MasterHub直接上传文件
- type BypassUploadFeature struct {
- serder.Metadata `union:"BypassUpload"`
- Type string `json:"type"`
- // 存放上传文件的临时目录
- TempRoot string `json:"tempRoot"`
- }
-
- func (f *BypassUploadFeature) GetType() string {
- return "BypassUpload"
- }
-
- func (f *BypassUploadFeature) String() string {
- return "BypassUpload"
- }
-
- // 存储服务支持分段上传
- type MultipartUploadFeature struct {
- serder.Metadata `union:"MultipartUpload"`
- Type string `json:"type"`
- }
-
- func (f *MultipartUploadFeature) GetType() string {
- return "MultipartUpload"
- }
-
- func (f *MultipartUploadFeature) String() string {
- return "MultipartUpload"
- }
|