LANCommander/LANCommander.Server.ImportExport/Exporters/SavePathExporter.cs

27 lines
942 B
C#
Raw Permalink Normal View History

using LANCommander.SDK.Enums;
using LANCommander.SDK.Models.Manifest;
using LANCommander.Server.ImportExport.Models;
using LANCommander.Server.Services;
2026-07-02 18:09:14 -05:00
using LANCommander.Server.Services.Mappers;
namespace LANCommander.Server.ImportExport.Exporters;
2026-07-02 18:09:14 -05:00
public class SavePathExporter(ManifestMapper manifestMapper, SavePathService savePathService) : BaseExporter<SavePath, Data.Models.SavePath>
{
public override async Task<ExportItemInfo> GetExportInfoAsync(Data.Models.SavePath record)
{
return new ExportItemInfo
{
Id = record.Id,
Type = ImportExportRecordType.SavePath,
Name = record.Path,
};
}
public override bool CanExport(SavePath record) => ExportContext.DataRecord is Data.Models.Game;
public override async Task<SavePath> ExportAsync(Guid id)
{
2026-07-02 18:09:14 -05:00
return await savePathService.GetAsync(id, manifestMapper.ProjectToManifestSavePath);
}
}