feat: add fnOS packaging, storage workflows and release pipeline
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using dy.net.model.entity;
|
||||
|
||||
namespace dy.net.storage
|
||||
{
|
||||
public static class StorageConfigurationFingerprint
|
||||
{
|
||||
public static string Create(WebDavSettings settings)
|
||||
{
|
||||
if (settings == null) return string.Empty;
|
||||
var canonical = string.Join("\n",
|
||||
(settings.Endpoint ?? string.Empty).Trim().TrimEnd('/'),
|
||||
StoragePath.NormalizeRemote(settings.BasePath),
|
||||
(settings.UserName ?? string.Empty).Trim());
|
||||
return Convert.ToHexString(SHA256.HashData(Encoding.UTF8.GetBytes(canonical))).ToLowerInvariant();
|
||||
}
|
||||
|
||||
public static string Create(OpenListSettings settings)
|
||||
{
|
||||
if (settings == null) return string.Empty;
|
||||
var canonical = string.Join("\n",
|
||||
OpenListClient.NormalizeBaseUrl(settings.Endpoint),
|
||||
StoragePath.NormalizeRemote(settings.BasePath),
|
||||
Path.GetFullPath(settings.LocalStagingPath ?? string.Empty),
|
||||
StoragePath.NormalizeRemote(settings.SourcePath),
|
||||
(settings.UserName ?? string.Empty).Trim());
|
||||
return Convert.ToHexString(SHA256.HashData(Encoding.UTF8.GetBytes(canonical))).ToLowerInvariant();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user