Return newly added customer note as array in API response

- Updated `addNote` in `users_o` to return the `customer_notes_o` object.
- Modified `customerNotes` endpoint to include note details in the success response.
- Introduced `asArray` method in `customer_notes_o` for structured API responses.
This commit is contained in:
Jeppe Bundgaard
2025-10-07 23:41:57 +02:00
parent 276ad2154f
commit c6713f6865
3 changed files with 15 additions and 3 deletions
@@ -125,4 +125,15 @@ class customer_notes_o extends db
$customer_id = $this->getCustomerByNoteId($this->id);
redis->clear_customer_notes($customer_id);
}
public function asArray(): array
{
return [
'id' => $this->id,
'customer_id' => $this->customer_id->value(),
'note' => $this->note->value(),
'cashier_id' => $this->cashier_id->value(),
'deleted_at' => $this->deleted_at->value(),
];
}
}
+2 -1
View File
@@ -389,13 +389,14 @@ class users_o extends db
return $customer_notes->getCustomerNotesAsArray($this->id);
}
public function addNote($customer_id, $note, $cashier_id): void
public function addNote($customer_id, $note, $cashier_id): customer_notes_o
{
global $db;
// Create the customer notes object
$customer_notes = new customer_notes_o();
// Add the note
$customer_notes->add($customer_id, $note, $cashier_id);
return $customer_notes;
}
public function deleteNote(int $note_id): void
+2 -2
View File
@@ -74,11 +74,11 @@ class customerNotes
if (!$customer->exists()) {
$response->error('Customer not found', 400);
}
$customer->addNote((int)$customer->id, (string)$data['note'], (int)$user->id);
$note = $customer->addNote((int)$customer->id, (string)$data['note'], (int)$user->id);
// Log the incident
(new logs_o())->add('customer_notes', 'global', 1, $user->id, 'ADD_CUSTOMER_NOTE', 'Successfully added a customer note');
// Return a success message
$response->success(['message' => 'Customer note added']);
$response->success($note->asArray());
} else {
// Log the incident
(new logs_o())->add('customer_notes', 'global', 1, 0, 'ADD_CUSTOMER_NOTE', 'No user found, or invalid session');