mirror of
https://github.com/standardnotes/server
synced 2026-01-16 20:04:32 -05:00
* fix(api-gateway): reduce exports * wip controllers * fix: imports of controllers * fix(api-gateway): rename http service interface to proxy interface * wip: self-registering services and controllers * wip: add registering controller method bindings and services in container * feat: merge two services together * wip: resolving endpoints to direct code calls * wip: bind controller container to a singleton * fix: controller binding to instantiate and self-register on controller container * fix: move signout endpoint to auth controller * wip: define inversify controllers in the controller container * fix(auth): bind inversify controllers to controller container * fix(auth): linter issues * fix(auth): specs * fix(auth): inversify controllers bindings * wip: endpoint resolving * wip: add endpoint for more auth controllers * wip: add sessions controller endpoint resolvings * wip: add subscription invites endpoint resolvings * wip: add subscription tokens endpoint resolvings * wip: add all binding for auth server controllers * wip: fix migrations path * fix: configure default env vars and ci setup
64 lines
2.1 KiB
TypeScript
64 lines
2.1 KiB
TypeScript
import { Request, Response } from 'express'
|
|
import { inject } from 'inversify'
|
|
import { BaseHttpController, controller, httpDelete, httpGet, httpPost } from 'inversify-express-utils'
|
|
|
|
import { TYPES } from '../../Bootstrap/Types'
|
|
import { ServiceProxyInterface } from '../../Service/Http/ServiceProxyInterface'
|
|
import { EndpointResolverInterface } from '../../Service/Resolver/EndpointResolverInterface'
|
|
|
|
@controller('/v1/subscription-invites')
|
|
export class SubscriptionInvitesController extends BaseHttpController {
|
|
constructor(
|
|
@inject(TYPES.ServiceProxy) private httpService: ServiceProxyInterface,
|
|
@inject(TYPES.EndpointResolver) private endpointResolver: EndpointResolverInterface,
|
|
) {
|
|
super()
|
|
}
|
|
|
|
@httpPost('/', TYPES.AuthMiddleware)
|
|
async inviteToSubscriptionSharing(request: Request, response: Response): Promise<void> {
|
|
await this.httpService.callAuthServer(
|
|
request,
|
|
response,
|
|
this.endpointResolver.resolveEndpointOrMethodIdentifier('POST', 'subscription-invites'),
|
|
request.body,
|
|
)
|
|
}
|
|
|
|
@httpGet('/', TYPES.AuthMiddleware)
|
|
async listInvites(request: Request, response: Response): Promise<void> {
|
|
await this.httpService.callAuthServer(
|
|
request,
|
|
response,
|
|
this.endpointResolver.resolveEndpointOrMethodIdentifier('GET', 'subscription-invites'),
|
|
request.body,
|
|
)
|
|
}
|
|
|
|
@httpDelete('/:inviteUuid', TYPES.AuthMiddleware)
|
|
async cancelSubscriptionSharing(request: Request, response: Response): Promise<void> {
|
|
await this.httpService.callAuthServer(
|
|
request,
|
|
response,
|
|
this.endpointResolver.resolveEndpointOrMethodIdentifier(
|
|
'DELETE',
|
|
'subscription-invites/:inviteUuid',
|
|
request.params.inviteUuid,
|
|
),
|
|
)
|
|
}
|
|
|
|
@httpPost('/:inviteUuid/accept', TYPES.AuthMiddleware)
|
|
async acceptInvite(request: Request, response: Response): Promise<void> {
|
|
await this.httpService.callAuthServer(
|
|
request,
|
|
response,
|
|
this.endpointResolver.resolveEndpointOrMethodIdentifier(
|
|
'POST',
|
|
'subscription-invites/:inviteUuid/accept',
|
|
request.params.inviteUuid,
|
|
),
|
|
)
|
|
}
|
|
}
|