Suppression_Settings_Config::class, ); public function register( Service_Container $container ) { parent::register( $container ); $this->container->add( self::SUPPRESSED_EMAILS_MODEL, function () { return new Suppressed_Emails_Model(); } ); $this->container->add( self::GET_PAGINATED_ITEMS_ENDPOINT, function () use ( $container ) { return new Get_Paginated_Items( $container->get( self::SUPPRESSED_EMAILS_MODEL ) ); } ); $this->container->add( self::ADD_SUPPRESSED_EMAILS_ENDPOINT, function () use ( $container ) { return new Add_Suppressed_Emails_Endpoint( $container->get( self::SUPPRESSED_EMAILS_MODEL ) ); } ); $this->container->add( self::REACTIVATE_SUPPRESSED_EMAILS_ENDPOINT, function () use ( $container ) { return new Reactivate_Suppressed_Emails_Endpoint( $container->get( self::SUPPRESSED_EMAILS_MODEL ) ); } ); } public function init( Service_Container $container ) { add_action( 'wp_ajax_' . Get_Paginated_Items::ACTION_NAME, function () use ( $container ) { $container->get( self::GET_PAGINATED_ITEMS_ENDPOINT )->handle(); } ); add_action( 'wp_ajax_' . Add_Suppressed_Emails_Endpoint::ACTION_NAME, function () use ( $container ) { $container->get( self::ADD_SUPPRESSED_EMAILS_ENDPOINT )->handle(); } ); add_action( 'wp_ajax_' . Reactivate_Suppressed_Emails_Endpoint::ACTION_NAME, function () use ( $container ) { $container->get( self::REACTIVATE_SUPPRESSED_EMAILS_ENDPOINT )->handle(); } ); } }