Files
standardnotes-server/packages/auth/src/Infra/InversifyExpressUtils/InversifyExpressSessionsController.ts
T
Karol SójkoandGitHub c7d575a0ff feat: add files server as a service to home-server (#614)
* wip: add files server as a service to home-server

* wip: introduce home-server controllers without inversify-express-utils decorators. Move in progress

* fix(auth): move remaining home server controllers

* fix(syncing-server): home server controllers

* fix(revisions): home server controllers

* fix: specs

* fix: import for legacy controller

* fix: remove router debug
2023-05-29 14:45:49 +02:00

40 lines
1.8 KiB
TypeScript

import { Request, Response } from 'express'
import { inject } from 'inversify'
import {
controller,
httpGet,
httpPost,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
results,
} from 'inversify-express-utils'
import TYPES from '../../Bootstrap/Types'
import { AuthenticateRequest } from '../../Domain/UseCase/AuthenticateRequest'
import { CreateCrossServiceToken } from '../../Domain/UseCase/CreateCrossServiceToken/CreateCrossServiceToken'
import { GetActiveSessionsForUser } from '../../Domain/UseCase/GetActiveSessionsForUser'
import { ProjectorInterface } from '../../Projection/ProjectorInterface'
import { Session } from '../../Domain/Session/Session'
import { HomeServerSessionsController } from './HomeServer/HomeServerSessionsController'
@controller('/sessions')
export class InversifyExpressSessionsController extends HomeServerSessionsController {
constructor(
@inject(TYPES.Auth_GetActiveSessionsForUser) override getActiveSessionsForUser: GetActiveSessionsForUser,
@inject(TYPES.Auth_AuthenticateRequest) override authenticateRequest: AuthenticateRequest,
@inject(TYPES.Auth_SessionProjector) override sessionProjector: ProjectorInterface<Session>,
@inject(TYPES.Auth_CreateCrossServiceToken) override createCrossServiceToken: CreateCrossServiceToken,
) {
super(getActiveSessionsForUser, authenticateRequest, sessionProjector, createCrossServiceToken)
}
@httpPost('/validate')
override async validate(request: Request): Promise<results.JsonResult> {
return super.validate(request)
}
@httpGet('/', TYPES.Auth_RequiredCrossServiceTokenMiddleware, TYPES.Auth_SessionMiddleware)
override async getSessions(_request: Request, response: Response): Promise<results.JsonResult> {
return super.getSessions(_request, response)
}
}