/**
* JBoss, Home of Professional Open Source Copyright Red Hat, Inc., and individual contributors
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*/
package org.jboss.aerogear.simplepush.server.datastore;
/**
* Contains CouchDB <a href="http://wiki.apache.org/couchdb/HTTP_view_API">views</a>
*/
public enum Views {
CHANNEL("function(doc) { if (doc.type == \"channel\") { emit(doc.chid, {\"doc\": doc, \"rev\": doc._rev});}}"),
UAID("function(doc) { if (doc.type == \"channel\") { emit(doc.uaid, {\"doc\": doc, \"rev\": doc._rev});}}"),
TOKEN("function(doc) { if (doc.type == \"channel\") { emit(doc.token, {\"doc\": doc});}}"),
UNACKS("function(doc) { if (doc.type == \"ack\") { emit(doc.uaid, {\"doc\": doc});}}"),
SERVER("function(doc) { if (doc.type == \"server\") { emit({\"salt\": doc.salt});}}");
private final String mapFunction;
private final String viewName;
private Views(final String mapFunction) {
this.mapFunction = mapFunction;
viewName = toString().toLowerCase();
}
public String mapFunction() {
return mapFunction;
}
public String viewName() {
return viewName;
}
}