HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/admin.javaapp.co.uk/app/Services/SignupService.php
<?php

namespace App\Services;

use App\Models\Addon;
use App\Models\AddonSize;
use App\Models\Cafe;
use App\Models\CafeMenu;
use App\Models\CafeRequest;
use App\Models\CafeTiming;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\DB;

class SignupService
{
    private $model;

    public function __construct($model)
    {
        $this->model = new $model();
    }

    public function showSignupForm($id = null)
    {
        $data = [];
        if ($id != null) {
            DB::beginTransaction();
            try {
                $cafeRequest = CafeRequest::where('id', decrypt($id))->first();
                if ($cafeRequest->approved == 1 && $cafeRequest->signup_completed == 1) {
                    $create = [];
                    $create['email'] = $cafeRequest->email;
                    $create['cafe_name'] = $cafeRequest->cafe_name;
                    $create['phone'] = $cafeRequest->phone;
                    $create['cafe_type'] = $cafeRequest->cafe_type;
                    $create['address'] = $cafeRequest->address;
                    $create['postcode'] = $cafeRequest->postcode;
                    $create['latitude'] = $cafeRequest->latitude;
                    $create['longitude'] = $cafeRequest->longitude;
                    $create['website'] = $cafeRequest->website;
                    $create['password'] = $cafeRequest->password;
                    $create['approved'] = $cafeRequest->approved;
                    $create['signup_completed'] = $cafeRequest->signup_completed;
                    $create['is_active'] = $cafeRequest->is_active;
                    $create['created_at'] = Carbon::now()->timestamp;
                    $create['updated_at'] = Carbon::now()->timestamp;
                    $cafeId = $this->model->insertGetId($create);
                    $cafe = $this->model->find($cafeId);
                    $cafe->assignRole('cafe_admin');
                    $cafeTime = [
                        'cafe_id' => $cafeId,
                        'open_time' => config('constants.cafe_timing.open_time'),
                        'close_time' => config('constants.cafe_timing.close_time'),
                        'is_active' => config('constants.cafe_timing.is_active'),
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ];
                    $cafeTiming = [];
                    for ($i = 0; $i < 7; $i++) {
                        $cafeTime['day'] = $i;
                        array_push($cafeTiming, $cafeTime);
                    }
                    CafeTiming::insert($cafeTiming);
                    $cafeRequest->delete();

                    // add cafe menu
                    $cafeMenus = [
                        // [
                        //     'menu_name' => 'Drinks',
                        //     'cafe_id' => $cafeId,
                        //     'created_at' => Carbon::now()->timestamp,
                        //     'updated_at' => Carbon::now()->timestamp,
                        // ],
                        // [
                        //     'menu_name' => 'Pastries',
                        //     'cafe_id' => $cafeId,
                        //     'created_at' => Carbon::now()->timestamp,
                        //     'updated_at' => Carbon::now()->timestamp,
                        // ],
                        [
                            'menu_name' => 'Hot Drinks',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Tea',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Bakery',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Sandwiches',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Iced drinks',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Smoothies',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Bagles',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Salads',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Wraps',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Snacks',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Bottled Drinks',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Breakfast Options',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Bubble Tea',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Cakes',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Coffee',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Hot Chocolate',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Soft Drinks',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Brunch',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Breakfast',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Lunch',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Main Meals',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Desserts',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Soup',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Milkshakes',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Kids Menu',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Seasonal',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Vegan Options',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Matcha',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Juice',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Coffee Beans and Other Retail',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Other',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Unique',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                        [
                            'menu_name' => 'Bundles',
                            'cafe_id' => $cafeId,
                            'created_at' => Carbon::now()->timestamp,
                            'updated_at' => Carbon::now()->timestamp,
                        ],
                    ];
                    CafeMenu::insert($cafeMenus);

                    // add addons
            $addons = [
                [
                    'addon_name' => "Milk",
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'addon_name' => "Sugar",
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'addon_name' => "Syrup",
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'addon_name' => "Other",
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'addon_name' => "Added Taste",
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'addon_name' => "Add on",
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
            ];
            Addon::insert($addons);

            // add addon sizes
            $addonSizes = [];
                    $addon = Addon::where('cafe_id', $cafeId)->get();
                    foreach ($addon as $key => $value) {
                        switch ($value->addon_name) {
                            case 'Milk':
                                $addonSize = [
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'No milk',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Whole milk',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Semi skimmed milk',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Oat milk',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Soya milk',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Almond milk',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Skimmed milk',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Coconut milk',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                ];                                
                                array_push($addonSizes, $addonSize);
                                break;

                            case 'Sugar':
                                $addonSize = [
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'White sugar',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Brown sugar',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Sweetener',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                ];
                                array_push($addonSizes, $addonSize);
                                break;

                            case 'Syrup':
                                $addonSize = [
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Vanilla',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Hazelnut',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Caramel',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Salted caramel',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Mint',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Almond',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Mocha/Chocolate',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Coconut',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Cinnamon',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Toffee Nut',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Macadamia Nut',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Raspberry',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Strawberry',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Blueberry',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Cherry',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Peach',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Mango',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Passionfruit',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Pomegranate',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Orange',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Pumpkin Spice',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Peppermint',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Gingerbread',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Maple',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Irish Cream',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Amaretto',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Butter Pecan',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Sugar-Free Vanilla',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Sugar-Free Caramel',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Sugar-Free Hazelnut',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Pistachio',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Walnut',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Peanut Butter',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Matcha',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                ];                                
                                array_push($addonSizes, $addonSize);
                                break;

                                case 'Other':
                                    $addonSize = [
                                        [
                                            'addon_id' => $value->id,
                                            'cafe_id' => $cafeId,
                                            'addon_size_name' => 'Decaf',
                                            'addon_size_price' => 0,
                                            'created_at' => Carbon::now()->timestamp,
                                            'updated_at' => Carbon::now()->timestamp,
                                        ],
                                        [
                                            'addon_id' => $value->id,
                                            'cafe_id' => $cafeId,
                                            'addon_size_name' => 'Extra shot',
                                            'addon_size_price' => 0,
                                            'created_at' => Carbon::now()->timestamp,
                                            'updated_at' => Carbon::now()->timestamp,
                                        ],
                                        [
                                            'addon_id' => $value->id,
                                            'cafe_id' => $cafeId,
                                            'addon_size_name' => 'Espresso',
                                            'addon_size_price' => 0,
                                            'created_at' => Carbon::now()->timestamp,
                                            'updated_at' => Carbon::now()->timestamp,
                                        ],
                                    ];
                                    array_push($addonSizes, $addonSize);
                                    break;
                                    case 'Added Taste':
                                        $addonSize = [
                                            [
                                                'addon_id' => $value->id,
                                                'cafe_id' => $cafeId,
                                                'addon_size_name' => 'Ginger',
                                                'addon_size_price' => 0,
                                                'created_at' => Carbon::now()->timestamp,
                                                'updated_at' => Carbon::now()->timestamp,
                                            ],
                                            [
                                                'addon_id' => $value->id,
                                                'cafe_id' => $cafeId,
                                                'addon_size_name' => 'Mint',
                                                'addon_size_price' => 0,
                                                'created_at' => Carbon::now()->timestamp,
                                                'updated_at' => Carbon::now()->timestamp,
                                            ],
                                            [
                                                'addon_id' => $value->id,
                                                'cafe_id' => $cafeId,
                                                'addon_size_name' => 'Honey',
                                                'addon_size_price' => 0,
                                                'created_at' => Carbon::now()->timestamp,
                                                'updated_at' => Carbon::now()->timestamp,
                                            ],
                                        ];
                                        array_push($addonSizes, $addonSize);
                                        break;
                                        case 'Add on':
                                            $addonSize = [
                                                [
                                                    'addon_id' => $value->id,
                                                    'cafe_id' => $cafeId,
                                                    'addon_size_name' => 'Marshmallow',
                                                    'addon_size_price' => 0,
                                                    'created_at' => Carbon::now()->timestamp,
                                                    'updated_at' => Carbon::now()->timestamp,
                                                ],
                                                [
                                                    'addon_id' => $value->id,
                                                    'cafe_id' => $cafeId,
                                                    'addon_size_name' => 'Whipped cream',
                                                    'addon_size_price' => 0,
                                                    'created_at' => Carbon::now()->timestamp,
                                                    'updated_at' => Carbon::now()->timestamp,
                                                ],
                                            ];
                                            array_push($addonSizes, $addonSize);
                                            break;

                            default:
                                break;
                        }
                    }
                    for ($i = 0; $i < sizeof($addonSizes); $i++) {
                        AddonSize::insert($addonSizes[$i]);
                    }

                    DB::commit();
                    session()->flash('success_message', __('auth.approvedSuccessfully'));
                    return redirect()->route('cafe.login');
                }
                if ($cafeRequest->approved == 1 && $cafeRequest->signup_completed == 0) {
                    $data['email'] = $cafeRequest->email;
                    $data['cafe_name'] = $cafeRequest->cafe_name;
                    $data['phone'] = $cafeRequest->phone;
                    $data['address'] = $cafeRequest->address;
                    $data['postcode'] = $cafeRequest->postcode;
                    $data['latitude'] = $cafeRequest->latitude;
                    $data['longitude'] = $cafeRequest->longitude;
                    $data['cafe_type'] = $cafeRequest->cafe_type;
                    $data['url'] = route('cafe.signup.submit', $id);
                }
                if ($cafeRequest->approved == 0) {
                    DB::rollback();
                    session()->flash('error_message', __('auth.waitForApproval'));
                    return redirect()->back();
                }
            } catch (\Throwable $th) {
                DB::rollback();
                session()->flash('error_message', __('common.somethingWentWrong'));
                return redirect()->back();
            }
            // $data['url'] = route('cafe.signup.submit');
        } else {
            $data['url'] = route('cafe.signup.submitWithoutApproval');
        }
        $data['type'] = 'cafe';
        $data['urlLogin'] = route('cafe.login');
        $data['urlGoogleAPI'] = config('geocode.API_URI');
        return view('custom_auth.signup', $data);
    }

    public function signup($request, $id)
    {
        DB::beginTransaction();
        try {
            $create = [];
            $userExist = CafeRequest::where('email', $request->email)->first();
            if ($userExist) {
                DB::rollback();
                session()->flash('error_message', __('validation.validation.email.unique'));
                return redirect()->back();
            }
            $create['email'] = $request->email;
            $create['cafe_name'] = $request->cafe_name;
            $create['phone'] = $request->phone;
            $create['cafe_type'] = isset($request->cafe_type) ? $request->cafe_type : 0;
            $create['address'] = $request->address;
            $create['postcode'] = $request->postcode;
            $create['latitude'] = isset($request->latitude) ? $request->latitude : 0;
            $create['longitude'] = isset($request->longitude) ? $request->longitude : 0;
            $create['password'] = bcrypt($request->password);
            $create['signup_completed'] = 1;
            $create['is_active'] = 1;
            $create['created_at'] = Carbon::now()->timestamp;
            $create['updated_at'] = Carbon::now()->timestamp;
            if ($id == null) {
                CafeRequest::insert($create);
                session()->flash('success_message', __('auth.cafeRequestSendSuccessfully'));
            } else {
                $cafeRequest = CafeRequest::where('id', decrypt($id))->first();
                $create['website'] = $cafeRequest->website;
                $create['approved'] = 1;
                $cafeId = $this->model->insertGetId($create);
                $cafe = $this->model->find($cafeId);
                $cafe->assignRole('cafe_admin');
                $cafeTime = [
                    'cafe_id' => $cafeId,
                    'open_time' => config('constants.cafe_timing.open_time'),
                    'close_time' => config('constants.cafe_timing.close_time'),
                    'is_active' => config('constants.cafe_timing.is_active'),
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ];
                $cafeTiming = [];
                for ($i = 0; $i < 7; $i++) {
                    $cafeTime['day'] = $i;
                    array_push($cafeTiming, $cafeTime);
                }
                CafeTiming::insert($cafeTiming);

                // delete cafe request
                $cafeRequest->delete();

                // add cafe menu
                $cafeMenus = [
                    // [
                    //     'menu_name' => 'Drinks',
                    //     'cafe_id' => $cafeId,
                    //     'created_at' => Carbon::now()->timestamp,
                    //     'updated_at' => Carbon::now()->timestamp,
                    // ],
                    // [
                    //     'menu_name' => 'Pastries',
                    //     'cafe_id' => $cafeId,
                    //     'created_at' => Carbon::now()->timestamp,
                    //     'updated_at' => Carbon::now()->timestamp,
                    // ],
                    [
                        'menu_name' => 'Hot Drinks',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Tea',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Bakery',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Sandwiches',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Iced drinks',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Smoothies',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Bagles',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Salads',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Wraps',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Snacks',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Bottled Drinks',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Breakfast Options',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Bubble Tea',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Cakes',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Coffee',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Hot Chocolate',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Soft Drinks',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Brunch',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Breakfast',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Lunch',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Main Meals',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Desserts',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Soup',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Milkshakes',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Kids Menu',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Seasonal',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Vegan Options',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Matcha',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Juice',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Coffee Beans and Other Retail',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Other',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Unique',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'menu_name' => 'Bundles',
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                ];
                CafeMenu::insert($cafeMenus);

                // add addons
                $addons = [
                    [
                        'addon_name' => "Milk",
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'addon_name' => "Sugar",
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'addon_name' => "Syrup",
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'addon_name' => "Other",
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'addon_name' => "Added Taste",
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                    [
                        'addon_name' => "Add on",
                        'cafe_id' => $cafeId,
                        'created_at' => Carbon::now()->timestamp,
                        'updated_at' => Carbon::now()->timestamp,
                    ],
                ];
                Addon::insert($addons);

                // add addon sizes
                $addonSizes = [];
                $addon = Addon::where('cafe_id', $cafeId)->get();
                foreach ($addon as $key => $value) {
                    switch ($value->addon_name) {
                        case 'Milk':
                            $addonSize = [
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'No milk',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Whole milk',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Semi skimmed milk',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Oat milk',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Soya milk',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Almond milk',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Skimmed milk',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Coconut milk',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                            ];     
                            array_push($addonSizes, $addonSize);
                            break;

                        case 'Sugar':
                            $addonSize = [
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'White sugar',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Brown sugar',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Sweetener',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                            ];
                            array_push($addonSizes, $addonSize);
                            break;

                        case 'Syrup':
                            $addonSize = [
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Vanilla',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Hazelnut',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Caramel',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Salted caramel',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Mint',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Almond',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Mocha/Chocolate',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Coconut',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Cinnamon',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Toffee Nut',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Macadamia Nut',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Raspberry',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Strawberry',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Blueberry',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Cherry',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Peach',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Mango',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Passionfruit',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Pomegranate',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Orange',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Pumpkin Spice',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Peppermint',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Gingerbread',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Maple',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Irish Cream',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Amaretto',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Butter Pecan',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Sugar-Free Vanilla',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Sugar-Free Caramel',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Sugar-Free Hazelnut',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Pistachio',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Walnut',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Peanut Butter',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Matcha',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                            ];   
                            array_push($addonSizes, $addonSize);
                            break;
                            case 'Other':
                                $addonSize = [
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Decaf',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Extra shot',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Espresso',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                ];
                                array_push($addonSizes, $addonSize);
                                break;
                                case 'Added Taste':
                                    $addonSize = [
                                        [
                                            'addon_id' => $value->id,
                                            'cafe_id' => $cafeId,
                                            'addon_size_name' => 'Ginger',
                                            'addon_size_price' => 0,
                                            'created_at' => Carbon::now()->timestamp,
                                            'updated_at' => Carbon::now()->timestamp,
                                        ],
                                        [
                                            'addon_id' => $value->id,
                                            'cafe_id' => $cafeId,
                                            'addon_size_name' => 'Mint',
                                            'addon_size_price' => 0,
                                            'created_at' => Carbon::now()->timestamp,
                                            'updated_at' => Carbon::now()->timestamp,
                                        ],
                                        [
                                            'addon_id' => $value->id,
                                            'cafe_id' => $cafeId,
                                            'addon_size_name' => 'Honey',
                                            'addon_size_price' => 0,
                                            'created_at' => Carbon::now()->timestamp,
                                            'updated_at' => Carbon::now()->timestamp,
                                        ],
                                    ];
                                    array_push($addonSizes, $addonSize);
                                    break;
                                    case 'Add on':
                                        $addonSize = [
                                            [
                                                'addon_id' => $value->id,
                                                'cafe_id' => $cafeId,
                                                'addon_size_name' => 'Marshmallow',
                                                'addon_size_price' => 0,
                                                'created_at' => Carbon::now()->timestamp,
                                                'updated_at' => Carbon::now()->timestamp,
                                            ],
                                            [
                                                'addon_id' => $value->id,
                                                'cafe_id' => $cafeId,
                                                'addon_size_name' => 'Whipped cream',
                                                'addon_size_price' => 0,
                                                'created_at' => Carbon::now()->timestamp,
                                                'updated_at' => Carbon::now()->timestamp,
                                            ],
                                        ];
                                        array_push($addonSizes, $addonSize);
                                        break;
                        default:
                            break;
                    }
                }
                for ($i = 0; $i < sizeof($addonSizes); $i++) {
                    AddonSize::insert($addonSizes[$i]);
                }

                session()->flash('success_message', __('auth.signupSuccessfully'));
            }
            DB::commit();
            return redirect()->route('cafe.login');
        } catch (\Throwable $th) {
            DB::rollback();
            session()->flash('error_message', __('common.somethingWentWrong'));
            return redirect()->back();
        }
    }

    public function signupWithoutApproval($request, $id)
    {
        DB::beginTransaction();
        try {
            $create = [];
            $userExist = Cafe::where('email', $request->email)->first();
            if ($userExist) {
                DB::rollback();
                session()->flash('error_message', __('validation.validation.email.unique'));
                return redirect()->back();
            }
            $create['email'] = $request->email;
            $create['cafe_name'] = $request->cafe_name;
            $create['phone'] = $request->phone;
            $create['cafe_type'] = isset($request->cafe_type) ? $request->cafe_type : 0;
            $create['address'] = $request->address;
            $create['postcode'] = $request->postcode;
            $create['latitude'] = isset($request->latitude) ? $request->latitude : 0;
            $create['longitude'] = isset($request->longitude) ? $request->longitude : 0;
            $create['password'] = bcrypt($request->password);
            $create['signup_completed'] = 1;
            $create['is_active'] = 1;
            $create['approved'] = 1;
            $create['created_at'] = Carbon::now()->timestamp;
            $create['updated_at'] = Carbon::now()->timestamp;
            // $create['website'] = $request->website;
            $cafeId = $this->model->insertGetId($create);
            $cafe = $this->model->find($cafeId);
            $cafe->assignRole('cafe_admin');
            $cafeTime = [
                'cafe_id' => $cafeId,
                'open_time' => config('constants.cafe_timing.open_time'),
                'close_time' => config('constants.cafe_timing.close_time'),
                'is_active' => config('constants.cafe_timing.is_active'),
                'created_at' => Carbon::now()->timestamp,
                'updated_at' => Carbon::now()->timestamp,
            ];
            $cafeTiming = [];
            for ($i = 0; $i < 7; $i++) {
                $cafeTime['day'] = $i;
                array_push($cafeTiming, $cafeTime);
            }
            CafeTiming::insert($cafeTiming);

            // add cafe menu
            $cafeMenus = [
                // [
                //     'menu_name' => 'Drinks',
                //     'cafe_id' => $cafeId,
                //     'created_at' => Carbon::now()->timestamp,
                //     'updated_at' => Carbon::now()->timestamp,
                // ],
                // [
                //     'menu_name' => 'Pastries',
                //     'cafe_id' => $cafeId,
                //     'created_at' => Carbon::now()->timestamp,
                //     'updated_at' => Carbon::now()->timestamp,
                // ],
                [
                    'menu_name' => 'Hot Drinks',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Tea',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Bakery',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Sandwiches',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Iced drinks',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Smoothies',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Bagles',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Salads',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Wraps',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Snacks',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Bottled Drinks',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Breakfast Options',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Bubble Tea',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Cakes',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Coffee',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Hot Chocolate',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Soft Drinks',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Brunch',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Breakfast',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Lunch',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Main Meals',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Desserts',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Soup',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Milkshakes',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Kids Menu',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Seasonal',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Vegan Options',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Matcha',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Juice',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Coffee Beans and Other Retail',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Other',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Unique',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'menu_name' => 'Bundles',
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
            ];
            CafeMenu::insert($cafeMenus);

            // add addons
            $addons = [
                [
                    'addon_name' => "Milk",
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'addon_name' => "Sugar",
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'addon_name' => "Syrup",
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'addon_name' => "Other",
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'addon_name' => "Added Taste",
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
                [
                    'addon_name' => "Add on",
                    'cafe_id' => $cafeId,
                    'created_at' => Carbon::now()->timestamp,
                    'updated_at' => Carbon::now()->timestamp,
                ],
            ];
            Addon::insert($addons);

            // add addon sizes
            $addonSizes = [];
            $addon = Addon::where('cafe_id', $cafeId)->get();
            foreach ($addon as $key => $value) {
                switch ($value->addon_name) {
                    case 'Milk':
                        $addonSize = [
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'No milk',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Whole milk',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Semi skimmed milk',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Oat milk',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Soya milk',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Almond milk',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Skimmed milk',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Coconut milk',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                        ];                                
                        array_push($addonSizes, $addonSize);
                        break;

                    case 'Sugar':
                        $addonSize = [
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'White sugar',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Brown sugar',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Sweetener',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                        ];
                        array_push($addonSizes, $addonSize);
                        break;

                    case 'Syrup':
                        $addonSize = [
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Vanilla',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Hazelnut',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Caramel',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Salted caramel',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Mint',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Almond',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Mocha/Chocolate',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Coconut',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Cinnamon',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Toffee Nut',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Macadamia Nut',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Raspberry',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Strawberry',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Blueberry',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Cherry',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Peach',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Mango',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Passionfruit',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Pomegranate',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Orange',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Pumpkin Spice',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Peppermint',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Gingerbread',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Maple',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Irish Cream',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Amaretto',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Butter Pecan',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Sugar-Free Vanilla',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Sugar-Free Caramel',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Sugar-Free Hazelnut',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Pistachio',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Walnut',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Peanut Butter',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                            [
                                'addon_id' => $value->id,
                                'cafe_id' => $cafeId,
                                'addon_size_name' => 'Matcha',
                                'addon_size_price' => 0,
                                'created_at' => Carbon::now()->timestamp,
                                'updated_at' => Carbon::now()->timestamp,
                            ],
                        ];                                
                        array_push($addonSizes, $addonSize);
                        break;

                        case 'Other':
                            $addonSize = [
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Decaf',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Extra shot',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                                [
                                    'addon_id' => $value->id,
                                    'cafe_id' => $cafeId,
                                    'addon_size_name' => 'Espresso',
                                    'addon_size_price' => 0,
                                    'created_at' => Carbon::now()->timestamp,
                                    'updated_at' => Carbon::now()->timestamp,
                                ],
                            ];
                            array_push($addonSizes, $addonSize);
                            break;
                            case 'Added Taste':
                                $addonSize = [
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Ginger',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Mint',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                    [
                                        'addon_id' => $value->id,
                                        'cafe_id' => $cafeId,
                                        'addon_size_name' => 'Honey',
                                        'addon_size_price' => 0,
                                        'created_at' => Carbon::now()->timestamp,
                                        'updated_at' => Carbon::now()->timestamp,
                                    ],
                                ];
                                array_push($addonSizes, $addonSize);
                                break;
                                case 'Add on':
                                    $addonSize = [
                                        [
                                            'addon_id' => $value->id,
                                            'cafe_id' => $cafeId,
                                            'addon_size_name' => 'Marshmallow',
                                            'addon_size_price' => 0,
                                            'created_at' => Carbon::now()->timestamp,
                                            'updated_at' => Carbon::now()->timestamp,
                                        ],
                                        [
                                            'addon_id' => $value->id,
                                            'cafe_id' => $cafeId,
                                            'addon_size_name' => 'Whipped cream',
                                            'addon_size_price' => 0,
                                            'created_at' => Carbon::now()->timestamp,
                                            'updated_at' => Carbon::now()->timestamp,
                                        ],
                                    ];
                                    array_push($addonSizes, $addonSize);
                                    break;

                    default:
                        break;
                }
            }
            for ($i = 0; $i < sizeof($addonSizes); $i++) {
                AddonSize::insert($addonSizes[$i]);
            }

            session()->flash('success_message', __('auth.signupSuccessfully'));
            DB::commit();
            return redirect()->route('cafe.login');
        } catch (\Throwable $th) {
            DB::rollback();
            session()->flash('error_message', __('common.somethingWentWrong'));
            return redirect()->back();
        }
    }
}