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:
Boris D
2025-10-10 14:03:21 +03:00
parent 5513dccc11
commit 210253628c
13 changed files with 205 additions and 25 deletions

View File

@ -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 &&