Files
standardnotes-server/packages/auth/src/Controller/SubscriptionSettingsController.ts
T

34 lines
1.2 KiB
TypeScript

import { SubscriptionSettingName } from '@standardnotes/settings'
import { Request, Response } from 'express'
import { inject } from 'inversify'
import {
BaseHttpController,
controller,
httpGet,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
results,
} from 'inversify-express-utils'
import TYPES from '../Bootstrap/Types'
import { GetSubscriptionSetting } from '../Domain/UseCase/GetSubscriptionSetting/GetSubscriptionSetting'
@controller('/users/:userUuid')
export class SubscriptionSettingsController extends BaseHttpController {
constructor(@inject(TYPES.GetSubscriptionSetting) private doGetSubscriptionSetting: GetSubscriptionSetting) {
super()
}
@httpGet('/subscription-settings/:subscriptionSettingName', TYPES.ApiGatewayAuthMiddleware)
async getSubscriptionSetting(request: Request, response: Response): Promise<results.JsonResult> {
const result = await this.doGetSubscriptionSetting.execute({
userUuid: response.locals.user.uuid,
subscriptionSettingName: request.params.subscriptionSettingName as SubscriptionSettingName,
})
if (result.success) {
return this.json(result)
}
return this.json(result, 400)
}
}