LANCommander/LANCommander.Server.ImportExport/Exporters/KeyExporter.cs
2026-07-02 18:09:14 -05:00

29 lines
No EOL
921 B
C#

using LANCommander.SDK.Enums;
using LANCommander.SDK.Models.Manifest;
using LANCommander.Server.ImportExport.Models;
using LANCommander.Server.Services;
using LANCommander.Server.Services.Mappers;
namespace LANCommander.Server.ImportExport.Exporters;
public class KeyExporter(
ManifestMapper manifestMapper,
KeyService keyService) : BaseExporter<Key, Data.Models.Key>
{
public override async Task<ExportItemInfo> GetExportInfoAsync(Data.Models.Key record)
{
return new ExportItemInfo
{
Id = record.Id,
Type = ImportExportRecordType.Key,
Name = new String('*', record.Value.Length),
};
}
public override bool CanExport(Key record) => ExportContext.DataRecord is Data.Models.Game;
public override async Task<Key> ExportAsync(Guid id)
{
return await keyService.GetAsync(id, manifestMapper.ProjectToManifestKey);
}
}