Skip to content

Commit

Permalink
improved load time of episodes in admin area ([#103](#1030))
Browse files Browse the repository at this point in the history
  • Loading branch information
dularion committed Dec 5, 2015
1 parent dd48075 commit 698e3c3
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 4 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# Change Log


## [0.1.6.1] - 2015-12-05

### Bugfixes
- improved load time of episodes in admin area ([#103](https://github.com/dularion/streama/issues/1030))


## [0.1.6] - 2015-11-17
### Features
- Added functionality to refetch theMovieDb-seasons (to fill up with missing episodes)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# streama v0.1.6
# streama v0.1.6.1


[![Build Status](https://travis-ci.org/dularion/streama.svg?branch=master)](https://travis-ci.org/dularion/streama) [![GitHub license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/dularion/streama/blob/master/LICENSE.md) [![Join the chat at https://gitter.im/dularion/streama](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dularion/streama?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ streamaApp.controller('adminShowCtrl', ['$scope', 'apiService', '$stateParams',
apiService.tvShow.get($stateParams.showId).success(function (data) {
$scope.show = data;

apiService.episode.list({showId: $stateParams.showId}).success(function (data) {
apiService.tvShow.adminEpisodesForTvShow($stateParams.showId).success(function (data) {
if(data.length){
$scope.seasons = _.groupBy(data, 'season_number');
}
Expand Down
3 changes: 3 additions & 0 deletions grails-app/assets/javascripts/services/api-service.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ streamaApp.factory('apiService', ['$http', function ($http) {
episodesForTvShow: function (id) {
return $http.get(urlBase + 'tvShow/episodesForTvShow.json', {params: {id: id}});
},
adminEpisodesForTvShow: function (id) {
return $http.get(urlBase + 'tvShow/adminEpisodesForTvShow.json', {params: {id: id}});
},
removeSeason: function (showId, season_number) {
return $http.get(urlBase + 'tvShow/removeSeason.json', {params: {showId: showId, season_number: season_number}});
}
Expand Down
7 changes: 5 additions & 2 deletions grails-app/controllers/streama/TheMovieDbController.groovy
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package streama

import grails.converters.JSON
import groovy.json.JsonSlurper

class TheMovieDbController {
Expand Down Expand Up @@ -27,7 +28,7 @@ class TheMovieDbController {
def json = new JsonSlurper().parseText(JsonContent)

def episodes = json?.episodes
def result = []
List<Episode> result = []

episodes?.each{ episodeData ->
if(Episode.findByShowAndSeason_numberAndEpisode_number(tvShow, season, episodeData.episode_number)){
Expand All @@ -40,7 +41,9 @@ class TheMovieDbController {
result.add(episode)
}

respond result
JSON.use('adminEpisodesForTvShow') {
respond result
}

}

Expand Down
6 changes: 6 additions & 0 deletions grails-app/controllers/streama/TvShowController.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,12 @@ class TvShowController {
}
}

def adminEpisodesForTvShow(TvShow tvShowInstance) {
JSON.use('adminEpisodesForTvShow') {
respond Episode.findAllByShow(tvShowInstance), [status: OK]
}
}

@Transactional
def delete(TvShow tvShowInstance) {

Expand Down
15 changes: 15 additions & 0 deletions grails-app/services/streama/MarshallerService.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,21 @@ class MarshallerService {
returnArray['hasFile'] = episode.files?.size()
returnArray['still_path'] = episode.still_path

return returnArray;
}
}
JSON.createNamedConfig('adminEpisodesForTvShow') { DefaultConverterConfiguration<JSON> cfg ->
cfg.registerObjectMarshaller(Episode) { Episode episode ->
def returnArray = [:]

returnArray['id'] = episode.id
returnArray['overview'] = episode.overview
returnArray['name'] = episode.name
returnArray['season_number'] = episode.season_number
returnArray['episode_number'] = episode.episode_number
returnArray['files'] = episode.files
returnArray['still_path'] = episode.still_path

return returnArray;
}
}
Expand Down

0 comments on commit 698e3c3

Please sign in to comment.