Sdílet prostřednictvím


add příkaz

Přidejte novou definici entity do existujícího konfiguračního souboru tvůrce rozhraní Data API. Musíte již mít vytvořenou konfiguraci .dab init Slouží dab update k úpravě entit po vytvoření.

Návod

Slouží dab add k vytváření nových entit a dab update k jejich vývoji. Přemapování názvu pole (--map) je k dispozici pouze v update, nikoli v add.

Syntaxe

dab add <entity-name> [options]

Rychlý přehled

Možnost Shrnutí
<entity-name> Povinný poziční argument. Název logické entity
-c, --config Cesta ke konfiguračnímu souboru. Výchozí dab-config.json.
--cache.enabled Povolte nebo zakažte ukládání do mezipaměti pro entitu.
--cache.ttl Ukládání do mezipaměti v sekundách
--description Popis volných formulářů pro entitu
--fields.exclude Vyloučená pole oddělená čárkami
--fields.include Povolená pole oddělená čárkami (* = vše)
--graphql Expozice GraphQL: false, true, singularnebo singular:plural.
--graphql.operation Uložené procedury. query nebo mutation (výchozí mutační).
--permissions Povinné. Jeden nebo více role:actions dvojic. Opakovatelný.
--policy-database Filtr ve stylu OData použitý v dotazu databáze.
--policy-request Zásady požadavku se vyhodnocovaly před voláním databáze.
--rest Expozice REST: false, truenebo vlastní trasa.
--rest.methods Uložené procedury. Povolené příkazy HTTP. Výchozí POST.
-s, --source Povinné. Název databázového objektu (tabulka, zobrazení nebo uložená procedura).
--source.key-fields Vyžaduje se pro zobrazení nebo v případě, že pk není odvozena. Nepovoleno pro profesionály.
--source.params Uložené procedury. Výchozí hodnoty parametrů.
--source.type Typ zdroje: table, , stored-procedureview(výchozí tabulka).

<entity-name>

Logický název entity v konfiguraci Rozlišují se malá a velká písmena.

Example

dab add Book --source dbo.Books --permissions "anonymous:read"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [ "read" ]
        }
      ]
    }
  }
}

-c, --config

Cesta ke konfiguračnímu souboru. Výchozí hodnota je dab-config.json.

Example

dab add Book --config ./dab-config.mssql.json --source dbo.Books --permissions "anonymous:read"

--cache.enabled

Povolte nebo zakažte ukládání do mezipaměti.

Example

dab add Book --source dbo.Books --permissions "anonymous:read" --cache.enabled true

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ],
      "cache": {
        "enabled": true
      }
    }
  }
}

--cache.ttl

Ukládání do mezipaměti v sekundách

Example

dab add Book --source dbo.Books --permissions "anonymous:read" --cache.ttl 300

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ],
      "cache": {
        "ttl-seconds": 300
      }
    }
  }
}

--description

Popis entity bez textu

Example

dab add Book --source dbo.Books --permissions "anonymous:read" --description "Entity for managing book inventory"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ],
      "description": "Entity for managing book inventory"
    }
  }
}

--fields.exclude

Seznam polí oddělených čárkami, která chcete vyloučit.

Example

dab add Book --source dbo.Books --permissions "anonymous:read" --fields.exclude "internal_flag,secret_note"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ],
      "graphql": {
        "fields": {
          "exclude": [ "internal_flag", "secret_note" ]
        }
      }
    }
  }
}

--fields.include

Čárkami oddělený seznam polí, která se mají zveřejnit.

Example

dab add Book --source dbo.Books --permissions "anonymous:read" --fields.include "id,title,price"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ],
      "graphql": {
        "fields": {
          "include": [ "id", "title", "price" ]
        }
      }
    }
  }
}

--graphql

Řízení expozice GraphQL

Example

