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
|
1 month ago | |
---|---|---|
src | 4 months ago | |
test | 4 months ago | |
.env.test | 4 months ago | |
.gitignore | 4 months ago | |
LICENSE | 5 months ago | |
README.md | 4 months ago | |
bun.lockb | 1 month ago | |
bunfig.toml | 5 months ago | |
index.ts | 4 months ago | |
package.json | 1 month 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.