Files
old-experiments/backend/wordpress/wp-content/plugins/wiaas-extended-restful-api/wiaas-extended-restful-api.php
2018-06-29 14:40:28 +02:00

68 lines
1.5 KiB
PHP
Executable File

<?php
/**
* Plugin Name: Wiaas restful API
* Plugin URI: http://www.saburly.com/
* Description:A custom wordpress REST extension for wiass
* Version: 0.1
* Author: Sabury
* Author URI: http://www.saburly.com/
* Text Domain: wiaas
*
* @package Wiass
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/**
* Fetch user by id
*
* @param array $data Options for the function.
* @return string|null User object from DB or null if user there is no uset with that id.
*/
function fetch_user_by_id( $data ) {
$user = get_user_by( 'id', $data['id'] );
if ( empty( $user ) ) {
return wp_get_current_user();
}
return $user;
}
/**
* Fetch current user
*
* @return string|null User object from DB or null if user there is no uset with that id.
*/
function fetch_current_user( $data ) {
if ( empty( wp_get_current_user() ) ) {
return null;
}
return wp_get_current_user();
}
function check_permission($request) {
return current_user_can( 'do_the_broking' );
}
add_action('rest_api_init', function () {
register_rest_route('wiaas/v1', '/user/(?P<id>\d+)', array(
'methods' => 'GET',
'permission_callback' => 'check_permission',
'callback' => 'fetch_user_by_id',
));
});
add_action('rest_api_init', function () {
register_rest_route('wiaas/v1', '/user', array(
'methods' => 'GET',
'permission_callback' => 'check_permission',
'callback' => 'fetch_user_by_id',
));
});