Api

Version

mediamosa-30

Class

mediamosa_rest_call_get_mediafile

Code

File: /sites/all/modules/mediamosa/modules/asset/mediafile/mediamosa_asset_mediafile.rest.class.inc
<?php

/**
 * URI: /mediafile/$mediafile_id
 * Method: GET
 */
class mediamosa_rest_call_get_mediafile extends mediamosa_rest_call {
  
// ------------------------------------------------------------------ Consts.
  // Rest vars;
  
const MEDIAFILE_ID 'mediafile_id';
  const 
SHOW_STILLS 'show_stills';

  
// ------------------------------------------------------------------ Public Functions.
  
public function get_var_setup() {
    
$a_var_setup = array();

    
$a_var_setup = array(
      
self::VARS => array(
        
self::MEDIAFILE_ID => array(
          
self::VAR_TYPE => mediamosa_sdk::TYPE_MEDIAFILE_ID,
          
self::VAR_DESCRIPTION => 'The ID of the mediafile to retrieve.',
          
self::VAR_IS_REQUIRED => self::VAR_IS_REQUIRED_YES,
        ),
        
self::SHOW_STILLS => array(
          
self::VAR_TYPE => mediamosa_sdk::TYPE_BOOL,
          
self::VAR_DESCRIPTION => 'Include the stills in the output.',
          
self::VAR_DEFAULT_VALUE => 'TRUE'
        
)
      )
    );

    
// Enrich with required REST vars.
    
return self::get_var_setup_default($a_var_setup);
  }

  public function 
do_call() {
    
$mediamosa mediamosa::get();

    
$app_ids $this->get_param_value_app();

    
// Get the 1st app.
    
$app_id reset($app_ids);

    
$mediafile_id $this->get_param_value(self::MEDIAFILE_ID);
    
$show_stills $this->get_param_value(self::SHOW_STILLS);

    
// Must exists.
    
mediamosa_asset_mediafile::must_exists($mediafile_id);

    
// Must have access.
    
mediamosa_acl::read_single_object(mediamosa_acl::ACL_TYPE_MEDIAFILE$mediafile_id$app_ids);

    
// Now enrich response with mediafile data.
    
$items mediamosa_asset_mediafile::enrich_response_mediafile(array($mediafile_id), $app_idsFALSE$show_stills);

    
// Add to response.
    
foreach ($items as $item) {
      
$mediamosa->add_item($item);
    }

    
// Done.
  
}
}