           else
             statusCode: 404
             body: {status: "fail", message: "No items found"}
+
+
+  ###*
+    A set of endpoints that can be applied to a Meteor.users Collection Route
+  ###
+  _userCollectionEndpoints:
+    get: (collection) ->
+      get:
+        action: ->
+          entity = collection.findOne @urlParams.id, fields: profile: 1
+          if entity
+            {status: "success", data: entity}
+          else
+            statusCode: 404
+            body: {status: "fail", message: "User not found"}
+    put: (collection) ->
+      put:
+        action: ->
+          entityIsUpdated = collection.update @urlParams.id, $set: profile: @bodyParams
+          if entityIsUpdated
+            entity = collection.findOne @urlParams.id, fields: profile: 1
+            {status: "success", data: entity}
+          else
+            statusCode: 404
+            body: {status: "fail", message: "User not found"}
+    delete: (collection) ->
+      @_collectionEndpoints.delete collection
+    post: (collection) ->
+      post:
+        action: ->
+          # Create a new user account
+          entityId = Accounts.createUser @bodyParams
+          entity = collection.findOne entityId, fields: profile: 1
+          if entity
+            {status: "success", data: entity}
+          else
+            statusCode: 400
+            {status: "fail", message: "No user added"}
+    getAll: (collection) ->
+      get:
+        action: ->
+          entities = collection.find({}, fields: profile: 1).fetch()
+          if entities
+            {status: "success", data: entities}
+          else
+            statusCode: 404
+            body: {status: "fail", message: "Unable to retrieve users"}
+    deleteAll: (collection) ->
+      @_collectionEndpoints.deleteAll collection
 
 
   ###

          # Configure endpoint and map to it's http method
          # TODO: Consider predefining a map of methods to their http method type (e.g., deleteAll: delete)
          configuredEndpoint = {}
          _.each @_collectionEndpoints[method](collection), (action, methodType) ->
            configuredEndpoint[methodType] =
              _.chain action
              .clone()

      get:
        action: ->
          entities = collection.find().fetch()
          if entities
            {status: "success", data: entities}
          else
            statusCode: 404
