Skip to content

Queries (monitor-app)

Intern · VPN vereist

Deze queries zijn bedoeld voor de Persmonitor monitor-app en interne tooling. Bereikbaar via /internal/ (VPN op productie).

Overzicht van app-queries met voorbeelden.
Endpoint: POST https://graphql.persmonitor.nl/graphql


sessionValid

Geeft terug of de token nog geldig is. Stuur de token mee in de header Authorization: Bearer <token>. Handig voor de frontend om te checken of de gebruiker nog als ingelogd moet worden getoond. Response is true of false. Zie Token of cookie: hoe stuur je mee?.

Geen argumenten.

graphql
query SessionValid {
  sessionValid
}

Variabelen: niet nodig. Header: Authorization: Bearer <token>. true = token geldig, false = niet ingelogd of token verlopen.


me

Geeft de huidige gebruiker terug op basis van de token. Zonder token of met ongeldige token: me is null.
Tip: gebruik sessionValid voor een snelle check; gebruik me als je de user-gegevens nodig hebt.

Geen argumenten.

graphql
query Me {
  me {
    uuid
    displayName
    created
    changed
    email { address verified }
    hasPassword
    isAdmin
  }
}

isAdmin is true voor admin-accounts en bepaalt o.a. toegang tot alle environments.


mySessions

Geeft alle actieve sessies (AuthSessions) voor de huidige gebruiker terug. Handig voor een “Waar ben ik ingelogd?”-overzicht. Vereist Authorization: Bearer <token>.

Geen argumenten.

graphql
query MySessions {
  mySessions {
    uuid
    ipAddress
    userAgent
    lastActivityAt
    expiresAt
    isCurrent
  }
}

Combineer dit met deleteSession of deleteOtherSessions (zie Mutations) om sessies op te ruimen.


currentEnvironment

Geeft het environment terug dat momenteel aan je token is gekoppeld. De monitor-app gebruikt dit voor de environment-switcher.

Vereist: Authorization: Bearer <token>.

Geen argumenten.

graphql
query CurrentEnvironment {
  currentEnvironment {
    uuid
    name
  }
}

Gebruik de mutatie setCurrentEnvironment(environmentUuid: String!) om te wisselen.


myOrganizations

Geeft alle organisaties terug waar de huidige gebruiker lid van is. Inclusief per organisatie de gekoppelde environments. Vereist Authorization: Bearer <token>.

Geen argumenten.

graphql
query MyOrganizations {
  myOrganizations {
    uuid
    name
    created
    changed
    environments {
      uuid
      name
      organization { name }
    }
  }
}

De monitor-app gebruikt dit voor de organisatie- en environment-switcher.


channels

Geeft alle kanalen (e-mail, SMS, Telegram, webhook, etc.) terug voor het huidige environment. Vereist Authorization: Bearer <token>.

Geen argumenten.

graphql
query Channels {
  channels {
    uuid
    type
    name
    created
    changed
    emailAddress
    verified
    phoneNumber
    url
    headers { name value }
  }
}

monitors

Geeft alle P2000-monitoren terug voor het huidige environment. Vereist Authorization: Bearer <token>.

Geen argumenten.

graphql
query Monitors {
  monitors {
    uuid
    name
    description
    active
    type
    query
    location
    locationMode
    locationLiveSourceId
    radius
    channels
    notificationRules
    created
    changed
  }
}

query, channels en notificationRules zijn JSON-strings.


monitor

Haalt één monitor op via UUID (binnen het huidige environment).

Argumenten:

ArgumentTypeVerplichtBeschrijving
uuidString!JaUUID van de monitor.
graphql
query Monitor($uuid: String!) {
  monitor(uuid: $uuid) {
    uuid
    name
    description
    active
    type
    query
    location
    locationMode
    locationLiveSourceId
    radius
    channels
    notificationRules
    created
    changed
  }
}