language => 'javascript',
views => {
counts => {
- map => q| function(doc) { emit(doc.$entity,1); } |,
+ map => q| function(doc) { emit(doc._id.split('.')[0],1); } |,
reduce => q| function(keys,values,rereduce) { return sum(values); } |,
}
}
$self->render( "conference/" . $self->param('page'), layout => 'angular' );
};
+# /app/
+
+get '/app/:database/angular.js' => sub {
+ my $self = shift;
+ my $ANGULAR_JS = $ENV{ANGULAR_JS} || ( -e 'public/angular/build/angular.js' ? '/angular/build/angular.js' : '/angular/src/angular-bootstrap.js' );
+ warn "# $ANGULAR_JS";
+ $self->render_static( $ANGULAR_JS );
+};
+
+# CouchDB proxy for _design _view
+
+get '/:database/_design/:design/_view/:view' => sub {
+ my $self = shift;
+ my $url = $self->param('url');
+ warn "# /couchdb $url";
+ _render_jsonp( $self, _couchdb_get( $self->param('database') . '/_design/' . $self->param('design') . '/_view/' . $self->param('view') ) );
+};
+
app->start;
__DATA__