Changeset 285 for Dev/branches/jos-branch/server/api.php
- Timestamp:
- 02/24/12 10:03:02 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Dev/branches/jos-branch/server/api.php
r263 r285 46 46 47 47 $user = null; 48 $data = null;49 48 if (!empty($request->data)) { 50 $data = json_decode($request->data, true); 51 } 52 if (!empty($data)) { 53 $user = Auth::login($data['username'], sha1($data['password'])); 49 $user = Auth::login($request->data['email'], $request->data['password']); 54 50 if (!$user) { 55 throw new ResponseException("Incorrect usernameand password", Response::UNAUTHORIZED);51 throw new ResponseException("Incorrect email and password", Response::UNAUTHORIZED); 56 52 } 57 53 set_session_cookie($response, $user); … … 59 55 $user = restore_session($response); 60 56 } 61 $response->body = json_encode($user); 57 $response->body = $user; 58 return $response; 59 } 60 61 } 62 63 /** 64 * @uri /register 65 */ 66 class RegisterResource extends Resource { 67 68 function post($request) { 69 $response = new Response($request); 70 71 $user = null; 72 if (!empty($request->data)) { 73 $user = Auth::register($request->data['email'], $request->data['password']); 74 set_session_cookie($response, $user); 75 } else { 76 throw new ResponseException("No email and password provided.",Response::BADREQUEST); 77 } 78 $response->body = $user; 62 79 return $response; 63 80 } … … 83 100 $type = $this->getType($request); 84 101 $objects = $type::get(array()); 85 //$objects = array_map(function($val) { return array('uid' => $val->uid); }, $objects); 86 87 $response->body = json_encode($objects); 102 103 $response->body = $objects; 88 104 return $response; 89 105 } … … 94 110 95 111 $type = $this->getType($request); 96 $data = json_decode($request->data);97 112 $onlyAdd = $request->ifNoneMatch('*'); 98 113 $onlyUpdate = $request->ifMatch('*'); 99 114 100 115 $object = FALSE; 101 if (isset($ data->uid)) {102 $objects = $type::get(array('uid' => $ data->uid));116 if (isset($request->data->uid)) { 117 $objects = $type::get(array('uid' => $request->data->uid)); 103 118 if (!empty($objects)) { 104 119 $object = $objects[0]; … … 116 131 $response->code = Response::OK; 117 132 } 118 foreach ($ data as $key => $val) {133 foreach ($request->data as $key => $val) { 119 134 $object->$key = $val; 120 135 } 121 $object->save(); 122 123 $response->body = json_encode($object); 124 return $response; 125 } 126 136 if (!$object->save()) { 137 throw new ResponseException("Save failed", Response::INTERNALSERVERERROR); 138 } 139 140 $response->body = $object; 141 return $response; 142 } 143 144 function put($request) { 145 return $this->post($request); 146 } 147 127 148 } 128 149 … … 150 171 } 151 172 152 $response->body = json_encode($objects[0]);153 return $response; 154 } 155 156 function p ut($request) {173 $response->body = $objects[0]; 174 return $response; 175 } 176 177 function post($request) { 157 178 $response = new Response($request); 158 179 restore_session($response); 159 180 160 181 $info = $this->getTypeAndUid($request); 161 $data = json_decode($request->data);162 182 $onlyAdd = $request->ifNoneMatch('*'); 163 183 $onlyUpdate = $request->ifMatch('*'); … … 179 199 $response->code = Response::OK; 180 200 } 181 foreach ($ data as $key => $val) {201 foreach ($request->data as $key => $val) { 182 202 $object->$key = $val; 183 203 } 184 $object->save(); 185 186 $response->body = json_encode($object); 187 return $response; 204 if (!$object->save()) { 205 throw new ResponseException("Save failed", Response::INTERNALSERVERERROR); 206 } 207 208 $response->body = $object; 209 return $response; 210 } 211 212 function put($request) { 213 return $this->post($request); 188 214 } 189 215 190 216 function delete($request) { 191 restore_session( );217 restore_session(new Response($request)); 192 218 throw new ReponseException("Delete not implemented", Response::METHODNOTALLOWED); 193 219 } … … 202 228 $request->baseUri = $baseUri; 203 229 } 204 230 $request->data = Marshaller::unmarshall(json_decode($request->data)); 205 231 try { 206 232 $resource = $request->loadResource(); … … 208 234 } catch (ResponseException $e) { 209 235 $response = $e->response($request); 210 $response->body = json_encode(array('errorMsg' => $response->body));236 $response->body = array('errorMsg' => $response->body); 211 237 } catch (Exception $e) { 212 238 $response = new Response($request); 213 239 $response->code = Response::INTERNALSERVERERROR; 214 $response->body = json_encode(array('errorMsg' => "Unhandled exception: " . $e));240 $response->body = array('errorMsg' => "Unhandled exception: " . $e); 215 241 } 216 242 add_default_headers($response); 243 $response->body = json_encode(Marshaller::marshall($response->body)); 217 244 $response->output(); 245 218 246 ?>
Note: See TracChangeset
for help on using the changeset viewer.