keksAccount/database/migrations/2019_04_24_153610_mail_and_...

116 lines
4.1 KiB
PHP

<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class MailAndAppSettings extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
DB::statement("ALTER TABLE settings MODIFY COLUMN typ ENUM('checkbox', 'textinput', 'password')");
$setting = new \App\Models\Setting();
$setting->name = "smtp_active";
$setting->description = "If SMTP is not active the system will not send any mails";
$setting->typ = "checkbox";
$setting->value = 0;
$setting->saveOrFail();
$setting = new \App\Models\Setting();
$setting->name = "smtp_host";
$setting->description = "SMTP Host";
$setting->typ = "textinput";
$setting->value = "";
$setting->saveOrFail();
$setting = new \App\Models\Setting();
$setting->name = "smtp_port";
$setting->description = "SMTP Port";
$setting->typ = "textinput";
$setting->value = "587";
$setting->saveOrFail();
$setting = new \App\Models\Setting();
$setting->name = "smtp_smtpAuth";
$setting->description = "Use SMTP-Auth";
$setting->typ = "checkbox";
$setting->value = 1;
$setting->saveOrFail();
$setting = new \App\Models\Setting();
$setting->name = "smtp_username";
$setting->description = "SMTP Username";
$setting->typ = "textinput";
$setting->value = "";
$setting->saveOrFail();
$setting = new \App\Models\Setting();
$setting->name = "smtp_password";
$setting->description = "SMTP Password";
$setting->typ = "password";
$setting->value = "";
$setting->saveOrFail();
$setting = new \App\Models\Setting();
$setting->name = "smtp_secure";
$setting->description = "SMTP Secure Message";
$setting->typ = "textinput";
$setting->value = "tls";
$setting->saveOrFail();
$setting = new \App\Models\Setting();
$setting->name = "smtp_from_mail";
$setting->description = "SMTP From Mail";
$setting->typ = "textinput";
$setting->value = "account@example.com";
$setting->saveOrFail();
$setting = new \App\Models\Setting();
$setting->name = "smtp_from_name";
$setting->description = "SMTP From Name";
$setting->typ = "textinput";
$setting->value = "KeksAccount";
$setting->saveOrFail();
$setting = new \App\Models\Setting();
$setting->name = "smtp_bcc";
$setting->description = "BCC All Messages to this address (No BCC fi empty)";
$setting->typ = "textinput";
$setting->value = "";
$setting->saveOrFail();
$setting = new \App\Models\Setting();
$setting->name = "url";
$setting->description = "URL of this Service";
$setting->typ = "textinput";
$setting->value = "https://account.keks.cloud";
$setting->saveOrFail();
$setting = new \App\Models\Setting();
$setting->name = "name";
$setting->description = "Name of this Service";
$setting->typ = "textinput";
$setting->value = "Keks Account";
$setting->saveOrFail();
Schema::table('apps', function (Blueprint $table) {
$table->boolean('show_on_webpage')->default(false)->comment('If this flag is true, the App will shown on the Webpage');
$table->string("direct_url")->nullable()->default(null)->comment("Direct Login URL");
$table->binary("icon")->nullable()->default(null)->comment("200x200 Image as Icon");
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
$settings = \App\Models\Setting::query()->where("name", "LIKE", "smtp_%")->get();
foreach($settings as $s) {
$s->delete();
}
\App\Models\Setting::query()->where("name", "=", "url")->delete();
DB::statement("ALTER TABLE settings MODIFY COLUMN typ ENUM('checkbox')");
}
}