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
How to pass npm flag with Cloudflare workers during install
I have encountered an error forcing me to use the `legacy-peer-deps` flag with npm. But it is not so simple with Cloudflare workers because install command is not configurable easily. In this blog post, we'll look how to pass npm flag with Cloudflare workers.
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.
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.