using System;
using zero.Core.Attributes;
namespace zero.Core.Entities
{
///
public class Media : ZeroEntity, IMedia
{
///
public string AppId { get; set; }
///
public string FileId { get; set; }
///
public string FolderId { get; set; }
///
public string AlternativeText { get; set; }
///
public string Caption { get; set; }
///
public string Source { get; set; }
///
public string ThumbnailSource { get; set; }
///
public string PreviewSource { get; set; }
///
public long Size { get; set; }
///
public MediaImageMeta ImageMeta { get; set; }
///
public MediaFocalPoint FocalPoint { get; set; }
///
public MediaType Type { get; set; }
}
///
/// A media file (can contain an image or other media like videos and documents)
///
[Collection("Media", LongId = true)]
public interface IMedia : IZeroEntity, IZeroDbConventions, IAppAwareEntity
{
///
/// Id/name of the phyiscal folder which is stored on disk/cloud
///
public string FileId { get; set; }
///
/// Id of the media folder
///
public string FolderId { get; set; }
///
/// Alternative text which is used when the image can't be loaded
///
string AlternativeText { get; set; }
///
/// Additional caption text
///
string Caption { get; set; }
///
/// Path of the media item
///
string Source { get; set; }
///
/// For images this is the source for a 100x100px thumbnail
///
string ThumbnailSource { get; set; }
///
/// For images this is the source for a [proportional]x210px thumbnail
///
string PreviewSource { get; set; }
///
/// Filesize in bytes
///
long Size { get; set; }
///
/// Meta data for images
///
MediaImageMeta ImageMeta { get; set; }
///
/// Optional focal point for an image
///
MediaFocalPoint FocalPoint { get; set; }
///
/// Type of the media
///
MediaType Type { get; set; }
}
}