public Task <CursorPaginatedList <Realm, int> > GetRealmsForConnectedRealmAsync(int connectedRealmId, RealmQueryParameters searchParams) { var query = this.Context.Realms .Where(realm => realm.ConnectedRealmId == connectedRealmId); return(query.ToCursorPaginatedListAsync(searchParams)); }
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)); }
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)); }