Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // usamos las interfaces ServerRequest, ServerResponse y ServerNext
- use AftFramework\Http\Messages\Interfaces\{ServerRequest as Request, ServerResponse as Response};
- // llamamos al autoload
- require 'autoload.php';
- // definimos la varialbe app como nueva clase App
- $app = new AftFramework\Server\App;
- // creamos un url usando el metodo http_get
- $app->get('/api/users/:username', function(Request $request, Response $response){
- // definimos la variable $username como parametro (username)
- $username = $request->getParams('username');
- // verificamos que existan parametros
- if($username){
- // hacemos un request a la base de datos
- $request->database()->table('users')->find($username, function($error, $callback){
- $error = $response->error();
- // comprobamos si existe algun error
- if($error) return $response->->getError($error);
- // definimos el callback como un callback definiendo las columnas que llamaremos
- $callback = $callback->get([
- 'id', 'username', 'motto', 'look'
- ]);
- // devolvemos la respuesta
- $response->json()->write($callback);
- });
- } else {
- // creamos el error
- $response->json()->write()->error('El usuario no existe');
- };
- return $response;
- });
- $app->post('/api/panel/notices/post?:apiKey&:user_uuid', function(Request $request, Response $response){
- $input = $request->body()->input();
- $apiKey = $request->getParams('apiKey');
- $useruuid = $request->getParams('user_uuid');
- if($request->controller('panel')->notices('apiKey')->verify($apiKey)){
- if($request->controller('users')->auth('uuid')->verify($useruuid)){
- $request->database()->table('aftcms_news')->insert($input, function($error, $callback){
- $error = $response->error();
- if($error) return $response->getError($error);
- if(empty($input)) $response->json()->write()->error('No puedes dejar ningún campo vacío');
- if(strlen($input < 5)) $response->json()->write()->error('No puedes dejar '.($input->lenght(5)->count() > 1 ? 'ninguno de los inputs' : 'un input').' con menos de 5 caracteres.');
- $callback = $callback->get([
- 'notice_title', 'notice_subtitle', 'notice_content', 'notice_hash'
- ]);
- if($request->database()->table('aftcms_news')->select('notice_hash')->where(['notice_hash'=>$callback[4]])->bool())
- $response->json()->write()->error('Oops, un error inesperado');
- if(!$error)
- $callback = $request->controller('panel')->notices('create')->data([$input[$callback]]);
- });
- }else{
- $response->json()->write()->error("La identificación de usuario no es correcta");
- }
- }else{
- $response->json()->write()->error("El api key no es correcto");
- }
- return $response;
- });
- $app->post('/api/panel/users/post?:action&:action_set', function(Request $request, Response $response){
- $input = $request->body()->input();
- $action = $request->getParams('action');
- $action_set = $request->getParams('action_set');
- });
- $app->post('/api/auth/sign_in/post', function(Request $request, Response $response){
- $input = $request->body()->input();
- $username = $input->text('input.data.username');
- $password = $input->password('input.data.password');
- $request->database()->table('users')->find($username, function($error, $callback){
- $error = $response->error();
- if($error) return $response->getError($error);
- $callback = $callback->get([
- 'password'
- ]);
- if(password_verify($password, $callback)){
- if($callback){
- $response->json()->write('usuario correcto');
- }else{
- $response->json()->write()->error('usuario incorrecto');
- };
- };
- });
- return $response;
- });
- $app->post('/api/auth/sign_up/post', function(Request $request, Response, $response){
- $input = $request->body()->input();
- $username = $input->text('input.data.username');
- $email = $input->email('input.data.email');
- $password = $input->password('input.data.password');
- $password_repeat = $password->repeat();
- $request->database()->table('users')->find([$username, $email, $password], function($error, $callback){
- $error = $response->error();
- if ($error) return $response->getError($error);
- $checkUsername = $callback->null()->where('username' => $username);
- if($checkUsername)
- $response->json()->write()->error('El nombre de usuario ya existe');
- $checkEmail = $callback->null()->where('email' => $email);
- if($checkEmail)
- $response->json()->write()->error('El email introducido ya existe');
- if(!$password_repeat)
- $response->json()->write()->error('Las contraseñas introducidas no son iguales');
- if(!$error)
- $callback = $response->json()->write()->create_session()->token()->data($callback);
- });
- return $response;
- });
- $app->run();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement