ldc-groupe/public/app/plugins/wpml-string-translation/StringTranslation/UserInterface/RestApi/AbstractItemApiController.php

77 lines
2.1 KiB
PHP
Raw Normal View History

2025-04-02 09:41:51 +02:00
<?php
namespace WPML\StringTranslation\UserInterface\RestApi;
use WPML\StringTranslation\Application\StringPackage\Query\Criteria\StringPackageCriteria;
use WPML\StringTranslation\Application\StringPackage\Query\Dto\StringPackageWithTranslationStatusDto;
use WPML\Rest\Adaptor;
use WPML\StringTranslation\Application\StringPackage\Query\FindStringPackagesQueryInterface;
use WPML\API\Sanitize;
abstract class AbstractItemApiController extends AbstractController
{
abstract protected function getValidParametersForItems( array $extend = [] );
protected function getValidParameters( $extend = [] ) {
return array_merge( $extend, [
'type' => [
'type' => 'string',
'sanitize_callback' => [ 'WPML_REST_Arguments_Sanitation', 'string' ],
],
'title' => [
'type' => 'string',
],
'sourceLanguageCode' => [
'type' => 'string',
'sanitize_callback' => [ 'WPML_REST_Arguments_Sanitation', 'string' ],
],
'targetLanguageCode' => [
'type' => 'string',
'sanitize_callback' => [ 'WPML_REST_Arguments_Sanitation', 'string' ],
],
'translationStatuses' => [
'default' => [],
'sanitize_callback' => [ $this, 'sanitizeTranslationStatuses' ],
'validate_callback' => [ $this, 'validateTranslationStatuses' ],
],
'limit' => [
'type' => 'integer',
'default' => 10,
'validate_callback' => array( 'WPML_REST_Arguments_Validation', 'integer' ),
],
'offset' => [
'type' => 'integer',
'default' => 0,
'validate_callback' => array( 'WPML_REST_Arguments_Validation', 'integer' ),
],
'sorting' => [
'default' => null,
'validate_callback' => [ \WPML_REST_Arguments_Validation::class, 'is_array' ]
],
]);
}
/**
* @return array
*/
abstract function get_routes();
/**
* @param $translationStatuses
* @return bool
*/
public function validateTranslationStatuses($translationStatuses)
{
return is_array($translationStatuses);
}
/**
* @param $translationStatuses
* @return int[]
*/
public function sanitizeTranslationStatuses($translationStatuses)
{
return array_map('intval', $translationStatuses);
}
}