Socket
Book a DemoInstallSign in
Socket

final-arango

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

final-arango

Arango-enabling decorator for Final server framework

0.9.10
latest
Source
npmnpm
Version published
Maintainers
1
Created
Source

Final-Arango

This is a decorator for Final that provides easy-to-use Arango database functions.

☢️ This is under development and the API will change.

Setup

config.js

import arango from './index'

const database = arango({
  database: 'test', // set database name. test is default
  url: 'http://root:@localhost:5829/' // database url/credentials
})

export { database }

MyComponent.js

import { database } from './config'

@database({
  collection: 'User' // collection name
  // OR
  edge: 'Likes'
})
class UserComponent extends Component {
  // do your Final stuff here
}

Usage

Properties

You can now use the following class properties on your components:

schema

A schema is an object generated by flow-runtime. Below is an example. This will change when flow-runtime is update to babel@7. There are some useful types exported by final-server (StringLengthType, CollectionType, EmailType).

const UserSchema = t.type(
  'User', t.object(
    t.property('name', t.string()),
    // ... other properties
  )
)

class UserComponent extends Component {
  schema = UserSchema
  // ...
}

uniques

This is simply an array of what schema properties should be unique.

uniques = ['email']

methods

The decorator adds these methods. You should also check the tests file for any I've forgotten to mention.

find

Accepts and arangolize object. Returns array.

findOne

Same as above, but adds limit: 1 automatically. Returns object.

findAndCount

Same as above but returns object as below:

{
  data: [Array of retults],
  meta: { count: <Integer of all results> }
}

The default limit is 25, but the count will show how many results are in the DB, not just the number returned. Useful for pagination.

save

save({ name: 'joe '})
// OR, for edge documents
save(user, post, { thisIsOptional: 'hello' })

Returns the document that was made, except for edge documents which just return and object with _key and _rev.

remove

Accepts either a document object or an id string.

Other stuff

A _createdAt key is automaticlly added on all documents, so no need to add your own.

FAQs

Package last updated on 25 Mar 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.