Example #1
0
        public async Task <IActionResult> AddUserToken([FromBody] FcmUserTokenEditModel model, CancellationToken cancellationToken)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Result <string> result;

            if (await FcmUserTokenRepository.HasAsync(x => x.UserId == UserId, cancellationToken))
            {
                result = await DeviceGroupService.RequestAsync(DeviceGroupRequestOperation.Add, UserId, model.Token, cancellationToken);
            }
            else
            {
                result = await DeviceGroupService.RequestAsync(DeviceGroupRequestOperation.Create, UserId, model.Token, cancellationToken);
            }

            if (result.IsSuccess)
            {
                await FcmUserTokenRepository.UpdateUserTokenAsync(UserId, result.Data, cancellationToken);

                return(Ok());
            }

            return(BadRequest(result.Errors));
        }
Example #2
0
        public async Task <IActionResult> RemoveUserToken([FromBody] FcmUserTokenEditModel model, CancellationToken cancellationToken)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = await DeviceGroupService.RequestAsync(DeviceGroupRequestOperation.Remove, UserId, model.Token, cancellationToken);

            await FcmUserTokenRepository.UpdateUserTokenAsync(UserId, result, cancellationToken);

            return(Ok());
        }