//using System; //using System.Threading.Tasks; //using zero.Core.Collections; //using zero.Core.Entities; //using zero.Core.Extensions; //using Rc = Raven.Client; //namespace zero.Core.Api //{ // public class PreviewApi : BackofficeApi, IPreviewApi // { // Preview Blueprint; // public PreviewApi(IStoreContext store, Preview blueprint) : base(store) // { // Blueprint = blueprint; // } // /// // public async Task> Add(TEntity model) where TEntity : ZeroEntity // { // return await Update(null, model); // } // /// // public async Task> Update(string id, TEntity model) where TEntity : ZeroEntity // { // Preview entity = id == null ? await GetById(id) : Blueprint.Clone(); // entity.Content = model; // entity.OriginalId = model.Id; // entity.Name = model.Name; // return await SaveModel(entity, meta: x => // { // x[Rc.Constants.Documents.Metadata.Expires] = GetExpiry(model); // }); // } // /// // public async Task GetById(string id) // { // return await GetById(id); // } // /// // /// Get preview expiration for a document // /// // DateTime GetExpiry(ZeroEntity model) // { // return DateTime.Now.AddHours(1); // } // } // public interface IPreviewApi // { // /// // /// Adds an entity to the preview collection. This will generate a preview with an id which can be used for the preview view. // /// // Task> Add(TEntity model) where TEntity : ZeroEntity; // /// // /// Updates an entity in the preview collection. This will generate a preview with an id which can be used for the preview view. // /// // Task> Update(string id, TEntity model) where TEntity : ZeroEntity; // /// // /// Get preview entity by Id // /// // Task GetById(string id); // } //}