fix #5005 - adds versioning (ie. fingerprinting) for static assets - core, modules, and themes.

This commit is contained in:
sbwalker
2025-01-27 16:34:47 -05:00
parent 7a9c637e03
commit 153a689bdb
15 changed files with 145 additions and 60 deletions

View File

@ -83,7 +83,21 @@ namespace Oqtane.Models
/// </summary>
public string Namespace { get; set; }
public Resource Clone(ResourceLevel level, string name)
/// <summary>
/// The version of the theme or module that declared the resource - only used in SiteRouter
/// </summary>
public string Version
{
set
{
if (!string.IsNullOrEmpty(value) && !string.IsNullOrEmpty(Url) && !Url.Contains("?"))
{
Url += "?v=" + value;
}
}
}
public Resource Clone(ResourceLevel level, string name, string version)
{
var resource = new Resource();
resource.ResourceType = ResourceType;
@ -106,6 +120,7 @@ namespace Oqtane.Models
}
resource.Level = level;
resource.Namespace = name;
resource.Version = version;
return resource;
}