mirror of
https://github.com/standardnotes/server
synced 2026-10-16 18:13:09 -04:00
80 lines
3.0 KiB
TypeScript
80 lines
3.0 KiB
TypeScript
import { Request } from 'express'
|
|
import { inject } from 'inversify'
|
|
import {
|
|
controller,
|
|
httpDelete,
|
|
httpGet,
|
|
httpPost,
|
|
|
|
results,
|
|
} from 'inversify-express-utils'
|
|
import TYPES from '../../Bootstrap/Types'
|
|
import { BaseAdminController } from './Base/BaseAdminController'
|
|
import { CreateOfflineSubscriptionToken } from '../../Domain/UseCase/CreateOfflineSubscriptionToken/CreateOfflineSubscriptionToken'
|
|
import { CreateSubscriptionToken } from '../../Domain/UseCase/CreateSubscriptionToken/CreateSubscriptionToken'
|
|
import { ClearLoginAttempts } from '../../Domain/UseCase/ClearLoginAttempts'
|
|
import { DeleteSetting } from '../../Domain/UseCase/DeleteSetting/DeleteSetting'
|
|
import { GetSetting } from './../../Domain/UseCase/GetSetting/GetSetting'
|
|
import { UserRepositoryInterface } from '../../Domain/User/UserRepositoryInterface'
|
|
|
|
@controller('/admin', TYPES.Auth_AdminKeyMiddleware)
|
|
export class AnnotatedAdminController extends BaseAdminController {
|
|
constructor(
|
|
@inject(TYPES.Auth_DeleteSetting) override doDeleteSetting: DeleteSetting,
|
|
@inject(TYPES.Auth_GetSetting) override doGetSetting: GetSetting,
|
|
@inject(TYPES.Auth_UserRepository) override userRepository: UserRepositoryInterface,
|
|
@inject(TYPES.Auth_CreateSubscriptionToken) override createSubscriptionToken: CreateSubscriptionToken,
|
|
@inject(TYPES.Auth_CreateOfflineSubscriptionToken)
|
|
override createOfflineSubscriptionToken: CreateOfflineSubscriptionToken,
|
|
@inject(TYPES.Auth_ClearLoginAttempts) override clearLoginAttempts: ClearLoginAttempts,
|
|
) {
|
|
super(
|
|
doDeleteSetting,
|
|
doGetSetting,
|
|
userRepository,
|
|
createSubscriptionToken,
|
|
createOfflineSubscriptionToken,
|
|
clearLoginAttempts,
|
|
)
|
|
}
|
|
|
|
@httpGet('/user/:email')
|
|
override async getUser(request: Request): Promise<results.JsonResult> {
|
|
return super.getUser(request)
|
|
}
|
|
|
|
@httpGet('/users/:userUuid/listed-code')
|
|
override async getListedCode(request: Request): Promise<results.JsonResult> {
|
|
return super.getListedCode(request)
|
|
}
|
|
|
|
@httpDelete('/users/:userUuid/mfa')
|
|
override async deleteMFASetting(request: Request): Promise<results.JsonResult> {
|
|
return super.deleteMFASetting(request)
|
|
}
|
|
|
|
@httpPost('/users/:userUuid/subscription-token')
|
|
override async createToken(request: Request): Promise<results.JsonResult> {
|
|
return super.createToken(request)
|
|
}
|
|
|
|
@httpPost('/users/:email/offline-subscription-token')
|
|
override async createOfflineToken(request: Request): Promise<results.JsonResult | results.BadRequestResult> {
|
|
return super.createOfflineToken(request)
|
|
}
|
|
|
|
@httpPost('/users/:userUuid/email-backups')
|
|
override async disableEmailBackups(
|
|
request: Request,
|
|
): Promise<results.BadRequestErrorMessageResult | results.OkResult> {
|
|
return super.disableEmailBackups(request)
|
|
}
|
|
|
|
@httpDelete('/users/:email/login-attempts')
|
|
override async deleteLoginAttempts(
|
|
request: Request,
|
|
): Promise<results.JsonResult | results.OkResult> {
|
|
return super.deleteLoginAttempts(request)
|
|
}
|
|
}
|