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 testSetGetSchema() { $model = new BaseModel($this->connection); $this->assertEmpty($model->getSchema()); $this->assertNull($model->getSchema('test')); $schema = array('test' => array('type' => 'string')); $model->setSchema($schema); $this->assertEquals($model->getSchema(), $schema); $this->assertEquals($model->getSchema('test'), $schema['test']); }
/** * Register find filters for this model */ public function registerFindFilters() { parent::registerFindFilters(); $filter = new SolarizeFilter('sunrise', 'sunset'); $this->addFindFilter('solarize', $filter->getCallback(), 10); }