connect-neo4j-user

1.0.4 • Public • Published

npm code-style Downloads

connect-neo4j

connect-neo4j provides Neo4j session storage for Express. Requires neo4j-driver >= 4.3.0.

Installation

npm:

npm install neo4j-driver connect-neo4j express-session express

Yarn:

yarn add neo4j-driver connect-neo4j express-session express

API

const express = require('express')
const session = require('express-session')
const neo4j = require('neo4j-driver')
const uri = process.env.NEO4J_URI || 'bolt://localhost:7687'
const user = process.env.NEO4J_USER || 'neo4j'
const password = process.env.NEO4J_PASSWORD || 'neo4j'
const driver = neo4j.driver(uri, neo4j.auth.basic(user, password))
var app = express()
let Neo4jStore = require('connect-neo4j')(session)
app.use(
  session({
    store: new Neo4jStore({ client: driver }),
    saveUninitialized: false,
    secret: 'keyboard cat',
    resave: false,
  })
)
app.listen(3000)

Neo4jStore(options)

The Neo4jStore requires an existing client. Any clients compatible with the API will work. See client option for more details.

Options

let options = { // Defaults (excluding client)
        prefix: "sess:", //optional
        serializer: JSON, // optional, but must provide methods parse & stringify
        client: driver, // required, neo4j-driver
        nodeLabel: 'Session', //Optional, what to label you session nodes
        ttl: 86400, // Optional, set a default ttl (time to live).
        disableTTL: false, //Optional, Disables TTL functionallity
        disableTouch: false, // Optional, Disables Touch functionallty
        user:{ //Optional, Links newly created session node to another node within neo4j
               label: "User", //Optional, label of the node to be matched
               id: "username", //Required, property the user should be matched by, supply data under the same key in session object
               relType: "has_session" //Optional, label the created relationship will take
        }
}

let store = new Neo4jStore({ options })

Serializer

The encoder/decoder to use when storing and retrieving session data from Neo4j (default: JSON).

interface Serializer {
  parse(string): object
  stringify(object): string
}

Package Sidebar

Install

npm i connect-neo4j-user

Weekly Downloads

5

Version

1.0.4

License

MIT

Unpacked Size

14.9 kB

Total Files

6

Last publish

Collaborators

  • darkmattur