Ejemplo n.º 1
0
        public async Task <Maybe <SecuredRequestDto> > GetAsync(ResourceType resourceType, Guid resourceId, string token)
        {
            var securedRequest = await _securedRequestRepository
                                 .GetByResourceTypeAndIdAndTokenAsync(resourceType, resourceId, token);

            return(securedRequest.HasNoValue
                ? new Maybe <SecuredRequestDto>()
                : new SecuredRequestDto
            {
                CreatedAt = securedRequest.Value.CreatedAt,
                Token = securedRequest.Value.Token,
                UsedAt = securedRequest.Value.UsedAt,
                ResourceId = securedRequest.Value.ResourceId,
                ResourceType = securedRequest.Value.ResourceType.ToString()
            });
        }
Ejemplo n.º 2
0
        public async Task ConsumeAsync(ResourceType resourceType, Guid resourceId, string token)
        {
            var securedRequest =
                await _securedRequestRepository.GetByResourceTypeAndIdAndTokenAsync(resourceType, resourceId, token);

            if (securedRequest.HasNoValue)
            {
                throw new ArgumentException("Resource has not been found for given id.");
            }

            securedRequest.Value.Consume(token);
            await _securedRequestRepository.UpdateAsync(securedRequest.Value);
        }