<?php

namespace App\Console\Commands;

use App\Packages\Capsule\Models\CapsuleTaggedUser;
use App\Packages\Phone\Service\PhoneParseService;
use App\Packages\Phone\Service\AmazonSmsService;
use App\Packages\User\Notifications\TypesNotification;
use App\Packages\User\Transformer\NotificationTransformer;
use FCM;
use Illuminate\Console\Command;
use LaravelFCM\Message\OptionsBuilder;
use LaravelFCM\Message\PayloadDataBuilder;
use LaravelFCM\Message\PayloadNotificationBuilder;
use libphonenumber\PhoneNumber;

/**
 * Class PushCommand
 * @package App\Console\Commands
 */
class PushCommand extends Command
{
    protected $signature = 'command:push';

    public function handle()
    {

        $taggedUsers = [1 => 'b5747131-4da5-4073-b748-7e4fd108a573', 2 => '92a3065a-4e9a-45b8-be2c-679d1db2b8f3'];

        $taggedUsersQuery = CapsuleTaggedUser::repository()->query()
            ->leftJoin('table_user', 'table_user.id', '=', 'table_capsule_tagged_user.user_id')
            ->where('capsule_id', '=', '931');

//        if ($taggedUsersArray) {
//        }
        $taggedUsersQuery->whereNotIn('table_user.uuid', $taggedUsers);



        dd(rawSql($taggedUsersQuery));


//        $text = 'This is test notification for testing test purposes';
////        $token = 'dTtfxkOahHY:APA91bEzKaP22jyxrd2cD82NfhEN2zDTkoFzFBvTc6QFHHz_1EeCx72TvcaT1d8kAe4blOoPnjziKR4zE-PDJk6CXNDM0tadpm57W9423DWDKhxyhOOa5oLE_kAtjHQu35R2BgoSDdsE';
//        $token = 'd66P-8wSSek:APA91bEswu84I830ldpdxmr8ZYjCR8vb6uM953sVuWLNw5uaiDN_I_os47j1SQoROUdWNZgav3axvvB6Z5bQE1-UiZOWyMLkuNGK_eg_W1zescSxUSLH8DTu7bGGtUussTEk9xHaOxtA';
//
//
//
//        $builderData = [
//            'hello' => 'My name is ...',
////            'aps' => [
////                'badge' => 3,
////            ],
//        ];
//
//
//        $optionBuilder = new OptionsBuilder();
//        $optionBuilder->setTimeToLive(60*20);
//
//        $notificationBuilder = new PayloadNotificationBuilder('TimeCaps');
//        $notificationBuilder
//            ->setBody($text)
//            ->setSound('default');
//
//        $dataBuilder = new PayloadDataBuilder();
//        $dataBuilder->addData($builderData);
//
//        $option = $optionBuilder->build();
//        $notification = $notificationBuilder->build();
//        $data = $dataBuilder->build();
//
//        $downstreamResponse = FCM::sendTo(
//            $token,
//            $option,
//            $notification,
//            $data
//        );
//
//
//        dd($downstreamResponse);
    }
}













