src/session/session-config.controller.ts
session-config
Controller for managing session storage configuration. Accessible by tenant members with appropriate permissions.
Methods |
| getConfig | ||||||
getConfig(token: TokenPayload)
|
||||||
Decorators :
@Get()
|
||||||
|
Defined in src/session/session-config.controller.ts:34
|
||||||
|
Get the current session storage configuration for the authenticated tenant.
Parameters :
Returns :
Promise<SessionStorageConfig | null>
|
| resetConfig | ||||||
resetConfig(token: TokenPayload)
|
||||||
Decorators :
@Delete()
|
||||||
|
Defined in src/session/session-config.controller.ts:74
|
||||||
|
Reset the session storage configuration to defaults.
Parameters :
Returns :
Promise<void>
|
| updateConfig | |||||||||
updateConfig(token: TokenPayload, config: UpdateSessionConfigDto)
|
|||||||||
Decorators :
@Put()
|
|||||||||
|
Defined in src/session/session-config.controller.ts:54
|
|||||||||
|
Update the session storage configuration for the authenticated tenant.
Parameters :
Returns :
Promise<SessionStorageConfig>
|
import { Body, Controller, Delete, Get, Put } from "@nestjs/common";
import { ApiOperation, ApiResponse, ApiTags } from "@nestjs/swagger";
import { Role } from "../auth/roles/role.enum";
import { Secured } from "../auth/secure.decorator";
import { SessionStorageConfig } from "../auth/tenant/entitites/session-storage-config";
import { Token, TokenPayload } from "../auth/token.decorator";
import { UpdateSessionConfigDto } from "./dto/update-session-config.dto";
import { SessionConfigService } from "./session-config.service";
/**
* Controller for managing session storage configuration.
* Accessible by tenant members with appropriate permissions.
*/
@ApiTags("Session")
@Secured([Role.Issuances, Role.Presentations])
@Controller("session-config")
export class SessionConfigController {
constructor(private readonly sessionConfigService: SessionConfigService) {}
/**
* Get the current session storage configuration for the authenticated tenant.
*/
@Get()
@ApiOperation({
summary: "Get session storage configuration",
description:
"Returns the session storage configuration for the current tenant.",
})
@ApiResponse({
status: 200,
description: "The session storage configuration",
type: SessionStorageConfig,
})
getConfig(
@Token() token: TokenPayload,
): Promise<SessionStorageConfig | null> {
return this.sessionConfigService.getConfig(token.entity!.id);
}
/**
* Update the session storage configuration for the authenticated tenant.
*/
@Put()
@ApiOperation({
summary: "Update session storage configuration",
description:
"Updates the session storage configuration for the current tenant.",
})
@ApiResponse({
status: 200,
description: "The updated session storage configuration",
type: SessionStorageConfig,
})
updateConfig(
@Token() token: TokenPayload,
@Body() config: UpdateSessionConfigDto,
): Promise<SessionStorageConfig> {
return this.sessionConfigService.updateConfig(token.entity!.id, config);
}
/**
* Reset the session storage configuration to defaults.
*/
@Delete()
@ApiOperation({
summary: "Reset session storage configuration",
description:
"Resets the session storage configuration to use global defaults.",
})
@ApiResponse({
status: 200,
description: "Configuration reset successfully",
})
resetConfig(@Token() token: TokenPayload): Promise<void> {
return this.sessionConfigService.resetConfig(token.entity!.id);
}
}