public function delete($id) { try { $record = $this->model->getOne($id); if (empty($record)) { $status = 400; $this->badRequest('Id ' . $id . ' does not exist', $status); } else { $delete = $this->model->removeRecord($id); try { // The Deal instance already has all our settings. So, let's use // that instance to get them and inform the queue about them, // Then he use it to create connections/channels to the queue. He can // also pass along that config to workers who can then create their // own db connections which are needed for models, etc. $queue = new Queue($this->app->settings()); $queue->push(get_class($this->model), $id, 'delete', [], [], $record); } catch (ValidationException $e) { $status = 400; $this->badRequest($e->getMessage(), $status); } } } catch (ValidationException $e) { $status = 400; $this->badRequest($e->getMessage(), $status); } catch (InvalidException $e) { $status = 405; $this->badRequest($e->getMessage(), $status); } // since this is an immediate delete and we return information, 200 is correct response return compact('delete'); }
public function testBrowse() { $deal = new Deal(); $storage = new Mongo($deal->settings()); $list = $storage->browse(); $this->assertCount(0, $list); $storage->create('foo', 'bar'); $list = $storage->browse(); $this->assertCount(1, $list); $this->assertCount(2, $list[0]); $this->assertEquals('foo', $list[0]['key']); $this->assertEquals('bar', $list[0]['secret']); }