Skip to content

Parameetrid

Iga API tagastatav parameetriväärtus on objekt järgmiste väljadega:

VäliKirjeldus
_idSelle parameetriväärtuse unikaalne identifikaator. Kasuta seda konkreetse väärtuse kustutamiseks.
typeParameetri nimi (vastab definitsiooni nimele, nt name, status).
stringStringiväärtus. Olemas string ja text tüüpi parameetrite puhul.
numberArvväärtus. Olemas number tüüpi parameetrite puhul.
booleanTõeväärtus. Olemas boolean tüüpi parameetrite puhul.
dateKuupäevaväärtus (YYYY-MM-DD). Olemas date tüüpi parameetrite puhul.
datetimeKuupäev+kellaaeg väärtus (ISO 8601). Olemas datetime tüüpi parameetrite puhul.
referenceViidatava objekti ID. Olemas reference tüüpi parameetrite puhul.
filenameFaili nimi. Olemas file tüüpi parameetrite puhul.
filesizeFaili suurus baitides. Olemas file tüüpi parameetrite puhul.
filetypeMIME tüüp. Olemas file tüüpi parameetrite puhul.
languageKeelekood (nt en, et). Olemas, kui parameetri definitsioonil on multilingual: true.
createdObjekt kujul at (ISO ajatempel) ja by (isikuobjekti ID) — kes selle väärtuse seadistas ja millal.

TIP

Salvesta hiljem uuendada või kustutada soovitavate parameetriväärtuste _id. Ilma selleta saad ainult kogu parameetri kustutada või lisada uusi väärtusi olemasolevate kõrvale.

Näide: objekt koos parameetritega

json
{
  "_id": "507f1f77bcf86cd799439011",
  "name": [
    {
      "_id": "507f1f77bcf86cd799439022",
      "type": "name",
      "string": "Acme Corp",
      "created": { "at": "2024-01-15T10:30:00Z", "by": "507f1f77bcf86cd799439099" }
    }
  ],
  "status": [
    {
      "_id": "507f1f77bcf86cd799439033",
      "type": "status",
      "string": "active",
      "created": { "at": "2024-01-15T10:30:00Z", "by": "507f1f77bcf86cd799439099" }
    }
  ],
  "revenue": [
    {
      "_id": "507f1f77bcf86cd799439044",
      "type": "revenue",
      "number": 1500000,
      "created": { "at": "2024-01-20T08:00:00Z", "by": "507f1f77bcf86cd799439099" }
    }
  ]
}

Parameetrite kirjutamine

Väärtuste loomiseks või uuendamiseks saada POST-iga massiiv parameetriobjektidest:

json
[
  { "type": "name", "string": "Acme Corp" },
  { "type": "status", "string": "active" },
  { "type": "revenue", "number": 1500000 },
  { "type": "is_active", "boolean": true },
  { "type": "founded", "date": "1999-03-15" },
  { "type": "owner", "reference": "507f1f77bcf86cd799439099" }
]

Kasuta väärtuse välja, mis vastab parameetri tüübile (string, number, boolean, date, datetime, reference).

WARNING

Uue objekti loomisel (POST aadressile /api/{db}/entity) pead lisama _type parameetri, mis viitab objektitüübile. Selle väljajätmine tagastab vea 400.

Parameetriväärtuse ülekirjutamine

Konkreetse olemasoleva väärtuse ülekirjutamiseks (mitte uue lisamiseks), lisa POST-i kehasse selle _id:

json
[
  { "_id": "507f1f77bcf86cd799439033", "type": "status", "string": "inactive" }
]

See asendab selle täpse parameetriobjekti väärtuse. Ilma _id-ta lisatakse alati uus väärtus olemasolevate kõrvale.

Mitme väärtusega parameetrid

Kui parameetri definitsioonil on list: true, võib sama parameetri nime all eksisteerida mitu väärtust. Iga väärtus on eraldi parameetriobjekt oma _id-ga.

Väärtuse lisamine — POST-i uus parameetriobjekt:

json
{ "type": "tag", "string": "priority" }

Konkreetse väärtuse eemaldamine — DELETE parameetri _id järgi:

DELETE /api/{db}/property/{_id}

Mitmekeelsed parameetrid

Kui parameetri definitsioonil on multilingual: true, on iga keel eraldi parameetriobjekt, mis kannab language koodi.

Lugemine — API tagastab ühe objekti iga keele kohta:

json
"description": [
  { "_id": "...", "type": "description", "string": "Overview", "language": "en" },
  { "_id": "...", "type": "description", "string": "Ülevaade", "language": "et" }
]

Kirjutamine — lisa POST-i korral väli language:

json
[
  { "type": "description", "string": "Overview", "language": "en" },
  { "type": "description", "string": "Ülevaade", "language": "et" }
]

Parameetri kustutamine

Kustuta konkreetne parameetriväärtus selle _id järgi:

DELETE /api/{db}/property/{_id}

Tagastab eduka kustutamise korral { "deleted": true }. Kustutamine on pehme kustutamine — parameeter märgistatakse kustutatuks ja arvatakse objektist välja, kuid jääb andmebaasi auditeerimise eesmärgil alles.

Piirangud

ParameeterReegel
_typeEi saa kustutada
_owner, _editor, _expander, _viewer, _noaccess, _sharing, _inheritrights, _parentNõuab _owner õigusi objektil
_owner (viimane)Ei saa kustutada — vähemalt üks _owner peab jääma
_parentNõuab ka _expander õigusi viidataval ülemobjektil

WARNING

_type kustutamine tagastab alati 403. Objekti tüübi muutmiseks kirjuta olemasolev väärtus üle, saates POST-i koos vana parameetri _id ja uue viitega — vaata Parameetriväärtuse ülekirjutamine.