fix(gateway): system override TTL 5min → 7 days (#189)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
This commit was merged in pull request #189.
This commit is contained in:
@@ -2,7 +2,7 @@ import { Injectable, Logger } from '@nestjs/common';
|
|||||||
import { createQueue, type QueueHandle } from '@mosaic/queue';
|
import { createQueue, type QueueHandle } from '@mosaic/queue';
|
||||||
|
|
||||||
const SESSION_SYSTEM_KEY = (sessionId: string) => `mosaic:session:${sessionId}:system`;
|
const SESSION_SYSTEM_KEY = (sessionId: string) => `mosaic:session:${sessionId}:system`;
|
||||||
const TTL_SECONDS = 5 * 60; // 5 minutes, renewed on each turn
|
const SYSTEM_OVERRIDE_TTL_SECONDS = 604800; // 7 days
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class SystemOverrideService {
|
export class SystemOverrideService {
|
||||||
@@ -14,8 +14,14 @@ export class SystemOverrideService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async set(sessionId: string, override: string): Promise<void> {
|
async set(sessionId: string, override: string): Promise<void> {
|
||||||
await this.handle.redis.setex(SESSION_SYSTEM_KEY(sessionId), TTL_SECONDS, override);
|
await this.handle.redis.setex(
|
||||||
this.logger.debug(`Set system override for session ${sessionId} (TTL=${TTL_SECONDS}s)`);
|
SESSION_SYSTEM_KEY(sessionId),
|
||||||
|
SYSTEM_OVERRIDE_TTL_SECONDS,
|
||||||
|
override,
|
||||||
|
);
|
||||||
|
this.logger.debug(
|
||||||
|
`Set system override for session ${sessionId} (TTL=${SYSTEM_OVERRIDE_TTL_SECONDS}s)`,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
async get(sessionId: string): Promise<string | null> {
|
async get(sessionId: string): Promise<string | null> {
|
||||||
@@ -23,7 +29,7 @@ export class SystemOverrideService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async renew(sessionId: string): Promise<void> {
|
async renew(sessionId: string): Promise<void> {
|
||||||
await this.handle.redis.expire(SESSION_SYSTEM_KEY(sessionId), TTL_SECONDS);
|
await this.handle.redis.expire(SESSION_SYSTEM_KEY(sessionId), SYSTEM_OVERRIDE_TTL_SECONDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
async clear(sessionId: string): Promise<void> {
|
async clear(sessionId: string): Promise<void> {
|
||||||
|
|||||||
Reference in New Issue
Block a user