Remove userId setting from xamarin app and remove userId parameter from GetCampaignsByUserId in Campaign API
This commit is contained in:
parent
4f198f179e
commit
b28c650e06
@ -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();
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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();
|
||||||
|
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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>();
|
||||||
|
@ -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)
|
||||||
|
@ -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);
|
||||||
|
@ -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) => {
|
||||||
|
@ -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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user