public async Task <InvokeResult> AddTransmitterConfigurationAsync(TransmitterConfiguration transmitterConfiguration, EntityHeader org, EntityHeader user) { await AuthorizeAsync(transmitterConfiguration, AuthorizeActions.Create, user, org); ValidationCheck(transmitterConfiguration, Actions.Create); if (!String.IsNullOrEmpty(transmitterConfiguration.AccessKey)) { var addSecretResult = await _secureStorage.AddSecretAsync(org, transmitterConfiguration.AccessKey); if (!addSecretResult.Successful) { return(addSecretResult.ToInvokeResult()); } transmitterConfiguration.SecureAccessKeyId = addSecretResult.Result; transmitterConfiguration.AccessKey = null; } if (!String.IsNullOrEmpty(transmitterConfiguration.Password)) { var addSecretResult = await _secureStorage.AddSecretAsync(org, transmitterConfiguration.Password); if (!addSecretResult.Successful) { return(addSecretResult.ToInvokeResult()); } transmitterConfiguration.SecurePasswordId = addSecretResult.Result; transmitterConfiguration.Password = null; } await _transmitterConfigurationRepo.AddTransmitterConfigurationAsync(transmitterConfiguration); return(InvokeResult.Success); }
/// <summary> /// Construct sensor using linear map /// </summary> public Transmitter(TransmitterConfiguration config) { _config = config; this.DaqChannel = _config.ChannelAddress; this.EngineeringUnit = _config.EngineeringUnit; this.Name = _config.Name; this.ID = _config.ID; }
public void Transmitter_AzureEventHub_Validation_Missing_ConnectionInfo_InValid() { var transmitter = new TransmitterConfiguration() { Id = Guid.NewGuid().ToId(), Name = "some transmitter", Key = "sometransmitter", TransmitterType = Core.Models.EntityHeader <TransmitterConfiguration.TransmitterTypes> .Create(TransmitterConfiguration.TransmitterTypes.AzureEventHub), CreationDate = DateTime.Now.ToJSONString(), LastUpdatedDate = DateTime.Now.ToJSONString(), CreatedBy = EntityHeader.Create("49BD5053A10D454E8B2B42F6EFA5BBD2", "Some User"), LastUpdatedBy = EntityHeader.Create("49BD5053A10D454E8B2B42F6EFA5BBD2", "Some User"), }; var result = Validator.Validate(transmitter, Actions.Create); AssertInvalidError(result, "Host Name is a Required Field.", "Hub Name is a Required Field.", "Access Key Name is a Required Field.", "Access Key is Required for an Azure Event Hub."); }
public void Transmitter_MQTT_Validation_Missing_ConnectionInfo_InValid() { var transmitter = new TransmitterConfiguration() { Id = Guid.NewGuid().ToId(), Name = "some transmitter", Key = "sometransmitter", Anonymous = true, TransmitterType = Core.Models.EntityHeader <TransmitterConfiguration.TransmitterTypes> .Create(TransmitterConfiguration.TransmitterTypes.MQTTClient), CreationDate = DateTime.Now.ToJSONString(), LastUpdatedDate = DateTime.Now.ToJSONString(), CreatedBy = EntityHeader.Create("49BD5053A10D454E8B2B42F6EFA5BBD2", "Some User"), LastUpdatedBy = EntityHeader.Create("49BD5053A10D454E8B2B42F6EFA5BBD2", "Some User"), }; var result = Validator.Validate(transmitter, Actions.Create); AssertInvalidError(result, "Host Name is a Required Field.", "Port is a Required field, this is usually 1883 or 8883 for a secure connection."); }
public void Transmitter_REST_Validation_Anonymous_Valid() { var transmitter = new TransmitterConfiguration() { Id = Guid.NewGuid().ToId(), Name = "some transmitter", Key = "sometransmitter", HostName = "dev.mqtt.com", Anonymous = true, TransmitterType = Core.Models.EntityHeader <TransmitterConfiguration.TransmitterTypes> .Create(TransmitterConfiguration.TransmitterTypes.Rest), CreationDate = DateTime.Now.ToJSONString(), LastUpdatedDate = DateTime.Now.ToJSONString(), CreatedBy = EntityHeader.Create("49BD5053A10D454E8B2B42F6EFA5BBD2", "Some User"), LastUpdatedBy = EntityHeader.Create("49BD5053A10D454E8B2B42F6EFA5BBD2", "Some User"), }; var result = Validator.Validate(transmitter, Actions.Update); AssertSuccessful(result); }
public void Transmitter_AzureIoTHub_Validation_Secure_Insert_Valid() { var transmitter = new TransmitterConfiguration() { Id = Guid.NewGuid().ToId(), Name = "some transmitter", Key = "sometransmitter", HostName = "somehost", AccessKeyName = "somekey", AccessKey = "dGVzdGRhdGE=", TransmitterType = Core.Models.EntityHeader <TransmitterConfiguration.TransmitterTypes> .Create(TransmitterConfiguration.TransmitterTypes.AzureIoTHub), CreationDate = DateTime.Now.ToJSONString(), LastUpdatedDate = DateTime.Now.ToJSONString(), CreatedBy = EntityHeader.Create("49BD5053A10D454E8B2B42F6EFA5BBD2", "Some User"), LastUpdatedBy = EntityHeader.Create("49BD5053A10D454E8B2B42F6EFA5BBD2", "Some User"), }; var result = Validator.Validate(transmitter, Actions.Create); AssertSuccessful(result); }
public void Transmitter_MQTT_Validation_Secure_Update_Change_Password_Valid() { var transmitter = new TransmitterConfiguration() { Id = Guid.NewGuid().ToId(), Name = "some transmitter", Key = "sometransmitter", HostName = "dev.mqtt.com", Anonymous = false, UserName = "******", Password = "******", ConnectToPort = 1883, TransmitterType = Core.Models.EntityHeader <TransmitterConfiguration.TransmitterTypes> .Create(TransmitterConfiguration.TransmitterTypes.MQTTClient), CreationDate = DateTime.Now.ToJSONString(), LastUpdatedDate = DateTime.Now.ToJSONString(), CreatedBy = EntityHeader.Create("49BD5053A10D454E8B2B42F6EFA5BBD2", "Some User"), LastUpdatedBy = EntityHeader.Create("49BD5053A10D454E8B2B42F6EFA5BBD2", "Some User"), }; var result = Validator.Validate(transmitter, Actions.Update); AssertSuccessful(result); }
public Task <InvokeResult> UpdateTransmitterConfigurationAsync([FromBody] TransmitterConfiguration transmitterConfiguration) { return(_pipelineModuleManager.UpdateTransmitterConfigurationAsync(transmitterConfiguration, OrgEntityHeader, UserEntityHeader)); }