graphql-engine/v3/crates/query-usage-analytics/Cargo.toml
Rakesh Emmadi e8ec700d70 Improvements to query usage analytics data shape (#715)
This PR introduces the following changes to query usage analytics data
shape:
- The `name` field in `RelationshipUsage` is just `RelationshipName`
without `Qualified` wrapper. The `source` is already qualified, and the
same qualification applies to `name`.
- The `used` for both field and input field is a list. A field can use
multiple opendd objects at a time.
- Example: A root field can use `Model` and `Permission` (with both
filter and argument presets).
- The permission usage now revamped to express available permissions in
the opendd
  - Filter predicate - provides lists of fields and relationships
  - Field presets - provides a list of fields involved
  - Argument presets - provides a list of arguments involved
- The `GqlFieldArgument` is dropped in favor of `GqlInputField`.
- Opendd object usage is not specified for `GqlFieldArgument`. An input
argument with object type can have field presets permission. It is
replaced with `GqlInputField` to allow specifying the permission usage.

This PR also includes JSON schema for the data shape with a golden test
to verify.
V3_GIT_ORIGIN_REV_ID: f0bf9ba201471af367ef5027bc2c8b9f915994ac
2024-06-25 07:57:15 +00:00

25 lines
504 B
TOML

[package]
name = "query-usage-analytics"
version.workspace = true
edition.workspace = true
license.workspace = true
[lib]
bench = false
[dependencies]
open-dds = { path = "../open-dds" }
metadata-resolve = { path = "../metadata-resolve" }
schemars = { version = "0.8.20", features = ["preserve_order"] }
serde = { workspace = true }
serde_json = { workspace = true }
[dev-dependencies]
goldenfile = "^1.7.1"
schemars = { version = "0.8.20", features = ["preserve_order"] }
[lints]
workspace = true