Api

Version

mediamosa-30

Class

mediamosa_rest_call_asset_metadata_property_create

Code

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_FALSEmediamosa_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$type00$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);
  }
}