Hämta en paginerad lista över instrumentpaneler som du har tillgång till att visa eller ändra


Lista instrumentpaneler

Hämta instrumentpaneler som du har tillgång till att visa. Detta inkluderar instrumentpaneler som du har skapat och instrumentpaneler som har delats med dig.

Grundläggande exempel

query ListDashboards {
  dashboards(filter: { companyId: "company_123" }) {
    items {
      id
      title
      createdBy {
        id
        name
        email
      }
      createdAt
      updatedAt
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
  }
}

Avancerat exempel

query ListDashboardsAdvanced {
  dashboards(
    filter: { 
      companyId: "company_123"
      projectId: "proj_456"  # Optional: filter by project
    }
    sort: [updatedAt_DESC, title_ASC]
    skip: 0
    take: 10
  ) {
    items {
      id
      title
      createdBy {
        id
        name
        email
      }
      dashboardUsers {
        id
        role
        user {
          id
          name
          email
        }
      }
      createdAt
      updatedAt
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
  }
}

Inmatningsparametrar

DashboardFilterInput

Parameter Typ Obligatorisk Beskrivning
companyId String! ✅ Ja Företags-ID för att filtrera instrumentpaneler
projectId String Nej Valfritt projekt-ID för att filtrera instrumentpaneler

Sorteringsalternativ

Sorteringsvärde Beskrivning
title_ASC Sortera efter titel stigande
title_DESC Sortera efter titel fallande
createdBy_ASC Sortera efter skapare stigande
createdBy_DESC Sortera efter skapare fallande
updatedAt_ASC Sortera efter uppdateringstid stigande
updatedAt_DESC Sortera efter uppdateringstid fallande (standard)

Paginering parametrar

Parameter Typ Standard Beskrivning
skip Int 0 Antal objekt att hoppa över
take Int 20 Antal objekt att returnera (max 100)

Svarsfält

DashboardPagination

Fält Typ Beskrivning
items [Dashboard!]! Array av instrumentpanelsobjekt
pageInfo PageInfo! Pagineringinformation

Dashboard

Fält Typ Beskrivning
id ID! Unik identifierare för instrumentpanelen
title String! Visningsnamn för instrumentpanelen
createdBy User! Användare som skapade instrumentpanelen
dashboardUsers [DashboardUser!] Användare med tillgång till denna instrumentpanel
createdAt DateTime! När instrumentpanelen skapades
updatedAt DateTime! När instrumentpanelen senast ändrades

DashboardUser

Fält Typ Beskrivning
id ID! Unik identifierare för instrumentpanelsanvändaren
role DashboardRole! Användarens roll (VISARE eller REDIGERARE)
user User! Användarinformation

Åtkomstkontroll

Instrumentpanelens synlighet

Du kan endast se instrumentpaneler där du är:

  • Skaparen av instrumentpanelen
  • Uttryckligen beviljad tillgång via delning av instrumentpanelen

Nödvändiga behörigheter

  • Autentisering krävs: Du måste vara inloggad
  • Företagsåtkomst: Du måste ha tillgång till det angivna företaget
  • Projektåtkomst: Om du filtrerar efter projekt måste du ha tillgång till det projektet

Felmeddelanden

Företag hittades inte

{
  "errors": [{
    "message": "Company not found",
    "extensions": {
      "code": "COMPANY_NOT_FOUND"
    }
  }]
}

Projekt hittades inte

{
  "errors": [{
    "message": "Project not found", 
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

Vanliga användningsfall

Lista alla företagsinstrumentpaneler

query CompanyDashboards {
  dashboards(filter: { companyId: "company_123" }) {
    items {
      id
      title
      createdBy { name }
    }
  }
}

Lista projektspecifika instrumentpaneler

query ProjectDashboards {
  dashboards(filter: { 
    companyId: "company_123"
    projectId: "proj_456"
  }) {
    items {
      id
      title
    }
  }
}

Paginerad instrumentpanellista

query PaginatedDashboards {
  dashboards(
    filter: { companyId: "company_123" }
    skip: 20
    take: 10
  ) {
    items {
      id
      title
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
    }
  }
}

Bästa praxis

Prestanda

  • Använd paginering för bättre prestanda med stora instrumentpanellistor
  • Begär endast de fält du behöver i din applikation
  • Överväg att cacha instrumentpaneler för ofta åtkomna data

Filtrering

  • Filtrera alltid efter företag för att säkerställa korrekt dataisolering
  • Använd projektfiltrering när du arbetar med projektspecifika instrumentpaneler
  • Kombinera filter för att effektivt snäva ner resultaten

Sortering

  • Standard sortering är efter updatedAt_DESC (senast uppdaterad först)
  • Använd titelsortering för alfabetisk organisering
  • Kombinera flera sorteringskriterier för komplexa ordningsbehov

Relaterade operationer

AI-assistent

Svar genereras med hjälp av AI och kan innehålla misstag.

Hur kan jag hjälpa dig?

Fråga mig vad som helst om Blue eller denna dokumentation.

Tryck Enter för att skicka • Shift+Enter för ny rad • ⌘I för att öppna