<?php namespace App\Controllers\Mensajeria;


use App\Controllers\BaseResourceController;
use App\Entities\Mensajeria\ConversacionEntity;
use App\Entities\Sistema\ActivityEntity;
use App\Models\CollectionModel;
use App\Models\Mensajeria\ConversacionModel;
use App\Models\Sistema\ActivityModel;

class MensajesDirectos extends BaseResourceController
{

    protected $modelName = ConversacionModel::class;
    protected $format = 'json';

    protected static $controllerSlug = 'mensajes-internos';

    protected static $viewPath = 'themes/vuexy/form/mensajes/';

    protected static $indexRoute = 'mensajesView';


    public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger)
    {
        $this->viewData['pageTitle'] = "Mensajeria interna";

        // Breadcrumbs
        $this->viewData['breadcrumb'] = [
            ['title' => "Home", 'route' => "javascript:void(0);", 'active' => false],
            ['title' => lang("App.menu_mensajes"), 'route' => route_to('mensajeriaView'), 'active' => true]
        ];

        parent::initController($request, $response, $logger);
    }

    public function index()
    {
        return view(static::$viewPath . static::$indexRoute);
    }


    public function getChatInfo($conversacionId)
    {
        // Modelos
        $conversacionModel = model('App\Models\Mensajeria\ConversacionModel');

        // Verificar si es una solicitud AJAX
        if ($this->request->isAJAX()) {
            // Obtener los datos
            $data = [
                'people' => $conversacionModel->getChatParticipants($conversacionId),
                'messages' => $conversacionModel->getChatMessages($conversacionId)
            ];

            // Devolver respuesta JSON
            return $this->respond($data, 200, 'Chat information retrieved successfully');
        } else {
            return $this->failForbidden('Only AJAX requests are allowed');
        }
    }


}
