summaryrefslogtreecommitdiff
path: root/public/app/routes/api.php
blob: 94ae2a6731fd4e6bc39edb95192b2a9dd32720c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php

use app\controllers\Auth;
use app\controllers\api\Common_api;
use app\controllers\api\Doc_api;


/** API CALLS
 * -----------------------------------------------------------------------------
 * 
 * these calls return json responses
 */


// api: tree of product-categories 
Route::add('/api/tree',
    function() {     Doc_api::tree(); },
    'get'
);

// api: database documentation
Route::add('/api/doc',
    function() {     Doc_api::dbDoc(); },
    'get'
);

Route::add('/api/url/([0-9a-zA-Z-_\/]*)',
    function($url) {            Common_api::category_by_url($url); }
);

// route: /api/table
Route::add('/api/([0-9a-zA-Z-_]*)',
    function($table) {          Common_api::table($table); },
    'get'
);

// route: /api/table/{id}
Route::add('/api/([0-9a-zA-Z-_]*)/([0-9]*)',
    function($table, $id) {     Common_api::record($table, $id); },
    'get'
);



/** XML CALLS
 * -----------------------------------------------------------------------------
 * 
 * These calls are like `/api`, except...
 * they return xml/html as part of the responses;
 * 
 * example: { success: true, message: html }
 * 
 * Used when an html message needs to be passed in some div
 * 
 */




/** TEST CALLS
 * -----------------------------------------------------------------------------
 * 
 * direct calls to simple tests
 * (not on production environment)
 */
 if (!PRODUCTION) {
    Route::add('/test/([0-9a-zA-Z-_\/]*)',    function($test) {
        if (file_exists(TESTS_DIRECTORY . $test .'.php')) {
            if (!Benchmark::exist('start')) Benchmark::add_spot('start');
            require(TESTS_DIRECTORY . $test .'.php');
        } else {    echo "Test {$test} not exist";
        } die();

    });
}