/// <summary> /// Initializes a new instance of the <see cref="BadgeController"/> class. /// </summary> /// <param name="botAdapter">Open badges bot adapter.</param> /// <param name="badgeUserHelper">Instance of badge user helper.</param> /// <param name="logger">Instance to send logs to the Application Insights service.</param> /// <param name="tokenHelper">Generating custom JWT token and retrieving Badgr access token for user.</param> /// <param name="microsoftAppCredentials">App credentials for Bot/ME.</param> /// <param name="superUserSettings">A set of key/value super user configuration for Badges app.</param> /// <param name="keyVaultHelper">Instance of key vault helper to retrieve secrets from Microsoft Azure Key Vault.</param> /// <param name="badgeIssuerHelper">Instance of badge Issuer helper.</param> /// <param name="badgrApiHelper">Helper to handle errors and get user details.</param> /// <param name="badgrUserHelper">Helper to get user details from Badgr.</param> public BadgeController( BotFrameworkAdapter botAdapter, IBadgrUserHelper badgeUserHelper, ILogger <BadgeController> logger, ITokenHelper tokenHelper, MicrosoftAppCredentials microsoftAppCredentials, IOptionsMonitor <SuperUserSettings> superUserSettings, IKeyVaultHelper keyVaultHelper, IBadgrIssuerHelper badgeIssuerHelper, IBadgrApiHelper badgrApiHelper, IBadgrUserHelper badgrUserHelper) { this.badgeUserHelper = badgeUserHelper; this.logger = logger; this.tokenHelper = tokenHelper; this.botAdapter = botAdapter; this.appId = microsoftAppCredentials.MicrosoftAppId; if (superUserSettings == null || superUserSettings.CurrentValue == null) { throw new Exception("Unable to fetch super user settings from configuration file."); } this.superUserSettings = superUserSettings.CurrentValue; this.keyVaultBaseUrl = this.superUserSettings.BaseUrl; this.superUserNameKey = this.superUserSettings.SuperUserNameKey; this.superUserPasswordKey = this.superUserSettings.SuperUserPasswordKey; this.keyVaultHelper = keyVaultHelper; this.badgeIssuerHelper = badgeIssuerHelper; this.badgrApiHelper = badgrApiHelper; this.badgrUserHelper = badgrUserHelper; }
/// <summary> /// Initializes a new instance of the <see cref="BadgrIssuerHelper"/> class. /// </summary> /// <param name="client">Provides a base class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.</param> /// <param name="logger">Instance to send logs to the Application Insights service.</param> /// <param name="optionsAccessor">A set of key/value application configuration properties for Bagdr rest API.</param> /// <param name="badgrApiHelper">Helper to handle errors and get list of issuer groups.</param> public BadgrIssuerHelper(HttpClient client, ILogger <BadgrApiHelper> logger, IOptionsMonitor <BadgeApiAppSettings> optionsAccessor, IBadgrApiHelper badgrApiHelper) { this.client = client; this.logger = logger; this.issuerEntityName = optionsAccessor.CurrentValue.IssuerEntityName; this.badgeProviderBaseUrl = optionsAccessor.CurrentValue.BaseUrl; this.badgrApiHelper = badgrApiHelper; }
/// <summary> /// Initializes a new instance of the <see cref="IssuerHttpHandler"/> class. /// </summary> /// <param name="keyVaultHelper">Instance of key vault helper to retrieve secrets from Microsoft Azure Key Vault.</param> /// <param name="superUserSettings">A set of key/value super user configuration for Badges app.</param> /// <param name="badgrApiHelper">Instance of badge API helper.</param> public IssuerHttpHandler(IKeyVaultHelper keyVaultHelper, IOptionsMonitor <SuperUserSettings> superUserSettings, IBadgrApiHelper badgrApiHelper) { this.keyVaultHelper = keyVaultHelper; this.superUserSettings = superUserSettings.CurrentValue; this.keyVaultBaseUrl = this.superUserSettings.BaseUrl; this.superUserNameKey = this.superUserSettings.SuperUserNameKey; this.superUserPasswordKey = this.superUserSettings.SuperUserPasswordKey; this.badgrApiHelper = badgrApiHelper; }