<?php

namespace Espo\Custom\Controllers;

use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Api\Request;

class CVmhMietverhltnis extends \Espo\Core\Templates\Controllers\BasePlus
{
    /**
     * POST Action: Initiate eviction lawsuit from Mietverhältnis
     */
    public function postActionInitiateEviction(Request $request): array
    {
        $data = $request->getParsedBody();
        
        $id = $data->id ?? null;
        if (!$id) {
            throw new BadRequest('No Mietverhältnis ID provided');
        }
        
        $service = $this->getRecordService();
        $result = $service->initiateEviction($id);
        
        return $result;
    }
    
    /**
     * POST Action: Initiate rent collection from Mietverhältnis
     */
    public function postActionInitiateRentCollection(Request $request): array
    {
        $data = $request->getParsedBody();
        
        $id = $data->id ?? null;
        if (!$id) {
            throw new BadRequest('No Mietverhältnis ID provided');
        }
        
        $service = $this->getRecordService();
        $result = $service->initiateRentCollection($id);
        
        return $result;
    }
    
    /**
     * POST Action: Initiate termination (Kündigung) from Mietverhältnis
     */
    public function postActionInitiateTermination(Request $request): array
    {
        $data = $request->getParsedBody();
        
        $id = $data->id ?? null;
        if (!$id) {
            throw new BadRequest('No Mietverhältnis ID provided');
        }
        
        $service = $this->getRecordService();
        $result = $service->initiateTermination($id);
        
        return $result;
    }
}
