12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using Newtonsoft.Json;
- using System.Collections.Generic;
- using Vinno.vCloud.Common.Storage.ObjectStorageInfo;
- using Vinno.vCloud.Protocol.Infrastructures;
- namespace Vinno.vCloud.Common.Storage.Upload
- {
- public class StorageInfo
- {
- private string _config;
- /// <summary>
- /// Storage Type : Default and Ufile
- /// </summary>
- public StorageType StorageType { get; set; }
- /// <summary>
- /// Storage server url for default, empty for ufile
- /// </summary>
- public string Url { get; set; }
-
- /// <summary>
- /// Empty for default, storage config for cloud storage
- /// </summary>
- public string Config
- {
- get
- {
- return _config;
- }
- set
- {
- if (_config != value)
- {
- _config = value;
- var storageConfigRoot = JsonConvert.DeserializeObject<StorageConfig>(_config);
- if (storageConfigRoot != null)
- {
- StorageUploadConfig = storageConfigRoot.StorageUploadConfig;
- StorageNodeItems = storageConfigRoot.StorageNodeItems;
- IsUCloudServer = storageConfigRoot.IsTencentServer;
- IsInteralServer = storageConfigRoot.IsInteralServer;
- }
- }
- }
- }
- /// <summary>
- /// upload request config
- /// </summary>
- public StorageUploadConfig StorageUploadConfig { get; private set; }
- /// <summary>
- /// interal/cloud storage nodes,be used for mapping CDN/Inner/Default url
- /// </summary>
- public IList<StorageNodeItem> StorageNodeItems { get; private set; }
- /// <summary>
- /// is ucloud server,be user for check use cloud inner url
- /// </summary>
- public bool IsUCloudServer { get; set; }
- /// <summary>
- /// is interal server,be user for check use interal url
- /// </summary>
- public bool IsInteralServer { get; set; }
- public override string ToString()
- {
- return $"s:{StorageType},u:{Url},c:{Config} ";
- }
- }
- }
|