Unuaj paŝoj

Kion ĉiu uzanto povas vidi

La ŝlosilo vidas ekzakte tion, kion ĝia uzanto vidas en la kontrolpanelo. Nenion necesas agordi en la API: la reguloj venas de la organizaĵoj kaj permesoj de la uzanto.

Nur la organizaĵoj de la uzanto

La API konsideras nur la organizaĵojn ligitajn al la uzanto, la samajn, kiujn tiu povas elekti en la kontrolpanelo.

Administranto vidas ĉion de la organizaĵo

Administranto de la organizaĵo, aŭ de la ĉefa organizaĵo, vidas ĉiujn ĝiajn televidilojn, dosierojn kaj ludlistojn.

La aliaj dependas de la permesoj

Por la aliaj uzantoj validas, en ĉiu organizaĵo, la permesoj vidi televidilojn, dosierojn kaj ludlistojn, la samaj, kiuj malŝlosas tiujn paĝojn en la kontrolpanelo.

Ŝanĝoj validas tuj

Permeso forigita, organizaĵo forigita aŭ uzanto malaktivigita en la kontrolpanelo validas jam ĉe la sekva peto.

Kio restas ekstere

  • Eroj de organizaĵoj sen permeso ne aperas en la listoj. Peti unu el ili rekte donas 404, kvazaŭ ĝi ne ekzistus.
  • En ludlisto, dosiero, kiun la uzanto ne povas vidi, venas kun file egala al null. La televidiloj de ludlisto kaj la ludlistoj de dosiero montras nur tion, kion la uzanto povas vidi.
  • Forigitaj eroj kaj televidiloj ankoraŭ ne aktivigitaj ne aperas.

Por scii, kion ŝlosilo povas konsulti, voku /organizations: ĉiu organizaĵo venas kun admin kaj permissions.

Se via sistemo bezonas nur parton de la datumoj, kreu en la kontrolpanelo uzanton nur por ĝi, kun nur la necesaj permesoj, kaj generu la ŝlosilon en la konto de tiu uzanto.

Peto
curl "https://api.on-cloud.live/v1/organizations" \
  -H "X-API-Key: $API_KEY"
<?php
$ch = curl_init('https://api.on-cloud.live/v1/organizations');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['X-API-Key: ' . getenv('API_KEY')],
]);
$response = json_decode(curl_exec($ch), true);
const res = await fetch('https://api.on-cloud.live/v1/organizations', {
  headers: { 'X-API-Key': process.env.API_KEY }
});
const { data } = await res.json();
Respondo200
{
  "data": [
    {
      "uid": "8f14e45fceea167a5a36dedd4bea2543",
      "name": "Loja Centro",
      "neutral_zone": false,
      "admin": true,
      "permissions": {
        "tvs": true,
        "files": true,
        "playlists": true
      }
    },
    {
      "uid": "1679091c5a880faf6fb5e6087eb1b2dc",
      "name": "Loja Shopping Norte",
      "neutral_zone": false,
      "admin": true,
      "permissions": {
        "tvs": true,
        "files": true,
        "playlists": true
      }
    }
  ]
}
Ero de alia organizaĵo404
{
  "error": {
    "code": "not_found",
    "message": "Item not found or you do not have access to it."
  }
}