payload, true); if (isset($payload['cancel'])) { if ($payload['type'] === 'SendBack') { $payload['source'] = $payload['cancel']['home']; $payload['destination'] = $payload['cancel']['residence']; $this->borrow($payload); } } else { if ($payload['type'] === 'Recall' || $payload['type'] === 'SendBack') { $this->return($payload); } else if ($payload['type'] === 'Borrow') { $this->borrow($payload); } else if ($payload['type'] === 'Gift') { $this->gift($payload); } } } /** * @param array $payload */ private function return(array $payload): void { DB::query( << $payload['amount'], 'type' => $payload['unit'], 'id' => $payload['destination']] ); } /** * @param array $payload */ private function borrow(array $payload): void { DB::query( << $payload['amount'], 'type' => $payload['unit'], 'home' => $payload['source'], 'residence' => $payload['destination']] ); } /** * @param array $payload */ private function gift(array $payload): void { DB::query( << $payload['amount'], 'type' => $payload['unit'], 'home' => $payload['destination'], 'residence' => $payload['destination']] ); } }