Api
Version
mediamosa-30Class
mediamosa_rest_call_job_searchCode
File: /sites/all/modules/mediamosa/modules/job/mediamosa_job.rest.class.inc
<?php
/**
* URI: /job/$job_id/status
* /video/transcode/$job_id/status (deprecated)
* /mediafile/transcode/$job_id/status
*
* Method: GET
*
* Return list of jobs based on job_id
*
* 1.x: vpx_jobscheduler_get_job_details
*
*/
class mediamosa_rest_call_job_search extends mediamosa_rest_call {
// ------------------------------------------------------------------ Consts.
// Rest vars;
const USER_ID = 'user_id';
const JOB_ID = 'job_id';
// ------------------------------------------------------------ Get Var Setup.
public function get_var_setup() {
$var_setup = array();
$var_setup = array(
self::VARS => array(
self::USER_ID => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_USER_ID,
self::VAR_DESCRIPTION => 'The user ID for owner.',
self::VAR_IS_REQUIRED => self::VAR_IS_REQUIRED_YES,
),
self::JOB_ID => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_INT,
self::VAR_DESCRIPTION => 'The job ID to search on.',
self::VAR_IS_REQUIRED => self::VAR_IS_REQUIRED_YES,
),
)
);
// Enrich with required REST vars.
return self::get_var_setup_default($var_setup);
}
// ------------------------------------------------------------------ Do Call.
public function do_call() {
$mediamosa = mediamosa::get();
$a_app_ids = $this->get_param_value_app();
$app_id = reset($a_app_ids);
$is_app_admin = FALSE; //$this->get_param_value(self::IS_APP_ADMIN); (not supplied).
$user_id = $this->get_param_value(self::USER_ID);
$job_id = $this->get_param_value(self::JOB_ID);
// Must exists.
mediamosa_job::must_exists($job_id);
// Get the jobs from the user.
$result = mediamosa_job::get_job_list($app_id, $user_id, $is_app_admin, $job_id);
// Get the count.
$mediamosa->item_count_total = $result->found_rows;
// Build result.
foreach ($result as $a_row) {
$started_unix = isset($a_row[mediamosa_job_db::STARTED]) ? mediamosa_lib::iso8601date_to_unix($a_row[mediamosa_job_db::STARTED]) : '';
$a_job = array();
$a_job['id'] = $a_row[mediamosa_job_db::ID];
$a_job['owner'] = $a_row[mediamosa_job_db::OWNER_ID];
$a_job['status'] = $a_row[mediamosa_job_db::JOB_STATUS];
$a_job['progress'] = $a_row[mediamosa_job_db::PROGRESS];
$a_job['priority'] = $a_row[mediamosa_job_db::PRIORITY];
$a_job['job_type'] = $a_row[mediamosa_job_db::JOB_TYPE];
$a_job['started'] = $started_unix ? format_date($started_unix, 'custom', 'd-m-Y H:i') : '';
$a_job['started_unix'] = $started_unix;
$a_job['error_description'] = $a_row[mediamosa_job_db::ERROR_DESCRIPTION];
$mediamosa->add_item($a_job);
}
}
}