mirror of
https://github.com/standardnotes/server
synced 2026-07-14 00:01:54 -04:00
30 lines
1.2 KiB
TypeScript
30 lines
1.2 KiB
TypeScript
import { SessionBody } from '@standardnotes/responses'
|
|
import { User } from '../User/User'
|
|
import { RevokedSession } from './RevokedSession'
|
|
import { Session } from './Session'
|
|
|
|
export interface SessionServiceInterface {
|
|
createNewSessionForUser(dto: {
|
|
user: User
|
|
apiVersion: string
|
|
userAgent: string
|
|
readonlyAccess: boolean
|
|
}): Promise<SessionBody>
|
|
createNewEphemeralSessionForUser(dto: {
|
|
user: User
|
|
apiVersion: string
|
|
userAgent: string
|
|
readonlyAccess: boolean
|
|
}): Promise<SessionBody>
|
|
refreshTokens(session: Session): Promise<SessionBody>
|
|
getSessionFromToken(token: string): Promise<Session | undefined>
|
|
getRevokedSessionFromToken(token: string): Promise<RevokedSession | null>
|
|
markRevokedSessionAsReceived(revokedSession: RevokedSession): Promise<RevokedSession>
|
|
deleteSessionByToken(token: string): Promise<string | null>
|
|
isRefreshTokenMatchingHashedSessionToken(session: Session, token: string): boolean
|
|
getDeviceInfo(session: Session): string
|
|
getOperatingSystemInfoFromUserAgent(userAgent: string): string
|
|
getBrowserInfoFromUserAgent(userAgent: string): string
|
|
createRevokedSession(session: Session): Promise<RevokedSession>
|
|
}
|