Extends Express session SessionData type
Emmanuel Gautier / October 30, 2022
1 min read
Express Session provides a way to store data shared across different HTTP Requests. The mechanism is to set a cookie with a session id, then retrieve and store data by this id during each request processing. This mechanism allows to store a lot of different data. There is a Typescript type named SessionData
which allows knowing what contains a session but not the data you will define after without defining them.
To define what is the content of the SessionData type globally in the application, you have to define a file global.d.ts
and declare the content of the typing. Here is an example of what can contain the global.d.ts
defined:
declare global {
declare module 'express-session' {
interface SessionData {
userId?: string
}
}
}
The properties should be always optional since the session created is empty when created.
This way to define session data is the same as every framework using express-session package. NestJS exposes a way to access sessions with express session or the fastify equivalent. This typing definition is exactly the same as NestJS.
Consulting
If you're seeking solutions to a problem or need expert advice, I'm here to help! Don't hesitate to book a call with me for a consulting session. Let's discuss your situation and find the best solution together.
Related Posts
Migrate URLs in Next.js
How to migrate URLs in Next.js to avoid 404 errors and improve SEO with permanent redirects.
Inject HTML content into an Astro component
While working on a project within the Astro framework, I encountered a scenario where I needed to fill HTML content within a script tag.
Read Package.json file from Node.JS module
When you write a program you may want to read the content of the package.json file like what is the current package version. Here is one very simple way to read the content of this file.
Featured Posts
Introducing new blog about OAuth, OpenID Connect, and IAM Solutions
I'm excited to announce the launch of a new blog named CerberAuth, where I'll be exploring the world of OAuth, OpenID Connect, and IAM solutions for modern security.
How to deal with Docker Hub rate limit on AWS
Since 2020, DockerHub has been limited to only 200 container image pull requests per six hours. This article will help you to deal with this limitation on AWS.
How to enable Python type checking in VSCode
Python now has support for type hints. In this article, we will see how to enable better IntelliSense and type checking analysis in VSCode.