IConnectorReview.cs•5.32 kB
using Api.DigitalPages.Interfaces.Models;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
namespace Api.DigitalPages.Interfaces.Connector
{
public interface IConnectorReview
{
Task<IContentReviewFlow> ReviewFrom(string json, IUser user, IContentReviewFlow baseflow = null);
Task<IContentReviewTask> ReviewTaskFrom(string json, IUser user);
Task<IContentReviewTask> ReviewTaskFrom(IUser user);
Task<IContentReviewFlowAuthorization> AuthorizationFrom(string json, IUser user, IContentReviewFlowAuthorization authorizationBase = null);
Task<IContentRubric> RubricFrom(string json, IUser user);
Task<IContentRubricCriterion> CriterionFrom(string json, IUser user);
Task<IContentReviewTask> ReviewerEvaluationsFrom(string json, IUser user);
Task<IContentReviewer> ReviewerFrom(IUser user);
#region Task
Task<List<IContentReviewFlow>> ReviewFlows(ReviewOptions options);
Task<IPagedResult<IContentReviewFlow>> ReviewFlows(ReviewOptions options, int page, int pageSize);
Task<IContentReviewFlow> ReviewFlow(Guid uid, ReviewOptions options);
Task<IContentReviewTask> ReviewTask(Guid uid, ReviewTaskOptions options);
Task<List<IContentReviewTask>> ReviewTask(ReviewTaskOptions options);
Task<IContentReviewTaskFacets> ReviewTaskFacets(ReviewTaskOptions options);
Task<IPagedResult<IContentReviewTask>> ReviewTask(ReviewTaskOptions options, int page, int pageSize);
Task<IContentReviewer> ReviewerInfo(ReviewerOptions options, IUser user);
Task<IContentReviewFlow> Insert(IContentReviewFlow content);
Task<IContentReviewFlowAuthorization> Insert(IContentReviewFlowAuthorization authorization, IContentReviewFlow inContent);
Task<IContentReviewTask> Insert(IContentReviewTask task, IContentReviewFlow inContent);
Task<IContentReviewer> Insert(IContentReviewer reviewer);
Task<IContentReviewTask> Update(IContentReviewTask task);
Task<IContentReviewFlow> Update(IContentReviewFlow flow);
Task<bool> Delete(IContentReviewFlow reviewFlow);
Task<bool> Delete(IContentReviewFlowAuthorization authorization);
Task<bool> Link(IContentReviewFlow reviewFlow, IContentRubric rubric);
Task<bool> Unlink(IContentReviewFlow reviewFlow, IContentRubric rubric);
Task<bool> RegisterInAutomaticForwarding(IContentReviewFlow flow, IUser user);
Task<bool> UnregisterInAutomaticForwarding(IContentReviewFlow flow, IUser user);
#endregion
#region Rubric
Task<IContentRubric> GetRubric(Guid uid, RubricOptions options);
Task<List<IContentRubric>> GetRubrics(RubricOptions options);
Task<IContentRubric> Insert(IContentRubric rubric, RubricOptions options);
Task<IContentRubricCriterion> Insert(IContentRubricCriterion criterion, IContentRubric inRubric, RubricOptions options);
Task<bool> Delete(IContentRubric rubric);
#endregion
}
public class ReviewOptions
{
public IUser RequestingUser { get; set; }
public List<Guid> RequestingUserEntities { get; set; }
public bool IncludeAuthorizations { get; set; }
public bool IncludeRubrics { get; set; }
public bool IncludeRubricCriterions { get; set; }
public ReviewOptions()
{
}
}
public class ReviewerOptions
{
public bool IncludeActiveFlows { get; set; }
public ReviewerOptions()
{
}
}
public class ReviewTaskOptions
{
public IUser RequestingUser { get; set; }
public IUser ReviewerUser { get; set; }
public List<ContentReviewTaskStatusType> FilterStatus { get; set; }
public List<ContentReviewTaskStateType> FilterState { get; set; }
public List<ObjectType> FilterContext { get; set; }
public List<Guid> FilterContextUid { get; set; }
public List<ObjectType> FilterTarget { get; set; }
public List<Guid> FilterTargetUid { get; set; }
public List<Guid> FilterFlowUid { get; set; }
public List<Guid> FilterAuthor { get; set; }
public bool IncludeReviewFlow { get; set; }
public bool IncludeFlowRubrics { get; set; }
public bool IncludFlowRubricCriterions{ get; set; }
public bool IncludeReviewAuthorizarions { get; set; }
public bool IncludeGeneralMessages { get; set; }
public bool IncludeEvaluations { get; set; }
public bool IncludeEvaluationCriterion { get; set; }
public bool IncludeEvaluationMessages { get; set; }
public bool IncludeReviewer { get; set; }
public int? LimitResult { get; set; }
public ReviewTaskOptions()
{
}
}
public class RubricOptions
{
public IUser RequestingUser { get; set; }
public List<Guid> RequestingUserEntities { get; set; }
public bool IncludeCriterions { get; set; }
public bool IncludeLinkedReviewFlows { get; set; }
public RubricOptions()
{
RequestingUserEntities = new List<Guid>();
}
}
}