CouchDB proxy for _design _view
[angular-mojolicious.git] / angular-server.pl
index 622187b..0d1622e 100755 (executable)
@@ -86,7 +86,7 @@ get '/data/:database' => sub {
                        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); } |,
                                }
                        }
@@ -162,6 +162,24 @@ get '/conference/:page' => sub {
        $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__