Beispiel #1
0
        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);
        }
Beispiel #2
0
 /// <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;
 }
Beispiel #3
0
        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.");
        }
Beispiel #4
0
        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.");
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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));
 }