Example #1
0
 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');
 }
Example #2
0
 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']);
 }