public async Task <ApplicationRegistrationResponseApiModel> CreateApplicationAsync( [FromBody][Required] ApplicationRegistrationRequestApiModel request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var result = await _applications.RegisterAsync( request.ToServiceModel()); return(new ApplicationRegistrationResponseApiModel(result)); }
public async Task <ApplicationRegistrationResponseApiModel> CreateApplicationAsync( [FromBody][Required] ApplicationRegistrationRequestApiModel request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var model = request.ToServiceModel(); // TODO: applicationServiceModel.AuthorityId = User.Identity.Name; var result = await _applications.RegisterApplicationAsync(model); return(result.ToApiModel()); }
/// <inheritdoc/> public async Task <ApplicationRegistrationResponseApiModel> RegisterAsync( ApplicationRegistrationRequestApiModel content, CancellationToken ct) { if (content == null) { throw new ArgumentNullException(nameof(content)); } if (string.IsNullOrEmpty(content.ApplicationUri)) { throw new ArgumentNullException(nameof(content.ApplicationUri)); } var request = _httpClient.NewRequest($"{_serviceUri}/v2/applications", _resourceId); request.SetContent(content); var response = await _httpClient.PutAsync(request, ct).ConfigureAwait(false); response.Validate(); return(response.GetContent <ApplicationRegistrationResponseApiModel>()); }
/// <summary> /// Convert to service model /// </summary> /// <param name="model"></param> /// <returns></returns> public static ApplicationRegistrationRequestModel ToServiceModel( this ApplicationRegistrationRequestApiModel model) { if (model == null) { return(null); } return(new ApplicationRegistrationRequestModel { ApplicationType = (IIoT.OpcUa.Core.Models.ApplicationType?)model.ApplicationType, ApplicationUri = model.ApplicationUri, ApplicationName = model.ApplicationName, Locale = model.Locale, LocalizedNames = model.LocalizedNames? .ToDictionary(k => k.Key, v => v.Value), ProductUri = model.ProductUri, DiscoveryProfileUri = model.DiscoveryProfileUri, DiscoveryUrls = model.DiscoveryUrls, SiteId = model.SiteId, GatewayServerUri = model.GatewayServerUri, Capabilities = model.Capabilities }); }