Skip to main content
Glama
ICourse.cs3.83 kB
using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Api.DigitalPages.Interfaces.Models { public interface ICourse : IBaseModelV3 { /// <summary> /// Nome do curso. /// </summary> /// string Title { get; set; } /// <summary> /// Descrição do curso. /// </summary> string Description { get; set; } /// <summary> /// Thumb representação do curso. /// </summary> string ThumbUrl { get; set; } /// <summary> /// Nome interno do curso, utilizado apenas para facilitar o gerenciamento. /// </summary> string InternalName { get; set; } /// <summary> /// Entidades relacionadas ao curso. /// </summary> List<Guid> Entities { get; set; } /// <summary> /// Descritivo da estrutura base de cada nó do curso. /// </summary> List<ICourseNodeProperty> NodeProperties { get; set; } /// <summary> /// Propriedades adicionais do curso. /// </summary> List<ICourseProperty> CourseProperties { get; set; } /// <summary> /// Todos os nós do curso, formando a trilha. /// </summary> List<ICourseNodeItem> Nodes { get; set; } /// <summary> /// Úsuários ou entidades que possuem permissão de visualizar o curso independente da data de abertura de um curso. /// </summary> List<ICourseAuthorization> Authorizations { get; set; } /// <summary> /// Relação de períodos que o curso deve estar visível e acessível para os os usuários. /// </summary> List<ICourseRegister> Registers { get; set; } /// <summary> /// Tags adicionadas no curso visivél para os usuários. /// </summary> List<ITag> Tags { get; set; } /// <summary> /// Tipo de curso. /// </summary> CourseType Type { get; set; } /// <summary> /// Tipo de calculo que será feito com os nós em um curso. /// </summary> FormulaType? TypeFormulaScore { get; set; } IContentSummary<ICourse> Summary { get; set; } /// <summary> /// Adiciona nova campo para estrutura base de um nó. /// </summary> /// <param name="name"></param> /// <param name="regexValidation"></param> /// <param name="type"></param> void AddProperty(string name, string regexValidation, DynamicPropertyType type); Task<Dictionary<string, object>> ValidData(ICourseNodeItem item); Task<bool> ValidProperties(); Task<bool> ValidProperty(ICourseProperty property); } public interface ICourseOverride : IBaseModelV2 { /// <summary> /// Curso que terá suas proproedades alteradas. /// </summary> ICourse Course { get; set; } /// <summary> /// Nome do curso. /// </summary> string Title { get; set; } /// <summary> /// Descrição do curso. /// </summary> string Description { get; set; } /// <summary> /// Thumb representação do curso. /// </summary> string ThumbUrl { get; set; } /// <summary> /// Entidades relacionadas ao curso. /// </summary> List<Guid> Entities { get; set; } /// <summary> /// Tags adicionadas no curso visivél para os usuários. /// </summary> List<ITag> Tags { get; set; } } public enum CourseStatus { All, Completed, Incomplete } public enum CourseType { Content, Interaction, EvaluativeContent } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rkm097git/euconquisto-composer-mcp-poc'

If you have feedback or need assistance with the MCP directory API, please join our Discord server