Skip to content

Instantly share code, notes, and snippets.

@LFTroya
Created May 15, 2020 18:20
Show Gist options
  • Save LFTroya/de94458d2b44d5fdba28334976c87523 to your computer and use it in GitHub Desktop.
Save LFTroya/de94458d2b44d5fdba28334976c87523 to your computer and use it in GitHub Desktop.
<?php
use App\Models\TaskCatalog;
use Carbon\Carbon;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
class AddTaskCatalogs extends Migration
{
const TABLE_NAME = 'task_catalogs';
const DEFAULT_DESCRIPTION = 'Start your next successful business with your new branding';
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
DB::table(self::TABLE_NAME)->insert([
$this->createRecord(
'Background Removal',
self::DEFAULT_DESCRIPTION,
'/images/services/background-removal.svg',
TaskCatalog::DIGITAL,
'linear-gradient(225deg, #FFF6E6 0%, #FFEBD6 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Blog images',
self::DEFAULT_DESCRIPTION,
'/images/services/blog-image.svg',
TaskCatalog::DIGITAL,
'linear-gradient(225deg, #F5FFF8 0%, #E0FFEB 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Email signatures',
self::DEFAULT_DESCRIPTION,
'/images/services/email-signature.svg',
TaskCatalog::DIGITAL,
'linear-gradient(180deg, #EBF8FF 0%, #D6EDFF 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Illustrations',
self::DEFAULT_DESCRIPTION,
'/images/services/illustration.svg',
TaskCatalog::DIGITAL,
'linear-gradient(225deg, #FFF5F6 0%, #FFD6DA 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Infographics',
self::DEFAULT_DESCRIPTION,
'/images/services/infographic.svg',
TaskCatalog::DIGITAL,
'linear-gradient(225deg, #F5FFFC 0%, #E0FFF7 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Logo Design',
self::DEFAULT_DESCRIPTION,
'/images/services/logo-design.svg',
TaskCatalog::DIGITAL,
'linear-gradient(225deg, #F4EDFF 0%, #E7D9FF 99.97%)',
route('services.logo-design.index')
),
$this->createRecord(
'Powerpoint templates',
self::DEFAULT_DESCRIPTION,
'/images/services/powerpoint-template.svg',
TaskCatalog::DIGITAL,
'linear-gradient(225deg, #FFEBF4 0%, #FFD6E4 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Social media images',
self::DEFAULT_DESCRIPTION,
'/images/services/social-image.svg',
TaskCatalog::DIGITAL,
'linear-gradient(180deg, #EBF8FF 0%, #D6EDFF 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Web Ads',
self::DEFAULT_DESCRIPTION,
'/images/services/web-ad.svg',
TaskCatalog::DIGITAL,
'linear-gradient(225deg, #FEF5FF 0%, #FCE0FF 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Billboard design',
self::DEFAULT_DESCRIPTION,
'/images/services/billboard-design.svg',
TaskCatalog::PRINTABLE,
'linear-gradient(225deg, #FFF6E6 0%, #FFEBD6 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Book covers',
self::DEFAULT_DESCRIPTION,
'/images/services/book-cover.svg',
TaskCatalog::PRINTABLE,
'linear-gradient(225deg, #F4EDFF 0%, #E7D9FF 99.97%)',
route('services.logo-design.index')
),
$this->createRecord(
'Book layouts',
self::DEFAULT_DESCRIPTION,
'/images/services/book-layout.svg',
TaskCatalog::PRINTABLE,
'linear-gradient(225deg, #F5FFF8 0%, #E0FFEB 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Brochures',
self::DEFAULT_DESCRIPTION,
'/images/services/brochure.svg',
TaskCatalog::PRINTABLE,
'linear-gradient(225deg, #FFF5F6 0%, #FFD6DA 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Business cards',
self::DEFAULT_DESCRIPTION,
'/images/services/business-card.svg',
TaskCatalog::PRINTABLE,
'linear-gradient(225deg, #F4EDFF 0%, #E7D9FF 99.97%)',
route('services.logo-design.index')
),
$this->createRecord(
'Flyers & Posters',
self::DEFAULT_DESCRIPTION,
'/images/services/flyer.svg',
TaskCatalog::PRINTABLE,
'linear-gradient(180deg, #EBF8FF 0%, #D6EDFF 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Packaging & Labels',
self::DEFAULT_DESCRIPTION,
'/images/services/packaging-label.svg',
TaskCatalog::PRINTABLE,
'linear-gradient(225deg, #FFF5F6 0%, #FFD6DA 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Podcast Covers',
self::DEFAULT_DESCRIPTION,
'/images/services/podcast-cover.svg',
TaskCatalog::PRINTABLE,
'linear-gradient(225deg, #F5FFFC 0%, #E0FFF7 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Restaurant menu\'s',
self::DEFAULT_DESCRIPTION,
'/images/services/restaurant-menu.svg',
TaskCatalog::PRINTABLE,
'linear-gradient(225deg, #FFF6E6 0%, #FFEBD6 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'Tradeshow banners',
self::DEFAULT_DESCRIPTION,
'/images/services/tradeshow-banner.svg',
TaskCatalog::PRINTABLE,
'linear-gradient(180deg, #EBF8FF 0%, #D6EDFF 100%)',
route('services.logo-design.index')
),
$this->createRecord(
'T-shirt design',
self::DEFAULT_DESCRIPTION,
'/images/services/t-shirt.svg',
TaskCatalog::PRINTABLE,
'linear-gradient(225deg, #FFF5F6 0%, #FFD6DA 100%)',
route('services.logo-design.index')
),
]);
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
DB::table(self::TABLE_NAME)->truncate();
}
public function createRecord($title, $description, $image_url, $task_type, $background, $route)
{
return [
'title' => $title,
'description' => $description,
'image_url' => $image_url,
'task_type' => $task_type,
'enabled' => true,
'sort_order' => 0,
'background' => $background,
'slug' => Str::slug($title),
'route' => $route,
'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),
];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment