namespace zero.Api.Endpoints.Media; public class MediaMapperProfile : ZeroMapperProfile { public override void Configure(IZeroMapper mapper) { mapper.Define((source, ctx) => new(), Map); mapper.Define((source, ctx) => new(), Map); mapper.Define((source, ctx) => new(), Map); mapper.Define((source, ctx) => new(), Map); mapper.Define((source, ctx) => new(), Map); } protected virtual void Map(zero.Media.Media source, MediaBasic target, IZeroMapperContext ctx) { this.MapBasicData(source, target); } protected virtual void Map(zero.Media.Media source, MediaEdit target, IZeroMapperContext ctx) { this.MapDisplayData(source, target); target.Type = source.Type; target.ParentId = source.ParentId; } protected virtual void Map(zero.Media.Media source, MediaFolderEdit target, IZeroMapperContext ctx) { Map(source, (MediaEdit)target, ctx); } protected virtual void Map(zero.Media.Media source, MediaFileEdit target, IZeroMapperContext ctx) { Map(source, (MediaEdit)target, ctx); target.AlternativeText = source.AlternativeText; target.Caption = source.Caption; target.Path = source.Path; target.Thumbnails = source.Thumbnails; target.Size = source.Size; target.ImageMeta = source.ImageMeta; target.FocalPoint = source.FocalPoint; } protected virtual void Map(MediaSave source, zero.Media.Media target, IZeroMapperContext ctx) { this.MapSaveData(source, target); } }