UNPKG

@paperbits/core

Version:
27 lines (24 loc) 1.66 kB
import { IInjector, IInjectorModule } from "@paperbits/common/injection"; import { RoleBasedSecurityModelBinder } from "@paperbits/common/security/roleBasedSecurityModelBinder"; import { RoleBasedSecuredBindingHandler } from "../ko/bindingHandlers/bindingHandlers.roleBasedSecured"; import { AccessContextToolButton } from "../workshops/accessContextToolbutton"; import { RoleBasedSecurityModelEditor } from "../workshops/roles/ko/roleBasedSecurityModelEditor"; import { RoleBasedSecurityModelEditorProvider } from "./roleBasedSecurityModelEditorProvider"; import { DefaultVisibilityCommandProvider } from "./defaultVisibilityCommandProvider"; export class RoleBasedSecurityDesignModule implements IInjectorModule { register(injector: IInjector): void { injector.bindSingleton("visibilityCommandProvider", RoleBasedSecurityModelEditorProvider); injector.bindToCollection("trayCommands", AccessContextToolButton); injector.bind("securityModelEditor", RoleBasedSecurityModelEditor); injector.bindSingleton("securityModelBinder", RoleBasedSecurityModelBinder); injector.bindToCollection("autostart", RoleBasedSecuredBindingHandler); } } export class NoOpSecurityDesignModule implements IInjectorModule { register(injector: IInjector): void { injector.bindSingleton("visibilityCommandProvider", DefaultVisibilityCommandProvider); injector.bind("securityModelEditor", RoleBasedSecurityModelEditor); injector.bindSingleton("securityModelBinder", RoleBasedSecurityModelBinder); injector.bindToCollection("autostart", RoleBasedSecuredBindingHandler); } }