public async Task <IActionResult> Trigger(TriggerDevicesModel model) { var validationResult = _service.ValidateTriggerDevices(User, model); if (!validationResult.Valid) { return(BadRequest(validationResult.Result)); } var resp = await _service.TriggerDevicesAsync(model); return(Ok(new AppResultBuilder().Success(resp))); }
public async Task <BatchResponse> TriggerDevicesAsync(TriggerDevicesModel model) { var messages = model.DeviceIds.Select(id => new Message { Topic = id, Data = new Dictionary <string, string>() { { "action", model.Action } } }); return(await FirebaseMessaging.DefaultInstance.SendAllAsync(messages)); }
public ValidationResult ValidateTriggerDevices(ClaimsPrincipal principal, TriggerDevicesModel model) { return(ValidationResult.Pass()); }