Api
Version
mediamosa-30Class
mediamosa_rest_call_asset_metadata_property_createCode
File: /sites/all/modules/mediamosa/modules/asset/metadata/property/mediamosa_asset_metadata_property.rest.class.inc
<?php
/**
* URI: /metadata_tag/create
* Create a asset metadata property.
*
* 1.x: media_management_metadata_definition_create
*
*/
class mediamosa_rest_call_asset_metadata_property_create extends mediamosa_rest_call {
// ------------------------------------------------------------------ Consts.
// Rest vars;
const NAME = 'name'; // Property name.
const TYPE = 'type'; // Property type.
const IS_HIDDEN = 'is_hidden'; // Is hidden?
// ------------------------------------------------------------------ Get Var Setup.
public function get_var_setup() {
$a_var_setup = array(
mediamosa_rest_call::VARS => array(
self::NAME => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_ALPHA_NUM_UNDERSCORE_TAG,
self::VAR_IS_REQUIRED => self::VAR_IS_REQUIRED_YES,
self::DESCRIPTION => 'The name of the property to create.',
self::VAR_RANGE_END => mediamosa_asset_metadata_property_db::NAME_LENGTH,
),
self::TYPE => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_STRING,
self::VAR_ALLOWED_VALUES => array('datetime', 'int', 'char'),
self::VAR_IS_REQUIRED => self::VAR_IS_REQUIRED_YES,
self::DESCRIPTION => "The type of data to be stored, can either be 'datetime' (iso-8601 standard date), 'int' (numbers), char (text).",
),
self::IS_HIDDEN => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_STRING,
self::VAR_ALLOWED_VALUES => array(mediamosa_asset_metadata_property_db::IS_HIDDEN_FALSE, mediamosa_asset_metadata_property_db::IS_HIDDEN_TRUE),
self::VAR_DEFAULT_VALUE => mediamosa_asset_metadata_property_db::IS_HIDDEN_FALSE,
self::DESCRIPTION => "True if the property is hidden.",
),
),
);
// Enrich with required REST vars.
return self::get_var_setup_default($a_var_setup);
}
// ------------------------------------------------------------------ Do Call.
public function do_call() {
$mediamosa = mediamosa::get();
// Get the app_id.
$app_ids = $this->get_param_value_app();
$app_id = reset($app_ids);
// Name of the new property.
$name = $this->get_param_value(self::NAME);
// Type of the new property.
$type = $this->get_param_value(self::TYPE);
// Is the new property hidden.
$is_hidden = $this->get_param_value(self::IS_HIDDEN);
// Create the property. Any problems will throw exception.
$property_id = mediamosa_asset_metadata_property::property_create($app_id, $name, $type, 0, 0, $is_hidden);
// Get the property.
$property = mediamosa_asset_metadata_property::property_get_row($property_id);
assert($property);
// If we get here, it was successful.
$mediamosa->add_item($property);
}
}