<?php

#
# XiVO Web-Interface
# Copyright (C) 2016 Avencall
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

class CustomResource {

	private $client = null;

	function __construct($client) {
		$this->client = $client;
	}

	function get($id) {
		$request = Request::json_get("/endpoints/custom/" . $id);
		$response = $this->client->send($request);
		return $response->decode_or_raise();
	}

	function create($sip)
	{
		$request = Request::json_post("/endpoints/custom", $sip);
		$response = $this->client->send($request);
		return $response->decode_or_raise();
	}

	function delete($id) {
		$request = Request::delete("/endpoints/custom/" . $id);
		$response = $this->client->send($request);
		return $response->status_ok_or_raise();
	}

	function update($id, $parameters)
	{
		$request = Request::json_put("/endpoints/custom/" . $id, $parameters);
		$response = $this->client->send($request);
		return $response->status_ok_or_raise();
	}
}
