Api
Version
mediamosa-30Class
mediamosa_rest_call_asset_updateCode
File: /sites/all/modules/mediamosa/modules/asset/mediamosa_asset.rest.class.inc
<?php
/**
* URI: /asset/$asset_id
* Method: POST
*
* Update asset.
*
* 1.x: media_management_update_asset
*/
class mediamosa_rest_call_asset_update extends mediamosa_rest_call {
// ------------------------------------------------------------------ Consts.
// Rest vars;
const ASSET_ID = 'asset_id';
const USER_ID = 'user_id';
const PLAY_RESTRICTION_START = 'play_restriction_start';
const PLAY_RESTRICTION_END = 'play_restriction_end';
const ISPRIVATE = 'isprivate';
const ISPRIVATE_TRUE = 'TRUE';
const ISPRIVATE_FALSE = 'FALSE';
const IS_UNAPPROPRIATE = 'is_unappropriate';
const IS_INAPPROPRIATE = 'is_inappropriate';
const OWNER_ID = 'owner_id';
const GROUP_ID = 'group_id';
const REFERENCE_ID = 'reference_id';
// ------------------------------------------------------------------ Get Var Setup.
public function get_var_setup() {
$a_var_setup = array();
$a_var_setup = array(
self::VARS => array(
self::ASSET_ID => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_ASSET_ID,
self::VAR_DESCRIPTION => 'The ID of the asset to update.',
self::VAR_IS_REQUIRED => self::VAR_IS_REQUIRED_YES,
),
self::USER_ID => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_USER_ID,
self::VAR_DESCRIPTION => 'The user ID used for authotication.',
self::VAR_IS_REQUIRED => self::VAR_IS_REQUIRED_YES,
),
self::PLAY_RESTRICTION_START => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_DATETIME_UTC,// Will skip UTC conversion.
self::VAR_DESCRIPTION => 'The play restriction range start position.',
),
self::PLAY_RESTRICTION_END => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_DATETIME_UTC,// Will skip UTC conversion.
self::VAR_DESCRIPTION => 'The play restriction range end position.',
),
self::ISPRIVATE => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_BOOL,
self::VAR_DESCRIPTION => 'If isprivate = true, then the asset is not displayed in public lists, such as top 10, last uploaded, etc.',
),
self::IS_INAPPROPRIATE => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_BOOL,
self::VAR_DESCRIPTION => 'If is_inappropiate = true then only the owner or the app admin (and underlying media files) can see this asset. Only the app manager can change this flag(is_app_admin=true).',
),
self::IS_UNAPPROPRIATE => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_BOOL,
self::VAR_DESCRIPTION => 'Alias, same as is_inappropriate.',
self::VAR_DEFAULT_VALUE => NULL,
self::VAR_IS_HIDDEN => self::VAR_IS_HIDDEN_YES,
),
self::OWNER_ID => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_USER_ID,
self::VAR_DESCRIPTION => 'The possible new owner of the asset; Only the app manager can change this flag (is_app_admin=true).',
),
self::GROUP_ID => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_USER_ID,
self::VAR_DESCRIPTION => 'The possible new group of the asset; Only the app manager can change this flag(is_app_admin=true).',
),
self::REFERENCE_ID => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_STRING,
self::VAR_DESCRIPTION => 'The reference ID.',
),
)
);
// Include default.
return self::get_var_setup_default($a_var_setup);
}
// ------------------------------------------------------------------ Do Call.
public function do_call() {
$mediamosa = mediamosa::get();
$app_ids = $this->get_param_value_app();
$app_id = reset($app_ids);
$is_app_admin = $this->get_param_value(self::IS_APP_ADMIN);
$asset_id = $this->get_param_value(self::ASSET_ID);
$user_id = $this->get_param_value(self::USER_ID);
$owner_id = $this->get_param_value(self::OWNER_ID);
$group_id = $this->get_param_value(self::GROUP_ID);
$play_restriction_start = $this->get_param_value(self::PLAY_RESTRICTION_START);
$play_restriction_end = $this->get_param_value(self::PLAY_RESTRICTION_END);
$isprivate = $this->get_param_value(self::ISPRIVATE);
$reference_id = $this->get_param_value(self::REFERENCE_ID);
// If is_inappropriate is set, we'll use that one.
if ($this->isset_given_param(self::IS_INAPPROPRIATE)) {
$this->set_param_value(self::IS_UNAPPROPRIATE, $this->get_param_value(self::IS_INAPPROPRIATE));
}
$is_unappropriate = $this->get_param_value(self::IS_UNAPPROPRIATE);
// Test webservice.
mediamosa_webservice_app::webservice_must_be_active(mediamosa_webservice_app::HANDLE_MEDIA_MANAGEMENT, $app_ids);
// Update the asset.
mediamosa_asset::update($app_id, $user_id, $is_app_admin, $asset_id, $owner_id, $group_id, $play_restriction_start, $play_restriction_end, $isprivate, $is_unappropriate, $reference_id);
// Default OK.
$mediamosa->set_result_okay();
}
}