Görünümler API

Görünümler modülünün tüm işlemleri (5) ve veri modelleri (2): adresler, izinler, girdiler, ön koşullar, olaylar ve örnekler.

Kayıtlı listeler — seçtiğiniz sütunlar, filtreler ve sıralama.

Modül kodu view_grid · 5 işlem · 2 veri modeli · 3 olay. Bir anahtar ya da token, arkasındaki kişinin bu modülde yapabildiğinden fazlasını asla yapamaz; satır düzeyindeki güvenlik uygulamadakiyle birebir aynıdır. Yetki kapsamları: view_grid (hepsi), view_grid:read (yalnız okuma) ya da view_grid:<yetenek>.

Kaynaklar

KaynakTabloListeleme ve okumaPOSTPATCHDELETE
saved_viewssaved_view/api/v1/saved_views
view_statesview_state/api/v1/view_states

Listeler limit (en çok 200), cursor, order (ör. -created_at), fields ve q alır; diğer her sorgu parametresi bir sütun süzgecidir: ?status=paid, ?total[gte]=100, ?id[in]=a,b, ?x=null.

İşlemler

İşlemGereken izinNe yapar
view_grid.copy_base_viewsview_grid:writeTablo görünümlerini kopyala
view_grid.deleteview_grid:writeGörünümü sil
view_grid.rememberview_grid:readBu listeyi bıraktığım gibi hatırla
view_grid.saveview_grid:writeBu görünümü kaydet
view_grid.updateview_grid:writeKayıtlı görünümü değiştir

view_grid.copy_base_views

Tablo görünümlerini kopyala — Paylaşılan görünümleri ve kişisel görünümlerinizi kopyalanan tablolara taşır.

Gereken izin view_grid:write · veriyi değiştirir

POSThttps://app.getera.io/api/v1/saved_views/actions/copy_base_views
API anahtarı ya da OAuth token · view_grid:write
  • Asıl adres: POST /api/v1/actions/view_grid.copy_base_views

Girdi

AlanTürZorunluAçıklama
tableMapobject / arrayevetTablo kimlikleri
columnMapobject / arrayevetAlan kimlikleri

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
invalid_shapeEşleme listesi UUID çiftlerinden oluşmalı.

Yayımladığı olaylar: view_grid.saved

Neye yazar: saved_view (insert) — Copies visible views onto the copied tables

curl -X POST https://app.getera.io/api/v1/saved_views/actions/copy_base_views \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"tableMap":{},"columnMap":{}}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "view_grid.saved"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.savedViews.copyBaseViews({
  tableMap: {},
  columnMap: {}
})
era saved_views copy_base_views --data '{"tableMap":{},"columnMap":{}}'
tools/call
{
  "name": "era__view_grid__copy_base_views",
  "arguments": {
    "tableMap": {},
    "columnMap": {}
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde view_grid:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 invalid_shape · 429 çok sık istek

view_grid.delete

Görünümü sil — Kayıtlı bir görünümü kaldırır.

Gereken izin view_grid:write · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır

POSThttps://app.getera.io/api/v1/saved_views/actions/delete
API anahtarı ya da OAuth token · view_grid:write
  • Asıl adres: POST /api/v1/actions/view_grid.delete

Girdi

AlanTürZorunluAçıklama
view_iduuidevetGörüntüle

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundBu görünüm bu çalışma alanında değil.
not_yoursPaylaşılan bir görünümü yalnızca bir yönetici kaldırabilir.

Yayımladığı olaylar: view_grid.deleted

Neye yazar: saved_view (delete) — Deletes the view

curl -X POST https://app.getera.io/api/v1/saved_views/actions/delete \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"view_id":"VIEW_ID"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "view_grid.deleted"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.savedViews.delete({
  view_id: "VIEW_ID"
})
era saved_views delete \
  --view-id "VIEW_ID"
