db = \Config\Database::connect(); $this->model = new ContactModel(); $this->rules = [ 'NameFirst' => 'required' ]; } public function index() { $ContactName = $this->request->getVar('ContactName'); $Specialty = $this->request->getVar('Specialty'); $rows = $this->model->getContacts($ContactName, $Specialty); if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); } $rows = ValueSet::transformLabels($rows, [ 'Specialty' => 'specialty', 'Occupation' => 'occupation', ]); return $this->respond([ 'status' => 'success', 'message'=> "fetch success", 'data' => $rows ], 200); } public function show($ContactID = null) { $model = new ContactModel(); $row = $model->getContactWithDetail($ContactID); if (empty($row)) { return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => null ], 200); } $row = ValueSet::transformLabels([$row], [ 'Specialty' => 'specialty', 'Occupation' => 'occupation', ])[0]; return $this->respond([ 'status' => 'success', 'message'=> "fetch success", 'data' => $row ], 200); } public function delete() { try { $input = $this->request->getJSON(true); $ContactID = $input["ContactID"]; if (!$ContactID) { return $this->failValidationErrors('ContactID is required.'); } $this->model->delete($ContactID); return $this->respondDeleted([ 'status' => 'success', 'message' => "Contact with {$ContactID} deleted successfully."]); } catch (\Throwable $e) { return $this->failServerError('Something went wrong: ' . $e->getMessage()); } } public function create() { $input = $this->request->getJSON(true); if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors($this->validator->getErrors()); } try { $id = $this->model->saveContact($input,true); return $this->respondCreated([ 'status' => 'success', 'message' => 'data created successfully', 'data' => $id ], 201); } catch (\Throwable $e) { return $this->failServerError('Something went wrong: ' . $e->getMessage()); } } public function update() { $input = $this->request->getJSON(true); if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors($this->validator->getErrors()); } try { $this->model->saveContact($input); $id = $input['ContactID']; return $this->respondCreated([ 'status' => 'success', 'message' => 'data updated successfully', 'data' => $id ], 201); } catch (\Throwable $e) { return $this->failServerError('Something went wrong: ' . $e->getMessage()); } } }