IConnectorProvisioningManager.cs•1.92 kB
using Api.DigitalPages.Interfaces.Models;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Api.DigitalPages.Interfaces.Connector
{
/// <summary>
/// Conector responsável pelo o gerenciamento do provisonamento de
/// </summary>
public interface IConnectorProvisioningManager :
ISystemConnectorBaseCrudFlowV2<IProvisionedUser, ProvisionedUserOptions>,
ISystemConnectorBasePagedFlow<IProvisionedUser, ProvisionedUserOptions>,
ISystemConnectorBaseCrudFlowV2<IProvisionedProduct, IProvisionedUser, ProvisionedProductOptions>,
ISystemConnectorBaseCrudFlowV2<IProvisionedEntity, IProvisionedUser, ProvisionedEntityOptions>
{
bool LinkUserWithContextProject { get; set; }
bool UnlinkUserWithContextProjectOnExpire { get; set; }
string IntegrationKey { get; set; }
Task<IProvisionedUser> Insert(IProvisionedUser model, bool forceSync);
Task<IProvisionedUser> Update(IProvisionedUser model, bool forceSync);
}
public class ProvisionedUserOptions : IBaseCrudOptions
{
public List<Guid> FilterUid { get; set; }
public List<string> FilterCpf { get; set; }
public List<string> FilterLogin { get; set; }
public List<string> FilterEmail { get; set; }
public List<string> FilterAnnotation { get; set; }
public List<ProvisionStatus> FilterStatus { get; set; }
public List<string> FilterTag { get; set; }
public bool IncludeProducts { get; set; }
public bool IncludeEntities { get; set; }
}
public class ProvisionedProductOptions : IBaseCrudOptions
{
public List<Guid> FilterUserUid { get; set; }
}
public class ProvisionedEntityOptions : IBaseCrudOptions
{
public List<Guid> FilterUserUid { get; set; }
}
}