| @@ 8-54 (lines=47) @@ | ||
| 5 | use Groove\Api; |
|
| 6 | use Groove\Models\Customer as Model; |
|
| 7 | ||
| 8 | class Customer extends Api |
|
| 9 | { |
|
| 10 | /** |
|
| 11 | * List customers. |
|
| 12 | * |
|
| 13 | * @param array $params |
|
| 14 | * @return \Illuminate\Support\Collection |
|
| 15 | */ |
|
| 16 | public function list($params = []) |
|
| 17 | { |
|
| 18 | $response = $this->client->get('customers', $params); |
|
| 19 | ||
| 20 | return collect($response->customers)->transform(function ($customer) { |
|
| 21 | return new Model($customer, $this->client); |
|
| 22 | }); |
|
| 23 | } |
|
| 24 | ||
| 25 | /** |
|
| 26 | * Find a customer. |
|
| 27 | * |
|
| 28 | * @param string $email |
|
| 29 | * @return Model |
|
| 30 | */ |
|
| 31 | public function find($email) |
|
| 32 | { |
|
| 33 | $response = $this->client->get("customers/$email"); |
|
| 34 | ||
| 35 | return new Model($response->customer, $this->client); |
|
| 36 | } |
|
| 37 | ||
| 38 | /** |
|
| 39 | * Update a customer. |
|
| 40 | * |
|
| 41 | * @param string $existingEmail |
|
| 42 | * @param string $updatedEmail |
|
| 43 | * @param array $params |
|
| 44 | * @return Model |
|
| 45 | */ |
|
| 46 | public function update($existingEmail, $updatedEmail, $params = []) |
|
| 47 | { |
|
| 48 | $params = array_merge(['email' => $updatedEmail], $params); |
|
| 49 | ||
| 50 | $response = $this->client->put("customers/$existingEmail", $params); |
|
| 51 | ||
| 52 | return new Model($response->customer, $this->client); |
|
| 53 | } |
|
| 54 | } |
|
| 55 | ||
| @@ 8-55 (lines=48) @@ | ||
| 5 | use Groove\Api; |
|
| 6 | use Groove\Models\Message as Model; |
|
| 7 | ||
| 8 | class Message extends Api |
|
| 9 | { |
|
| 10 | /** |
|
| 11 | * List messages for a ticket. |
|
| 12 | * |
|
| 13 | * @param int $ticketNumber |
|
| 14 | * @param array $params |
|
| 15 | * @return \Illuminate\Support\Collection |
|
| 16 | */ |
|
| 17 | public function list($ticketNumber, $params = []) |
|
| 18 | { |
|
| 19 | $response = $this->client->get("tickets/$ticketNumber/messages", $params); |
|
| 20 | ||
| 21 | return collect($response->messages)->transform(function ($ticket) { |
|
| 22 | return new Model($ticket, $this->client); |
|
| 23 | }); |
|
| 24 | } |
|
| 25 | ||
| 26 | /** |
|
| 27 | * Find a message. |
|
| 28 | * |
|
| 29 | * @param int|string $messageID |
|
| 30 | * @return Model |
|
| 31 | */ |
|
| 32 | public function find($messageID) |
|
| 33 | { |
|
| 34 | $response = $this->client->get("messages/$messageID"); |
|
| 35 | ||
| 36 | return new Model($response->message, $this->client); |
|
| 37 | } |
|
| 38 | ||
| 39 | /** |
|
| 40 | * Create a message for a ticket. |
|
| 41 | * |
|
| 42 | * @param int $ticketNumber |
|
| 43 | * @param string $body |
|
| 44 | * @param array $params |
|
| 45 | * @return Model |
|
| 46 | */ |
|
| 47 | public function create($ticketNumber, $body, $params = []) |
|
| 48 | { |
|
| 49 | $params = array_merge(['body' => $body], $params); |
|
| 50 | ||
| 51 | $response = $this->client->post("tickets/$ticketNumber/messages", $params); |
|
| 52 | ||
| 53 | return new Model($response->message, $this->client); |
|
| 54 | } |
|
| 55 | } |
|
| 56 | ||