[未测试] 添加Tag帮助类方法

This commit is contained in:
root 2024-11-28 22:09:52 +08:00
parent 21b721758c
commit 69296bd413
2 changed files with 47 additions and 4 deletions

View file

@ -48,7 +48,7 @@ namespace iFileProxy.Models
[JsonProperty("tag")] [JsonProperty("tag")]
[JsonPropertyName("tag")] [JsonPropertyName("tag")]
public string Tag { get; set; } public string Tag { get; set; } = string.Empty;
[JsonProperty("queue_position")] [JsonProperty("queue_position")]
[JsonPropertyName("queue_position")] [JsonPropertyName("queue_position")]
@ -57,9 +57,52 @@ namespace iFileProxy.Models
[System.Text.Json.Serialization.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore]
[Newtonsoft.Json.JsonIgnore] [Newtonsoft.Json.JsonIgnore]
public Process Process { get; set; } public Process Process { get; set; }
// Helper to get the tags as a list
private List<string> GetTagList()
{
return string.IsNullOrWhiteSpace(Tag) ? [] : [.. Tag.Split(';')];
} }
public class DbConfigName { // Add a new tag
public void AddTag(string tag)
{
var tags = GetTagList();
if (!tags.Contains(tag))
{
tags.Add(tag);
Tag = string.Join(";", tags);
}
}
// Remove a tag
public bool RemoveTag(string tag)
{
var tags = GetTagList();
if (tags.Remove(tag))
{
Tag = string.Join(";", tags);
return true;
}
return false;
}
// Find a tag
public bool FindTag(string tag)
{
return GetTagList().Contains(tag);
}
// Get all tags as a list
public List<string> GetTags()
{
return GetTagList();
}
}
public class DbConfigName
{
public static string iFileProxy = "iFileProxy_Db"; public static string iFileProxy = "iFileProxy_Db";
} }

View file

@ -146,7 +146,7 @@ namespace iFileProxy.Services
taskInfo.Status = TaskState.Cached; taskInfo.Status = TaskState.Cached;
taskInfo.Hash = r.Hash; taskInfo.Hash = r.Hash;
taskInfo.Size = r.Size; taskInfo.Size = r.Size;
taskInfo.Tag = $"REDIRECT:{r.TaskId}"; taskInfo.AddTag($"REDIRECT:{r.TaskId}");
} }
} }