connect-mssql-v2
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.2 • Public • Published

    Gitpod ready-to-code License: MIT npm npm GitHub issues GitHub issues

    connect-mssql-v2

    SQL Server session store for Connect/Express based on node-mssql and the deprecated/abandoned project connect-mssql.

    Installation

    npm install connect-mssql-v2
    

    Prerequisites

    Before you can use session store, you must create a table. Recommended table name is sessions but you can change it via options.

    CREATE TABLE [dbo].[sessions](
        [sid] [nvarchar](255) NOT NULL PRIMARY KEY,
        [session] [nvarchar](max) NOT NULL,
        [expires] [datetime] NOT NULL
    )

    Usage

    Javascript

    const MSSQLStore = require('connect-mssql-v2');
    
    const config = {
      user: '...',
      password: '...',
      server: 'localhost', // You can use 'localhost\\instance' to connect to named instance
      database: '...',
      options: {
        encrypt: true // Use this if you're on Windows Azure
      }
    };
    
    app.use(
      session({
        store: new MSSQLStore(config, options), // options are optional
        secret: 'supersecret'
      })
    );

    Typescript

    import MSSQLStore from 'connect-mssql-v2';
    
    const config = {
      user: '...',
      password: '...',
      server: 'localhost', // You can use 'localhost\\instance' to connect to named instance
      database: '...',
      options: {
        encrypt: true // Use this if you're on Windows Azure
      }
    };
    
    app.use(
      session({
        store: new MSSQLStore(config, options), // options are optional
        secret: 'supersecret'
      })
    );

    Options

    • options.table - Table to use as session store. Default: [sessions]
    • options.ttl - (Time To Live) Determines the expiration date. Default: 1000 * 60 * 60 * 24 (24 hours)
    • options.autoRemove - Determines if expired sessions should be autoremoved or not. If value is true then a new function, destroyExpired(), will autodelete expired sessions on a set interval. Default: false
    • options.autoRemoveInterval - Sets the timer interval for each call to destroyExpired(). Default: 1000 * 60 * 10 (10 min)
    • options.autoRemoveCallback - Is the callback function for destroyExpired(). Default: undefined
    • options.useUTC - Determines if we are to use the GETUTCDATE instead of GETDATE Default: true

    Advanced usage

    const store = new MSSQLStore(config, options);
    
    store.on('connect', () => {
    	// ... connection established
    });
    
    store.on('error', (error) => {
    	// ... connection error
    });
    
    store.on('sessionError', (error, classMethod) => {
      // ... any error that occurs within a store method
      // classMethod will return the method name (get, set, length, etc)
    })
    app.use(session({
        store: store
        secret: 'supersecret'
    }));

    Configuration

    To see all options please visit node-mssql docs.

    Upgrading from v1.x.x to v2.x.x

    It is no longer required to pass in the express-session store. Please see the Usage section on the updated import/require method.

    Contributions

    Contributions are welcome, please submit a PR which will be reviewed.

    Reporting Issues

    Please report issues/errors to Github's issue tracker: connect-mssql-v2 issue tracker. Include issue, expected behavior, and how to replicate the issue.

    License

    MIT License

    Install

    npm i connect-mssql-v2

    DownloadsWeekly Downloads

    107

    Version

    2.0.2

    License

    MIT

    Unpacked Size

    28.2 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar
    • avatar