tools/call
{
  "name": "era__view_grid__delete",
  "arguments": {
    "view_id": "VIEW_ID"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde view_grid:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_yours · 429 çok sık istek

view_grid.remember

Bu listeyi bıraktığım gibi hatırla — Bir kişinin bir listedeki kaydedilmemiş düzenini saklar.

Gereken izin view_grid:read · veriyi değiştirir

POSThttps://app.getera.io/api/v1/view_states/actions/remember
API anahtarı ya da OAuth token · view_grid:read
  • Asıl adres: POST /api/v1/actions/view_grid.remember

Girdi

AlanTürZorunluAçıklama
module_codestringevetModül · en çok 41
view_keystringevetListe · en çok 80
statestringevetDüzen
saved_view_iduuidTemel alınan

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
unknown_moduleBöyle bir modül yok.
invalid_shapeDüzen bir nesne olmalı.

Neye yazar: view_state (update) — Stores the arrangement

curl -X POST https://app.getera.io/api/v1/view_states/actions/remember \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"module_code":"Module","view_key":"List","state":"Arrangement"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": []
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.viewStates.remember({
  module_code: "Module",
  view_key: "List",
  state: "Arrangement"
})
era view_states remember \
  --module-code "Module" \
  --view-key "List" \
  --state "Arrangement"
tools/call
{
  "name": "era__view_grid__remember",
  "arguments": {
    "module_code": "Module",
    "view_key": "List",
    "state": "Arrangement"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde view_grid:read izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 unknown_module, invalid_shape · 429 çok sık istek

view_grid.save

Bu görünümü kaydet — Listenin mevcut düzenine ad verir, böylece ona geri dönülebilir.

Gereken izin view_grid:write · veriyi değiştirir

POSThttps://app.getera.io/api/v1/saved_views/actions/save
API anahtarı ya da OAuth token · view_grid:write
  • Asıl adres: POST /api/v1/actions/view_grid.save

Girdi

AlanTürZorunluAçıklama
module_codestringevetModül · en çok 41
view_keystringevetListe · en çok 80
namestringevetAd · en çok 80
kindstring (enum)Tür · İzin verilen değerler: grid, kanban, gallery, calendar, timeline, form, map
columnsstringSütunlar
sortsstringSıralama
conditionsstringFiltre
optionsstringSeçenekler
sharedbooleanÇalışma alanıyla paylaş · Herkes görür. Yalnızca bir yönetici yayımlayabilir.
is_defaultbooleanBu listeyi bununla aç

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
unknown_moduleBöyle bir modül yok.
invalid_shapeDüzen beklenen biçimde değil.
name_takenBu listede bu adda bir görünüm zaten var.
cannot_shareBir görünümü çalışma alanıyla paylaşmak yönetim yetkisi gerektirir.

Yayımladığı olaylar: view_grid.saved, view_grid.shared

Neye yazar: saved_view (insert) — Saves the view

curl -X POST https://app.getera.io/api/v1/saved_views/actions/save \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"module_code":"Module","view_key":"List","name":"Name"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "view_grid.saved",
    "view_grid.shared"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.savedViews.save({
  module_code: "Module",
  view_key: "List",
  name: "Name"
})
era saved_views save \
  --module-code "Module" \
  --view-key "List" \
  --name "Name"
tools/call
{
  "name": "era__view_grid__save",
  "arguments": {
    "module_code": "Module",
    "view_key": "List",
    "name": "Name"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde view_grid:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 unknown_module, invalid_shape, name_taken, cannot_share · 429 çok sık istek

view_grid.update

Kayıtlı görünümü değiştir — Görünümü yeniden adlandırır ya da şu an gösterdiği düzeni kaydeder.

Gereken izin view_grid:write · veriyi değiştirir

POSThttps://app.getera.io/api/v1/saved_views/actions/update
API anahtarı ya da OAuth token · view_grid:write
  • Asıl adres: POST /api/v1/actions/view_grid.update

Girdi

AlanTürZorunluAçıklama
view_iduuidevetGörüntüle
namestringAd · en çok 80
columnsstringSütunlar
sortsstringSıralama
conditionsstringFiltre
optionsstringSeçenekler
is_defaultbooleanBu listeyi bununla aç

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundBu görünüm bu çalışma alanında değil.
not_yoursPaylaşılan bir görünümü yalnızca bir yönetici değiştirebilir.
invalid_shapeDüzen beklenen biçimde değil.
name_takenBu listede bu adda bir görünüm zaten var.
no_changeBir şeyin değişmesi gerekiyor.
view_lockedKilitli bir görünüm, bir yönetici kilidini açana kadar değiştirilemez.

Yayımladığı olaylar: view_grid.saved

Neye yazar: saved_view (update) — Rewrites the view

curl -X POST https://app.getera.io/api/v1/saved_views/actions/update \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"view_id":"VIEW_ID"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "view_grid.saved"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.savedViews.update({
  view_id: "VIEW_ID"
})
era saved_views update \
  --view-id "VIEW_ID"
tools/call
{
  "name": "era__view_grid__update",
  "arguments": {
    "view_id": "VIEW_ID"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde view_grid:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_yours, invalid_shape, name_taken, no_change, view_locked · 429 çok sık istek

Veri modelleri

SavedView

Tablo saved_view · Kaynak saved_views

  • GET /api/v1/saved_views
  • GET /api/v1/saved_views/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
module_codestring · textmodule
view_keystring · text
namestring · text
owner_idstring (uuid) · uuidevetapp_user
is_defaultboolean · bool
columnsobject · jsonb
sortsobject · jsonb
conditionsobject · jsonb
optionsobject · jsonb
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz
kindstring · textgrid, kanban, gallery, calendar, timeline, form, map

Birincil anahtar: id

Denetimler:

  • CHECK ((jsonb_typeof(columns) = 'array'::text))
  • CHECK ((jsonb_typeof(conditions) = 'object'::text))
  • CHECK ((jsonb_typeof(options) = 'object'::text))
  • CHECK ((jsonb_typeof(sorts) = 'array'::text))

ViewState

Tablo view_state · Kaynak view_states

  • GET /api/v1/view_states
  • GET /api/v1/view_states/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
user_idstring (uuid) · uuidapp_user
module_codestring · textmodule
view_keystring · text
saved_view_idstring (uuid) · uuidevetsaved_view
stateobject · jsonb
updated_atstring (date-time) · timestamptz

Birincil anahtar: workspace_id, user_id, module_code, view_key

Denetimler:

  • CHECK ((jsonb_typeof(state) = 'object'::text))

Olaylar

İş akışları ve webhook'lar bu olaylara tepki verir.

OlayNe olurTaşıdığı alanlar
view_grid.deletedBir görünüm silindi.view_id
view_grid.savedBir görünüm kaydedildi.view_id, name
view_grid.sharedÖzel bir görünüm çalışma alanına yayımlandı.view_id
Bu sayfa yardımcı oldu mu?