my $response = $tx->res->json;
warn "## response $code ",dump($response);
if ($tx->error) {
- die "ERROR $code $message";
+ warn "ERROR $code $message";
}
return
$rev = $response->{rev};
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');
+ my $param = $self->req->url->query->to_string;
+ warn "# /couchdb $url ",
+ _render_jsonp( $self, _couchdb_get(
+ $self->param('database') . '/_design/' . $self->param('design') . '/_view/' . $self->param('view')
+ . ( $param ? '?'.$param : '' )
+ ));
+};
+
app->start;
__DATA__