Remove userId setting from xamarin app and remove userId parameter from GetCampaignsByUserId in Campaign API

This commit is contained in:
Christian Arenas 2017-06-26 18:29:51 +02:00
parent 4f198f179e
commit b28c650e06
13 changed files with 26 additions and 39 deletions

View File

@ -55,7 +55,7 @@ namespace eShopOnContainers
await GetGpsLocation(); await GetGpsLocation();
} }
if (!Settings.UseMocks && !string.IsNullOrEmpty(Settings.UserId)) if (!Settings.UseMocks && !string.IsNullOrEmpty(Settings.AuthAccessToken))
{ {
await SendCurrentLocation(); await SendCurrentLocation();
} }

View File

@ -20,7 +20,6 @@ namespace eShopOnContainers.Core.Helpers
#region Setting Constants #region Setting Constants
private const string IdUserId = "user_id";
private const string AccessToken = "access_token"; private const string AccessToken = "access_token";
private const string IdToken = "id_token"; private const string IdToken = "id_token";
private const string IdUseMocks = "use_mocks"; private const string IdUseMocks = "use_mocks";
@ -40,12 +39,6 @@ namespace eShopOnContainers.Core.Helpers
#endregion #endregion
public static string UserId
{
get => AppSettings.GetValueOrDefault<string>(IdUserId);
set => AppSettings.AddOrUpdateValue<string>(IdUserId, value);
}
public static string AuthAccessToken public static string AuthAccessToken
{ {
get => AppSettings.GetValueOrDefault<string>(AccessToken, AccessTokenDefault); get => AppSettings.GetValueOrDefault<string>(AccessToken, AccessTokenDefault);

View File

@ -36,7 +36,7 @@
} }
}; };
public async Task<ObservableCollection<CampaignItem>> GetAllCampaignsAsync(string userId, string token) public async Task<ObservableCollection<CampaignItem>> GetAllCampaignsAsync(string token)
{ {
await Task.Delay(500); await Task.Delay(500);

View File

@ -17,11 +17,11 @@
_requestProvider = requestProvider; _requestProvider = requestProvider;
} }
public async Task<ObservableCollection<CampaignItem>> GetAllCampaignsAsync(string userId, string token) public async Task<ObservableCollection<CampaignItem>> GetAllCampaignsAsync(string token)
{ {
UriBuilder builder = new UriBuilder(GlobalSetting.Instance.MarketingEndpoint); UriBuilder builder = new UriBuilder(GlobalSetting.Instance.MarketingEndpoint);
builder.Path = $"api/v1/campaigns/user/{userId}"; builder.Path = "api/v1/campaigns/user";
string uri = builder.ToString(); string uri = builder.ToString();

View File

@ -6,7 +6,7 @@
public interface ICampaignService public interface ICampaignService
{ {
Task<ObservableCollection<CampaignItem>> GetAllCampaignsAsync(string userId, string token); Task<ObservableCollection<CampaignItem>> GetAllCampaignsAsync(string token);
Task<CampaignItem> GetCampaignByIdAsync(int id, string token); Task<CampaignItem> GetCampaignByIdAsync(int id, string token);
} }

View File

@ -36,7 +36,7 @@
IsBusy = true; IsBusy = true;
// Get campaigns by user // Get campaigns by user
Campaigns = await _campaignService.GetAllCampaignsAsync(Settings.UserId, Settings.AuthAccessToken); Campaigns = await _campaignService.GetAllCampaignsAsync(Settings.AuthAccessToken);
IsBusy = false; IsBusy = false;
} }

View File

@ -217,7 +217,6 @@ namespace eShopOnContainers.Core.ViewModels
Settings.AuthIdToken = string.Empty; Settings.AuthIdToken = string.Empty;
} }
Settings.UserId = string.Empty;
Settings.UseFakeLocation = false; Settings.UseFakeLocation = false;
} }
@ -244,7 +243,6 @@ namespace eShopOnContainers.Core.ViewModels
{ {
Settings.AuthAccessToken = accessToken; Settings.AuthAccessToken = accessToken;
Settings.AuthIdToken = authResponse.IdentityToken; Settings.AuthIdToken = authResponse.IdentityToken;
Settings.UserId = authResponse.Values["sub"];
await NavigationService.NavigateToAsync<MainViewModel>(); await NavigationService.NavigateToAsync<MainViewModel>();
await NavigationService.RemoveLastFromBackStackAsync(); await NavigationService.RemoveLastFromBackStackAsync();
} }

View File

@ -21,7 +21,7 @@
public async Task GetFakeCampaignsTest() public async Task GetFakeCampaignsTest()
{ {
var campaignMockService = new CampaignMockService(); var campaignMockService = new CampaignMockService();
var result = await campaignMockService.GetAllCampaignsAsync(Settings.UserId, GlobalSetting.Instance.AuthToken); var result = await campaignMockService.GetAllCampaignsAsync(GlobalSetting.Instance.AuthToken);
Assert.NotEqual(0, result.Count); Assert.NotEqual(0, result.Count);
} }

View File

