feat: implement session management with SessionService and SessionPlugin; refactor query execution to handle session cookies; update token and query handling for improved session tracking
This commit is contained in:
@ -5,10 +5,11 @@ import {
|
||||
Inject,
|
||||
Param,
|
||||
Post,
|
||||
Req,
|
||||
Res,
|
||||
UseGuards,
|
||||
} from "@nestjs/common";
|
||||
import { Response } from "express";
|
||||
import { Response, Request } from "express";
|
||||
import { QueryHandlerService } from "../handler/query.handler.service";
|
||||
import { ApiTokenGuard } from "src/api/guards/api-token.guard";
|
||||
import { QueryExecuterService } from "../executer/query.executer.service";
|
||||
@ -52,11 +53,22 @@ export abstract class BaseQueryController {
|
||||
const queryResult = await this.queryExecuterService.runQueryQueued(
|
||||
id,
|
||||
query,
|
||||
headers
|
||||
headers,
|
||||
headers.cookie.split("; ").reduce((acc, cookie) => {
|
||||
const [key, value] = cookie.split("=");
|
||||
acc[key] = value;
|
||||
return acc;
|
||||
}, {})
|
||||
);
|
||||
|
||||
res.status(queryResult?.statusCode || 200);
|
||||
|
||||
if (queryResult?.cookies) {
|
||||
for (const [key, value] of Object.entries(queryResult?.cookies || {})) {
|
||||
res.cookie(key, value);
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
queryResult?.redirect ||
|
||||
(queryResult?.statusCode === 302 &&
|
||||
|
||||
Reference in New Issue
Block a user