Skip to main content

SessionService

Contains methods relating to Session entities.

Signature
  • Implements: EntitySubscriberInterface, OnApplicationBootstrap

constructor

method(connection: TransactionalConnection, configService: ConfigService, orderService: OrderService, jobQueueService: JobQueueService, requestContextService: RequestContextService) => SessionService

onApplicationBootstrap

method() =>

createNewAuthenticatedSession

method(ctx: RequestContext, user: User, authenticationStrategyName: string) => Promise<AuthenticatedSession>

Creates a new AuthenticatedSession. To be used after successful authentication.

createAnonymousSession

method() => Promise<CachedSession>

Create an AnonymousSession and caches it using the configured SessionCacheStrategy, and returns the cached session object.

getSessionFromToken

method(sessionToken: string) => Promise<CachedSession | undefined>

Returns the cached session object matching the given session token.

serializeSession

Serializes a Session instance into a simplified plain object suitable for caching.

setActiveOrder

method(ctx: RequestContext, serializedSession: CachedSession, order: Order) => Promise<CachedSession>

Sets the activeOrder on the given cached session object and updates the cache.

unsetActiveOrder

method(ctx: RequestContext, serializedSession: CachedSession) => Promise<CachedSession>

Clears the activeOrder on the given cached session object and updates the cache.

setActiveChannel

method(serializedSession: CachedSession, channel: Channel) => Promise<CachedSession>

Sets the activeChannel on the given cached session object and updates the cache.

deleteSessionsByUser

method(ctx: RequestContext, user: User) => Promise<void>

Deletes all existing sessions for the given user.

deleteSessionsByActiveOrderId

method(ctx: RequestContext, activeOrderId: ID) => Promise<void>

Deletes all existing sessions with the given activeOrder.

triggerCleanSessionsJob

method(batchSize: number) =>

Triggers the clean sessions job.

cleanExpiredSessions

method(ctx: RequestContext, batchSize: number) =>

Cleans expired sessions from the database & the session cache.

Was this chapter helpful?
Report Issue
Edited Feb 25, 2026ยทEdit this page