using Microsoft.SelfService.Portal.Core.API.Models; namespace Microsoft.SelfService.Portal.Core.API.Interfaces { public interface ITemplateInterface { ICollection GetTemplates(); bool AddTemplateById(TemplateModel template); bool EditTemplateById(TemplateModel template); bool DeleteTemplateById(TemplateModel template); TemplateModel GetTemplateById(Guid Id); bool CheckTemplateById(Guid Id); TemplateModel GetTemplateByName(string Name); bool CheckTemplateByName(string Name); ICollection GetTemplateVersions(Guid templateId); TemplateVersionModel? GetTemplateVersionById(Guid templateId, Guid versionId); TemplateVersionModel? GetPublishedTemplateVersion(Guid templateId); ICollection GetTemplateRevisions(Guid templateId, Guid versionId); TemplateRevisionModel? GetTemplateRevisionById(Guid templateId, Guid versionId, Guid revisionId); TemplateRevisionModel? GetCurrentTemplateRevision(Guid versionId); bool AddTemplateRevision(Guid templateId, Guid versionId, TemplateRevisionModel revision, bool publish); bool AddTemplateVersion(Guid templateId, TemplateVersionModel version, bool publish); bool PublishTemplateVersion(Guid templateId, Guid versionId, string? publishedBy); bool CheckTemplateVersionById(Guid templateId, Guid versionId); bool CheckTemplateVersionByVersion(Guid templateId, string version); bool SaveChanges(); } }