12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using MediaBrowser.Model.System;
- namespace Jellyfin.Api.Models.SystemInfoDtos;
- /// <summary>
- /// Contains informations about the systems storage.
- /// </summary>
- public record SystemStorageDto
- {
- /// <summary>
- /// Gets or sets the Storage information of the program data folder.
- /// </summary>
- public required FolderStorageDto ProgramDataFolder { get; set; }
- /// <summary>
- /// Gets or sets the Storage information of the web UI resources folder.
- /// </summary>
- public required FolderStorageDto WebFolder { get; set; }
- /// <summary>
- /// Gets or sets the Storage information of the folder where images are cached.
- /// </summary>
- public required FolderStorageDto ImageCacheFolder { get; set; }
- /// <summary>
- /// Gets or sets the Storage information of the cache folder.
- /// </summary>
- public required FolderStorageDto CacheFolder { get; set; }
- /// <summary>
- /// Gets or sets the Storage information of the folder where logfiles are saved to.
- /// </summary>
- public required FolderStorageDto LogFolder { get; set; }
- /// <summary>
- /// Gets or sets the Storage information of the folder where metadata is stored.
- /// </summary>
- public required FolderStorageDto InternalMetadataFolder { get; set; }
- /// <summary>
- /// Gets or sets the Storage information of the transcoding cache.
- /// </summary>
- public required FolderStorageDto TranscodingTempFolder { get; set; }
- /// <summary>
- /// Gets or sets the storage informations of all libraries.
- /// </summary>
- public required IReadOnlyCollection<LibraryStorageDto> Libraries { get; set; }
- internal static SystemStorageDto FromSystemStorageInfo(SystemStorageInfo model)
- {
- return new SystemStorageDto()
- {
- ProgramDataFolder = FolderStorageDto.FromFolderStorageInfo(model.ProgramDataFolder),
- WebFolder = FolderStorageDto.FromFolderStorageInfo(model.WebFolder),
- ImageCacheFolder = FolderStorageDto.FromFolderStorageInfo(model.ImageCacheFolder),
- CacheFolder = FolderStorageDto.FromFolderStorageInfo(model.CacheFolder),
- LogFolder = FolderStorageDto.FromFolderStorageInfo(model.LogFolder),
- InternalMetadataFolder = FolderStorageDto.FromFolderStorageInfo(model.InternalMetadataFolder),
- TranscodingTempFolder = FolderStorageDto.FromFolderStorageInfo(model.TranscodingTempFolder),
- Libraries = model.Libraries.Select(LibraryStorageDto.FromLibraryStorageModel).ToArray()
- };
- }
- }
|