Eine typisierte Cloud-Anfrage validieren

Prüfen Sie eine Projekt-, Mitglieds-, Quell- oder Workspace-Anfrage lokal und sehen Sie sich mit Altifigence CLI die Vorschau ihrer typisierten Anfrage an.

Validieren Sie mit Altifigence CLI 0.1.9 unter Linux ein typisiertes Anfragedokument und prüfen Sie dessen Methode, Pfad, Header und Inhalt.

Die Anfrage vorbereiten

Speichern Sie dieses Beispiel als request.json:

{
  "schema": "altifigence.dds.cloud-request.v1",
  "orgId": "11111111-1111-4111-8111-111111111111",
  "action": {
    "type": "project-create",
    "body": {
      "name": "Counter",
      "slug": "counter"
    }
  }
}

Lassen Sie für organizations orgId und projectId weg. Geben Sie für project-list und project-create orgId an. Geben Sie für project-get, project-update, project-delete und sämtliche Mitglieds-, Quell- und Workspace-Aktionen sowohl orgId als auch projectId an. Verwenden Sie UUIDs in Kleinbuchstaben im Format v1–5.

Fügen Sie für member-add, member-update und member-remove die userId des Mitglieds zu action hinzu. Geben Sie für member-add und member-update außerdem role an: owner, editor oder viewer. Setzen Sie bei einer Workspace-Aktion die Workspace-Operation in action.request.

Validieren und die Vorschau prüfen

alti --json ide cloud contract --request request.json

Exit-Status 0 meldet einen gültigen Vertrag. Das Beispiel erzeugt dieses JSON-Ergebnis:

{
  "schema": "altifigence.dds.cloud-contract.v1",
  "status": "contract-only",
  "validated": true,
  "executed": false,
  "authorizationChecked": false,
  "authorization": {
    "kind": "native-cli-pkce",
    "clientId": "altifigencecli",
    "productId": "altifigence-cli",
    "selectedOrganizationRequired": true,
    "genericCloudTokenAccepted": false
  },
  "request": {
    "method": "POST",
    "path": "/v1/native/orgs/11111111-1111-4111-8111-111111111111/projects",
    "headers": {
      "Content-Type": "application/json"
    },
    "body": {
      "name": "Counter",
      "slug": "counter"
    }
  }
}

Prüfen Sie request.method, request.path und request.body. Der Beleg hält die lokale Validierung mit status: "contract-only", executed: false und authorizationChecked: false fest.

Um dasselbe Dokument aus der Standardeingabe zu lesen, verwenden Sie:

alti --json ide cloud contract --request - < request.json

Eine abgelehnte Anfrage korrigieren

Ein leerer Projektname erzeugt dieses Ergebnis mit Exit-Status 2:

{
  "schema": "altifigence.dds.cloud-receipt.v1",
  "ok": false,
  "executed": false,
  "error": {
    "code": "INVALID_PROJECT_BODY"
  }
}

Ändern Sie den Namen in einen nicht leeren Wert wie Counter, speichern Sie das Dokument und führen Sie den Validierungsbefehl erneut aus.

Passen Sie bei CLOUD_IDENTITY_SCOPE_MISMATCH orgId und projectId an die Aktion an. Entfernen Sie beispielsweise projectId aus einer project-create-Anfrage und validieren Sie erneut. Geben Sie bei INVALID_CLOUD_IDENTITY eine UUID in Kleinbuchstaben im Format v1–5 an.

Prüfen Sie bei INVALID_CLOUD_CONTRACT die JSON-Syntax und die Feldnamen der Anfrage. Setzen Sie bei UNSUPPORTED_CLOUD_CONTRACT schema auf altifigence.dds.cloud-request.v1. Begrenzen Sie jedes Dokument auf 1402200 Bytes.

Erster Erfolg mit der CLI