public async Task <ActionResult <CommandTemplate> > GetCommandDetails(string command) { var res = new AuthorizationDetails("de", command); var authorizationResult = await _authorizationService.AuthorizeAsync(User, res, "OpcoPolicy"); if (!authorizationResult.Succeeded) { return(Forbid()); } if (!_commandManagementService.CommandExists(command)) { return(NotFound()); } return(Ok(_commandManagementService.GetCommandTemplate(command))); }
public async Task <ActionResult <CommandSendModel> > PostCommandAsync(string id, string command, [FromBody] JObject parameters, [FromQuery] int ttl = 90, [FromQuery] bool checktypes = false, [FromQuery] bool checkmandatory = false, [FromQuery] bool checkvalues = false) { if (!_commandManagementService.CommandExists(command)) { return(NotFound($"Command '{command}' doesn't exist.")); } var response = _commandManagementService.CreateCommandDocument(new CreateCommandDocumentRequest() { Command = command, Body = parameters, TTL = ttl, CheckTypes = checktypes, CheckRequired = checkmandatory }); if (!response.Success) { return(BadRequest("Invalid command request. " + response.ErrorText)); } var result = await _commandSendService.SendCommandToDeviceAsync(id, response.Document); return(result); }