updating with stat routes

This commit is contained in:
Antoine M 2024-02-22 19:16:47 +01:00
parent 01ebd2c682
commit facf0a34f9

View File

@ -20,6 +20,12 @@ add_action('rest_api_init', function () {
'permission_callback' => 'lhoist_datas_permission_callback', 'permission_callback' => 'lhoist_datas_permission_callback',
)); ));
register_rest_route('lhoist-datas/rating', '/post', array(
'methods' => 'POST',
'callback' => 'lhoist_post_rating',
'permission_callback' => 'lhoist_datas_permission_callback',
));
}); });
@ -92,7 +98,7 @@ function get_interface_play_screen_datas($request)
return $response; return $response;
} }
// ################ RETURN GAME STATISTICS ################ // ################ POST GAME STATISTICS ################
function lhoist_sanitize_statistic_datas($datas) function lhoist_sanitize_statistic_datas($datas)
{ {
@ -131,6 +137,7 @@ function lhoist_check_statistics_datas_formats($datas)
} }
} }
function lhoist_post_game_datas_statistics(WP_REST_Request $request) function lhoist_post_game_datas_statistics(WP_REST_Request $request)
{ {
$datas = $request->get_json_params(); $datas = $request->get_json_params();
@ -163,3 +170,57 @@ function lhoist_post_game_datas_statistics(WP_REST_Request $request)
return rest_ensure_response(array('success' => false, 'message' => 'Erreur lors de l\'enregistrement des données.')); return rest_ensure_response(array('success' => false, 'message' => 'Erreur lors de l\'enregistrement des données.'));
} }
} }
// ################ POST APP RATING ################
function lhoist_sanitize_ratings_datas($datas)
{
$cleanDatas = array();
$cleanDatas['note'] = isset($datas['note']) ? (int) $datas['note'] : null;
$cleanDatas['comment'] = isset($datas['comment']) ? sanitize_text_field($datas['comment']) : null;
return $cleanDatas;
}
function lhoist_check_ratings_datas_formats($datas)
{
if (!$datas['note'] || !is_numeric($datas['note'])) {
throw new Exception("La propriété 'note' est manquante ou invalide.");
exit;
}
if (isset($datas['comment']) && !is_string($datas['comment'])) {
throw new Exception("La propriété 'commentaire' est manquante ou invalide.");
exit;
}
}
function lhoist_post_rating(WP_REST_Request $request)
{
$datas = $request->get_json_params();
$cleanDatas = lhoist_sanitize_ratings_datas($datas);
lhoist_check_ratings_datas_formats($cleanDatas);
global $wpdb;
$datetime = new DateTime("now", new DateTimeZone('Europe/Brussels'));
$ratingsDatas = array(
'comment' => "super",
'rating' => 3,
'date' => $datetime->format('Y-m-d H:i:s'),
);
$table_name = 'wp_app_ratings';
$result_check = $wpdb->insert(
$table_name,
$ratingsDatas
);
if ($result_check) {
return rest_ensure_response(array('success' => true, 'message' => 'Données enregistrées avec succès.'));
} else {
return rest_ensure_response(array('success' => false, 'message' => 'Erreur lors de l\'enregistrement des données.'));
}
}