'name' => ['type' => API_STRING_UTF8, 'flags' => API_REQUIRED | API_NOT_EMPTY, 'length' => DB::getFieldLength('graphs', 'name')]
abstract class CGraphGeneral extends CApiService {
public const ACCESS_RULES = [
'get' => ['min_user_type' => USER_TYPE_ZABBIX_USER],
'create' => ['min_user_type' => USER_TYPE_ZABBIX_ADMIN],
'update' => ['min_user_type' => USER_TYPE_ZABBIX_ADMIN],
'delete' => ['min_user_type' => USER_TYPE_ZABBIX_ADMIN]
protected const FLAGS = null;
const ERROR_TEMPLATE_HOST_MIX = 'templateHostMix';
const ERROR_MISSING_GRAPH_NAME = 'missingGraphName';
const ERROR_MISSING_GRAPH_ITEMS = 'missingGraphItems';
const ERROR_MISSING_REQUIRED_VALUE = 'missingRequiredValue';
const ERROR_GRAPH_SUM = 'graphSum';
public function update(array $graphs) {
$graphs = zbx_toArray($graphs);
$graphids = array_column($graphs, 'graphid');
$graphs = $this->extendObjects($this->tableName(), $graphs,
['name', 'graphtype', 'ymin_type', 'ymin_itemid', 'ymax_type', 'ymax_itemid', 'yaxismin', 'yaxismax']
$db_graphs = $this->get([
'output' => API_OUTPUT_EXTEND,
'selectGraphItems' => ['gitemid', 'itemid', 'drawtype', 'sortorder', 'color', 'yaxisside', 'calc_fnc',
$updateDiscoveredValidator = new CUpdateDiscoveredValidator([
'messageAllowed' => _('Cannot update a discovered graph.')