UNPKG

apim-developer-portal2

Version:

API management developer portal

30 lines (23 loc) 1.31 kB
import { ViewModelBinder } from "@paperbits/common/widgets"; import { ResetPasswordViewModel } from "./resetPasswordViewModel"; import { ResetPasswordModel } from "../resetPasswordModel"; import { Bag } from "@paperbits/common"; import { ISettingsProvider } from "@paperbits/common/configuration/ISettingsProvider"; export class ResetPasswordViewModelBinder implements ViewModelBinder<ResetPasswordModel, ResetPasswordViewModel> { constructor(private readonly settingsProvider: ISettingsProvider) {} public async modelToViewModel(model: ResetPasswordModel, viewModel?: ResetPasswordViewModel, bindingContext?: Bag<any>): Promise<ResetPasswordViewModel> { if (!viewModel) { viewModel = new ResetPasswordViewModel(); viewModel["widgetBinding"] = { displayName: "Password: reset form", model: model }; } const useHipCaptcha = await this.settingsProvider.getSetting<boolean>("useHipCaptcha"); viewModel.runtimeConfig(JSON.stringify({ requireHipCaptcha: useHipCaptcha === undefined ? true : useHipCaptcha })); return viewModel; } public canHandleModel(model: ResetPasswordModel): boolean { return model instanceof ResetPasswordModel; } }