• Jump To … +
    bootstrap.litcoffee configuration_manager.litcoffee echo_router.litcoffee gql.litcoffee graph.litcoffee index.litcoffee mongodb_storage.litcoffee node_manager.litcoffee node_schema.litcoffee query.litcoffee redirect_router.litcoffee router_manager.litcoffee router_schema.litcoffee schema_manager.litcoffee schema_schema.litcoffee static_router.litcoffee storage_manager.litcoffee storage_router.litcoffee
  • storage_router.litcoffee

  • ¶

    StorageRouter is Graph API Router processing calls to Graph API Storage. This is basic CRUD router.

    class StorageRouter
    
      @route: (query, callback) ->
        query.graph.debug('StorageRouter> CRUD:', {
          action: query.action,
          schema: query.current_router.configuration,
          data: query.data,
          search: query.search_query
        })
        db = query.graph.storage_manager.database
        query.schema = query.current_router.configuration
        query.data = JSON.parse(query.data) if query.data and (typeof query.data is 'string')
    
        if query.action in ['create', 'read', 'update', 'delete']
          db[query.action](query, (result) ->
            query.data = result
            callback(query))
        else
          callback(null)
    
    module.exports = StorageRouter