Table of Contents

Class UserProfileService

Namespace
FoundationaLLM.Common.Services.Users
Assembly
FoundationaLLM.Common.dll

Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

public class UserProfileService : IUserProfileService
Inheritance
UserProfileService
Implements
Inherited Members
Extension Methods

Constructors

UserProfileService(IAzureCosmosDBService, ILogger<UserProfileService>, IOrchestrationContext, IEnumerable<IResourceProviderService>)

Initializes a new instance of the UserProfileService class.

public UserProfileService(IAzureCosmosDBService cosmosDBService, ILogger<UserProfileService> logger, IOrchestrationContext callContext, IEnumerable<IResourceProviderService> resourceProviderServices)

Parameters

cosmosDBService IAzureCosmosDBService

The Azure Cosmos DB service that contains user profiles.

logger ILogger<UserProfileService>

The logging interface used to log under the UserProfileService type name.

callContext IOrchestrationContext

Contains contextual data for the calling service.

resourceProviderServices IEnumerable<IResourceProviderService>

The collection of IResourceProviderService services.

Methods

AddAgentToUserProfileAsync(string, string)

Adds an agent to the user's profile.

public Task AddAgentToUserProfileAsync(string instanceId, string agentObjectId)

Parameters

instanceId string

The FoundationaLLM instance identifier.

agentObjectId string

The object identifier of the agent to add.

Returns

Task

GetUserDataAsync(string)

Returns the user data of the signed in user.

public Task<UserData?> GetUserDataAsync(string instanceId)

Parameters

instanceId string

The FoundationaLLM instance identifier.

Returns

Task<UserData>

Exceptions

InvalidOperationException

GetUserProfileAsync(string, List<ResourceProviderGetResult<AgentBase>>?)

Returns the user profile of the signed in user.

public Task<UserProfile?> GetUserProfileAsync(string instanceId, List<ResourceProviderGetResult<AgentBase>>? agents = null)

Parameters

instanceId string

The FoundationaLLM instance identifier.

agents List<ResourceProviderGetResult<AgentBase>>

The list of agents the signed in user has permission to use.

Returns

Task<UserProfile>

Remarks

The agents parameter is provided when the caller seeks to avoid reloading the list of agents the user has permission to use. It is the responsibility of the caller to ensure the list is accurate.

Exceptions

InvalidOperationException

GetUserProfileForUserAsync(string, string)

Returns the user profile of the specified user.

public Task<UserProfile?> GetUserProfileForUserAsync(string instanceId, string upn)

Parameters

instanceId string

The FoundationaLLM instance identifier.

upn string

The user principal name of the user for whom to return the user profile.

Returns

Task<UserProfile>

RemoveAgentFromUserProfileAsync(string, string)

Removes an agent to the user's profile.

public Task RemoveAgentFromUserProfileAsync(string instanceId, string agentObjectId)

Parameters

instanceId string

The FoundationaLLM instance identifier.

agentObjectId string

The object identifier of the agent to remove.

Returns

Task

UpsertUserDataAsync(string, UserData)

Inserts or updates a user data object.

public Task UpsertUserDataAsync(string instanceId, UserData userData)

Parameters

instanceId string

The FoundationaLLM instance identifier.

userData UserData

The user data object to upsert.

Returns

Task

Exceptions

InvalidOperationException

UpsertUserProfileAsync(string, UserProfile)

Inserts or updates a user profile.

public Task UpsertUserProfileAsync(string instanceId, UserProfile userProfile)

Parameters

instanceId string

The FoundationaLLM instance identifier.

userProfile UserProfile

The user profile to upsert.

Returns

Task

Exceptions

InvalidOperationException