<?php

namespace App\Domains\Event\Actions\UpdateManagers;

class UpdateManagersCommand {
    private UpdateManagersRequest $request;

    public function __construct(UpdateManagersRequest $request) {
        $this->request = $request;
    }

    public function execute() : UpdateManagersResponse {
        $response = new UpdateManagersResponse();
        $this->request->event->resetMangers();

        foreach ($this->request->managers as $manager) {
            $this->request->event->eventManagers()->attach($manager);
        }

        $this->request->event->save();
        $response->success = true;

        return $response;
    }
}
