public async Task <ActionResult <CursorPaginatedResponse <WorkoutInvitationForReturnDto> > > GetSentWorkoutInvitationsForUserAsync(int userId, [FromQuery] CursorPaginationParams searchParams, string status)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var invSearchParams = new WorkoutInvitationSearchParams
            {
                First        = searchParams.First,
                After        = searchParams.After,
                Last         = searchParams.Last,
                Before       = searchParams.Before,
                IncludeTotal = searchParams.IncludeTotal,
                InviterId    = userId,
                Status       = status
            };

            var invitations = await workoutInvitationRepository.SearchAsync(invSearchParams);

            var paginatedResponse = CursorPaginatedResponse <WorkoutInvitationForReturnDto> .CreateFrom(invitations, mapper.Map <IEnumerable <WorkoutInvitationForReturnDto> >);

            return(Ok(paginatedResponse));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <CursorPaginatedResponse <WorkoutInvitationForReturnDetailedDto> > > GetWorkoutInvitationsDetailedAsync([FromQuery] WorkoutInvitationSearchParams searchParams)
        {
            var invitations = await workoutInvitationRepository.SearchDetailedAsync(searchParams);

            var paginatedResponse = CursorPaginatedResponse <WorkoutInvitationForReturnDetailedDto> .CreateFrom(invitations, mapper.Map <IEnumerable <WorkoutInvitationForReturnDetailedDto> >);

            return(Ok(paginatedResponse));
        }