dab add Book --source dbo.Books --permissions "anonymous:read" --graphql book:books

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ],
      "graphql": {
        "singular": "book",
        "plural": "books"
      }
    }
  }
}

--graphql.operation

Uložené procedury. Typ operace GraphQL Výchozí hodnota je mutation.

Example

dab add BookProc --source dbo.MyProc --source.type stored-procedure --permissions "admin:execute" --graphql.operation query

Výsledná konfigurace

{
  "entities": {
    "BookProc": {
      "source": { "type": "stored-procedure", "object": "dbo.MyProc" },
      "permissions": [
        { "role": "admin", "actions": [ "execute" ] }
      ],
      "graphql": {
        "operation": "query"
      }
    }
  }
}

--permissions

Definuje páry rolí→akce. Použijte opakované příznaky pro více rolí.

Example

dab add Book --source dbo.Books --permissions "anonymous:read" --permissions "authenticated:create,read,update,delete"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] },
        { "role": "authenticated", "actions": [ "create", "read", "update", "delete" ] }
      ]
    }
  }
}

--policy-database

Zásady na úrovni databáze.

Example

dab add Book --source dbo.Books --permissions "anonymous:read" --policy-database "region eq 'US'"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ],
      "policies": {
        "database": "region eq 'US'"
      }
    }
  }
}

--policy-request

Zásady na úrovni požadavku.

Example

dab add Book --source dbo.Books --permissions "anonymous:read" --policy-request "@claims.role == 'admin'"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ],
      "policies": {
        "request": "@claims.role == 'admin'"
      }
    }
  }
}

--rest

Řízení expozice REST

Example

dab add Book --source dbo.Books --permissions "anonymous:read" --rest BooksApi

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ],
      "rest": {
        "path": "BooksApi"
      }
    }
  }
}

--rest.methods

Uložené procedury. Příkazy HTTP povolené ke spuštění. Výchozí hodnota je POST. Ignorováno pro tabulky a zobrazení.

Example

dab add BookProc --source dbo.MyProc --source.type stored-procedure --permissions "admin:execute" --rest true --rest.methods GET,POST

Výsledná konfigurace

{
  "entities": {
    "BookProc": {
      "source": { "type": "stored-procedure", "object": "dbo.MyProc" },
      "permissions": [
        { "role": "admin", "actions": [ "execute" ] }
      ],
      "rest": {
        "path": "BookProc",
        "methods": [ "GET", "POST" ]
      }
    }
  }
}

-s, --source

Povinné. Název databázového objektu: tabulka, zobrazení nebo uložená procedura.

Example

dab add Book --source dbo.Books --permissions "anonymous:read"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ]
    }
  }
}

--source.key-fields

Vyžadováno pro zobrazení. Vyžaduje se také pro tabulky bez odvozené PK. Pro uložené procedury není povoleno.

Example

dab add BookView --source dbo.MyView --source.type view --source.key-fields "id,region" --permissions "anonymous:read"

Výsledná konfigurace

{
  "entities": {
    "BookView": {
      "source": {
        "type": "view",
        "object": "dbo.MyView",
        "keyFields": [ "id", "region" ]
      },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ]
    }
  }
}

--source.params

Uložené procedury. Dvojice oddělené name:value čárkami. Pro tabulky nebo zobrazení není povoleno.

Example

dab add BookProc --source dbo.MyProc --source.type stored-procedure --source.params "year:2024,active:true" --permissions "admin:execute"

Výsledná konfigurace

{
  "entities": {
    "BookProc": {
      "source": {
        "type": "stored-procedure",
        "object": "dbo.MyProc",
        "params": {
          "year": 2024,
          "active": true
        }
      },
      "permissions": [
        { "role": "admin", "actions": [ "execute" ] }
      ]
    }
  }
}

--source.type

Typ databázového objektu. Výchozí hodnota: table.

Example

dab add Book --source dbo.Books --source.type table --permissions "anonymous:read"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ]
    }
  }
}