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 CustomFieldExporter( ManifestMapper manifestMapper, GameCustomFieldService gameCustomFieldService) : BaseExporter { public override async Task GetExportInfoAsync(Data.Models.GameCustomField record) { return new ExportItemInfo { Id = record.Id, Type = ImportExportRecordType.CustomField, Name = record.Name, }; } public override bool CanExport(GameCustomField record) => ExportContext.DataRecord is Data.Models.Game; public override async Task ExportAsync(Guid id) { return await gameCustomFieldService.GetAsync(id, manifestMapper.ProjectToManifestGameCustomField); } }