jugglingdb-cozy-adapter

adapter for jugglingdb required by cozy app based on railway

npm install jugglingdb-cozy-adapter
44 downloads in the last day
389 downloads in the last week
1 560 downloads in the last month

About

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

Build
Status

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._id, doc
    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
npm loves you