我滴个乖乖

This commit is contained in:
zel
2025-02-20 15:20:28 +08:00
parent 4b54cca70b
commit 485cfcd6f2
2343 changed files with 495732 additions and 1022 deletions

View File

@@ -0,0 +1,29 @@
using ZelWiki.Library.Interfaces;
namespace ZelWiki.Models.DataModels
{
/// <summary>
/// 将帐户和配置文件的元素组合到一个类中
/// </summary>
public partial class AccountProfile : IAccountProfile
{
public string? Theme { get; set; }
public Guid UserId { get; set; }
public string EmailAddress { get; set; } = string.Empty;
public string AccountName { get; set; } = string.Empty;
public string Navigation { get; set; } = string.Empty;
public string? FirstName { get; set; }
public string? LastName { get; set; } = string.Empty;
public string TimeZone { get; set; } = string.Empty;
public string Country { get; set; } = string.Empty;
public string Language { get; set; } = string.Empty;
public string? Biography { get; set; } = string.Empty;
public bool EmailConfirmed { get; set; }
public byte[]? Avatar { get; set; }
public DateTime CreatedDate { get; set; }
public DateTime ModifiedDate { get; set; }
public int PaginationPageSize { get; set; }
public int PaginationPageCount { get; set; }
public string Role { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,37 @@
namespace ZelWiki.Models.DataModels
{
public class ConfigurationEntries
{
public List<ConfigurationEntry> Collection { get; set; }
public ConfigurationEntries()
{
Collection = new();
}
public ConfigurationEntries(List<ConfigurationEntry> entries)
{
Collection = new List<ConfigurationEntry>(entries);
}
public T? Value<T>(string name)
{
var value = Collection.Where(o => o.Name == name).FirstOrDefault();
if (value == null)
{
return default;
}
return value.As<T>();
}
public T Value<T>(string name, T defaultValue)
{
var value = Collection.Where(o => o.Name == name).FirstOrDefault();
if (value == null)
{
return defaultValue;
}
return value.As<T>() ?? defaultValue;
}
}
}

View File

@@ -0,0 +1,32 @@
using NTDLS.Helpers;
namespace ZelWiki.Models.DataModels
{
public partial class ConfigurationEntry
{
public int Id { get; set; }
public int ConfigurationGroupId { get; set; }
public string Name { get; set; } = string.Empty;
public string Value { get; set; } = string.Empty;
public int DataTypeId { get; set; }
public string Description { get; set; } = string.Empty;
public bool IsEncrypted { get; set; }
public T? As<T>()
{
return Converters.ConvertTo<T>(Value);
}
public T? As<T>(T defaultValue)
{
if (Value == null)
{
return defaultValue;
}
return Converters.ConvertTo<T>(Value);
}
public string DataType { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,16 @@
namespace ZelWiki.Models.DataModels
{
public class ConfigurationFlat
{
public int GroupId { get; set; }
public string GroupName { get; set; } = string.Empty;
public string GroupDescription { get; set; } = string.Empty;
public int EntryId { get; set; }
public string EntryName { get; set; } = string.Empty;
public string EntryValue { get; set; } = string.Empty;
public string EntryDescription { get; set; } = string.Empty;
public bool IsEncrypted { get; set; }
public bool IsRequired { get; set; }
public string DataType { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,9 @@
namespace ZelWiki.Models.DataModels
{
public partial class ConfigurationGroup
{
public int Id { get; set; }
public string Name { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,11 @@
namespace ZelWiki.Models.DataModels
{
public class ConfigurationNest
{
public int Id { get; set; }
public string Name { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public List<ConfigurationEntry> Entries = new();
}
}

View File

@@ -0,0 +1,11 @@
namespace ZelWiki.Models.DataModels
{
public class DatabaseInfo
{
public string Name { get; set; } = string.Empty;
public string Version { get; set; } = string.Empty;
public int PageCount { get; set; }
public int PageSize { get; set; }
public int DatabaseSize { get; set; }
}
}

View File

@@ -0,0 +1,7 @@
namespace ZelWiki.Models.DataModels
{
public class DeletedPageRevision : Page
{
public int PaginationPageSize { get; set; }
}
}

View File

@@ -0,0 +1,16 @@
using System.ComponentModel.DataAnnotations;
namespace ZelWiki.Models.DataModels
{
public class Emoji
{
public int Id { get; set; }
[Display(Name ="名称")]
public string Name { get; set; } = string.Empty;
public string Shortcut { get; set; } = string.Empty;
public int PaginationPageCount { get; set; }
public string Categories { get; set; } = string.Empty;
public byte[]? ImageData { get; set; }
public string MimeType { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,9 @@
namespace ZelWiki.Models.DataModels
{
public class EmojiCategory
{
public int EmojiId { get; set; }
public string Category { get; set; } = string.Empty;
public string EmojiCount { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,14 @@
namespace ZelWiki.Models.DataModels
{
public partial class ImageCacheItem
{
public string ContentType { get; set; } = string.Empty;
public byte[] Bytes { get; set; }
public ImageCacheItem(byte[] bytes, string contentType)
{
Bytes = bytes;
ContentType = contentType;
}
}
}

View File

@@ -0,0 +1,23 @@
using ZelWiki.Models.ViewModels.Admin;
namespace ZelWiki.Models.DataModels
{
public partial class MenuItem
{
public int Id { get; set; }
public string Name { get; set; } = string.Empty;
public string Link { get; set; } = string.Empty;
public int Ordinal { get; set; }
public MenuItemViewModel ToViewModel()
{
return new MenuItemViewModel
{
Name = Name,
Id = Id,
Link = Link,
Ordinal = Ordinal
};
}
}
}

View File

@@ -0,0 +1,9 @@
namespace ZelWiki.Models.DataModels
{
public class NamespaceStat
{
public string Namespace { get; set; } = string.Empty;
public int CountOfPages { get; set; }
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
namespace ZelWiki.Models.DataModels
{
public class NonexistentPage
{
public int SourcePageId { get; set; }
public string SourcePageName { get; set; } = string.Empty;
public string SourcePageNavigation { get; set; } = string.Empty;
public string TargetPageName { get; set; } = string.Empty;
public string TargetPageNavigation { get; set; } = string.Empty;
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,27 @@
namespace ZelWiki.Models.DataModels
{
public partial class OrphanedPageAttachment
{
public int PaginationPageCount { get; set; }
public int PageFileId { get; set; }
public string PageName { get; set; } = string.Empty;
public string Namespace { get; set; } = string.Empty;
public string PageNavigation { get; set; } = string.Empty;
public string FileName { get; set; } = string.Empty;
public string FileNavigation { get; set; } = string.Empty; //https://localhost:7053/File/Binary/Home/test_file_b_txt/1
public long Size { get; set; }
public int FileRevision { get; set; }
public string PageTitle
{
get
{
if (PageName.Contains("::"))
{
return PageName.Substring(PageName.IndexOf("::") + 2).Trim();
}
return PageName;
}
}
}
}

View File

@@ -0,0 +1,105 @@
using ZelWiki.Library.Interfaces;
namespace ZelWiki.Models.DataModels
{
public class Page : IPage
{
public int Id { get; set; } = 0;
/// <summary>
/// The revision of this page that is being viewed. May not be the latest revision.
/// </summary>
public int Revision { get; set; }
/// <summary>
/// The most current revision of this page.
/// </summary>
public int MostCurrentRevision { get; set; }
public bool IsHistoricalVersion => Revision != MostCurrentRevision;
/// <summary>
/// Lets us know whether this page exists and is loaded.
/// </summary>
public bool Exists => Id > 0;
/// <summary>
/// Count of revisions higher than Revision.
/// </summary>
public int HigherRevisionCount { get; set; }
public int DeletedRevisionCount { get; set; }
public string Name { get; set; } = string.Empty;
public string Navigation { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public int DataHash { get; set; }
public string EllipseDescription
{
get
{
int idealLength = 64;
int maxLength = 100;
if (Description.Length > idealLength)
{
int spacePos = Description.IndexOf(' ', idealLength);
int tabPos = Description.IndexOf('\t', idealLength);
idealLength = spacePos > tabPos && tabPos > 0 ? tabPos : spacePos;
if (idealLength > 0 && idealLength < maxLength)
{
return Description.Substring(0, idealLength) + "...";
}
}
if (Description.Length > maxLength)
{
return Description.Substring(0, maxLength) + "...";
}
return Description;
}
}
public Guid CreatedByUserId { get; set; }
public DateTime CreatedDate { get; set; }
public Guid ModifiedByUserId { get; set; }
public DateTime ModifiedDate { get; set; }
public DateTime DeletedDate { get; set; }
public Guid DeletedByUserId { get; set; }
public string DeletedByUserName { get; set; } = string.Empty;
public int TokenWeight { get; set; }
public string Body { get; set; } = string.Empty;
public string CreatedByUserName { get; set; } = string.Empty;
public string ModifiedByUserName { get; set; } = string.Empty;
public int PaginationPageCount { get; set; }
public decimal Match { get; set; }
public decimal Weight { get; set; }
public decimal Score { get; set; }
public string Title
{
get
{
if (Name.Contains("::"))
{
return Name.Substring(Name.IndexOf("::") + 2).Trim();
}
return Name;
}
}
public string Namespace
{
get
{
if (Name.Contains("::"))
{
return Name.Substring(0, Name.IndexOf("::")).Trim();
}
return string.Empty;
}
}
}
}

View File

@@ -0,0 +1,20 @@
namespace ZelWiki.Models.DataModels
{
/// <summary>
/// Used to cache pre-processed wiki results.
/// </summary>
public class PageCache
{
/// <summary>
/// Custom page title set by a call to @@Title("...")
/// </summary>
public string? PageTitle { get; set; }
public string Body { get; set; }
public PageCache(string body)
{
Body = body;
}
}
}

View File

@@ -0,0 +1,15 @@
namespace ZelWiki.Models.DataModels
{
public partial class PageComment
{
public int Id { get; set; }
public int PageId { get; set; }
public Guid UserId { get; set; }
public string Body { get; set; } = string.Empty;
public string UserName { get; set; } = string.Empty;
public string UserNavigation { get; set; } = string.Empty;
public string PageName { get; set; } = string.Empty;
public DateTime CreatedDate { get; set; }
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,34 @@
namespace ZelWiki.Models.DataModels
{
public class PageCompilationStatistics
{
public string Name { get; set; } = string.Empty;
public string Title
{
get
{
if (Name.Contains("::"))
{
return Name.Substring(Name.IndexOf("::") + 2).Trim();
}
return Name;
}
}
public string Namespace { get; set; } = string.Empty;
public string Navigation { get; set; } = string.Empty;
public DateTime LatestBuild { get; set; }
public decimal Compilations { get; set; }
public decimal AvgBuildTimeMs { get; set; }
public decimal AvgWikiMatches { get; set; }
public decimal TotalErrorCount { get; set; }
public decimal AvgOutgoingLinkCount { get; set; }
public decimal AvgTagCount { get; set; }
public decimal AvgRawBodySize { get; set; }
public decimal AvgWikifiedBodySize { get; set; }
public int PaginationPageSize { get; set; }
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,20 @@
using NTDLS.Helpers;
namespace ZelWiki.Models.DataModels
{
public partial class PageFileAttachment
{
public int PaginationPageSize { get; set; }
public int PaginationPageCount { get; set; }
public int Id { get; set; }
public int PageId { get; set; }
public string Name { get; set; } = string.Empty;
public string ContentType { get; set; } = string.Empty;
public long Size { get; set; }
public DateTime CreatedDate { get; set; }
public byte[] Data { get; set; } = Array.Empty<byte>();
public string FileNavigation { get; set; } = string.Empty;
public string PageNavigation { get; set; } = string.Empty;
public string FriendlySize => Formatters.FileSize(Size);
}
}

View File

@@ -0,0 +1,21 @@
namespace ZelWiki.Models.DataModels
{
public partial class PageFileAttachmentInfo
{
public int PaginationPageSize { get; set; }
public int PaginationPageCount { get; set; }
public int Id { get; set; }
public int PageId { get; set; }
public string Name { get; set; } = string.Empty;
public string ContentType { get; set; } = string.Empty;
public long Size { get; set; }
public DateTime CreatedDate { get; set; }
public string FileNavigation { get; set; } = string.Empty;
public string PageNavigation { get; set; } = string.Empty;
public int FileRevision { get; set; }
public Guid CreatedByUserId { get; set; }
public string CreatedByUserName { get; set; } = string.Empty;
public string CreatedByNavigation { get; set; } = string.Empty;
public string FriendlySize => NTDLS.Helpers.Formatters.FileSize(Size);
}
}

View File

@@ -0,0 +1,12 @@
namespace ZelWiki.Models.DataModels
{
public class PageFileRevisionAttachmentInfo
{
public int Revision { get; set; }
public string ContentType { get; set; } = string.Empty;
public int Size { get; set; }
public int DataHash { get; set; }
public int PageId { get; set; }
public int PageFileId { get; set; }
}
}

View File

@@ -0,0 +1,22 @@
namespace ZelWiki.Models.DataModels
{
public class PageRevision
{
public int PaginationPageSize { get; set; }
public int PaginationPageCount { get; set; }
public int PageId { get; set; }
public string ModifiedByUserName { get; set; } = string.Empty;
public Guid ModifiedByUserId { get; set; }
public DateTime ModifiedDate { get; set; }
public string Name { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public int Revision { get; set; }
public int HigherRevisionCount { get; set; }
public int HighestRevision { get; set; }
public string Navigation { get; set; } = string.Empty;
public Guid CreatedByUserId { get; set; }
public string CreatedByUserName { get; set; } = string.Empty;
public DateTime CreatedDate { get; set; }
public string ChangeSummary { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,10 @@
namespace ZelWiki.Models.DataModels
{
public class PageSearchToken
{
public int PageId { get; set; }
public double Match { get; set; }
public double Weight { get; set; }
public double Score { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace ZelWiki.Models.DataModels
{
public partial class PageTag
{
public int Id { get; set; }
public int PageId { get; set; }
public string Tag { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,22 @@
namespace ZelWiki.Models.DataModels
{
public class PageToken
{
public int PageId { get; set; }
public string Token { get; set; } = string.Empty;
public string DoubleMetaphone { get; set; } = string.Empty;
public double Weight { get; set; }
public override bool Equals(object? obj)
{
return obj is PageToken other
&& PageId == other.PageId
&& string.Equals(Token, other.Token, StringComparison.OrdinalIgnoreCase);
}
public override int GetHashCode()
{
return HashCode.Combine(PageId, Token.ToLower());
}
}
}

View File

@@ -0,0 +1,11 @@
namespace ZelWiki.Models.DataModels
{
public partial class ProcessingInstruction
{
public int PageId { get; set; }
/// <summary>
/// TightWiki.Library.Constants.WikiInstruction
/// </summary>
public string Instruction { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,15 @@
namespace ZelWiki.Models.DataModels
{
public class ProcessingInstructionCollection
{
public List<ProcessingInstruction> Collection { get; set; } = new();
/// <summary>
/// Returns true if the collection contains the given processing instruction.
/// </summary>
/// <param name="wikiInstruction">WikiInstruction.Protect</param>
/// <returns></returns>
public bool Contains(string wikiInstruction)
=> Collection.Any(o => string.Equals(o.Instruction, wikiInstruction, StringComparison.InvariantCultureIgnoreCase));
}
}

View File

@@ -0,0 +1,8 @@
namespace ZelWiki.Models.DataModels
{
public class ProfileAvatar
{
public byte[]? Bytes { get; set; }
public string ContentType { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,26 @@
namespace ZelWiki.Models.DataModels
{
public partial class RelatedPage
{
public int Id { get; set; }
public string Name { get; set; } = string.Empty;
public string Navigation { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public int Matches { get; set; }
public int PaginationPageSize { get; set; }
public int PaginationPageCount { get; set; }
public string Title
{
get
{
if (Name.Contains("::"))
{
return Name.Substring(Name.IndexOf("::") + 2).Trim();
}
return Name;
}
}
}
}

View File

@@ -0,0 +1,9 @@
namespace ZelWiki.Models.DataModels
{
public partial class Role
{
public int Id { get; set; }
public string Name { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,8 @@
namespace ZelWiki.Models.DataModels
{
public class TagAssociation
{
public string Tag { get; set; } = string.Empty;
public int PageCount { get; set; }
}
}

View File

@@ -0,0 +1,21 @@
namespace ZelWiki.Models.DataModels
{
public class TagCloudItem
{
public string Name = "";
public string HTML = "";
public int Rank = 0;
public TagCloudItem(string name, int rank, string html)
{
Name = name;
HTML = html;
Rank = rank;
}
public static int CompareItem(TagCloudItem x, TagCloudItem y)
{
return string.Compare(x.Name, y.Name);
}
}
}

View File

@@ -0,0 +1,11 @@
namespace ZelWiki.Models.DataModels
{
public class UpsertEmoji
{
public int? Id { get; set; }
public string Name { get; set; } = string.Empty;
public List<string> Categories { get; set; } = new();
public byte[]? ImageData { get; set; }
public string MimeType { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,9 @@
namespace ZelWiki.Models.DataModels
{
public partial class UserRole
{
public int Id { get; set; }
public Guid UserId { get; set; }
public int RoleId { get; set; }
}
}

View File

@@ -0,0 +1,17 @@
namespace ZelWiki.Models.DataModels
{
public class WikiDatabaseStatistics
{
public int Pages { get; set; }
public int IntraLinks { get; set; }
public int PageRevisions { get; set; }
public int PageAttachments { get; set; }
public int PageAttachmentRevisions { get; set; }
public int PageTags { get; set; }
public int PageSearchTokens { get; set; }
public int Users { get; set; }
public int Profiles { get; set; }
public int Exceptions { get; set; }
public int Namespaces { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
namespace ZelWiki.Models.DataModels
{
public class WikiException
{
public int Id { get; set; }
public string Text { get; set; } = string.Empty;
public string ExceptionText { get; set; } = string.Empty;
public string StackTrace { get; set; } = string.Empty;
public DateTime CreatedDate { get; set; }
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,44 @@
using ZelWiki.Library;
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models
{
public static class GlobalConfiguration
{
public static readonly string[] AllowableImageTypes = ["image/png", "image/jpeg", "image/bmp", "image/gif", "image/tiff"];
public static string BasePath { get; set; } = string.Empty;
public static Theme SystemTheme { get; set; } = new();
public static bool IsDebug { get; set; }
public static bool AllowSignup { get; set; }
public static List<Emoji> Emojis { get; set; } = new();
public static string BrandImageSmall { get; set; } = string.Empty;
public static string Name { get; set; } = string.Empty;
public static string FooterBlurb { get; set; } = string.Empty;
public static string Copyright { get; set; } = string.Empty;
public static List<MenuItem> MenuItems { get; set; } = new();
public static string HTMLHeader { get; set; } = string.Empty;
public static string HTMLFooter { get; set; } = string.Empty;
public static string HTMLPreBody { get; set; } = string.Empty;
public static string HTMLPostBody { get; set; } = string.Empty;
public static bool IncludeWikiDescriptionInMeta { get; set; }
public static bool IncludeWikiTagsInMeta { get; set; }
public static bool EnablePageComments { get; set; }
public static bool EnablePublicProfiles { get; set; }
public static bool FixedMenuPosition { get; set; }
public static bool ShowCommentsOnPageFooter { get; set; }
public static bool IncludeSearchOnNavbar { get; set; }
public static int PageCacheSeconds { get; set; }
public static int CacheMemoryLimitMB { get; set; }
public static int DefaultProfileRecentlyModifiedCount { get; set; }
public static bool PreLoadAnimatedEmojis { get; set; } = true;
public static bool RecordCompilationMetrics { get; set; }
public static bool ShowLastModifiedOnPageFooter { get; set; }
public static string DefaultTimeZone { get; set; } = string.Empty;
public static string Address { get; set; } = string.Empty;
public static int DefaultEmojiHeight { get; set; }
public static bool AllowGoogleAuthentication { get; set; }
public static int MaxAvatarFileSize { get; set; } = 1048576;
public static int MaxAttachmentFileSize { get; set; } = 5242880;
public static int MaxEmojiFileSize { get; set; } = 524288;
}
}

View File

@@ -0,0 +1,81 @@
using System.ComponentModel.DataAnnotations;
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public partial class AccountProfileAccountViewModel
{
[Display(Name = "主题")]
public string? Theme { get; set; } = string.Empty;
public Guid UserId { get; set; }
[Display(Name = "Email")]
[Required(ErrorMessage = "邮箱地址为必填项")]
public string EmailAddress { get; set; } = string.Empty;
[Display(Name = "账号")]
[Required(ErrorMessage = "账号为必填项")]
public string AccountName { get; set; } = string.Empty;
public string? Navigation { get; set; } = string.Empty;
[Display(Name = "姓")]
public string? LastName { get; set; } = string.Empty;
[Display(Name = "名")]
public string? FirstName { get; set; }
[Display(Name = "时区")]
[Required(ErrorMessage = "时区为必填项")]
public string TimeZone { get; set; } = string.Empty;
[Display(Name = "国家")]
[Required(ErrorMessage = "国家为必填项")]
public string Country { get; set; } = string.Empty;
[Display(Name = "语言")]
[Required(ErrorMessage = "语言为必填项")]
public string Language { get; set; } = string.Empty;
[Display(Name = "个人简介")]
public string? Biography { get; set; } = string.Empty;
[Display(Name = "邮箱确认?")]
public bool EmailConfirmed { get; set; }
public byte[]? Avatar { get; set; }
public DateTime CreatedDate { get; set; }
public DateTime ModifiedDate { get; set; }
public int PaginationPageSize { get; set; }
public int PaginationPageCount { get; set; }
public string Role { get; set; } = string.Empty;
public static AccountProfileAccountViewModel FromDataModel(AccountProfile model)
{
return new AccountProfileAccountViewModel
{
Theme = model.Theme,
UserId = model.UserId,
EmailAddress = model.EmailAddress,
AccountName = model.AccountName,
Avatar = model.Avatar,
Biography = model.Biography,
Country = model.Country,
Language = model.Language,
CreatedDate = model.CreatedDate,
EmailConfirmed = model.EmailConfirmed,
FirstName = model.FirstName,
LastName = model.LastName,
ModifiedDate = model.ModifiedDate,
Navigation = model.Navigation,
PaginationPageCount = model.PaginationPageCount,
Role = model.Role,
PaginationPageSize = model.PaginationPageSize,
TimeZone = model.TimeZone
};
}
}
}

View File

@@ -0,0 +1,17 @@
using ZelWiki.Library;
using ZelWiki.Models.DataModels;
using ZelWiki.Models.ViewModels.Shared;
namespace ZelWiki.Models.ViewModels.Admin
{
public class AccountProfileViewModel : ViewModelBase
{
public List<Theme> Themes { get; set; } = new();
public List<TimeZoneItem> TimeZones { get; set; } = new();
public List<CountryItem> Countries { get; set; } = new();
public List<LanguageItem> Languages { get; set; } = new();
public List<Role> Roles { get; set; } = new();
public AccountProfileAccountViewModel AccountProfile { get; set; } = new();
public CredentialViewModel Credential { get; set; } = new();
}
}

View File

@@ -0,0 +1,11 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class AccountsViewModel : ViewModelBase
{
public List<AccountProfile> Users { get; set; } = new();
public string SearchString { get; set; } = string.Empty;
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,16 @@
using System.ComponentModel.DataAnnotations;
namespace ZelWiki.Models.ViewModels.Admin
{
public class AddEmojiViewModel : ViewModelBase
{
public int Id { get; set; }
[Display(Name ="名称")]
public string Name { get; set; } = string.Empty;
public string? OriginalName { get; set; }
[Display(Name = "分类")]
public string Categories { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,15 @@
using ZelWiki.Library;
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class ConfigurationViewModel : ViewModelBase
{
public List<Theme> Themes { get; set; } = new();
public List<Role> Roles { get; set; } = new();
public List<TimeZoneItem> TimeZones { get; set; } = new();
public List<CountryItem> Countries { get; set; } = new();
public List<LanguageItem> Languages { get; set; } = new();
public List<ConfigurationNest> Nest { get; set; } = new();
}
}

View File

@@ -0,0 +1,9 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class DatabaseViewModel : ViewModelBase
{
public List<DatabaseInfo> Info { get; set; } = new();
}
}

View File

@@ -0,0 +1,11 @@
namespace ZelWiki.Models.ViewModels.Page
{
public class DeletedPageRevisionViewModel : ViewModelBase
{
public int PageId { get; set; }
public int Revision { get; set; }
public string Body { get; set; } = string.Empty;
public string DeletedByUserName { get; set; } = string.Empty;
public DateTime DeletedDate { get; set; }
}
}

View File

@@ -0,0 +1,13 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Page
{
public class DeletedPageViewModel : ViewModelBase
{
public int PageId { get; set; }
public string Body { get; set; } = string.Empty;
public string DeletedByUserName { get; set; } = string.Empty;
public DateTime DeletedDate { get; set; }
public List<PageComment> Comments { get; set; } = new();
}
}

View File

@@ -0,0 +1,14 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class DeletedPagesRevisionsViewModel : ViewModelBase
{
public int PageId { get; set; }
public string Name { get; set; } = string.Empty;
public string Namespace { get; set; } = string.Empty;
public string Navigation { get; set; } = string.Empty;
public List<DeletedPageRevision> Revisions { get; set; } = new();
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace ZelWiki.Models.ViewModels.Admin
{
public class DeletedPagesViewModel : ViewModelBase
{
public List<DataModels.Page> Pages { get; set; } = new();
public string SearchString { get; set; } = string.Empty;
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,13 @@
using System.ComponentModel.DataAnnotations;
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class EmojiViewModel : ViewModelBase
{
public Emoji Emoji { get; set; } = new();
public string OriginalName { get; set; } = string.Empty;
[Display(Name = "分类")]
public string Categories { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,11 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class EmojisViewModel : ViewModelBase
{
public List<Emoji> Emojis { get; set; } = new();
public string SearchString { get; set; } = string.Empty;
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class ExceptionViewModel : ViewModelBase
{
public WikiException Exception { get; set; } = new();
}
}

View File

@@ -0,0 +1,10 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class ExceptionsViewModel : ViewModelBase
{
public List<WikiException> Exceptions { get; set; } = new();
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,27 @@
using System.ComponentModel.DataAnnotations;
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class MenuItemViewModel : ViewModelBase
{
public int Id { get; set; }
[Display(Name = "分类")]
public string Name { get; set; } = string.Empty;
[Display(Name = "链接")]
public string Link { get; set; } = string.Empty;
[Display(Name = "序列")]
public int Ordinal { get; set; }
public MenuItem ToDataModel()
{
return new MenuItem
{
Name = Name,
Id = Id,
Link = Link,
Ordinal = Ordinal
};
}
}
}

View File

@@ -0,0 +1,9 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class MenuItemsViewModel : ViewModelBase
{
public List<MenuItem> Items { get; set; } = new();
}
}

View File

@@ -0,0 +1,10 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class MetricsViewModel : ViewModelBase
{
public WikiDatabaseStatistics Metrics { get; set; } = new();
public string ApplicationVersion { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,10 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class MissingPagesViewModel : ViewModelBase
{
public List<NonexistentPage> Pages { get; set; } = new();
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace ZelWiki.Models.ViewModels.Admin
{
public class NamespaceViewModel : ViewModelBase
{
public List<DataModels.Page> Pages { get; set; } = new();
public string Namespace { get; set; } = string.Empty;
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class NamespacesViewModel : ViewModelBase
{
public List<NamespaceStat> Namespaces { get; set; } = new();
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,8 @@
namespace ZelWiki.Models.ViewModels.Admin
{
public class OrphanedPageAttachmentsViewModel : ViewModelBase
{
public List<DataModels.OrphanedPageAttachment> Files { get; set; } = new();
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class PageCompilationStatisticsViewModel : ViewModelBase
{
public List<PageCompilationStatistics> Statistics { get; set; } = new();
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
namespace ZelWiki.Models.ViewModels.Admin
{
public class PageModerateViewModel : ViewModelBase
{
public List<string> Instructions { get; set; } = new();
public List<DataModels.Page> Pages { get; set; } = new();
public string Instruction { get; set; } = string.Empty;
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,11 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class PageRevisionsViewModel : ViewModelBase
{
public List<PageRevision> Revisions { get; set; } = new();
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace ZelWiki.Models.ViewModels.Admin
{
public class PagesViewModel : ViewModelBase
{
public List<DataModels.Page> Pages { get; set; } = new();
public string SearchString { get; set; } = string.Empty;
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class RoleViewModel : ViewModelBase
{
public int Id { get; set; }
public string Name { get; set; } = string.Empty;
public List<AccountProfile> Users { get; set; } = new();
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Admin
{
public class RolesViewModel : ViewModelBase
{
public List<Role> Roles { get; set; } = new();
}
}

View File

@@ -0,0 +1,6 @@
namespace ZelWiki.Models.ViewModels
{
public class ExternalLoginCallbackViewModel : ViewModelBase
{
}
}

View File

@@ -0,0 +1,12 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.File
{
public class FileAttachmentViewModel : ViewModelBase
{
public string PageNavigation { get; set; } = string.Empty;
public int PageRevision { get; set; } = 0;
public List<PageFileAttachmentInfo> Files { get; set; } = new();
}
}

View File

@@ -0,0 +1,12 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.File
{
public class PageFileRevisionsViewModel : ViewModelBase
{
public string PageNavigation { get; set; } = string.Empty;
public string FileNavigation { get; set; } = string.Empty;
public List<PageFileAttachmentInfo> Revisions { get; set; } = new();
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,8 @@
namespace ZelWiki.Models.ViewModels.Page
{
public class BrowseViewModel : ViewModelBase
{
public string? AssociatedPages { get; set; }
public string? TagCloud { get; set; }
}
}

View File

@@ -0,0 +1,11 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Page
{
public class PageCommentsViewModel : ViewModelBase
{
public List<PageComment> Comments { get; set; } = new();
public string Comment { get; set; } = string.Empty;
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
namespace ZelWiki.Models.ViewModels.Page
{
public class PageDeleteViewModel : ViewModelBase
{
public int CountOfAttachments { get; set; }
public int MostCurrentRevision { get; set; }
public string? PageName { get; set; }
public int PageRevision { get; set; }
}
}

View File

@@ -0,0 +1,20 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Page
{
public class PageDisplayViewModel : ViewModelBase
{
public string Body { get; set; } = string.Empty;
public string ModifiedByUserName { get; set; } = string.Empty;
public DateTime ModifiedDate { get; set; }
public List<PageComment> Comments { get; set; } = new();
public bool HideFooterComments { get; set; }
public bool HideFooterLastModified { get; set; }
public string Name { get; set; } = string.Empty;
public string Navigation { get; set; } = string.Empty;
public string Namespace { get; set; } = string.Empty;
public int Revision { get; set; }
public int MostCurrentRevision { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
using System.ComponentModel.DataAnnotations;
namespace ZelWiki.Models.ViewModels.Page
{
public class PageEditViewModel : ViewModelBase
{
public int Id { get; set; }
[Required]
public string Name { get; set; } = string.Empty;
public string Navigation { get; set; } = string.Empty;
public string? Description { get; set; } = string.Empty;
public string? Body { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,15 @@
namespace ZelWiki.Models.ViewModels.Page
{
public class PageRevertViewModel : ViewModelBase
{
public string? PageName { get; set; }
/// <summary>
/// The highest revision for the page.
/// </summary>
public int HighestRevision { get; set; }
/// <summary>
/// The number of revisions that are higher than the current page revision.
/// </summary>
public int HigherRevisionCount { get; set; }
}
}

View File

@@ -0,0 +1,11 @@
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Page
{
public class RevisionsViewModel : ViewModelBase
{
public List<PageRevision> Revisions { get; set; } = new();
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace ZelWiki.Models.ViewModels.Page
{
public class PageSearchViewModel : ViewModelBase
{
public List<DataModels.Page> Pages { get; set; } = new();
public string SearchString { get; set; } = string.Empty;
public int PaginationPageCount { get; set; }
}
}

View File

@@ -0,0 +1,83 @@
using System.ComponentModel.DataAnnotations;
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Profile
{
public partial class AccountProfileAccountViewModel
{
[Display(Name = "主题")]
public string? Theme { get; set; } = string.Empty;
[Required(ErrorMessage = "UserId is required")]
public Guid UserId { get; set; }
[Display(Name = "邮箱")]
public string EmailAddress { get; set; } = string.Empty;
[Display(Name = "账号")]
[Required(ErrorMessage = "Account Name is required")]
public string AccountName { get; set; } = string.Empty;
public string Navigation { get; set; } = string.Empty;
[Display(Name = "名")]
public string? FirstName { get; set; }
[Display(Name = "姓")]
public string? LastName { get; set; } = string.Empty;
[Display(Name = "时区")]
[Required(ErrorMessage = "TimeZone is required")]
public string TimeZone { get; set; } = string.Empty;
[Display(Name = "国家")]
[Required(ErrorMessage = "Country is required")]
public string Country { get; set; } = string.Empty;
[Display(Name = "语言")]
[Required(ErrorMessage = "Language is required")]
public string Language { get; set; } = string.Empty;
[Display(Name = "个人简介")]
public string? Biography { get; set; } = string.Empty;
[Display(Name = "Email Confirmed?")]
public bool EmailConfirmed { get; set; } = true;
public byte[]? Avatar { get; set; }
public DateTime CreatedDate { get; set; }
public DateTime ModifiedDate { get; set; }
public int PaginationPageSize { get; set; }
public int PaginationPageCount { get; set; }
[Display(Name = "角色")]
public string? Role { get; set; } = string.Empty;
public static AccountProfileAccountViewModel FromDataModel(AccountProfile model)
{
return new AccountProfileAccountViewModel
{
Theme = model.Theme,
UserId = model.UserId,
EmailAddress = model.EmailAddress,
AccountName = model.AccountName,
Avatar = model.Avatar,
Biography = model.Biography,
Country = model.Country,
Language = model.Language,
CreatedDate = model.CreatedDate,
EmailConfirmed = model.EmailConfirmed,
FirstName = model.FirstName,
LastName = model.LastName,
ModifiedDate = model.ModifiedDate,
Navigation = model.Navigation,
PaginationPageCount = model.PaginationPageCount,
Role = model.Role,
PaginationPageSize = model.PaginationPageSize,
TimeZone = model.TimeZone
};
}
}
}

View File

@@ -0,0 +1,13 @@
using ZelWiki.Library;
namespace ZelWiki.Models.ViewModels.Profile
{
public class AccountProfileViewModel : ViewModelBase
{
public List<Theme> Themes { get; set; } = new();
public List<TimeZoneItem> TimeZones { get; set; } = new();
public List<CountryItem> Countries { get; set; } = new();
public List<LanguageItem> Languages { get; set; } = new();
public AccountProfileAccountViewModel AccountProfile { get; set; } = new();
}
}

View File

@@ -0,0 +1,14 @@
using ZelWiki.Library;
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Profile
{
public class AccountViewModel : ViewModelBase
{
public List<TimeZoneItem> TimeZones { get; set; } = new();
public List<CountryItem> Countries { get; set; } = new();
public List<LanguageItem> Languages { get; set; } = new();
public List<Role> Roles { get; set; } = new();
public AccountProfile Account { get; set; } = new();
}
}

View File

@@ -0,0 +1,6 @@
namespace ZelWiki.Models.ViewModels.Profile
{
public class ConfirmViewModel : ViewModelBase
{
}
}

View File

@@ -0,0 +1,7 @@
namespace ZelWiki.Models.ViewModels.Profile
{
public class DeleteAccountViewModel : ViewModelBase
{
public string? AccountName { get; set; }
}
}

View File

@@ -0,0 +1,6 @@
namespace ZelWiki.Models.ViewModels.Profile
{
public class DeletedAccountViewModel : ViewModelBase
{
}
}

View File

@@ -0,0 +1,36 @@
using Microsoft.AspNetCore.Mvc.ModelBinding;
using System.ComponentModel.DataAnnotations;
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Profile
{
public class PublicViewModel : ViewModelBase
{
public string Navigation { get; set; } = string.Empty;
public Guid Id { get; set; }
[Display(Name = "Name")]
public string AccountName { get; set; } = string.Empty;
[Display(Name = "Personal Bio")]
public string Biography { get; set; } = string.Empty;
[Display(Name = "Avatar")]
[BindNever]
public byte[]? Avatar { get; set; }
[Required]
[Display(Name = "Country")]
public string Country { get; set; } = string.Empty;
[Required]
[Display(Name = "Language")]
public string Language { get; set; } = string.Empty;
[Required]
[Display(Name = "Time Zone")]
public string TimeZone { get; set; } = string.Empty;
public List<PageRevision> RecentlyModified { get; set; } = new();
}
}

View File

@@ -0,0 +1,20 @@
using System.ComponentModel.DataAnnotations;
namespace ZelWiki.Models.ViewModels.Shared
{
public class CredentialViewModel
{
public const string NOTSET = "\\__!!_PASSWORD_NOT_SET_!!__//";
[Required]
[Display(Name = "Password")]
[StringLength(50, MinimumLength = 6, ErrorMessage = "Must have a minimum length of 5.")]
public string Password { get; set; } = NOTSET;
[Required]
[Display(Name = "Re-enter Password")]
[StringLength(50, MinimumLength = 6, ErrorMessage = "Must have a minimum length of 5.")]
[Compare("Password", ErrorMessage = "The two entered passwords do not match.")]
public string ComparePassword { get; set; } = NOTSET;
}
}

View File

@@ -0,0 +1,13 @@
namespace ZelWiki.Models.ViewModels.Utility
{
public class ConfirmActionViewModel : ViewModelBase
{
public string ControllerURL { get; set; } = string.Empty;
public string YesRedirectURL { get; set; } = string.Empty;
public string NoRedirectURL { get; set; } = string.Empty;
public string Message { get; set; } = string.Empty;
public string Style { get; set; } = string.Empty;
public string? Parameter { get; set; } = string.Empty;
public bool UserSelection { get; set; }
}
}

View File

@@ -0,0 +1,8 @@
namespace ZelWiki.Models.ViewModels.Utility
{
public class NotifyViewModel : ViewModelBase
{
public string RedirectURL { get; set; } = string.Empty;
public int RedirectTimeout { get; set; }
}
}

View File

@@ -0,0 +1,8 @@
namespace ZelWiki.Models.ViewModels
{
public class ViewModelBase
{
public string SuccessMessage { get; set; } = string.Empty;
public string ErrorMessage { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<Version>2.20.1</Version>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<DebugSymbols>False</DebugSymbols>
<DebugType>None</DebugType>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\ZelWiki.Library\ZelWiki.Library.csproj" />
</ItemGroup>
</Project>

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,694 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v9.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v9.0": {
"TightWiki.Models/2.20.1": {
"dependencies": {
"TightWiki.Library": "2.20.1"
},
"runtime": {
"TightWiki.Models.dll": {}
}
},
"Dapper/2.1.35": {
"runtime": {
"lib/net7.0/Dapper.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.1.35.13827"
}
}
},
"Magick.NET-Q8-AnyCPU/14.4.0": {
"dependencies": {
"Magick.NET.Core": "14.4.0"
},
"runtime": {
"lib/net8.0/Magick.NET-Q8-AnyCPU.dll": {
"assemblyVersion": "14.4.0.0",
"fileVersion": "14.4.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm64/native/Magick.Native-Q8-arm64.dll.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-x64/native/Magick.Native-Q8-x64.dll.so": {
"rid": "linux-musl-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/Magick.Native-Q8-x64.dll.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/Magick.Native-Q8-arm64.dll.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/Magick.Native-Q8-x64.dll.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/Magick.Native-Q8-arm64.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "7.1.1.43"
},
"runtimes/win-x64/native/Magick.Native-Q8-x64.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "7.1.1.43"
},
"runtimes/win-x86/native/Magick.Native-Q8-x86.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "7.1.1.43"
}
}
},
"Magick.NET.Core/14.4.0": {
"runtime": {
"lib/net8.0/Magick.NET.Core.dll": {
"assemblyVersion": "14.4.0.0",
"fileVersion": "14.4.0.0"
}
}
},
"Microsoft.AspNetCore.Cryptography.Internal/9.0.1": {},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/9.0.1": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "9.0.1"
}
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/9.0.1": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "9.0.1",
"Microsoft.Extensions.Identity.Stores": "9.0.1"
},
"runtime": {
"lib/net9.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61009"
}
}
},
"Microsoft.Data.Sqlite.Core/9.0.0": {
"dependencies": {
"SQLitePCLRaw.core": "2.1.10"
},
"runtime": {
"lib/net8.0/Microsoft.Data.Sqlite.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52902"
}
}
},
"Microsoft.EntityFrameworkCore/9.0.1": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Abstractions": "9.0.1",
"Microsoft.EntityFrameworkCore.Analyzers": "9.0.1",
"Microsoft.Extensions.Caching.Memory": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1"
},
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61002"
}
}
},
"Microsoft.EntityFrameworkCore.Abstractions/9.0.1": {
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61002"
}
}
},
"Microsoft.EntityFrameworkCore.Analyzers/9.0.1": {},
"Microsoft.EntityFrameworkCore.Relational/9.0.1": {
"dependencies": {
"Microsoft.EntityFrameworkCore": "9.0.1",
"Microsoft.Extensions.Caching.Memory": "9.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1"
},
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61002"
}
}
},
"Microsoft.Extensions.Caching.Abstractions/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Caching.Memory/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Microsoft.Extensions.Options": "9.0.1",
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.DependencyInjection/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1"
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.1": {},
"Microsoft.Extensions.Identity.Core/9.0.1": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1",
"Microsoft.Extensions.Options": "9.0.1"
}
},
"Microsoft.Extensions.Identity.Stores/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "9.0.1",
"Microsoft.Extensions.Identity.Core": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1"
}
},
"Microsoft.Extensions.Logging/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Microsoft.Extensions.Options": "9.0.1"
}
},
"Microsoft.Extensions.Logging.Abstractions/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1"
}
},
"Microsoft.Extensions.Options/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Primitives/9.0.1": {},
"NTDLS.Helpers/1.3.11": {
"dependencies": {
"Microsoft.Extensions.Caching.Memory": "9.0.1"
},
"runtime": {
"lib/net9.0/NTDLS.Helpers.dll": {
"assemblyVersion": "1.3.11.0",
"fileVersion": "1.3.11.0"
}
}
},
"NTDLS.SqliteDapperWrapper/1.1.4": {
"dependencies": {
"Dapper": "2.1.35",
"Microsoft.Data.Sqlite.Core": "9.0.0",
"SQLitePCLRaw.bundle_e_sqlite3": "2.1.10",
"System.Runtime.Caching": "9.0.0"
},
"runtime": {
"lib/net9.0/NTDLS.SqliteDapperWrapper.dll": {
"assemblyVersion": "1.1.4.0",
"fileVersion": "1.1.4.0"
}
}
},
"SixLabors.ImageSharp/3.1.6": {
"runtime": {
"lib/net6.0/SixLabors.ImageSharp.dll": {
"assemblyVersion": "3.0.0.0",
"fileVersion": "3.1.6.0"
}
}
},
"SQLitePCLRaw.bundle_e_sqlite3/2.1.10": {
"dependencies": {
"SQLitePCLRaw.lib.e_sqlite3": "2.1.10",
"SQLitePCLRaw.provider.e_sqlite3": "2.1.10"
},
"runtime": {
"lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": {
"assemblyVersion": "2.1.10.2445",
"fileVersion": "2.1.10.2445"
}
}
},
"SQLitePCLRaw.core/2.1.10": {
"dependencies": {
"System.Memory": "4.5.3"
},
"runtime": {
"lib/netstandard2.0/SQLitePCLRaw.core.dll": {
"assemblyVersion": "2.1.10.2445",
"fileVersion": "2.1.10.2445"
}
}
},
"SQLitePCLRaw.lib.e_sqlite3/2.1.10": {
"runtimeTargets": {
"runtimes/browser-wasm/nativeassets/net9.0/e_sqlite3.a": {
"rid": "browser-wasm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm/native/libe_sqlite3.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libe_sqlite3.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-armel/native/libe_sqlite3.so": {
"rid": "linux-armel",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-mips64/native/libe_sqlite3.so": {
"rid": "linux-mips64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-arm/native/libe_sqlite3.so": {
"rid": "linux-musl-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-arm64/native/libe_sqlite3.so": {
"rid": "linux-musl-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-s390x/native/libe_sqlite3.so": {
"rid": "linux-musl-s390x",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-x64/native/libe_sqlite3.so": {
"rid": "linux-musl-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-ppc64le/native/libe_sqlite3.so": {
"rid": "linux-ppc64le",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-s390x/native/libe_sqlite3.so": {
"rid": "linux-s390x",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libe_sqlite3.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x86/native/libe_sqlite3.so": {
"rid": "linux-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/maccatalyst-arm64/native/libe_sqlite3.dylib": {
"rid": "maccatalyst-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/maccatalyst-x64/native/libe_sqlite3.dylib": {
"rid": "maccatalyst-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libe_sqlite3.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libe_sqlite3.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm/native/e_sqlite3.dll": {
"rid": "win-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/e_sqlite3.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/e_sqlite3.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/e_sqlite3.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"SQLitePCLRaw.provider.e_sqlite3/2.1.10": {
"dependencies": {
"SQLitePCLRaw.core": "2.1.10"
},
"runtime": {
"lib/net6.0/SQLitePCLRaw.provider.e_sqlite3.dll": {
"assemblyVersion": "2.1.10.2445",
"fileVersion": "2.1.10.2445"
}
}
},
"System.Configuration.ConfigurationManager/9.0.0": {
"dependencies": {
"System.Diagnostics.EventLog": "9.0.0",
"System.Security.Cryptography.ProtectedData": "9.0.0"
},
"runtime": {
"lib/net9.0/System.Configuration.ConfigurationManager.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"System.Diagnostics.EventLog/9.0.0": {},
"System.Memory/4.5.3": {},
"System.Runtime.Caching/9.0.0": {
"dependencies": {
"System.Configuration.ConfigurationManager": "9.0.0"
},
"runtime": {
"lib/net9.0/System.Runtime.Caching.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
},
"runtimeTargets": {
"runtimes/win/lib/net9.0/System.Runtime.Caching.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"System.Security.Cryptography.ProtectedData/9.0.0": {
"runtime": {
"lib/net9.0/System.Security.Cryptography.ProtectedData.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"TightWiki.Library/2.20.1": {
"dependencies": {
"Magick.NET-Q8-AnyCPU": "14.4.0",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "9.0.1",
"NTDLS.Helpers": "1.3.11",
"NTDLS.SqliteDapperWrapper": "1.1.4",
"SixLabors.ImageSharp": "3.1.6"
},
"runtime": {
"TightWiki.Library.dll": {
"assemblyVersion": "2.20.1",
"fileVersion": "2.20.1.0"
}
}
}
}
},
"libraries": {
"TightWiki.Models/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Dapper/2.1.35": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YKRwjVfrG7GYOovlGyQoMvr1/IJdn+7QzNXJxyMh0YfFF5yvDmTYaJOVYWsckreNjGsGSEtrMTpnzxTUq/tZQw==",
"path": "dapper/2.1.35",
"hashPath": "dapper.2.1.35.nupkg.sha512"
},
"Magick.NET-Q8-AnyCPU/14.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-4f/6tga1izjCm29qGlPlTc7txquzd5cOgRFuCD6fh7tu+QS4Rd6gZpvRwrIb4e/Y0pE1JQyF2j4RRmQ23T8BLA==",
"path": "magick.net-q8-anycpu/14.4.0",
"hashPath": "magick.net-q8-anycpu.14.4.0.nupkg.sha512"
},
"Magick.NET.Core/14.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-nmSA3LWK77rZlQ085RBqFLr67GVFyz4mAcuiVGQ9LcNwbxUm4Zcte4D9N+TxAyew6CXzoyHAG3i7NeDgpuztWw==",
"path": "magick.net.core/14.4.0",
"hashPath": "magick.net.core.14.4.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.Internal/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-leaw8hC6wCKfAg2kAYT4plnaHI7o6bKB9IQy0yLWHmgV0GjE449pu0SEnnl7loEzdLgyQrKyVQvfz7wRErqmxQ==",
"path": "microsoft.aspnetcore.cryptography.internal/9.0.1",
"hashPath": "microsoft.aspnetcore.cryptography.internal.9.0.1.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/ibWvFYnxjCfOmtQtLTFUN9L70CrQH0daom6tE8/hlxTllUDeXM95fE45dC4u2tBOrfDqB6TPAkUzd/vWaAusA==",
"path": "microsoft.aspnetcore.cryptography.keyderivation/9.0.1",
"hashPath": "microsoft.aspnetcore.cryptography.keyderivation.9.0.1.nupkg.sha512"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yZyj/m7nBsrx6JDIv5KSYH44lJsQ4K5RLEWaYRFQVoIRvGXQxMZ/TUCa7PKFtR/o6nz1fmy6bVciV/eN/NmjUw==",
"path": "microsoft.aspnetcore.identity.entityframeworkcore/9.0.1",
"hashPath": "microsoft.aspnetcore.identity.entityframeworkcore.9.0.1.nupkg.sha512"
},
"Microsoft.Data.Sqlite.Core/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-cFfZjFL+tqzGYw9lB31EkV1IWF5xRQNk2k+MQd+Cf86Gl6zTeAoiZIFw5sRB1Z8OxpEC7nu+nTDsLSjieBAPTw==",
"path": "microsoft.data.sqlite.core/9.0.0",
"hashPath": "microsoft.data.sqlite.core.9.0.0.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-E25w4XugXNykTr5Y/sLDGaQ4lf67n9aXVPvsdGsIZjtuLmbvb9AoYP8D50CDejY8Ro4D9GK2kNHz5lWHqSK+wg==",
"path": "microsoft.entityframeworkcore/9.0.1",
"hashPath": "microsoft.entityframeworkcore.9.0.1.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qy+taGVLUs82zeWfc32hgGL8Z02ZqAneYvqZiiXbxF4g4PBUcPRuxHM9K20USmpeJbn4/fz40GkCbyyCy5ojOA==",
"path": "microsoft.entityframeworkcore.abstractions/9.0.1",
"hashPath": "microsoft.entityframeworkcore.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Analyzers/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-c6ZZJZhPKrXFkE2z/81PmuT69HBL6Y68Cl0xJ5SRrDjJyq5Aabkq15yCqPg9RQ3R0aFLVaJok2DA8R3TKpejDQ==",
"path": "microsoft.entityframeworkcore.analyzers/9.0.1",
"hashPath": "microsoft.entityframeworkcore.analyzers.9.0.1.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Relational/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7Iu0h4oevRvH4IwPzmxuIJGYRt55TapoREGlluk75KCO7lenN0+QnzCl6cQDY48uDoxAUpJbpK2xW7o8Ix69dw==",
"path": "microsoft.entityframeworkcore.relational/9.0.1",
"hashPath": "microsoft.entityframeworkcore.relational.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Eghsg9SyIvq0c8x6cUpe71BbQoOmsytXxqw2+ZNiTnP8a8SBLKgEor1zZeWhC0588IbS2M0PP4gXGAd9qF862Q==",
"path": "microsoft.extensions.caching.abstractions/9.0.1",
"hashPath": "microsoft.extensions.caching.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Memory/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JeC+PP0BCKMwwLezPGDaciJSTfcFG4KjsG8rX4XZ6RSvzdxofrFmcnmW2L4+cWUcZSBTQ+Dd7H5Gs9XZz/OlCA==",
"path": "microsoft.extensions.caching.memory/9.0.1",
"hashPath": "microsoft.extensions.caching.memory.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+4hfFIY1UjBCXFTTOd+ojlDPq6mep3h5Vq5SYE3Pjucr7dNXmq4S/6P/LoVnZFz2e/5gWp/om4svUFgznfULcA==",
"path": "microsoft.extensions.configuration.abstractions/9.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qZI42ASAe3hr2zMSA6UjM92pO1LeDq5DcwkgSowXXPY8I56M76pEKrnmsKKbxagAf39AJxkH2DY4sb72ixyOrg==",
"path": "microsoft.extensions.dependencyinjection/9.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Tr74eP0oQ3AyC24ch17N8PuEkrPbD0JqIfENCYqmgKYNOmL8wQKzLJu3ObxTUDrjnn4rHoR1qKa37/eQyHmCDA==",
"path": "microsoft.extensions.dependencyinjection.abstractions/9.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Core/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dbvAQhwSyBbgB2BuVJ8PMVx7BK6WZHWhV/vsSnXl6sRLs9D7yXiIiRpgcPVvN5E/UkzRGW1EPXyc3t1EDxWSzg==",
"path": "microsoft.extensions.identity.core/9.0.1",
"hashPath": "microsoft.extensions.identity.core.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Stores/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-lBErjDqd7i2RGpDr040lGm/HbMvxG/1Ta1aSFh91vYtSwEY2rtMI9o7xIDWgNmBKu8ko+XBxt0WcQh6TNFVe7g==",
"path": "microsoft.extensions.identity.stores/9.0.1",
"hashPath": "microsoft.extensions.identity.stores.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-E/k5r7S44DOW+08xQPnNbO8DKAQHhkspDboTThNJ6Z3/QBb4LC6gStNWzVmy3IvW7sUD+iJKf4fj0xEkqE7vnQ==",
"path": "microsoft.extensions.logging/9.0.1",
"hashPath": "microsoft.extensions.logging.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-w2gUqXN/jNIuvqYwX3lbXagsizVNXYyt6LlF57+tMve4JYCEgCMMAjRce6uKcDASJgpMbErRT1PfHy2OhbkqEA==",
"path": "microsoft.extensions.logging.abstractions/9.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-nggoNKnWcsBIAaOWHA+53XZWrslC7aGeok+aR+epDPRy7HI7GwMnGZE8yEsL2Onw7kMOHVHwKcsDls1INkNUJQ==",
"path": "microsoft.extensions.options/9.0.1",
"hashPath": "microsoft.extensions.options.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bHtTesA4lrSGD1ZUaMIx6frU3wyy0vYtTa/hM6gGQu5QNrydObv8T5COiGUWsisflAfmsaFOe9Xvw5NSO99z0g==",
"path": "microsoft.extensions.primitives/9.0.1",
"hashPath": "microsoft.extensions.primitives.9.0.1.nupkg.sha512"
},
"NTDLS.Helpers/1.3.11": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xcNFG2blg5WqnivxXgLHbvxz5L1EYXAhEK+7R1TXQIyuknKG9McAjCp+tr+RZ7PawqXwKeOHkaizNQcSdlv81A==",
"path": "ntdls.helpers/1.3.11",
"hashPath": "ntdls.helpers.1.3.11.nupkg.sha512"
},
"NTDLS.SqliteDapperWrapper/1.1.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-enrMT/qcwqFh18APoN/XtydpC+9BuD5rVg2h/4Fl9IT8bC1aL7iLPJigdfkGf0mYYO3Y6EP91nL4Iv/5Dqay9A==",
"path": "ntdls.sqlitedapperwrapper/1.1.4",
"hashPath": "ntdls.sqlitedapperwrapper.1.1.4.nupkg.sha512"
},
"SixLabors.ImageSharp/3.1.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dHQ5jugF9v+5/LCVHCWVzaaIL6WOehqJy6eju/0VFYFPEj2WtqkGPoEV9EVQP83dHsdoqYaTuWpZdwAd37UwfA==",
"path": "sixlabors.imagesharp/3.1.6",
"hashPath": "sixlabors.imagesharp.3.1.6.nupkg.sha512"
},
"SQLitePCLRaw.bundle_e_sqlite3/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-UxWuisvZ3uVcVOLJQv7urM/JiQH+v3TmaJc1BLKl5Dxfm/nTzTUrqswCqg/INiYLi61AXnHo1M1JPmPqqLnAdg==",
"path": "sqlitepclraw.bundle_e_sqlite3/2.1.10",
"hashPath": "sqlitepclraw.bundle_e_sqlite3.2.1.10.nupkg.sha512"
},
"SQLitePCLRaw.core/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Ii8JCbC7oiVclaE/mbDEK000EFIJ+ShRPwAvvV89GOZhQ+ZLtlnSWl6ksCNMKu/VGXA4Nfi2B7LhN/QFN9oBcw==",
"path": "sqlitepclraw.core/2.1.10",
"hashPath": "sqlitepclraw.core.2.1.10.nupkg.sha512"
},
"SQLitePCLRaw.lib.e_sqlite3/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-mAr69tDbnf3QJpRy2nJz8Qdpebdil00fvycyByR58Cn9eARvR+UiG2Vzsp+4q1tV3ikwiYIjlXCQFc12GfebbA==",
"path": "sqlitepclraw.lib.e_sqlite3/2.1.10",
"hashPath": "sqlitepclraw.lib.e_sqlite3.2.1.10.nupkg.sha512"
},
"SQLitePCLRaw.provider.e_sqlite3/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-uZVTi02C1SxqzgT0HqTWatIbWGb40iIkfc3FpFCpE/r7g6K0PqzDUeefL6P6HPhDtc6BacN3yQysfzP7ks+wSQ==",
"path": "sqlitepclraw.provider.e_sqlite3/2.1.10",
"hashPath": "sqlitepclraw.provider.e_sqlite3.2.1.10.nupkg.sha512"
},
"System.Configuration.ConfigurationManager/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-PdkuMrwDhXoKFo/JxISIi9E8L+QGn9Iquj2OKDWHB6Y/HnUOuBouF7uS3R4Hw3FoNmwwMo6hWgazQdyHIIs27A==",
"path": "system.configuration.configurationmanager/9.0.0",
"hashPath": "system.configuration.configurationmanager.9.0.0.nupkg.sha512"
},
"System.Diagnostics.EventLog/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qd01+AqPhbAG14KtdtIqFk+cxHQFZ/oqRSCoxU1F+Q6Kv0cl726sl7RzU9yLFGd4BUOKdN4XojXF0pQf/R6YeA==",
"path": "system.diagnostics.eventlog/9.0.0",
"hashPath": "system.diagnostics.eventlog.9.0.0.nupkg.sha512"
},
"System.Memory/4.5.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==",
"path": "system.memory/4.5.3",
"hashPath": "system.memory.4.5.3.nupkg.sha512"
},
"System.Runtime.Caching/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-4sUTbJkQZFxyhvc/CDcrAZOT8q1FWTECRsnnwGgKtC7wC3/uzhYSYUXywbCfkINjB35kgQxw9MalI/G3ZZfM3w==",
"path": "system.runtime.caching/9.0.0",
"hashPath": "system.runtime.caching.9.0.0.nupkg.sha512"
},
"System.Security.Cryptography.ProtectedData/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CJW+x/F6fmRQ7N6K8paasTw9PDZp4t7G76UjGNlSDgoHPF0h08vTzLYbLZpOLEJSg35d5wy2jCXGo84EN05DpQ==",
"path": "system.security.cryptography.protecteddata/9.0.0",
"hashPath": "system.security.cryptography.protecteddata.9.0.0.nupkg.sha512"
},
"TightWiki.Library/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,694 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v9.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v9.0": {
"ZelWiki.Models/2.20.1": {
"dependencies": {
"ZelWiki.Library": "2.20.1"
},
"runtime": {
"ZelWiki.Models.dll": {}
}
},
"Dapper/2.1.35": {
"runtime": {
"lib/net7.0/Dapper.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.1.35.13827"
}
}
},
"Magick.NET-Q8-AnyCPU/14.4.0": {
"dependencies": {
"Magick.NET.Core": "14.4.0"
},
"runtime": {
"lib/net8.0/Magick.NET-Q8-AnyCPU.dll": {
"assemblyVersion": "14.4.0.0",
"fileVersion": "14.4.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm64/native/Magick.Native-Q8-arm64.dll.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-x64/native/Magick.Native-Q8-x64.dll.so": {
"rid": "linux-musl-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/Magick.Native-Q8-x64.dll.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/Magick.Native-Q8-arm64.dll.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/Magick.Native-Q8-x64.dll.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/Magick.Native-Q8-arm64.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "7.1.1.43"
},
"runtimes/win-x64/native/Magick.Native-Q8-x64.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "7.1.1.43"
},
"runtimes/win-x86/native/Magick.Native-Q8-x86.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "7.1.1.43"
}
}
},
"Magick.NET.Core/14.4.0": {
"runtime": {
"lib/net8.0/Magick.NET.Core.dll": {
"assemblyVersion": "14.4.0.0",
"fileVersion": "14.4.0.0"
}
}
},
"Microsoft.AspNetCore.Cryptography.Internal/9.0.1": {},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/9.0.1": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "9.0.1"
}
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/9.0.1": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "9.0.1",
"Microsoft.Extensions.Identity.Stores": "9.0.1"
},
"runtime": {
"lib/net9.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61009"
}
}
},
"Microsoft.Data.Sqlite.Core/9.0.0": {
"dependencies": {
"SQLitePCLRaw.core": "2.1.10"
},
"runtime": {
"lib/net8.0/Microsoft.Data.Sqlite.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52902"
}
}
},
"Microsoft.EntityFrameworkCore/9.0.1": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Abstractions": "9.0.1",
"Microsoft.EntityFrameworkCore.Analyzers": "9.0.1",
"Microsoft.Extensions.Caching.Memory": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1"
},
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61002"
}
}
},
"Microsoft.EntityFrameworkCore.Abstractions/9.0.1": {
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61002"
}
}
},
"Microsoft.EntityFrameworkCore.Analyzers/9.0.1": {},
"Microsoft.EntityFrameworkCore.Relational/9.0.1": {
"dependencies": {
"Microsoft.EntityFrameworkCore": "9.0.1",
"Microsoft.Extensions.Caching.Memory": "9.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1"
},
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61002"
}
}
},
"Microsoft.Extensions.Caching.Abstractions/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Caching.Memory/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Microsoft.Extensions.Options": "9.0.1",
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.DependencyInjection/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1"
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.1": {},
"Microsoft.Extensions.Identity.Core/9.0.1": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1",
"Microsoft.Extensions.Options": "9.0.1"
}
},
"Microsoft.Extensions.Identity.Stores/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "9.0.1",
"Microsoft.Extensions.Identity.Core": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1"
}
},
"Microsoft.Extensions.Logging/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Microsoft.Extensions.Options": "9.0.1"
}
},
"Microsoft.Extensions.Logging.Abstractions/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1"
}
},
"Microsoft.Extensions.Options/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Primitives/9.0.1": {},
"NTDLS.Helpers/1.3.11": {
"dependencies": {
"Microsoft.Extensions.Caching.Memory": "9.0.1"
},
"runtime": {
"lib/net9.0/NTDLS.Helpers.dll": {
"assemblyVersion": "1.3.11.0",
"fileVersion": "1.3.11.0"
}
}
},
"NTDLS.SqliteDapperWrapper/1.1.4": {
"dependencies": {
"Dapper": "2.1.35",
"Microsoft.Data.Sqlite.Core": "9.0.0",
"SQLitePCLRaw.bundle_e_sqlite3": "2.1.10",
"System.Runtime.Caching": "9.0.0"
},
"runtime": {
"lib/net9.0/NTDLS.SqliteDapperWrapper.dll": {
"assemblyVersion": "1.1.4.0",
"fileVersion": "1.1.4.0"
}
}
},
"SixLabors.ImageSharp/3.1.6": {
"runtime": {
"lib/net6.0/SixLabors.ImageSharp.dll": {
"assemblyVersion": "3.0.0.0",
"fileVersion": "3.1.6.0"
}
}
},
"SQLitePCLRaw.bundle_e_sqlite3/2.1.10": {
"dependencies": {
"SQLitePCLRaw.lib.e_sqlite3": "2.1.10",
"SQLitePCLRaw.provider.e_sqlite3": "2.1.10"
},
"runtime": {
"lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": {
"assemblyVersion": "2.1.10.2445",
"fileVersion": "2.1.10.2445"
}
}
},
"SQLitePCLRaw.core/2.1.10": {
"dependencies": {
"System.Memory": "4.5.3"
},
"runtime": {
"lib/netstandard2.0/SQLitePCLRaw.core.dll": {
"assemblyVersion": "2.1.10.2445",
"fileVersion": "2.1.10.2445"
}
}
},
"SQLitePCLRaw.lib.e_sqlite3/2.1.10": {
"runtimeTargets": {
"runtimes/browser-wasm/nativeassets/net9.0/e_sqlite3.a": {
"rid": "browser-wasm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm/native/libe_sqlite3.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libe_sqlite3.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-armel/native/libe_sqlite3.so": {
"rid": "linux-armel",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-mips64/native/libe_sqlite3.so": {
"rid": "linux-mips64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-arm/native/libe_sqlite3.so": {
"rid": "linux-musl-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-arm64/native/libe_sqlite3.so": {
"rid": "linux-musl-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-s390x/native/libe_sqlite3.so": {
"rid": "linux-musl-s390x",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-x64/native/libe_sqlite3.so": {
"rid": "linux-musl-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-ppc64le/native/libe_sqlite3.so": {
"rid": "linux-ppc64le",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-s390x/native/libe_sqlite3.so": {
"rid": "linux-s390x",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libe_sqlite3.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x86/native/libe_sqlite3.so": {
"rid": "linux-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/maccatalyst-arm64/native/libe_sqlite3.dylib": {
"rid": "maccatalyst-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/maccatalyst-x64/native/libe_sqlite3.dylib": {
"rid": "maccatalyst-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libe_sqlite3.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libe_sqlite3.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm/native/e_sqlite3.dll": {
"rid": "win-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/e_sqlite3.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/e_sqlite3.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/e_sqlite3.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"SQLitePCLRaw.provider.e_sqlite3/2.1.10": {
"dependencies": {
"SQLitePCLRaw.core": "2.1.10"
},
"runtime": {
"lib/net6.0/SQLitePCLRaw.provider.e_sqlite3.dll": {
"assemblyVersion": "2.1.10.2445",
"fileVersion": "2.1.10.2445"
}
}
},
"System.Configuration.ConfigurationManager/9.0.0": {
"dependencies": {
"System.Diagnostics.EventLog": "9.0.0",
"System.Security.Cryptography.ProtectedData": "9.0.0"
},
"runtime": {
"lib/net9.0/System.Configuration.ConfigurationManager.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"System.Diagnostics.EventLog/9.0.0": {},
"System.Memory/4.5.3": {},
"System.Runtime.Caching/9.0.0": {
"dependencies": {
"System.Configuration.ConfigurationManager": "9.0.0"
},
"runtime": {
"lib/net9.0/System.Runtime.Caching.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
},
"runtimeTargets": {
"runtimes/win/lib/net9.0/System.Runtime.Caching.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"System.Security.Cryptography.ProtectedData/9.0.0": {
"runtime": {
"lib/net9.0/System.Security.Cryptography.ProtectedData.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"ZelWiki.Library/2.20.1": {
"dependencies": {
"Magick.NET-Q8-AnyCPU": "14.4.0",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "9.0.1",
"NTDLS.Helpers": "1.3.11",
"NTDLS.SqliteDapperWrapper": "1.1.4",
"SixLabors.ImageSharp": "3.1.6"
},
"runtime": {
"ZelWiki.Library.dll": {
"assemblyVersion": "2.20.1",
"fileVersion": "2.20.1.0"
}
}
}
}
},
"libraries": {
"ZelWiki.Models/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Dapper/2.1.35": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YKRwjVfrG7GYOovlGyQoMvr1/IJdn+7QzNXJxyMh0YfFF5yvDmTYaJOVYWsckreNjGsGSEtrMTpnzxTUq/tZQw==",
"path": "dapper/2.1.35",
"hashPath": "dapper.2.1.35.nupkg.sha512"
},
"Magick.NET-Q8-AnyCPU/14.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-4f/6tga1izjCm29qGlPlTc7txquzd5cOgRFuCD6fh7tu+QS4Rd6gZpvRwrIb4e/Y0pE1JQyF2j4RRmQ23T8BLA==",
"path": "magick.net-q8-anycpu/14.4.0",
"hashPath": "magick.net-q8-anycpu.14.4.0.nupkg.sha512"
},
"Magick.NET.Core/14.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-nmSA3LWK77rZlQ085RBqFLr67GVFyz4mAcuiVGQ9LcNwbxUm4Zcte4D9N+TxAyew6CXzoyHAG3i7NeDgpuztWw==",
"path": "magick.net.core/14.4.0",
"hashPath": "magick.net.core.14.4.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.Internal/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-leaw8hC6wCKfAg2kAYT4plnaHI7o6bKB9IQy0yLWHmgV0GjE449pu0SEnnl7loEzdLgyQrKyVQvfz7wRErqmxQ==",
"path": "microsoft.aspnetcore.cryptography.internal/9.0.1",
"hashPath": "microsoft.aspnetcore.cryptography.internal.9.0.1.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/ibWvFYnxjCfOmtQtLTFUN9L70CrQH0daom6tE8/hlxTllUDeXM95fE45dC4u2tBOrfDqB6TPAkUzd/vWaAusA==",
"path": "microsoft.aspnetcore.cryptography.keyderivation/9.0.1",
"hashPath": "microsoft.aspnetcore.cryptography.keyderivation.9.0.1.nupkg.sha512"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yZyj/m7nBsrx6JDIv5KSYH44lJsQ4K5RLEWaYRFQVoIRvGXQxMZ/TUCa7PKFtR/o6nz1fmy6bVciV/eN/NmjUw==",
"path": "microsoft.aspnetcore.identity.entityframeworkcore/9.0.1",
"hashPath": "microsoft.aspnetcore.identity.entityframeworkcore.9.0.1.nupkg.sha512"
},
"Microsoft.Data.Sqlite.Core/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-cFfZjFL+tqzGYw9lB31EkV1IWF5xRQNk2k+MQd+Cf86Gl6zTeAoiZIFw5sRB1Z8OxpEC7nu+nTDsLSjieBAPTw==",
"path": "microsoft.data.sqlite.core/9.0.0",
"hashPath": "microsoft.data.sqlite.core.9.0.0.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-E25w4XugXNykTr5Y/sLDGaQ4lf67n9aXVPvsdGsIZjtuLmbvb9AoYP8D50CDejY8Ro4D9GK2kNHz5lWHqSK+wg==",
"path": "microsoft.entityframeworkcore/9.0.1",
"hashPath": "microsoft.entityframeworkcore.9.0.1.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qy+taGVLUs82zeWfc32hgGL8Z02ZqAneYvqZiiXbxF4g4PBUcPRuxHM9K20USmpeJbn4/fz40GkCbyyCy5ojOA==",
"path": "microsoft.entityframeworkcore.abstractions/9.0.1",
"hashPath": "microsoft.entityframeworkcore.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Analyzers/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-c6ZZJZhPKrXFkE2z/81PmuT69HBL6Y68Cl0xJ5SRrDjJyq5Aabkq15yCqPg9RQ3R0aFLVaJok2DA8R3TKpejDQ==",
"path": "microsoft.entityframeworkcore.analyzers/9.0.1",
"hashPath": "microsoft.entityframeworkcore.analyzers.9.0.1.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Relational/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7Iu0h4oevRvH4IwPzmxuIJGYRt55TapoREGlluk75KCO7lenN0+QnzCl6cQDY48uDoxAUpJbpK2xW7o8Ix69dw==",
"path": "microsoft.entityframeworkcore.relational/9.0.1",
"hashPath": "microsoft.entityframeworkcore.relational.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Eghsg9SyIvq0c8x6cUpe71BbQoOmsytXxqw2+ZNiTnP8a8SBLKgEor1zZeWhC0588IbS2M0PP4gXGAd9qF862Q==",
"path": "microsoft.extensions.caching.abstractions/9.0.1",
"hashPath": "microsoft.extensions.caching.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Memory/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JeC+PP0BCKMwwLezPGDaciJSTfcFG4KjsG8rX4XZ6RSvzdxofrFmcnmW2L4+cWUcZSBTQ+Dd7H5Gs9XZz/OlCA==",
"path": "microsoft.extensions.caching.memory/9.0.1",
"hashPath": "microsoft.extensions.caching.memory.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+4hfFIY1UjBCXFTTOd+ojlDPq6mep3h5Vq5SYE3Pjucr7dNXmq4S/6P/LoVnZFz2e/5gWp/om4svUFgznfULcA==",
"path": "microsoft.extensions.configuration.abstractions/9.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qZI42ASAe3hr2zMSA6UjM92pO1LeDq5DcwkgSowXXPY8I56M76pEKrnmsKKbxagAf39AJxkH2DY4sb72ixyOrg==",
"path": "microsoft.extensions.dependencyinjection/9.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Tr74eP0oQ3AyC24ch17N8PuEkrPbD0JqIfENCYqmgKYNOmL8wQKzLJu3ObxTUDrjnn4rHoR1qKa37/eQyHmCDA==",
"path": "microsoft.extensions.dependencyinjection.abstractions/9.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Core/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dbvAQhwSyBbgB2BuVJ8PMVx7BK6WZHWhV/vsSnXl6sRLs9D7yXiIiRpgcPVvN5E/UkzRGW1EPXyc3t1EDxWSzg==",
"path": "microsoft.extensions.identity.core/9.0.1",
"hashPath": "microsoft.extensions.identity.core.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Stores/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-lBErjDqd7i2RGpDr040lGm/HbMvxG/1Ta1aSFh91vYtSwEY2rtMI9o7xIDWgNmBKu8ko+XBxt0WcQh6TNFVe7g==",
"path": "microsoft.extensions.identity.stores/9.0.1",
"hashPath": "microsoft.extensions.identity.stores.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-E/k5r7S44DOW+08xQPnNbO8DKAQHhkspDboTThNJ6Z3/QBb4LC6gStNWzVmy3IvW7sUD+iJKf4fj0xEkqE7vnQ==",
"path": "microsoft.extensions.logging/9.0.1",
"hashPath": "microsoft.extensions.logging.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-w2gUqXN/jNIuvqYwX3lbXagsizVNXYyt6LlF57+tMve4JYCEgCMMAjRce6uKcDASJgpMbErRT1PfHy2OhbkqEA==",
"path": "microsoft.extensions.logging.abstractions/9.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-nggoNKnWcsBIAaOWHA+53XZWrslC7aGeok+aR+epDPRy7HI7GwMnGZE8yEsL2Onw7kMOHVHwKcsDls1INkNUJQ==",
"path": "microsoft.extensions.options/9.0.1",
"hashPath": "microsoft.extensions.options.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bHtTesA4lrSGD1ZUaMIx6frU3wyy0vYtTa/hM6gGQu5QNrydObv8T5COiGUWsisflAfmsaFOe9Xvw5NSO99z0g==",
"path": "microsoft.extensions.primitives/9.0.1",
"hashPath": "microsoft.extensions.primitives.9.0.1.nupkg.sha512"
},
"NTDLS.Helpers/1.3.11": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xcNFG2blg5WqnivxXgLHbvxz5L1EYXAhEK+7R1TXQIyuknKG9McAjCp+tr+RZ7PawqXwKeOHkaizNQcSdlv81A==",
"path": "ntdls.helpers/1.3.11",
"hashPath": "ntdls.helpers.1.3.11.nupkg.sha512"
},
"NTDLS.SqliteDapperWrapper/1.1.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-enrMT/qcwqFh18APoN/XtydpC+9BuD5rVg2h/4Fl9IT8bC1aL7iLPJigdfkGf0mYYO3Y6EP91nL4Iv/5Dqay9A==",
"path": "ntdls.sqlitedapperwrapper/1.1.4",
"hashPath": "ntdls.sqlitedapperwrapper.1.1.4.nupkg.sha512"
},
"SixLabors.ImageSharp/3.1.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dHQ5jugF9v+5/LCVHCWVzaaIL6WOehqJy6eju/0VFYFPEj2WtqkGPoEV9EVQP83dHsdoqYaTuWpZdwAd37UwfA==",
"path": "sixlabors.imagesharp/3.1.6",
"hashPath": "sixlabors.imagesharp.3.1.6.nupkg.sha512"
},
"SQLitePCLRaw.bundle_e_sqlite3/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-UxWuisvZ3uVcVOLJQv7urM/JiQH+v3TmaJc1BLKl5Dxfm/nTzTUrqswCqg/INiYLi61AXnHo1M1JPmPqqLnAdg==",
"path": "sqlitepclraw.bundle_e_sqlite3/2.1.10",
"hashPath": "sqlitepclraw.bundle_e_sqlite3.2.1.10.nupkg.sha512"
},
"SQLitePCLRaw.core/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Ii8JCbC7oiVclaE/mbDEK000EFIJ+ShRPwAvvV89GOZhQ+ZLtlnSWl6ksCNMKu/VGXA4Nfi2B7LhN/QFN9oBcw==",
"path": "sqlitepclraw.core/2.1.10",
"hashPath": "sqlitepclraw.core.2.1.10.nupkg.sha512"
},
"SQLitePCLRaw.lib.e_sqlite3/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-mAr69tDbnf3QJpRy2nJz8Qdpebdil00fvycyByR58Cn9eARvR+UiG2Vzsp+4q1tV3ikwiYIjlXCQFc12GfebbA==",
"path": "sqlitepclraw.lib.e_sqlite3/2.1.10",
"hashPath": "sqlitepclraw.lib.e_sqlite3.2.1.10.nupkg.sha512"
},
"SQLitePCLRaw.provider.e_sqlite3/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-uZVTi02C1SxqzgT0HqTWatIbWGb40iIkfc3FpFCpE/r7g6K0PqzDUeefL6P6HPhDtc6BacN3yQysfzP7ks+wSQ==",
"path": "sqlitepclraw.provider.e_sqlite3/2.1.10",
"hashPath": "sqlitepclraw.provider.e_sqlite3.2.1.10.nupkg.sha512"
},
"System.Configuration.ConfigurationManager/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-PdkuMrwDhXoKFo/JxISIi9E8L+QGn9Iquj2OKDWHB6Y/HnUOuBouF7uS3R4Hw3FoNmwwMo6hWgazQdyHIIs27A==",
"path": "system.configuration.configurationmanager/9.0.0",
"hashPath": "system.configuration.configurationmanager.9.0.0.nupkg.sha512"
},
"System.Diagnostics.EventLog/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qd01+AqPhbAG14KtdtIqFk+cxHQFZ/oqRSCoxU1F+Q6Kv0cl726sl7RzU9yLFGd4BUOKdN4XojXF0pQf/R6YeA==",
"path": "system.diagnostics.eventlog/9.0.0",
"hashPath": "system.diagnostics.eventlog.9.0.0.nupkg.sha512"
},
"System.Memory/4.5.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==",
"path": "system.memory/4.5.3",
"hashPath": "system.memory.4.5.3.nupkg.sha512"
},
"System.Runtime.Caching/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-4sUTbJkQZFxyhvc/CDcrAZOT8q1FWTECRsnnwGgKtC7wC3/uzhYSYUXywbCfkINjB35kgQxw9MalI/G3ZZfM3w==",
"path": "system.runtime.caching/9.0.0",
"hashPath": "system.runtime.caching.9.0.0.nupkg.sha512"
},
"System.Security.Cryptography.ProtectedData/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CJW+x/F6fmRQ7N6K8paasTw9PDZp4t7G76UjGNlSDgoHPF0h08vTzLYbLZpOLEJSg35d5wy2jCXGo84EN05DpQ==",
"path": "system.security.cryptography.protecteddata/9.0.0",
"hashPath": "system.security.cryptography.protecteddata.9.0.0.nupkg.sha512"
},
"ZelWiki.Library/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]

Some files were not shown because too many files have changed in this diff Show More