User Tools

Site Tools


design2budget:webservice:operation:schema

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

design2budget:webservice:operation:schema [2015/11/27 14:09]
design2budget:webservice:operation:schema [2015/11/27 14:09] (current)
Line 1: Line 1:
 +====== design2budget Entwickler Webservice Dokumentation ======
 +
 +Zurück zur [[design2budget:​webservice|Webservice Dokumentation Startseite]]
 +
 +====== Basisoperation <​module>/​schema ======
 +
 +Diese Action wird von jedem Modul angeboten und gibt das Schema für das entsprechende Modul aus.
 +
 +Das Schema beinhaltet zusätzlich zu den einzelnen Feldnamen auch den Datentyp, das Label in der jeweils eingestellten Sprache und falls es sich um ein Dropdown Feld handelt die gültigen Werte mit den entsprechenden Labels in der jeweiligen Sprache.
 +
 +==== GET ====
 +
 +https://​server/​tenant/​s/​module/​schema/?​sid=sessionID[&​output=outputMode]
 +
 +^  parameter ​   ^ Optional: Standard ^ Beschreibung ​    ^
 +| output ​       | JA: json           | JSON REST API (json) oder XML REST API (xml) |
 +
 +Beispiel:
 +
 +https://​server/​tenant/​s/​offer/​schema/?​sid=9bd3b5f93692e4659632c8585eb35447
 +
 +Gibt das Schema für das Modul Angebote aus.
 +
 +=== Jedes Feld hat eine Reihe von Eigenschaften ===
 +
 +^ Eigenschaft ​ ^ Bedeutung ​ ^
 +| type         | Feldtyp ​   |
 +| create ​      | SQL Create Statement (OPTIONAL) |
 +| shortcut ​    | Nur beim id Feld vorhanden: Prefix für Modul |
 +| uiname ​      | Feldname für GUI (OPTIONAL) |
 +| 1rel1        | 1:1 Verknüpfung zu anderem Objekt (OPTIONAL) |
 +| join_table_alias | Interner Alias Name für 1lrel Verknüpfung (OPTIONAL) |
 +| datetype ​    | Bei Datumsfelder Angabe ob nur datum '​date'​ nur zeit '​time'​ oder beides '​date+time'​ (OPTIONAL) |
 +| dropdown ​    | Array mit Liste von Dropdown Werten - 0=erster Wert, 1=zweiter Wert, ... (OPTIONAL) |
 +| stringformat | Anzuwendende Formatierung (z.B. "​%.2f"​ für Preise) (OPTIONAL) |
 +
 +
 +=== Feldtypen (type) ===
 +
 +^ Name      ^ Bedeutung ​       ^
 +| INT       | Integer Feld     |
 +| INTEGER ​  | Alias für INT    |
 +| UT        | Datum/Zeit in der Form Unixtimestamp (wird als INT gespeichert) ​ |
 +| FLOAT     | Gleitkommazahl ​ |
 +| STRING ​   | String ​ |
 +| DD        | Dropdown Feld (wird als INT gespeichert) ​ |
 +
 +
 +
 +==== POST ====
 +
 +keine POST Paramter erforderlich.
 +
 +
 +=== Beispiel: JSON Return ===
 +
 +https://​server/​tenant/​s/​article/​schema/?​sid=9bd3b5f93692e4659632c8585eb35447
 +
 +Schema des Moduls article (gekürzt):
 +
 +<code javascript>​
 +{
 + "​module":"​article",​
 + "​schema":​ {
 + "​id":​{
 + "​type":"​INT",​
 + "​create":"​BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT",​
 + "​shortcut":"​a",​
 + "​uiname":"​id"​
 + },
 + "​created_user":​{
 + "​type":"​INT",​
 + "​create":"​INTEGER DEFAULT 0",
 + "​1rel1":"​users",​
 + "​join_table_alias":"​a21",​
 + "​uiname":"​created_user"​
 + },
 + "​created_user__id":​{
 + "​type":"​INT",​
 + "​create":"​INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT",​
 + "​shortcut":"​u",​
 + "​uiname":"​created_user:​id"​
 + },
 + ...
 + "​created_date":​{
 + "​type":"​UT",​
 + "​create":"​INTEGER DEFAULT 0",
 + "​uiname":"​created_date"​
 + },
 + "​modified_user":​{
 + "​type":"​INT",​
 + "​create":"​INTEGER DEFAULT 0",
 + "​1rel1":"​users",​
 + "​join_table_alias":"​a22",​
 + "​uiname":"​modified_user"​
 + },
 + ...
 + "​record_status":​{
 + "​type":"​INT",​
 + "​create":"​INTEGER DEFAULT 0",
 + "​dropdown":​["​active","​new"​],​
 + "​uiname":"​Datensatz-Status"​
 + },
 + "​status":​{
 + "​type":"​DD",​
 + "​create":"​INTEGER DEFAULT 0",
 + "​dropdown":​["​aktiv","​inaktiv"​],​
 + "​uiname":"​Status"​
 + },
 + "​status_change_dt":​
 + {"​type":"​UT",​
 + "​create":"​INTEGER DEFAULT 0",
 + "​datetype":"​date",​
 + "​uiname":"​Status ge\u00e4ndert Datum"
 + },
 + "​name":​{
 + "​type":"​STRING",​
 + "​create":"​VARCHAR(150)",​
 + "​mandatory":​true,​
 + "​uiname":"​Bezeichnung"​
 + },
 + "​category":​{
 + "​type":"​INT",​
 + "​create":"​INTEGER DEFAULT 0",
 + "​1rel1":"​articlegroup",​
 + "​join_table_alias":"​a23",​
 + "​uiname":"​Warengruppe"​
 + },
 + "​category__id":​{
 + "​type":"​INT",​
 + "​create":"​BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT",​
 + "​shortcut":"​f",​
 + "​uiname":"​category:​id"​
 + },
 + ...
 + "​vendor":​{
 + "​type":"​STRING",​
 + "​create":"​VARCHAR(150)",​
 + "​uiname":"​Hersteller"​
 + },
 + "​vendor_model":​{
 + "​type":"​STRING",​
 + "​create":"​VARCHAR(150)",​
 + "​uiname":"​Modellbezeichnung"​
 + },
 + "​price":​{
 + "​type":"​FLOAT",​
 + "​create":"​FLOAT DEFAULT 0",
 + "​stringformat":"​%.2f",​
 + "​uiname":"​Preis (netto)"​
 + },
 + "​ean":​{
 + "​type":"​STRING",​
 + "​create":"​VARCHAR(100)",​
 + "​uiname":"​EAN\/​Herst.Art.Nr"​
 + },
 + "​description":​{
 + "​type":"​STRING",​
 + "​create":"​TEXT",​
 + "​uiname":"​Beschreibung"​
 + },
 + "​info":​{
 + "​type":"​STRING",​
 + "​create":"​TEXT",​
 + "​uiname":"​weitere Informationen"​
 + },
 + "​unit":​{
 + "​type":"​STRING",​
 + "​create":"​VARCHAR(100)",​
 + "​uiname":"​Einheit"​
 + },
 + "​quantity":​{
 + "​type":"​INT",​
 + "​create":"​INTEGER DEFAULT 0",
 + "​uiname":"​Mengeneinheit"​
 + },
 + "​provider_category":​{
 + "​type":"​STRING",​
 + "​create":"​VARCHAR(150)",​
 + "​uiname":"​Warengruppe (Lieferant)"​
 + },
 + "​provider_articlenr":​{
 + "​type":"​STRING",​
 + "​create":"​VARCHAR(150)",​
 + "​uiname":"​Artikelnr"​
 + },
 + "​provider":​{
 + "​type":"​INT",​
 + "​create":"​INTEGER DEFAULT 0",
 + "​1rel1":"​provider",​
 + "​join_table_alias":"​a24",​
 + "​uiname":"​Lieferant"​
 + },
 + "​provider__id":​{
 + "​type":"​INT",​
 + "​create":"​BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT",​
 + "​shortcut":"​t",​
 + "​uiname":"​provider:​id"​
 + },
 + ...
 + "​mainatt":​{
 + "​type":"​INT",​
 + "​create":"​INTEGER DEFAULT 0",
 + "​1rel1":"​attachment",​
 + "​join_table_alias":"​a25",​
 + "​uiname":"​Hauptbild"​
 + },
 + "​mainatt__id":​{
 + "​type":"​INT",​
 + "​create":"​BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT",​
 + "​shortcut":"​z",​
 + "​uiname":"​mainatt:​id"​
 + },
 + ...
 + "​linkurl":​{
 + "​type":"​STRING",​
 + "​create":"​VARCHAR (250)",​
 + "​uiname":"​Link\/​URL"​
 + },
 + "​location":​{
 + "​type":"​INT",​
 + "​create":"​INTEGER DEFAULT 0",
 + "​uiname":"​Ort"​
 + }
 + },
 + "​errormsg":​[]
 +}
 +</​code>​
  
design2budget/webservice/operation/schema.txt · Last modified: 2015/11/27 14:09 (external edit)