Skip to main content
Glama
IConnectorInsightsUser.cs6.63 kB
using Api.DigitalPages.Interfaces.Models; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Api.DigitalPages.Interfaces.Connector { /// <summary> /// Interface utilizada para obter dados do insights agrupando valores identificador /// </summary> /// <typeparam name="TGroup">Parametro usado para agrupar resultados da consulta</typeparam> public interface IConnectorInsightsUser : ISystemConnectorBaseCrudFlowV2<IUserReports, UserReportsOptions>, ISystemConnectorBaseCrudFlowV2<IUserReport, IUserReports, UserReportOptions>, ISystemConnectorBaseCrudFlowV2<IUserReportDetailForManager, IUserReport, UserReportDetailForManagerOptions>, ISystemConnectorBaseCrudFlowV2<IUserReportDetailForUser, IUserReport, UserReportDetailForUserOptions>, ISystemConnectorBasePagedFlow<IUserReports, UserReportsOptions>, ISystemConnectorBasePagedFlow<IUserReport, UserReportOptions>, ISystemConnectorBaseGetFlow<IUserReports, UserReportsWithoutReportOptions>, ISystemConnectorBaseGetFlow<IUserReport, UserReportWaitingProcessing>, ISystemConnectorBaseGetFlow<IUserReport, UserReportPendingClosing>, ISystemContextRequired { /// <summary> /// Retorna um relatorio do insights com as entitades mais relacionadas aos conteudos acessados pelo usuario. /// </summary> /// <param name="userUid"></param> /// <param name="options"></param> /// <returns></returns> Task<SummarizeResult<Guid>> UserContentEntity(EntityUserQueryOptions options); /// <summary> /// Cria um novo conteudo mais acessado pelo usuario. /// </summary> /// <param name="userContent"></param> /// <returns></returns> Task<IUserContent<Guid>> Create(IUserContent<Guid> userContent); /// <summary> /// Retorna os conteudos mais acessados pelo usuario no banco. /// </summary> /// <param name="options"></param> /// <returns></returns> Task<List<IUserContent<Guid>>> Get(EntityUserQueryOptions options); /// <summary> /// Retorna os conteudos mais acessados pelo usuario no banco. /// </summary> /// <param name="options"></param> /// <returns></returns> Task<IPagedResult<IUserContent<Guid>>> Get(EntityUserQueryOptions options, int page, int pageSize); /// <summary> /// Atualiza /// </summary> /// <param name="userContent"></param> /// <returns></returns> Task<IUserContent<Guid>> Update(IUserContent<Guid> userContent); /// <summary> /// Criacao de relatorios de forma automatica. /// Funcional apenas com o projeto e diretorio vinculado, possui integracao com api generativa. /// </summary> public bool AutomaticReports { get; set; } } public class UserReportsOptions : IBaseCrudOptions { public List<Guid> FilterUsers { get; set; } public bool IncludeReports { get; set; } public DateTime? FilterPeriodStart { get; set; } public DateTime? FilterPeriodEnd { get; set; } } /// <summary> /// Retorna todos os grupos de relatorios em que nenhum relatorio /// foi inserido no periodo informado. /// </summary> public class UserReportsWithoutReportOptions : IBaseCrudOptions { public DateTime FilterPeriodStart { get; } public DateTime FilterPeriodEnd { get; } public ReportType ReportType { get; } public int Limit { get; } public UserReportsWithoutReportOptions(DateTime filterPeriodStart, DateTime filterPeriodEnd, ReportType type, int limit) { FilterPeriodStart = filterPeriodStart; FilterPeriodEnd = filterPeriodEnd; ReportType = type; Limit = limit; } } public class UserReportWaitingProcessing: IBaseCrudOptions { public int Limit { get; } public ReportType ReportType { get; } public DateTime BeforeAt { get; } public UserReportWaitingProcessing(DateTime beforeAt, ReportType type, int limit) { BeforeAt = beforeAt; ReportType = type; Limit = limit; } } public class UserReportPendingClosing : IBaseCrudOptions { public DateTime BeforeAt { get; } public int Limit { get; } public UserReportPendingClosing(DateTime beforeAt, int limit) { BeforeAt = beforeAt; Limit = limit; } } public class UserReportOptions : IBaseCrudOptions { public List<ReportType> FilterReportType { get; set; } public List<ReportState> FilterReportState { get; set; } public DateTime? FilterPeriodStart { get; set; } public DateTime? FilterPeriodEnd { get; set; } public List<Guid> FilterUser { get; set; } } public class UserReportDetailForManagerOptions : IBaseCrudOptions { } public class UserReportDetailForUserOptions : IBaseCrudOptions { } public class EntityQueryOptions { public List<Guid> FilterUsers { get; set; } public List<Guid> FilterProjects { get; set; } public List<Guid> FilterDirectorys { get; set; } public List<Guid> FilterConnectors { get; set; } public DateTime? FilterStart { get; set; } public DateTime? FilterEnd { get; set; } public SummarizeType SummarizeType { get; set; } public OrderType? OrderTotal { get; set; } public int? LimitResult { get; set; } } public class EntityUserQueryOptions : EntityQueryOptions { public bool IncludeUser { get; set; } public bool IncludeProject { get; set; } } public class UserContentResult<TGroup> { public Guid? UserUid { get; set; } public Guid? ProjectUid { get; set; } public Guid? DirectoryUid { get; set; } public Guid? ConnectorUid { get; set; } public TGroup GroupUid { get; set; } public long Total { get; set; } } public class SummarizeResult<TData> { public SummarizeType SummarizeType { get; set; } public List<UserContentResult<TData>> Results { get; set; } } public enum SummarizeType { Sum, Max, Min, Avg } public enum EDataQueryType { EntitiesConsumption //consumir relatorio de uso por entidades } }

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