 
 /** Server Permission Enumeration */
 
-public enum ServerPermission {
+public enum ServerPermission: Int, Equatable {
     
     /**  No access permission */
-    case NoAccess
+    case NoAccess = 0
     
     /**  Read Only permission */
-    case ReadOnly
+    case ReadOnly = 1
     
     /**  Read and Write permission */
-    case EditPermission
+    case EditPermission = 2
 }
 
 /** Server Request Type */

    func server(Server, didPerformRequest request: ServerRequest, withResponse response: ServerResponse, userInfo: [ServerUserInfoKey: AnyObject])
    
    /** Asks the delegate for access control for a request. Server must have its permissions enabled for this method to be called. */
    func server(Server, permissionForRequest request: ServerRequest, managedObject: NSManagedObject?, context: NSManagedObjectContext?, key: String?)
}

// MARK: - Enumerations

        }
        
        // optionally filter results
        
        if self.permissionsEnabled {
            
            var filteredResults = [NSManagedObject]()
