jugglingdb-cozy-adapter

    0.4.15 • Public • Published

    About

    jugglindb-cozy-adapter is an adapter for JugglingDB required by cozy applications to use the Cozy Data System.

    BuildStatus

    Setup for Compound

    First add it to your project dependencies (package.json file), or install it directly:

    npm install jugglingdb-cozy-adapter
    

    Then in your config/database.json file, add this:

    {
        "driver":   "jugglingdb-cozy-adapter",
        "url": "http://localhost:9101/"
    }
    

    Url parameter is optional. Don't forget the trailing slash at the end of the url. Of course to work correctly, the adapter required Cozy Data System and CouchDB up and running.

    Usage

    Check test file for documented usage of methods available in this adapter.

    Documents

    # Existence 
    Note.exists 123(err, isExist) ->
        console.log isExist
     
    # Find 
    Note.find 321(err, note) ->
        console.log note
     
    # Create 
    Note.create { id: "321""content":"created value"}(err, note) ->
        console.log note.id
     
    # Update 
    note.save (err) ->
        console.log err
     
    # Update attributes 
    note.updateAttributes title: "my new title"(err) ->
        console.log err
     
    # Upsert 
    Note.createOrUpdate @data.id(err, note) ->
        console.log err
     
    # Delete 
    note.destroy (err) ->
        console.log err

    Indexation

    # Index document fields 
    note.index ["title""content"](err) ->
        console.log err
     
    # Search through indexes 
    Note.search "dragons"(err, notes) ->
        console.log notes

    Files

    # Attach file 
    note.attachFile "./test.png"(err) ->
        console.log err
     
    # Get file 
    stream = @note.getFile "test.png"(err) ->
         console.log err
    stream.pipe fs.createWriteStream('./test-get.png')

    Requests

    # Define request 
    map = (doc) ->
        emit doc._iddoc
        return
     
    Note.defineRequest "every_notes"map(err) ->
        console.log err
     
    # Get request results 
    Note.request "every_notes"(err, notes) ->
        console.log notes
     
    # Destroy documents through request results 
    Note.requestDestroy "every_notes"{key: ids[3]}(err) ->
     
    # Remove request 
    Note.removeRequest "every_notes"(err) ->
         console.log err

    Accounts

    # Create 
    dataMailBox =
        name: "test mailBox"
        id: "110"
    MailBox.create dataMailBox(err, mailBox) =>
        dataAccount =
            pwd: "password"
            login: "log"
        mailBox.createAccount dataAccount(err, account) ->
            console.log account.id
     
    # Get 
    mailBox.getAccount (err, account) ->
        console.log account
     
    # Update 
    data =
        pwd: "newPassword"
        login: "newLog"
    mailBox.updateAccount data(err) ->
        console.log err
     
    # Update attributes 
    mailBox.mergeAccount login: "newLog"(err) ->
        console.log err
     
    # Delete 
    mailBox.destroy (err) ->
        console.log err

    Build & tests

    To build source to JS, run

    cake build
    

    To run tests:

    cake tests
    

    What is Cozy?

    Cozy Logo

    Cozy is a platform that brings all your web services in the same private space. With it, your web apps and your devices can share data easily, providing you with a new experience. You can install Cozy on your own hardware where no one profiles you.

    Community

    You can reach the Cozy Community by:

    • Chatting with us on IRC #cozycloud on irc.freenode.net
    • Posting on our Forum
    • Posting issues on the Github repos
    • Mentioning us on Twitter

    Install

    npm i jugglingdb-cozy-adapter

    DownloadsWeekly Downloads

    5

    Version

    0.4.15

    License

    none

    Last publish

    Collaborators

    • mycozycloud