Completed
Push — master ( 3fc885...e3c864 )
by Temitope
02:19
created

index.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
/**
3
 * @author   Temitope Olotin <[email protected]>
4
 * @license  <https://opensource.org/license/MIT> MIT
5
 */
6
require 'vendor/autoload.php';
7
8
use \Psr\Http\Message\ResponseInterface as Response;
9
use \Psr\Http\Message\ServerRequestInterface as Request;
10
use Illuminate\Database\Capsule\Manager as Capsule;
11
use Laztopaz\EmojiRestfulAPI\DatabaseConnection;
12
use Laztopaz\EmojiRestfulAPI\EmojiController;
13
use Laztopaz\EmojiRestfulAPI\Middleware;
14
use Laztopaz\EmojiRestfulAPI\Oauth;
15
16
$app = new Slim\App([
17
    'settings' => [
18
     'debug'               => true,
19
     'displayErrorDetails' => true,
20
    ],
21
]);
22
23
$capsule = new Capsule();
24
25
new DatabaseConnection($capsule);
26
27
$auth = new Oauth();
28
29
$emoji = new EmojiController($auth);
30
31
32
/*
33
 * This verb returns error 404
34
 *
35
 * @param $request
36
 *
37
 * @param $response
38
 *
39
 * @return json $response
40
 *
41
 */
42
$app->get('/', function (Request $request, Response $response) use ($auth) {
43
    return $response->withJson(['status'], 404);
44
45
});
46
47
/*
48
 * This verb returns error 404
49
 *
50
 * @param $request
51
 *
52
 * @param $response
53
 *
54
 * @return json $response
55
 *
56
 */
57
$app->post('/', function (Request $request, Response $response) {
58
    return $response->withJson(['status'], 404);
59
60
});
61
62
/*
63
 * This endpoint authenticate the user
64
 *
65
 * @param $request
66
 *
67
 * @param $response
68
 *
69
 * @return json $response
70
 *
71
 */
72
$app->post('/auth/login', function (Request $request, Response $response) use ($auth) {
73
    return $auth->loginUser($request, $response);
74
75
});
76
77
/*
78
 * This endpoint authenticate the user
79
 *
80
 * @param $request
81
 *
82
 * @param $response
83
 *
84
 * @param $args
85
 *
86
 * @return json $response
87
 *
88
 */
89
90
$app->get('/auth/logout', function (Request $request, Response $response, $args) use ($auth) {
91
    return $auth->logoutUser($request, $response, $args)->withJson(['status'], 200);
92
93
})->add(new Middleware());
94
95
/*
96
 * This verb returns all emoji
97
 *
98
 * @param $request
99
 *
100
 * @param $response
101
 *
102
 * @return json $response
103
 *
104
 */
105
$app->get('/emojis', function (Request $request, Response $response, $args) use ($emoji) {
0 ignored issues
show
The parameter $args is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
106
    return $emoji->listAllEmoji($response);
107
108
});
109
110
/*
111
 * This verb returns a single emoji
112
 *
113
 * @param $response
114
 *
115
 * @param $args
116
 *
117
 * @return json $response
118
 *
119
 */
120
$app->get('/emojis/{id}', function (Request $request, Response $response, $args) use ($emoji) {
121
    return  $emoji->getSingleEmoji($response, $args);
122
123
});
124
125
/*
126
 * This verb creates a new  emoji
127
 *
128
 * @param $request
129
 *
130
 * @param $response
131
 *
132
 * @return json $response
133
 *
134
 */
135
$app->post('/emojis', function (Request $request, Response $response) use ($emoji) {
136
    return $emoji->createEmoji($request, $response);
137
138
})->add(new Middleware());
139
140
/*
141
 * This verb updatess an emoji using put verb
142
 *
143
 * @param $request
144
 *
145
 * @param $response
146
 *
147
 * @param $args
148
 *
149
 * @param $emoji
150
 *
151
 * @return json $response
152
 *
153
 */
154
$app->put('/emojis/{id}', function (Request $request, Response $response, $args) use ($emoji) {
155
    return $emoji->updateEmojiByPutVerb($request, $response, $args);
156
157
})->add(new Middleware());
158
159
/*
160
 * This verb updatess an emoji using put verb
161
 *
162
 * @param $request
163
 *
164
 * @param $response
165
 *
166
 * @param $data
167
 *
168
 * @return json $response
169
 *
170
 */
171
$app->patch('/emojis/{id}', function (Request $request, Response $response, $args) use ($emoji) {
172
    return $emoji->updateEmojiByPatchVerb($request, $response, $args);
173
174
})->add(new Middleware());
175
176
/*
177
 * This verb updatess an emoji using put verb
178
 *
179
 * @param $request
180
 *
181
 * @param $response
182
 *
183
 * @param $args
184
 *
185
 * @return json $response
186
 *
187
 */
188
$app->delete('/emojis/{id}', function (Request $request, Response $response, $args) use ($emoji) {
189
    return $emoji->deleteEmoji($request, $response, $args);
190
191
})->add(new Middleware());
192
193
$app->run();
194