UserController.class.php 1.4 KB
Newer Older
Quentin Vrel's avatar
Quentin Vrel committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
<?php

class UserController extends Controller {

    public function __construct($name, $request) {
        parent::__construct($name, $request);
    }

    // ==============
    // Actions
    // ==============

    public function processRequest()
    {
         switch ($this->request->getHttpMethod()) {
            case 'GET':
17 18 19
                if ($this->request->getUriParams())
                    return $this->getUser($this->request->getUriParams()[0]);

Quentin Vrel's avatar
Quentin Vrel committed
20 21
                return $this->getAllUsers();
                break;
22
            case 'PUT':
quentin.vrel's avatar
quentin.vrel committed
23 24
                if ($this->request->getUriParams())
                    return $this->updateUser(array_merge($this->request->getData(),['id'=>$this->request->getUriParams()[0]]));
25
                break;
Quentin Vrel's avatar
Quentin Vrel committed
26 27 28 29 30 31 32 33 34 35 36 37
        }
        return Response::errorResponse("unsupported parameters or method in users");
    }

    protected function getAllUsers()
    {
        $users = User::getList();
        $response = Response::okResponse(json_encode($users));
        //var_dump($json);die;
        // TODO
        return $response;
    }
38 39 40 41 42 43

    protected function getUser($id){
        $user = User::getRow($id);
        $response = Response::okResponse(json_encode($user));
        return $response;
    }
quentin.vrel's avatar
quentin.vrel committed
44 45 46
    protected function updateUser($array){
        User::updateUser($array);
        $response = Response::okResponse('User succesfully updated !');
47 48
        return $response;
    }
Quentin Vrel's avatar
Quentin Vrel committed
49
}