IConnectorUserBadge.cs•2.5 kB
using Api.DigitalPages.Interfaces.Models;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Api.DigitalPages.Interfaces.Connector
{
/// <summary>
/// Ações executadas após um login feito de forma direta ou indiretamente por um usuário.
/// </summary>
public interface IConnectorUserBadge :
ISystemContextRequired
{
ISystemConnectorBaseCrudFlowV4<IBadge> Badges { get; }
ISystemConnectorBaseCrudFlowV4<IBadgeEntity, IBadge> Entities { get; }
ISystemConnectorBaseCrudFlowV4<IBadgeRule, IBadge> Rules { get; }
ISystemConnectorBaseCrudFlowV4<IBadgeCondition, IBadgeRule> Conditions { get; }
ISystemConnectorBaseCrudFlowV4<IBadgeRegisterConfig, IBadge> RegisterConfigs { get; }
ISystemConnectorBaseCrudFlowV4<IBadgeUserRegister, IBadge> UserRegisters { get; }
ISystemConnectorBaseCrudFlowV4<IBadgeUserReferente> UserReferences { get; }
ISystemConnectorBaseCrudFlowV4<IBadgeUserPoints, IBadgeUserReferente> UserPoints { get; }
ISystemConnectorBaseCrudFlowV4<IBadgeAuthorization, IBadge> Authorizations { get; }
ISystemConnectorBaseCrudFlowV4<IBadgeAuthorizationReference, IBadgeAuthorization> AuthorizationReferences { get; }
ISystemConnectorBasePagedFlow<IBadge, BadgeManagementOptions> BadgesManagementPaged { get; }
ISystemConnectorBasePagedFlow<IBadge, BadgeUserAvailableOptions> BadgesUserAvailablePaged { get; }
ISystemConnectorBasePagedFlow<IBadge, BadgeUserOptions> BadgesUserPaged { get; }
}
public class BadgeManagementOptions : IBaseCrudOptions
{
public bool? FilterIsEnabled { get; }
public bool? FilterIsHidden { get; }
public BadgeManagementOptions() { }
public BadgeManagementOptions(bool filterIsEnabled, bool filterIsHidden)
{
FilterIsEnabled = filterIsEnabled;
FilterIsHidden = filterIsHidden;
}
}
public class BadgeUserAvailableOptions : IBaseCrudOptions
{
public IBaseAuthorizationFilter FilterAuthorizations { get; }
public BadgeUserAvailableOptions (IBaseAuthorizationFilter authorization)
{
FilterAuthorizations = authorization;
}
}
public class BadgeUserOptions : IBaseCrudOptions
{
public Guid UserUid { get; }
public BadgeUserOptions(Guid userUid)
{
UserUid = userUid;
}
}
}