mirror of
https://github.com/standardnotes/server
synced 2026-07-14 00:01:54 -04:00
54 lines
1.8 KiB
TypeScript
54 lines
1.8 KiB
TypeScript
import { inject } from 'inversify'
|
|
import { Request, Response } from 'express'
|
|
import { controller, BaseHttpController, httpPost, httpGet } from 'inversify-express-utils'
|
|
|
|
import TYPES from '../../Bootstrap/Types'
|
|
import { HttpServiceInterface } from '../../Service/Http/HttpServiceInterface'
|
|
|
|
@controller('/v1/workspaces', TYPES.AuthMiddleware)
|
|
export class WorkspacesController extends BaseHttpController {
|
|
constructor(@inject(TYPES.HTTPService) private httpService: HttpServiceInterface) {
|
|
super()
|
|
}
|
|
|
|
@httpPost('/')
|
|
async create(request: Request, response: Response): Promise<void> {
|
|
await this.httpService.callWorkspaceServer(request, response, 'workspaces', request.body)
|
|
}
|
|
|
|
@httpGet('/:workspaceUuid/users')
|
|
async listWorkspaceUsers(request: Request, response: Response): Promise<void> {
|
|
await this.httpService.callWorkspaceServer(
|
|
request,
|
|
response,
|
|
`workspaces/${request.params.workspaceUuid}/users`,
|
|
request.body,
|
|
)
|
|
}
|
|
|
|
@httpPost('/:workspaceUuid/users/:userUuid/keyshare')
|
|
async initiateKeyshare(request: Request, response: Response): Promise<void> {
|
|
await this.httpService.callWorkspaceServer(
|
|
request,
|
|
response,
|
|
`workspaces/${request.params.workspaceUuid}/users/${request.params.userUuid}/keyshare`,
|
|
request.body,
|
|
)
|
|
}
|
|
|
|
@httpGet('/')
|
|
async listWorkspaces(request: Request, response: Response): Promise<void> {
|
|
await this.httpService.callWorkspaceServer(request, response, 'workspaces', request.body)
|
|
}
|
|
|
|
@httpPost('/:workspaceUuid/invites')
|
|
async invite(request: Request, response: Response): Promise<void> {
|
|
await this.httpService.callWorkspaceServer(
|
|
request,
|
|
response,
|
|
`workspaces/${request.params.workspaceUuid}/invites`,
|
|
request.body,
|
|
)
|
|
}
|
|
}
|