public Task <CursorPaginatedList <Realm, int> > GetRealmsForConnectedRealmAsync(int connectedRealmId, RealmQueryParameters searchParams)
        {
            var query = this.Context.Realms
                        .Where(realm => realm.ConnectedRealmId == connectedRealmId);

            return(query.ToCursorPaginatedListAsync(searchParams));
        }
예제 #2
0
        public async Task <ActionResult <CursorPaginatedResponse <RealmDto> > > GetRealmsAsync([FromQuery] RealmQueryParameters searchParams)
        {
            var realms = await this.realmRepository.SearchAsync(searchParams);

            var paginatedResponse = this.mapper.Map <CursorPaginatedResponse <RealmDto> >(realms.ToCursorPaginatedResponse(searchParams));

            return(this.Ok(paginatedResponse));
        }
예제 #3
0
        public async Task <ActionResult <CursorPaginatedResponse <RealmDto> > > GetRealmsForConnectedRealmAsync([FromRoute] int id, [FromQuery] RealmQueryParameters searchParams)
        {
            var connectedRealm = await this.connectedRealmRepository.GetByIdAsync(id);

            if (connectedRealm == null)
            {
                return(this.NotFound($"Connected realm with id {id} does not exist."));
            }

            var realms = await this.connectedRealmRepository.GetRealmsForConnectedRealmAsync(connectedRealm.Id, searchParams);

            var paginatedResponse = this.mapper.Map <CursorPaginatedResponse <RealmDto> >(realms.ToCursorPaginatedResponse(searchParams));

            return(this.Ok(paginatedResponse));
        }
        public async Task <ActionResult <CursorPaginatedResponse <WatchListDto> > > GetWatchListsForUserAsync([FromRoute] int userId, [FromQuery] RealmQueryParameters searchParams)
        {
            if (!this.IsUserAuthorizedForResource(userId))
            {
                return(this.Forbidden("You are not authorized to access this resource."));
            }

            var lists = await this.watchListRepository.GetWatchListsForUserAsync(userId, searchParams);

            var paginatedResponse = this.mapper.Map <CursorPaginatedResponse <WatchListDto> >(lists.ToCursorPaginatedResponse(searchParams));

            return(this.Ok(paginatedResponse));
        }
        public async Task <ActionResult <CursorPaginatedResponse <WatchListDto> > > GetWatchListsAsync([FromQuery] RealmQueryParameters searchParams)
        {
            var lists = await this.watchListRepository.SearchAsync(searchParams);

            var paginatedResponse = this.mapper.Map <CursorPaginatedResponse <WatchListDto> >(lists.ToCursorPaginatedResponse(searchParams));

            return(this.Ok(paginatedResponse));
        }