function __construct(BackendSingletonContainer $container, Mailbox $mailbox)
 {
     parent::__construct($mailbox, 'Mailbox');
     $this->container = $container;
     $this->whitelistFunction('Mailbox', 'setName', 'getName', 'setPassword', 'checkPassword', 'getAddress', 'getAddressLibrary', 'getDomain', 'getInstance', 'getDomainLibrary', 'lastModified');
     $this->addGetInstanceFunction('Mailbox');
     $this->addTypeAuthFunction('Mailbox', $this->currentUserLoggedInAuthFunction($this->container));
     $this->addFunctionAuthFunction('Mailbox', 'setName', $this->wrapFunction([$this, "isOwnerAuthFunction"]));
     $this->addFunctionAuthFunction('Mailbox', 'setPassword', $this->wrapFunction([$this, "isOwnerAuthFunction"]));
 }
 function __construct(BackendSingletonContainer $container, Address $address)
 {
     $this->container = $container;
     parent::__construct($address);
     $this->addAlias('MailAddress', ['ChristianBudde\\Part\\model\\mail\\Address']);
     $this->whitelistType('MailAddress');
     $this->whitelistFunction('MailAddress', 'getLocalPart', 'setLocalPart', 'isActive', 'lastModified', 'getDomain', 'getAddressLibrary', 'activate', 'deactivate', 'getTargets', 'addTarget', 'removeTarget', 'hasTarget', 'getMailbox', 'hasMailbox', 'createMailbox', 'getInstance', 'deleteMailbox', 'getDomainLibrary', 'getId', 'addOwner', 'removeOwner', 'isOwner', 'listOwners');
     $this->addGetInstanceFunction('MailAddress');
     $this->setUpAuth();
 }
 function __construct(BackendSingletonContainer $container, DomainLibrary $library)
 {
     parent::__construct($library);
     $this->addAlias('MailDomainLibrary', ['ChristianBudde\\Part\\model\\mail\\DomainLibrary']);
     $this->whitelistType('MailDomainLibrary');
     $this->addGetInstanceFunction('MailDomainLibrary');
     $this->addFunctionAuthFunction('MailDomainLibrary', 'deleteDomain', $this->currentUserSitePrivilegesAuthFunction($container));
     $this->addFunctionAuthFunction('MailDomainLibrary', 'createDomain', $this->currentUserSitePrivilegesAuthFunction($container));
     $this->addTypeAuthFunction('MailDomainLibrary', $this->currentUserLoggedInAuthFunction($container));
 }
 function __construct(BackendSingletonContainer $container, Domain $domain)
 {
     $this->container = $container;
     $this->domain = $domain;
     parent::__construct($domain);
     $this->addAlias('MailDomain', ['ChristianBudde\\Part\\model\\mail\\Domain']);
     $this->whitelistType('MailDomain');
     $this->whitelistFunction('MailDomain', 'getDomainName', 'isActive', 'activate', 'deactivate', 'getDescription', 'setDescription', 'lastModified', 'getAddressLibrary', 'isAliasDomain', 'setAliasTarget', 'getInstance', 'getAliasTarget', 'clearAliasTarget', 'getDomainLibrary');
     $this->addGetInstanceFunction('MailDomain');
     $this->addFunctionAuthFunction('MailDomain', 'clearAliasTarget', $this->currentUserSitePrivilegesAuthFunction($container));
     $this->addFunctionAuthFunction('MailDomain', 'setAliasTarget', $this->currentUserSitePrivilegesAuthFunction($container));
     $this->addFunctionAuthFunction('MailDomain', 'setDescription', $this->currentUserSitePrivilegesAuthFunction($container));
     $this->addFunctionAuthFunction('MailDomain', 'activate', $this->currentUserSitePrivilegesAuthFunction($container));
     $this->addFunctionAuthFunction('MailDomain', 'deactivate', $this->currentUserSitePrivilegesAuthFunction($container));
     $this->addTypeAuthFunction('MailDomainLibrary', $this->currentUserLoggedInAuthFunction($container));
 }