mirror of
https://github.com/DrizzleTime/Foxel.git
synced 2026-05-24 17:50:04 +08:00
feat(storage): refactor storage service and provider interface, support dynamic registration of storage providers
This commit is contained in:
33
Services/Attributes/StorageProviderAttribute.cs
Normal file
33
Services/Attributes/StorageProviderAttribute.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using Foxel.Models.DataBase;
|
||||
|
||||
namespace Foxel.Services.Attributes;
|
||||
|
||||
public enum StorageType
|
||||
{
|
||||
Local = 0,
|
||||
Telegram = 1,
|
||||
S3 = 2,
|
||||
Cos = 3,
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 标记存储提供者类的特性
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public class StorageProviderAttribute : Attribute
|
||||
{
|
||||
/// <summary>
|
||||
/// 存储类型
|
||||
/// </summary>
|
||||
public StorageType StorageType { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="storageType">存储类型</param>
|
||||
public StorageProviderAttribute(StorageType storageType)
|
||||
{
|
||||
StorageType = storageType;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user