<?php

namespace App\Http\Controllers;

use App\AdminModel;
use App\AuditTrail;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;


    public function successJsonMsg($msg, $route = null)
    {
        return response()->json([
            'code' => 200,
            'msg' => $msg,
            'route' => $route,
        ]);
    }


    public function failJsonMsg($msg, $route = null)
    {
        return response()->json([
            'code' => 402,
            'msg' => $msg,
            'route' => $route,
        ]);
    }


    public function logActivity($trigger, $role,  $activity_type, $message, $client = null, $admin = null)
    {
        AuditTrail::query()->create([
            'triggered_by' => $trigger.' ('.$role.')', // Who triggered the log?
            'client_id' => $client, // Client?
            'admin_id' => $admin, // Admin?
            'message' => $message, // Message
            'activity_type' => $activity_type // type of activity (New application)
        ]);
    }

    public function findRole()
    {
        $model = AdminModel::query()->where('id', auth()->guard('adminguard')->user()->id)->first();

        $role = '';

        if ($model->role === '1'){
            $role = 'Super Admin';
        }

        if ($model->role === '2'){
            $role = 'Project Analyst';
        }

        if ($model->role === '3'){
            $role = 'Credit Analyst';
        }

        return $role;

    }
}
