Functions and Classes for handle session with @nano/sqlite in Bun.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
HerrHase 4006b650f9
update dependencies
7 months ago
src adding 10 months ago
test adding 10 months ago
.env.test adding 10 months ago
.gitignore adding 10 months ago
LICENSE adding 10 months ago
README.md adding 10 months ago
bun.lockb update dependencies 7 months ago
bunfig.toml adding 10 months ago
index.ts adding 10 months ago
package.json update dependencies 7 months ago

README.md

Nano Session

Functions and Classes for handle session with @nano/sqlite in Bun.

API

Session

Session Object has all Function to create, valid and remove Session. Sqlite can be the same or a seperated database.

import { getOrCreateSqlite } from '@nano/sqlite'
import { getOrCreateSqlite } from '@nano/session'

const db = getOrCreateSqlite({ uri: ':memory:', create: true, readwrite: true })
const session = new Session(db)

create(userId: number, agent: string, language: string, ip = '')

Create a new Session for User. Agent and Language from User will be used to create a Hmac value in the DB. The IP is optional. If one of these values are changed, the session is invalid. After Creating the session you get a Random Token, and the userId as hash.

get(userHash: string, token: string, agent: string, language: string, ip = '')

Get Session for User. If session has expired, the entry will be removed from Database.

destroy(sessionId: number)

Remove single Session for User with id of Session.

destroyAll(userId: number)

Remove all session for a User with UserId.