• File: StoreDeviceController.php
  • Full Path: /var/www/imalipartnersapi/app/Http/Controllers/StoreDeviceController.php
  • Date Modified: 02/07/2023 8:01 PM
  • File size: 1.47 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace App\Http\Controllers;

use App\StoreDevice;
use Illuminate\Http\Request;

class StoreDeviceController extends Controller
{
    public function receiveNotification(Request $request)
    {

        $this->validate($request, [
            'firebase_token' => 'required',
            'device_name' => 'required'
        ]);

        $device = StoreDevice::query()
//            ->join('stores', 'stores.id', '=', 'store_devices.store_id')
            ->where('store_devices.store_id', $request->user()->id)
            ->where('device_name', $request->device_name)
            ->where('store_devices.firebase_token', $request->firebase_token)
            ->select('store_devices.*')
            ->first();

        if ($device) {


            if ($device->status == 0) {
                $device->update(['status' => true]);
                return response()->json([], 200);
            }

            if ($device->status == 1) {
                $device->update(['status' => false]);
                return response()->json([], 200);
            }
        } else {
            
            StoreDevice::create([
                'device_name' => $request->device_name,
                'firebase_token' => $request->firebase_token,
                'status' => true,
                'store_id' => $request->user()->id
            ]);
            return response()->json(['message' => 'Dispositivo adicionado com Sucesso'], 201);
        }
    }
}