first commit
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Class WPML_TP_API_Batches
|
||||
*/
|
||||
class WPML_TP_API_Batches extends WPML_TP_Abstract_API {
|
||||
|
||||
const API_VERSION = 1.1;
|
||||
const CREATE_BATCH_ENDPOINT = '/projects/{project_id}/batches.json';
|
||||
const ADD_JOB_ENDPOINT = '/batches/{batch_id}/jobs.json';
|
||||
|
||||
private $endpoint_uri;
|
||||
|
||||
protected function get_endpoint_uri() {
|
||||
return $this->endpoint_uri;
|
||||
}
|
||||
|
||||
protected function is_authenticated() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws WPML_TP_Batch_Exception
|
||||
*
|
||||
* @param array $batch_data
|
||||
* @param false|array $extra_fields
|
||||
*
|
||||
* @return false|stdClass
|
||||
*
|
||||
* @link https://git.onthegosystems.com/tp/translation-proxy/wikis/create_batch_job
|
||||
*/
|
||||
public function create( array $batch_data, $extra_fields ) {
|
||||
$batch = false;
|
||||
$this->endpoint_uri = self::CREATE_BATCH_ENDPOINT;
|
||||
|
||||
$params = array(
|
||||
'api_version' => self::API_VERSION,
|
||||
'project_id' => $this->tp_client->get_project()->get_id(),
|
||||
'batch' => $batch_data,
|
||||
);
|
||||
|
||||
if ( $extra_fields ) {
|
||||
$params['extra_fields'] = $extra_fields;
|
||||
}
|
||||
|
||||
$response = $this->post( $params );
|
||||
|
||||
if ( $this->get_exception() ) {
|
||||
throw new WPML_TP_Batch_Exception( $this->get_error_message() );
|
||||
}
|
||||
|
||||
if ( $response ) {
|
||||
$batch = new WPML_TP_Batch( $response->batch );
|
||||
}
|
||||
|
||||
return $batch;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $batch_id
|
||||
* @param array $job_data
|
||||
*
|
||||
* @return false|WPML_TP_Job
|
||||
*
|
||||
* @link https://git.onthegosystems.com/tp/translation-proxy/wikis/add_files_batch_job
|
||||
*/
|
||||
public function add_job( $batch_id, array $job_data ) {
|
||||
$job = false;
|
||||
$this->endpoint_uri = self::ADD_JOB_ENDPOINT;
|
||||
|
||||
$params = array(
|
||||
'api_version' => self::API_VERSION,
|
||||
'batch_id' => $batch_id,
|
||||
'job' => $job_data,
|
||||
);
|
||||
|
||||
$response = $this->post( $params );
|
||||
|
||||
if ( $response ) {
|
||||
$job = new WPML_TP_Job( $response->job );
|
||||
}
|
||||
|
||||
return $job;
|
||||
}
|
||||
|
||||
/**
|
||||
* @link https://git.onthegosystems.com/tp/translation-proxy/wikis/commit_batch_job
|
||||
*/
|
||||
public function commit() {
|
||||
// To be implemented
|
||||
}
|
||||
|
||||
/**
|
||||
* @link https://git.onthegosystems.com/tp/translation-proxy/wikis/send-preview-bundle-job
|
||||
*/
|
||||
public function send_preview_bundle() {
|
||||
// To be implemented
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user