/// <summary> /// Tracks an account being created. /// </summary> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="userId">The user Id.</param> /// <param name="emailAddress">The email address.</param> /// <param name="provider">The provider used to create the account.</param> public static void TrackAccountCreated(this ISiteTelemetry telemetry, string userId, string emailAddress, string provider) { var properties = CreateProperties(userId, provider); properties["EmailAddress"] = emailAddress; telemetry.TrackEvent("AccountCreated", properties); }
/// <summary> /// Tracks an account being deleted. /// </summary> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="userId">The user Id.</param> /// <param name="emailAddress">The email address.</param> public static void TrackAccountDeleted(this ISiteTelemetry telemetry, string userId, string emailAddress) { var properties = CreatePropertiesForUser(userId); properties["EmailAddress"] = emailAddress; telemetry.TrackEvent("AccountDeleted", properties); }
/// <summary> /// Initializes a new instance of the <see cref="AlexaController"/> class. /// </summary> /// <param name="userManager">The <see cref="UserManager{TUser}"/> to use.</param> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="siteOptions">The current site options.</param> /// <param name="logger">The <see cref="ILogger"/> to use.</param> public AlexaController( UserManager <LondonTravelUser> userManager, ISiteTelemetry telemetry, SiteOptions siteOptions, ILogger <AlexaController> logger) { _userManager = userManager; _telemetry = telemetry; _options = siteOptions?.Alexa; _logger = logger; }
/// <summary> /// Tracks the line preferences for a user being updated. /// </summary> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="userId">The user Id.</param> /// <param name="oldLines">The user's existing line preferences.</param> /// <param name="newLines">The user's new line preferences.</param> public static void TrackLinePreferencesUpdated( this ISiteTelemetry telemetry, string userId, ICollection <string> oldLines, ICollection <string> newLines) { var properties = CreatePropertiesForUser(userId); properties["OldLines"] = string.Join(",", oldLines ?? Array.Empty <string>()); properties["NewLines"] = string.Join(",", newLines ?? Array.Empty <string>()); telemetry.TrackEvent("LinePreferencesUpdated", properties); }
public ManageController( UserManager <LondonTravelUser> userManager, SignInManager <LondonTravelUser> signInManager, ITflServiceFactory tflServiceFactory, ISiteTelemetry telemetry, ILogger <ManageController> logger) { _userManager = userManager; _signInManager = signInManager; _tflServiceFactory = tflServiceFactory; _telemetry = telemetry; _logger = logger; }
public AccountController( UserManager <LondonTravelUser> userManager, SignInManager <LondonTravelUser> signInManager, ISiteTelemetry telemetry, IClock clock, SiteOptions siteOptions, ILogger <AccountController> logger) { _userManager = userManager; _signInManager = signInManager; _telemetry = telemetry; _clock = clock; _logger = logger; _isEnabled = siteOptions?.Authentication?.IsEnabled == true && siteOptions?.Authentication.ExternalProviders?.Any((p) => p.Value?.IsEnabled == true) == true; }
/// <summary> /// Tracks the claims for a user being updated. /// </summary> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="userId">The user Id.</param> public static void TrackClaimsUpdated(this ISiteTelemetry telemetry, string userId) { var properties = CreatePropertiesForUser(userId); telemetry.TrackEvent("ClaimsUpdated", properties); }
/// <summary> /// Tracks an unauthorized API request for preferences. /// </summary> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> public static void TrackApiPreferencesUnauthorized(this ISiteTelemetry telemetry) { telemetry.TrackEvent("ApiPreferencesUnauthorized"); }
/// <summary> /// Tracks a successful API request for preferences. /// </summary> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="userId">The user Id.</param> public static void TrackApiPreferencesSuccess(this ISiteTelemetry telemetry, string userId) { var properties = CreatePropertiesForUser(userId); telemetry.TrackEvent("ApiPreferencesSuccess", properties); }
/// <summary> /// Tracks a suspicious crawler request. /// </summary> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> public static void TrackSuspiciousCrawler(this ISiteTelemetry telemetry) { telemetry.TrackEvent("SuspiciousCrawler"); }
/// <summary> /// Tracks a user signing out. /// </summary> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="userId">The user Id.</param> public static void TrackSignOut(this ISiteTelemetry telemetry, string userId) { var properties = CreatePropertiesForUser(userId); telemetry.TrackEvent("SignOut", properties); }
/// <summary> /// Tracks a user signing in. /// </summary> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="userId">The user Id.</param> /// <param name="provider">The external provider.</param> public static void TrackSignIn(this ISiteTelemetry telemetry, string userId, string provider) { var properties = CreateProperties(userId, provider); telemetry.TrackEvent("SignIn", properties); }
/// <summary> /// Tracks a successful request to remove a link to an external account. /// </summary> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="userId">The user Id.</param> /// <param name="provider">The external provider.</param> public static void TrackRemoveExternalAccountLink(this ISiteTelemetry telemetry, string userId, string provider) { var properties = CreateProperties(userId, provider); telemetry.TrackEvent("RemoveExternalAccountLink", properties); }
/// <summary> /// Tracks a successful request to link an external account. /// </summary> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="userId">The user Id.</param> /// <param name="provider">The external provider.</param> public static void TrackLinkExternalAccountSuccess(this ISiteTelemetry telemetry, string userId, string provider) { var properties = CreateProperties(userId, provider); telemetry.TrackEvent("LinkExternalAccountSuccess", properties); }
/// <summary> /// Initializes a new instance of the <see cref="ErrorController"/> class. /// </summary> /// <param name="resources">The <see cref="SiteResources"/> to use.</param> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> public ErrorController(SiteResources resources, ISiteTelemetry telemetry) { _resources = resources; _telemetry = telemetry; }
/// <summary> /// Tracks a successful request to link the Alexa app. /// </summary> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="userId">The user Id.</param> public static void TrackAlexaLink(this ISiteTelemetry telemetry, string userId) { var properties = CreatePropertiesForUser(userId); telemetry.TrackEvent("AlexaLink", properties); }
/// <summary> /// Initializes a new instance of the <see cref="ApiController"/> class. /// </summary> /// <param name="client">The <see cref="IDocumentClient"/> to use.</param> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="logger">The <see cref="ILogger"/> to use.</param> public ApiController(IDocumentClient client, ISiteTelemetry telemetry, ILogger <ApiController> logger) { _client = client; _telemetry = telemetry; _logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="ApiController"/> class. /// </summary> /// <param name="service">The <see cref="IAccountService"/> to use.</param> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> /// <param name="logger">The <see cref="ILogger"/> to use.</param> public ApiController(IAccountService service, ISiteTelemetry telemetry, ILogger <ApiController> logger) { _service = service; _telemetry = telemetry; _logger = logger; }