Files
standardnotes-server/packages/workspace/src/Infra/InversifyExpressUtils/InversifyExpressInvitesController.ts
2022-10-11 15:24:21 +02:00

24 lines
909 B
TypeScript

import { Request, Response } from 'express'
import { inject } from 'inversify'
import { BaseHttpController, controller, httpPost, results } from 'inversify-express-utils'
import TYPES from '../../Bootstrap/Types'
import { WorkspacesController } from '../../Controller/WorkspacesController'
@controller('/invites', TYPES.ApiGatewayAuthMiddleware)
export class InversifyExpressInvitesController extends BaseHttpController {
constructor(@inject(TYPES.WorkspacesController) private workspacesController: WorkspacesController) {
super()
}
@httpPost('/:inviteUuid/accept')
async acceptInvite(request: Request, response: Response): Promise<results.JsonResult> {
const result = await this.workspacesController.acceptInvite({
...request.body,
inviteUuid: request.params.inviteUuid,
userUuid: response.locals.user.uuid,
})
return this.json(result.data, result.status)
}
}