Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -10,77 +10,78 @@ namespace Altinn.AccessManagement.UI.Core.ClientInterfaces
public interface IMaskinportenClient
{
/// <summary>
/// Gets Maskinporten suppliers for a party, optionally filtered to a single supplier by org number.
/// Gets Maskinporten suppliers for a consumer party, optionally filtered to a single supplier by org number.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="supplier">Optional supplier org number to filter by.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>A collection of suppliers.</returns>
Task<IEnumerable<MaskinportenConnection>> GetSuppliers(Guid party, string supplier = null, CancellationToken cancellationToken = default);

/// <summary>
/// Performs a delegation check for a Maskinporten scope resource.
/// Performs a delegation check for a Maskinporten scope resource from a consumer party.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="resource">The resource identifier.</param>
/// <param name="languageCode">The language code.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>The resource delegation check.</returns>
Task<ResourceCheckDto> ResourceDelegationCheck(Guid party, string resource, string languageCode, CancellationToken cancellationToken = default);

/// <summary>
/// Delegates a Maskinporten scope resource to a supplier.
/// Delegates a Maskinporten scope resource from a consumer party to a supplier.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="supplier">The supplier organization number.</param>
/// <param name="resource">The resource identifier.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Whether the resource was delegated.</returns>
Task<bool> AddResource(Guid party, string supplier, string resource, CancellationToken cancellationToken = default);
Task<bool> AddSupplierResource(Guid party, string supplier, string resource, CancellationToken cancellationToken = default);

/// <summary>
/// Gets delegated Maskinporten scope resources.
/// Gets Maskinporten scope resources delegated from a consumer party to suppliers.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="languageCode">The language code.</param>
/// <param name="supplier">Optional supplier organization number.</param>
/// <param name="resource">Optional resource identifier.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>A collection of delegated resources.</returns>
Task<IEnumerable<ResourcePermission>> GetResources(Guid party, string languageCode, string supplier = null, string resource = null, CancellationToken cancellationToken = default);
Task<IEnumerable<ResourcePermission>> GetSupplierResources(Guid party, string languageCode, string supplier = null, string resource = null, CancellationToken cancellationToken = default);

/// <summary>
/// Removes a delegated Maskinporten scope resource from a supplier.
/// Removes a Maskinporten scope resource delegated from a consumer party to a supplier.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="supplier">The supplier organization number.</param>
/// <param name="resource">The resource identifier.</param>
/// <param name="cancellationToken">Cancellation token.</param>
Task RemoveResource(Guid party, string supplier, string resource, CancellationToken cancellationToken = default);
Task RemoveSupplierResource(Guid party, string supplier, string resource, CancellationToken cancellationToken = default);

/// <summary>
/// Adds a Maskinporten supplier for a party.
/// Adds a Maskinporten supplier for a consumer party.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="supplier">The supplier organization number.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>The created assignment.</returns>
Task<AssignmentDto> AddSupplier(Guid party, string supplier, CancellationToken cancellationToken = default);

/// <summary>
/// Gets all Maskinporten consumers for a party.
/// Gets Maskinporten consumers for a supplier party, optionally filtered to a single consumer by org number.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The supplier party uuid.</param>
/// <param name="consumer">Optional consumer org number to filter by.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>A collection of consumers.</returns>
Task<IEnumerable<MaskinportenConnection>> GetConsumers(Guid party, CancellationToken cancellationToken = default);
Task<IEnumerable<MaskinportenConnection>> GetConsumers(Guid party, string consumer = null, CancellationToken cancellationToken = default);

/// <summary>
/// Removes a Maskinporten supplier for a party.
/// Removes a Maskinporten supplier from a consumer party.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="supplier">The supplier organization number.</param>
/// <param name="cascade">Whether to also remove all delegated resources.</param>
/// <param name="cascade">Whether to also remove resources delegated to the supplier.</param>
/// <param name="cancellationToken">Cancellation token.</param>
Task RemoveSupplier(Guid party, string supplier, bool cascade = false, CancellationToken cancellationToken = default);

Expand All @@ -89,8 +90,27 @@ public interface IMaskinportenClient
/// </summary>
/// <param name="party">The party uuid (the supplier).</param>
/// <param name="consumer">The consumer organization number.</param>
/// <param name="cascade">Whether to also remove all delegated resources.</param>
/// <param name="cascade">Whether to also remove resources received from the consumer.</param>
/// <param name="cancellationToken">Cancellation token.</param>
Task RemoveConsumer(Guid party, string consumer, bool cascade = false, CancellationToken cancellationToken = default);

/// <summary>
/// Gets Maskinporten scope resources delegated from consumers to the supplier party.
/// </summary>
/// <param name="party">The party uuid (the supplier).</param>
/// <param name="languageCode">The language code.</param>
/// <param name="consumer">Optional consumer organization number.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>A collection of resources received by the supplier.</returns>
Task<IEnumerable<ResourcePermission>> GetConsumerResources(Guid party, string languageCode, string consumer = null, CancellationToken cancellationToken = default);

/// <summary>
/// Removes a Maskinporten scope resource received by the supplier from a consumer.
/// </summary>
/// <param name="party">The party uuid (the supplier).</param>
/// <param name="consumer">The consumer organization number.</param>
/// <param name="resource">The resource identifier.</param>
/// <param name="cancellationToken">Cancellation token.</param>
Task RemoveConsumerResource(Guid party, string consumer, string resource, CancellationToken cancellationToken = default);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ namespace Altinn.AccessManagement.UI.Core.Services.Interfaces
public interface IMaskinportenService
{
/// <summary>
/// Gets Maskinporten suppliers for a party, optionally filtered to a single supplier by org number.
/// Gets Maskinporten suppliers for a consumer party, optionally filtered to a single supplier by org number.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="supplier">Optional supplier org number to filter by.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>A collection of suppliers.</returns>
Expand All @@ -30,68 +30,69 @@ public interface IMaskinportenService
Task<PaginatedList<ServiceResourceFE>> SearchScopes(string languageCode, PaginatedSearchParams searchParams, CancellationToken cancellationToken = default);

/// <summary>
/// Performs a delegation check for a Maskinporten scope resource.
/// Performs a delegation check for a Maskinporten scope resource from a consumer party.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="resource">The resource identifier.</param>
/// <param name="languageCode">The language code.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>The resource delegation check.</returns>
Task<ResourceCheckDto> ResourceDelegationCheck(Guid party, string resource, string languageCode, CancellationToken cancellationToken = default);

/// <summary>
/// Delegates a Maskinporten scope resource to a supplier.
/// Delegates a Maskinporten scope resource from a consumer party to a supplier.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="supplier">The supplier organization number.</param>
/// <param name="resource">The resource identifier.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Whether the resource was delegated.</returns>
Task<bool> AddResource(Guid party, string supplier, string resource, CancellationToken cancellationToken = default);
Task<bool> AddSupplierResource(Guid party, string supplier, string resource, CancellationToken cancellationToken = default);

/// <summary>
/// Gets delegated Maskinporten scope resources.
/// Gets Maskinporten scope resources delegated from a consumer party to suppliers.
/// </summary>
/// <param name="languageCode">The language code.</param>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="supplier">Optional supplier organization number.</param>
/// <param name="resource">Optional resource identifier.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>A collection of delegated resources.</returns>
Task<List<ResourceDelegation>> GetResources(string languageCode, Guid party, string supplier = null, string resource = null, CancellationToken cancellationToken = default);
Task<List<ResourceDelegation>> GetSupplierResources(string languageCode, Guid party, string supplier = null, string resource = null, CancellationToken cancellationToken = default);

/// <summary>
/// Removes a delegated Maskinporten scope resource from a supplier.
/// Removes a Maskinporten scope resource delegated from a consumer party to a supplier.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="supplier">The supplier organization number.</param>
/// <param name="resource">The resource identifier.</param>
/// <param name="cancellationToken">Cancellation token.</param>
Task RemoveResource(Guid party, string supplier, string resource, CancellationToken cancellationToken = default);
Task RemoveSupplierResource(Guid party, string supplier, string resource, CancellationToken cancellationToken = default);

/// <summary>
/// Adds a Maskinporten supplier for a party.
/// Adds a Maskinporten supplier for a consumer party.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="supplier">The supplier organization number.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>The created assignment.</returns>
Task<AssignmentDto> AddSupplier(Guid party, string supplier, CancellationToken cancellationToken = default);

/// <summary>
/// Gets all Maskinporten consumers for a party.
/// Gets Maskinporten consumers for a supplier party, optionally filtered to a single consumer by org number.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The supplier party uuid.</param>
/// <param name="consumer">Optional consumer org number to filter by.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>A collection of consumers.</returns>
Task<IEnumerable<MaskinportenConnection>> GetConsumers(Guid party, CancellationToken cancellationToken = default);
Task<IEnumerable<MaskinportenConnection>> GetConsumers(Guid party, string consumer = null, CancellationToken cancellationToken = default);

/// <summary>
/// Removes a Maskinporten supplier for a party.
/// Removes a Maskinporten supplier from a consumer party.
/// </summary>
/// <param name="party">The party uuid.</param>
/// <param name="party">The consumer party uuid.</param>
/// <param name="supplier">The supplier organization number.</param>
/// <param name="cascade">Whether to also remove all delegated resources.</param>
/// <param name="cascade">Whether to also remove resources delegated to the supplier.</param>
/// <param name="cancellationToken">Cancellation token.</param>
Task RemoveSupplier(Guid party, string supplier, bool cascade = false, CancellationToken cancellationToken = default);

Expand All @@ -100,8 +101,27 @@ public interface IMaskinportenService
/// </summary>
/// <param name="party">The party uuid (the supplier).</param>
/// <param name="consumer">The consumer organization number.</param>
/// <param name="cascade">Whether to also remove all delegated resources.</param>
/// <param name="cascade">Whether to also remove resources received from the consumer.</param>
/// <param name="cancellationToken">Cancellation token.</param>
Task RemoveConsumer(Guid party, string consumer, bool cascade = false, CancellationToken cancellationToken = default);

/// <summary>
/// Gets Maskinporten scope resources delegated from consumers to the supplier party.
/// </summary>
/// <param name="languageCode">The language code.</param>
/// <param name="party">The party uuid (the supplier).</param>
/// <param name="consumer">Optional consumer organization number.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>A collection of resources received by the supplier.</returns>
Task<List<ResourceDelegation>> GetConsumerResources(string languageCode, Guid party, string consumer = null, CancellationToken cancellationToken = default);

/// <summary>
/// Removes a Maskinporten scope resource received by the supplier from a consumer.
/// </summary>
/// <param name="party">The party uuid (the supplier).</param>
/// <param name="consumer">The consumer organization number.</param>
/// <param name="resource">The resource identifier.</param>
/// <param name="cancellationToken">Cancellation token.</param>
Task RemoveConsumerResource(Guid party, string consumer, string resource, CancellationToken cancellationToken = default);
}
}
Loading
Loading