Standardlisten¶
In Alvine gibt es viele Schlüssel-/Werte-Listen für unterschieldiche Einsatzzwecke. Diese Listen können alle über die List-Api abgerufen werden.
Listen¶
Listname | Beschreibung |
---|---|
account_address_country_specialfields | |
account_address_type | |
account_calendar_color | Farben für die Kalenderdarstellung |
account_calendar_events_alarm_action | |
account_calendar_events_alarm_period |
Werte einer Liste holen¶
Die Schlüssel-/Wertpaare einer Liste können über einen GET
-Request über die URL /api/util/list/<name_der_liste>
geladen werden.
Das Ergebnis wird als Dataset zurückgeliefert.
{
"dataset": {
"1": "value 1",
"2": "value 2",
"3": "value 3",
},
"sys": {
"pagination": {
"total": 3
},
"message": "200 OK",
"code": 200
}
}
Konfiguration der Route¶
Über die Pfade werden die Speicherorte der Listen für die Defaultliste und für evtl. projektbezogene Listen definiert. Über die Blacklist-Tags, werden Listen, die über die API nicht ausgeliefert werden dürfen konfiguriert.
<route id="ALVINE-API-UTIL-LIST-GET">
<presenter>\Alvine\Application\Platform\Presenter\Api\Util\StandardList</presenter>
<method>GET</method>
<pattern><![CDATA[^/api/util/list/(?<name>[0-9a-zA-z]+)$]]></pattern>
<template><![CDATA[/api/util/list/${name}]]></template>
<parameters>
<parameter name="name" type='string'></parameter>
</parameters>
<configuration>
<source>
<standard>${legacy-basepath}alvine/plugin/lists/standard/${parameter-name}.inc.php</standard>
<project>${legacy-basepath}alvine/plugin/lists/project/${parameter-name}.inc.php</project>
</source>
<blacklist>
<name>content_shorturl_name</name>
<name>content_rte_table_class</name>
</blacklist>
</configuration>
</route>
Projektliste schreiben¶
Standardlisten können für ein Projekt mit eigenen Werten überschrieben werden. Hierzu
muss ein PUT
-Request mit der neuen Liste an die URL /api/util/list/<name_der_liste>
gesendet werden.
Wichtig
Überschriebene Listen können Ihr System unbrauchbar machen.
Der Aufbau der Liste ist ein einfaches JSON-Objekt mit Schlüssel-/Wert-Paaren.
{
"1": "my value 1",
"2": "my value 2",
"3": "my value 3",
"4": "my value 4"
}
Konfiguration der Route¶
Über die Pfade werden die Speicherorte der Listen für die Defaultliste und für evtl. projektbezogene Listen definiert. Über die Blacklist-Tags, werden Listen, die nicht überschrieben werden dürfen konfiguriert.
<route id="ALVINE-API-UTIL-LIST-PUT">
<presenter>\Alvine\Application\Platform\Presenter\Api\Util\StandardList</presenter>
<method>PUT</method>
<pattern><![CDATA[^/api/util/list/(?<name>[0-9a-zA-z]+)$]]></pattern>
<template><![CDATA[/api/util/list/${name}]]></template>
<parameters>
<parameter name="name" type='string'></parameter>
</parameters>
<configuration>
<source>
<standard>${legacy-basepath}alvine/plugin/lists/standard/${parameter-name}.inc.php</standard>
<project>${legacy-basepath}alvine/plugin/lists/project/${parameter-name}.inc.php</project>
</source>
<blacklist>
<name>content_shorturl_name</name>
<name>content_rte_table_class</name>
</blacklist>
</configuration>
</route>
Projektliste löschen¶
Soll wieder die Standardliste verwendet werden, so kann die Projektliste über einen DELETE
-Request mit der
URL /api/util/list/<name_der_liste>
gelöscht werden.
Wichtig
Das Löschen einer Projekliste kann bestehende Datensätze unbrauchbar machen.
Konfiguration der Route¶
Über die Pfade werden die Speicherorte der Listen für die Defaultliste und für evtl. projektbezogene Listen definiert.
<route id="ALVINE-API-UTIL-LIST-DELTE">
<presenter>\Alvine\Application\Platform\Presenter\Api\Util\StandardList</presenter>
<method>DELETE</method>
<pattern><![CDATA[^/api/util/list/(?<name>[0-9a-zA-z]+)$]]></pattern>
<template><![CDATA[/api/util/list/${name}]]></template>
<parameters>
<parameter name="name" type='string'></parameter>
</parameters>
<configuration>
<source>
<standard>${legacy-basepath}alvine/plugin/lists/standard/${parameter-name}.inc.php</standard>
<project>${legacy-basepath}alvine/plugin/lists/project/${parameter-name}.inc.php</project>
</source>
</configuration>
</route>