diff --git a/app/database/migrations/2014_11_22_134023_CreateWebHooksTable.php b/app/database/migrations/2014_11_22_134023_CreateWebHooksTable.php deleted file mode 100644 index b911c39f..00000000 --- a/app/database/migrations/2014_11_22_134023_CreateWebHooksTable.php +++ /dev/null @@ -1,40 +0,0 @@ -increments('id'); - $table->string('name')->nullable(false); - $table->string('endpoint')->nullable(false); - $table->tinyInteger('hook_type')->default(0); // When should this web hook be called? - $table->tinyInteger('request_type')->default(0); // ENUM: GET, POST, PUT, DELETE etc - $table->boolean('active')->default(0); - $table->timestamps(); - $table->softDeletes(); - - // Indexes - $table->index('active'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('web_hooks'); - } -} diff --git a/app/database/migrations/2014_11_22_134136_CreateWebHookResponsesTable.php b/app/database/migrations/2014_11_22_134136_CreateWebHookResponsesTable.php deleted file mode 100644 index 51369739..00000000 --- a/app/database/migrations/2014_11_22_134136_CreateWebHookResponsesTable.php +++ /dev/null @@ -1,41 +0,0 @@ -increments('id'); - $table->integer('hook_id')->unsigned(); - $table->tinyInteger('response_code')->nullable(false); // This should return something like 200, 301 etc. - $table->string('response_type'); // application/json etc. - $table->text('sent_headers'); - $table->longText('sent_body'); // What we sent the web hook - $table->text('recv_headers'); - $table->longText('recv_body'); // Potentially a big response will be returned - $table->float('time_taken')->default(0); // How long did the request take, in seconds. - $table->timestamps(); - - $table->index('hook_id'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('web_hook_response'); - } -} diff --git a/app/database/migrations/2014_11_25_114040_UserIdColumnForComponents.php b/app/database/migrations/2014_11_25_114040_UserIdColumnForComponents.php deleted file mode 100644 index 41cd6d23..00000000 --- a/app/database/migrations/2014_11_25_114040_UserIdColumnForComponents.php +++ /dev/null @@ -1,35 +0,0 @@ -unsignedInteger('user_id')->nullable(); - - $table->foreign('user_id')->references('id')->on('users')->onDelete('SET NULL')->onUpdate('NO ACTION'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('components', function (Blueprint $table) { - $table->dropForeign('components_user_id_foreign'); - $table->dropColumn('user_id'); - }); - } -} diff --git a/app/database/migrations/2014_11_25_114101_UserIdColumnForIncidents.php b/app/database/migrations/2014_11_25_114101_UserIdColumnForIncidents.php deleted file mode 100644 index ba4f2a17..00000000 --- a/app/database/migrations/2014_11_25_114101_UserIdColumnForIncidents.php +++ /dev/null @@ -1,35 +0,0 @@ -unsignedInteger('user_id')->nullable(); - - $table->foreign('user_id')->references('id')->on('users')->onDelete('SET NULL')->onUpdate('NO ACTION'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('incidents', function (Blueprint $table) { - $table->dropForeign('incidents_user_id_foreign'); - $table->dropColumn('user_id'); - }); - } -} diff --git a/app/database/migrations/2014_12_01_121947_AlterTableIncidentsRenameComponentColumn.php b/app/database/migrations/2014_12_01_121947_AlterTableIncidentsRenameComponentColumn.php deleted file mode 100644 index 3e38090d..00000000 --- a/app/database/migrations/2014_12_01_121947_AlterTableIncidentsRenameComponentColumn.php +++ /dev/null @@ -1,32 +0,0 @@ -renameColumn('component', 'component_id'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('incidents', function (Blueprint $table) { - $table->renameColumn('component_id', 'component'); - }); - } -} diff --git a/app/database/migrations/2014_12_13_121410_AlterTableIncidentsRemoveDefaultComponent.php b/app/database/migrations/2014_12_13_121410_AlterTableIncidentsRemoveDefaultComponent.php deleted file mode 100644 index 739e969a..00000000 --- a/app/database/migrations/2014_12_13_121410_AlterTableIncidentsRemoveDefaultComponent.php +++ /dev/null @@ -1,42 +0,0 @@ -string('id')->unique(); - $table->text('payload'); - $table->integer('last_activity'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('sessions'); - } -} diff --git a/app/database/migrations/2014_12_13_135117_AlterTableComponentsAddDeletedAt.php b/app/database/migrations/2014_12_13_135117_AlterTableComponentsAddDeletedAt.php deleted file mode 100644 index 1b53c0ad..00000000 --- a/app/database/migrations/2014_12_13_135117_AlterTableComponentsAddDeletedAt.php +++ /dev/null @@ -1,30 +0,0 @@ -softDeletes(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } -} diff --git a/app/database/migrations/2014_12_30_150326_AlterTableComponentsAddMetaColumns.php b/app/database/migrations/2014_12_30_150326_AlterTableComponentsAddMetaColumns.php deleted file mode 100644 index df78cb5f..00000000 --- a/app/database/migrations/2014_12_30_150326_AlterTableComponentsAddMetaColumns.php +++ /dev/null @@ -1,34 +0,0 @@ -text('tags')->nullable()->default(null)->after('description'); - $table->text('link')->nullable()->default(null)->after('description'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('components', function (Blueprint $table) { - $table->dropColumn('tags'); - $table->dropColumn('link'); - }); - } -} diff --git a/app/database/migrations/2014_12_31_115936_AlterTableSettingsValueLongText.php b/app/database/migrations/2014_12_31_115936_AlterTableSettingsValueLongText.php deleted file mode 100644 index 88d19076..00000000 --- a/app/database/migrations/2014_12_31_115936_AlterTableSettingsValueLongText.php +++ /dev/null @@ -1,32 +0,0 @@ -tinyInteger('order')->default(0)->after('status'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('components', function (Blueprint $table) { - $table->dropColumn('order'); - }); - } -} diff --git a/app/database/migrations/2015_01_03_120438_AlterTableUsersAddApiKey.php b/app/database/migrations/2015_01_03_120438_AlterTableUsersAddApiKey.php deleted file mode 100644 index c32cf2c9..00000000 --- a/app/database/migrations/2015_01_03_120438_AlterTableUsersAddApiKey.php +++ /dev/null @@ -1,32 +0,0 @@ -string('api_key')->nullable()->default(null)->after('email'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('users', function (Blueprint $table) { - $table->dropColumn('api_key'); - }); - } -} diff --git a/app/database/migrations/2015_01_04_194246_AlterTableComponentsAddGroupIdColumn.php b/app/database/migrations/2015_01_04_194246_AlterTableComponentsAddGroupIdColumn.php deleted file mode 100644 index 48a3645a..00000000 --- a/app/database/migrations/2015_01_04_194246_AlterTableComponentsAddGroupIdColumn.php +++ /dev/null @@ -1,32 +0,0 @@ -integer('group_id')->nullable()->default(null)->after('order'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('components', function (Blueprint $table) { - $table->dropColumn('group_id'); - }); - } -} diff --git a/app/database/migrations/2014_12_31_230032_CreateComponentGroupsTable.php b/app/database/migrations/2015_01_05_201324_CreateComponentGroupsTable.php similarity index 99% rename from app/database/migrations/2014_12_31_230032_CreateComponentGroupsTable.php rename to app/database/migrations/2015_01_05_201324_CreateComponentGroupsTable.php index 812fd1e3..aa555e06 100644 --- a/app/database/migrations/2014_12_31_230032_CreateComponentGroupsTable.php +++ b/app/database/migrations/2015_01_05_201324_CreateComponentGroupsTable.php @@ -17,7 +17,6 @@ class CreateComponentGroupsTable extends Migration $table->increments('id'); $table->string('name'); $table->timestamps(); - $table->softDeletes(); }); } diff --git a/app/database/migrations/2014_11_16_224937_CreateComponentsTable.php b/app/database/migrations/2015_01_05_201444_CreateComponentsTable.php similarity index 59% rename from app/database/migrations/2014_11_16_224937_CreateComponentsTable.php rename to app/database/migrations/2015_01_05_201444_CreateComponentsTable.php index 369bd0e9..afe49a62 100644 --- a/app/database/migrations/2014_11_16_224937_CreateComponentsTable.php +++ b/app/database/migrations/2015_01_05_201444_CreateComponentsTable.php @@ -16,11 +16,20 @@ class CreateComponentsTable extends Migration Schema::create('components', function (Blueprint $table) { $table->increments('id'); $table->string('name'); - $table->string('description')->nullable()->default(null); - $table->tinyInteger('status')->default(1); + $table->text('description')->default(''); + $table->text('link')->default(''); + $table->text('tags')->default(''); + $table->integer('status'); + $table->integer('order'); + $table->integer('group_id'); + $table->integer('user_id'); $table->timestamps(); + $table->softDeletes(); + $table->index('group_id'); + $table->index('user_id'); $table->index('status'); + $table->index('order'); }); } diff --git a/app/database/migrations/2014_11_24_164650_CreateIncidentTemplatesTable.php b/app/database/migrations/2015_01_05_202446_CreateIncidentTemplatesTable.php similarity index 74% rename from app/database/migrations/2014_11_24_164650_CreateIncidentTemplatesTable.php rename to app/database/migrations/2015_01_05_202446_CreateIncidentTemplatesTable.php index c256f273..b776c745 100644 --- a/app/database/migrations/2014_11_24_164650_CreateIncidentTemplatesTable.php +++ b/app/database/migrations/2015_01_05_202446_CreateIncidentTemplatesTable.php @@ -15,13 +15,11 @@ class CreateIncidentTemplatesTable extends Migration { Schema::create('incident_templates', function (Blueprint $table) { $table->increments('id'); - $table->string('name')->nullable(false); - $table->string('slug', 50)->nullable(false); - $table->longText('template')->nullable(false); - + $table->string('name'); + $table->string('slug'); + $table->longText('template'); $table->timestamps(); - - $table->index('slug'); + $table->softDeletes(); }); } diff --git a/app/database/migrations/2014_11_16_224719_CreateIncidentsTable.php b/app/database/migrations/2015_01_05_202609_CreateIncidentsTable.php similarity index 72% rename from app/database/migrations/2014_11_16_224719_CreateIncidentsTable.php rename to app/database/migrations/2015_01_05_202609_CreateIncidentsTable.php index f558fac1..3373e474 100644 --- a/app/database/migrations/2014_11_16_224719_CreateIncidentsTable.php +++ b/app/database/migrations/2015_01_05_202609_CreateIncidentsTable.php @@ -15,15 +15,17 @@ class CreateIncidentsTable extends Migration { Schema::create('incidents', function (Blueprint $table) { $table->increments('id'); - $table->tinyInteger('component')->default(1); + $table->integer('component_id')->default(0); $table->string('name'); - $table->tinyInteger('status')->default(1); - $table->longText('message'); + $table->integer('status'); + $table->longText('message')->default(''); + $table->integer('user_id'); $table->timestamps(); $table->softDeletes(); - $table->index('component'); + $table->index('component_id'); $table->index('status'); + $table->index('user_id'); }); } diff --git a/app/database/migrations/2014_11_25_111609_CreateMetricPointsTable.php b/app/database/migrations/2015_01_05_202730_CreateMetricPointsTable.php similarity index 77% rename from app/database/migrations/2014_11_25_111609_CreateMetricPointsTable.php rename to app/database/migrations/2015_01_05_202730_CreateMetricPointsTable.php index f92f2e71..1f19f3b7 100644 --- a/app/database/migrations/2014_11_25_111609_CreateMetricPointsTable.php +++ b/app/database/migrations/2015_01_05_202730_CreateMetricPointsTable.php @@ -15,11 +15,11 @@ class CreateMetricPointsTable extends Migration { Schema::create('metric_points', function (Blueprint $table) { $table->increments('id'); - $table->integer('metric_id')->unsigned(); - $table->integer('value')->unsigned(); + $table->integer('metric_id'); + $table->integer('value'); $table->timestamps(); - $table->foreign('metric_id')->references('id')->on('metrics'); + $table->index('metric_id'); }); } diff --git a/app/database/migrations/2014_11_25_111315_CreateMetricsTable.php b/app/database/migrations/2015_01_05_202826_CreateMetricsTable.php similarity index 71% rename from app/database/migrations/2014_11_25_111315_CreateMetricsTable.php rename to app/database/migrations/2015_01_05_202826_CreateMetricsTable.php index 844abee9..a48a4683 100644 --- a/app/database/migrations/2014_11_25_111315_CreateMetricsTable.php +++ b/app/database/migrations/2015_01_05_202826_CreateMetricsTable.php @@ -15,11 +15,13 @@ class CreateMetricsTable extends Migration { Schema::create('metrics', function (Blueprint $table) { $table->increments('id'); - $table->string('name')->nullable(false); - $table->string('suffix')->nullable(false); - $table->string('description')->nullable(false); - $table->boolean('display_chart')->default(false); + $table->string('name'); + $table->string('suffix'); + $table->text('description')->default(''); + $table->boolean('display_chart')->default(1); $table->timestamps(); + + $table->index('display_chart'); }); } diff --git a/app/database/migrations/2014_11_26_164111_CreateServicesTable.php b/app/database/migrations/2015_01_05_202929_CreateServicesTable.php similarity index 76% rename from app/database/migrations/2014_11_26_164111_CreateServicesTable.php rename to app/database/migrations/2015_01_05_202929_CreateServicesTable.php index b4a56121..13704a78 100644 --- a/app/database/migrations/2014_11_26_164111_CreateServicesTable.php +++ b/app/database/migrations/2015_01_05_202929_CreateServicesTable.php @@ -15,12 +15,12 @@ class CreateServicesTable extends Migration { Schema::create('services', function (Blueprint $table) { $table->increments('id'); - - $table->string('type')->nullable(false); - $table->boolean('active')->default(0); // Inactive by default - $table->text('properties')->nullable(true); - + $table->string('type'); + $table->boolean('active'); + $table->text('properties'); $table->timestamps(); + + $table->index('active'); }); } diff --git a/app/database/migrations/2014_11_17_144232_CreateSettingsTable.php b/app/database/migrations/2015_01_05_203014_CreateSettingsTable.php similarity index 90% rename from app/database/migrations/2014_11_17_144232_CreateSettingsTable.php rename to app/database/migrations/2015_01_05_203014_CreateSettingsTable.php index 2ea0c8a2..ad146c70 100644 --- a/app/database/migrations/2014_11_17_144232_CreateSettingsTable.php +++ b/app/database/migrations/2015_01_05_203014_CreateSettingsTable.php @@ -16,7 +16,7 @@ class CreateSettingsTable extends Migration Schema::create('settings', function (Blueprint $table) { $table->increments('id'); $table->string('name'); - $table->text('value')->nullable()->default(null); + $table->longText('value'); $table->timestamps(); }); } diff --git a/app/database/migrations/2014_11_25_160545_CreateSubscribersTable.php b/app/database/migrations/2015_01_05_203235_CreateSubscriptionsTable.php similarity index 69% rename from app/database/migrations/2014_11_25_160545_CreateSubscribersTable.php rename to app/database/migrations/2015_01_05_203235_CreateSubscriptionsTable.php index 6a915494..c25806f8 100644 --- a/app/database/migrations/2014_11_25_160545_CreateSubscribersTable.php +++ b/app/database/migrations/2015_01_05_203235_CreateSubscriptionsTable.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateSubscribersTable extends Migration +class CreateSubscriptionsTable extends Migration { /** * Run the migrations. @@ -13,9 +13,9 @@ class CreateSubscribersTable extends Migration */ public function up() { - Schema::create('subscribers', function (Blueprint $table) { + Schema::create('subscriptions', function (Blueprint $table) { $table->increments('id'); - $table->string('email')->nullable(false); + $table->string('email'); $table->timestamps(); $table->softDeletes(); }); @@ -28,6 +28,6 @@ class CreateSubscribersTable extends Migration */ public function down() { - Schema::drop('subscribers'); + Schema::drop('subscriptions'); } } diff --git a/app/database/migrations/2014_11_24_153408_CreateUsersTable.php b/app/database/migrations/2015_01_05_203341_CreateUsersTable.php similarity index 74% rename from app/database/migrations/2014_11_24_153408_CreateUsersTable.php rename to app/database/migrations/2015_01_05_203341_CreateUsersTable.php index 3e0d04c0..993e7ee8 100644 --- a/app/database/migrations/2014_11_24_153408_CreateUsersTable.php +++ b/app/database/migrations/2015_01_05_203341_CreateUsersTable.php @@ -15,16 +15,20 @@ class CreateUsersTable extends Migration { Schema::create('users', function (Blueprint $table) { $table->increments('id'); - $table->string('username', 200)->nullable(false); - $table->string('password')->nullable(false); + $table->string('username'); + $table->string('password'); $table->rememberToken(); - $table->string('email')->nullable()->default(null); + $table->string('email'); + $table->string('api_key'); $table->boolean('active')->default(1); $table->tinyInteger('level')->default(2); $table->timestamps(); $table->index('remember_token'); $table->index('active'); + $table->unique('username'); + $table->unique('api_key'); + $table->unique('email'); }); } diff --git a/src/Models/WebHook.php b/src/Models/WebHook.php deleted file mode 100644 index 45e19f21..00000000 --- a/src/Models/WebHook.php +++ /dev/null @@ -1,132 +0,0 @@ -hasMany('CachetHQ\Cachet\Models\WebHookContent', 'hook_id', 'id'); - } - - /** - * Returns all active hooks. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeActive(Builder $query) - { - return $query->where('active', 1); - } - - /** - * Setups a ping event that is fired upon a web hook. - * - * @return \CachetHQ\Cachet\Models\WebHookResponse - */ - public function ping() - { - return $this->fire('ping', 'Coming live to you from Cachet.'); - } - - /** - * Fires the actual web hook event. - * - * @param string $eventType The event to send X-Cachet-Event - * @param string $data Data to send to the Web Hook - * - * @return \CachetHQ\Cachet\Models\WebHookResponse - */ - public function fire($eventType, $data) - { - $startTime = microtime(true); - - $client = new Client(); - $request = $client->createRequest($this->requestMethod, $this->endpoint, [ - 'headers' => [ - 'X-Cachet-Event' => $eventType, - ], - 'body' => $data - ]); - - try { - $response = $client->send($request); - } catch (ClientException $e) { - // Do nothing with the exception, we want it. - $response = $e->getResponse(); - } - - $timeTaken = microtime(true) - $startTime; - - // Store the request - $hookResponse = new WebHookResponse(); - $hookResponse->web_hook_id = $this->id; - $hookResponse->response_code = $response->getStatusCode(); - $hookResponse->sent_headers = json_encode($request->getHeaders()); - $hookResponse->sent_body = json_encode($data); - $hookResponse->recv_headers = json_encode($response->getHeaders()); - $hookResponse->recv_body = json_encode($response->getBody()); - $hookResponse->time_taken = $timeTaken; - $hookResponse->save(); - - return $hookResponse; - } - - /** - * Returns a human readable request type name. - * - * @throws \Exception - * - * @return string - */ - public function getRequestMethodAttribute() - { - switch ($this->request_type) { - case self::HEAD: - return 'HEAD'; - case self::GET: - return 'GET'; - case self::POST: - return 'POST'; - case self::PATCH: - return 'PATCH'; - case self::PUT: - return 'PUT'; - case self::DELETE: - return 'DELETE'; - default: - throw new Exception('Unknown request type value: '.$this->request_type); - } - } -} diff --git a/src/Models/WebHookResponse.php b/src/Models/WebHookResponse.php deleted file mode 100644 index 0c7ba574..00000000 --- a/src/Models/WebHookResponse.php +++ /dev/null @@ -1,30 +0,0 @@ -belongsTo('CachetHQ\Cachet\Models\WebHook', 'id', 'hook_id'); - } -}