@ -1,4 +1,6 @@
namespace Microsoft.eShopOnContainers.Services.Marketing.API.Controllers using Microsoft.eShopOnContainers.Services.Locations.API.Infrastructure.Services;
namespace Microsoft.eShopOnContainers.Services.Marketing.API.Controllers
{ {
using System; using System;
using System.Linq; using System.Linq;
@ -21,14 +23,17 @@
private readonly MarketingContext _context; private readonly MarketingContext _context;
private readonly MarketingSettings _settings; private readonly MarketingSettings _settings;
private readonly IMarketingDataRepository _marketingDataRepository; private readonly IMarketingDataRepository _marketingDataRepository;
private readonly IIdentityService _identityService;
public CampaignsController(MarketingContext context, public CampaignsController(MarketingContext context,
IMarketingDataRepository marketingDataRepository, IMarketingDataRepository marketingDataRepository,
IOptionsSnapshot<MarketingSettings> settings) IOptionsSnapshot<MarketingSettings> settings,
IIdentityService identityService)
{ {
_context = context; _context = context;
_marketingDataRepository = marketingDataRepository; _marketingDataRepository = marketingDataRepository;
_settings = settings.Value; _settings = settings.Value;
_identityService = identityService;
} }
[HttpGet] [HttpGet]
@ -124,9 +129,11 @@
return NoContent(); return NoContent();
} }
[HttpGet("user/{userId:guid}")] [HttpGet("user")]
public async Task<IActionResult> GetCampaignsByUserId(Guid userId, int pageSize = 10, int pageIndex = 0) public async Task<IActionResult> GetCampaignsByUserId( int pageSize = 10, int pageIndex = 0)
{ {
var userId = _identityService.GetUserIdentity();
var marketingData = await _marketingDataRepository.GetAsync(userId.ToString()); var marketingData = await _marketingDataRepository.GetAsync(userId.ToString());
var campaignDtoList = new List<CampaignDTO>(); var campaignDtoList = new List<CampaignDTO>();

View File

@ -84,9 +84,9 @@ namespace WebMVC.Infrastructure
public static class Marketing public static class Marketing
{ {
public static string GetAllCampaigns(string baseUri, string userId, int take, int page) public static string GetAllCampaigns(string baseUri, int take, int page)
{ {
return $"{baseUri}user/{userId}?pageSize={take}&pageIndex={page}"; return $"{baseUri}user?pageSize={take}&pageIndex={page}";
} }
public static string GetAllCampaignById(string baseUri, int id) public static string GetAllCampaignById(string baseUri, int id)

View File

@ -32,9 +32,8 @@
public async Task<Campaign> GetCampaigns(int pageSize, int pageIndex) public async Task<Campaign> GetCampaigns(int pageSize, int pageIndex)
{ {
var userId = GetUserIdentity();
var allCampaignItemsUri = API.Marketing.GetAllCampaigns(_remoteServiceBaseUrl, var allCampaignItemsUri = API.Marketing.GetAllCampaigns(_remoteServiceBaseUrl,
userId, pageSize, pageIndex); pageSize, pageIndex);
var authorizationToken = await GetUserTokenAsync(); var authorizationToken = await GetUserTokenAsync();
var dataString = await _apiClient.GetStringAsync(allCampaignItemsUri, authorizationToken); var dataString = await _apiClient.GetStringAsync(allCampaignItemsUri, authorizationToken);

View File

@ -33,7 +33,7 @@ export class CampaignsService {
} }
getCampaigns(pageIndex: number, pageSize: number): Observable<ICampaign> { getCampaigns(pageIndex: number, pageSize: number): Observable<ICampaign> {
let url = this.marketingUrl + '/api/v1/campaigns/user/' + this.buyerId; let url = this.marketingUrl + '/api/v1/campaigns/user';
url = url + '?pageIndex=' + pageIndex + '&pageSize=' + pageSize; url = url + '?pageIndex=' + pageIndex + '&pageSize=' + pageSize;
return this.service.get(url).map((response: Response) => { return this.service.get(url).map((response: Response) => {

View File

@ -29,27 +29,17 @@
var content = new StringContent(JsonConvert.SerializeObject(location), var content = new StringContent(JsonConvert.SerializeObject(location),
Encoding.UTF8, "application/json"); Encoding.UTF8, "application/json");
var userId = new Guid("4611ce3f-380d-4db5-8d76-87a8689058ed");
// GIVEN a new location of user is created // GIVEN a new location of user is created
var response = await locationsServer.CreateClient() await locationsServer.CreateClient()
.PostAsync(LocationsScenariosBase.Post.AddNewLocation, content); .PostAsync(LocationsScenariosBase.Post.AddNewLocation, content);
//Get location user from Location.API
var userLocationResponse = await locationsServer.CreateClient()
.GetAsync(LocationsScenariosBase.Get.UserLocationBy(userId));
var responseBody = await userLocationResponse.Content.ReadAsStringAsync();
var userLocation = JsonConvert.DeserializeObject<UserLocation>(responseBody);
await Task.Delay(300); await Task.Delay(300);
//Get campaing from Marketing.API given a userId //Get campaing from Marketing.API given a userId
var UserLocationCampaignResponse = await marketingServer.CreateClient() var userLocationCampaignResponse = await marketingServer.CreateClient()
.GetAsync(CampaignScenariosBase.Get.UserCampaignsByUserId(userId)); .GetAsync(CampaignScenariosBase.Get.UserCampaignsByUserId());
responseBody = await UserLocationCampaignResponse.Content.ReadAsStringAsync(); var responseBody = await userLocationCampaignResponse.Content.ReadAsStringAsync();
var userLocationCampaigns = JsonConvert.DeserializeObject<PaginatedItemsViewModel<CampaignDTO>>(responseBody); var userLocationCampaigns = JsonConvert.DeserializeObject<PaginatedItemsViewModel<CampaignDTO>>(responseBody);
Assert.True(userLocationCampaigns.Data != null); Assert.True(userLocationCampaigns.Data != null);