Example #1
0
        public async Task <ActionResult <IImmutableList <CertificationModel> > > GetCertificationsAsync()
        {
            var sub    = User.Claims.FirstOrDefault(c => c.Type == "sub")?.Value;
            var query  = new GetCertifications(sub);
            var result = await _mediator.Send(query);

            if (result.IsFailure)
            {
                return(BadRequest());
            }
            return(Ok(result.Value));
        }
Example #2
0
        public async Task <IImmutableList <CertificationModel> > Handle(GetCertifications request,
                                                                        CancellationToken cancellationToken)
        {
            var certifications = await _context.Certifications
                                 .Where(x => x.UserId == request.UserId)
                                 .Select(x => new CertificationModel
            {
                Id               = x.Id,
                Name             = x.Name,
                IssuingAuthority = x.IssuingAuthority,
                ExpirationDate   = x.ExpirationDate
            })
                                 .ToListAsync(cancellationToken: cancellationToken);

            return(certifications.ToImmutableList());
        }
Example #3
0
        public async Task <Result <IImmutableList <CertificationModel> > > Handle(GetCertifications request,
                                                                                  CancellationToken cancellationToken)
        {
            var isValid = await _validator.IsValidAsync(request);

            if (!isValid)
            {
                return(Result.Failure <IImmutableList <CertificationModel> >("Validation failed"));
            }

            var certifications = await _context.Certifications
                                 .Where(x => x.User.Sub == request.UserSub)
                                 .Select(x => new CertificationModel
            {
                Id               = x.Id,
                Name             = x.Name,
                IssuingAuthority = x.IssuingAuthority,
                ExpirationDate   = x.ExpirationDate
            })
                                 .ToListAsync(cancellationToken);

            return(certifications.ToImmutableList());
        }