<?php

/*
 * Copyright 2020 Netsyms Technologies.
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

if (Machine::exists($VARS["id"])) {
    $machine = new Machine($VARS['id']);
} else if (Machine::serialExists($VARS["id"])) {
    $machine = new Machine(Machine::getIDFromSerial($VARS['id']));
} else {
    http_response_code(404);
    sendJsonResp("Requested ID does not exist.", "ERROR");
}

$user = getRequestUser();

if (!$user->hasPermission("MACHINEMANAGER_EDIT") && !$user->hasPermission("MACHINEMANAGER_EVENTS")) {
    http_response_code(403);
    sendJsonResp("You don't have permission to add events.", "ERROR");
}

if (empty($VARS["date"]) || (bool)strtotime($VARS["date"]) !== true) {
    sendJsonResp("Invalid or missing event date.", "ERROR");
}
if (empty($VARS["event"])) {
    sendJsonResp("Invalid or missing event type.", "ERROR");
}

$evt = Event::create(
                $VARS['id'],
                date(
                        "Y-m-d H:i:s",
                        strtotime($VARS['date'])
                ),
                $VARS['event'],
                $user->getUID(),
                $VARS['publicnotes'] ?? "",
                $VARS['privatenotes'] ?? ""
);

sendJsonResp("Event added.");