diff --git a/core/actions/incremental_table_test.ts b/core/actions/incremental_table_test.ts index 6f36504de..a9876f0cc 100644 --- a/core/actions/incremental_table_test.ts +++ b/core/actions/incremental_table_test.ts @@ -104,6 +104,11 @@ actions: onSchemaChange: "SYNCHRONIZE", metadata: { overview: "incremental table overview", + extraProperties: { + fields: { + priority: { stringValue: "high" } + } + } }, } `; @@ -186,8 +191,13 @@ SELECT 1` key: "val" }, metadata: { - overview: "incremental table overview" - } + overview: "incremental table overview", + extraProperties: { + fields: { + priority: { stringValue: "high" } + } + } + }, } } ]); diff --git a/core/actions/table_test.ts b/core/actions/table_test.ts index 0dbec38d5..9981043b7 100644 --- a/core/actions/table_test.ts +++ b/core/actions/table_test.ts @@ -92,6 +92,11 @@ actions: hermetic: true, metadata: { overview: "table overview", + extraProperties: { + fields: { + priority: { stringValue: "high" } + } + } } }`; @@ -169,7 +174,12 @@ SELECT 1` key: "val" }, metadata: { - overview: "table overview" + overview: "table overview", + extraProperties: { + fields: { + priority: { stringValue: "high" } + } + } } } } diff --git a/core/actions/view_test.ts b/core/actions/view_test.ts index d5963690a..d66847930 100644 --- a/core/actions/view_test.ts +++ b/core/actions/view_test.ts @@ -90,6 +90,11 @@ actions: ${exampleBuiltInAssertions.inputAssertionBlock} metadata: { overview: "view overview", + extraProperties: { + fields: { + priority: { stringValue: "high" } + } + } }, }`; [ @@ -164,7 +169,12 @@ SELECT 1` key: "val" }, metadata: { - overview: "view overview" + overview: "view overview", + extraProperties: { + fields: { + priority: { stringValue: "high" } + } + } }, }, materialized: true diff --git a/protos/configs.proto b/protos/configs.proto index 3048bf2dc..67dae097b 100644 --- a/protos/configs.proto +++ b/protos/configs.proto @@ -8,6 +8,8 @@ option java_multiple_files = true; option go_package = "github.com/dataform-co/dataform/protos/dataform"; +import "google/protobuf/struct.proto"; + // Workflow Settings defines the contents of the `workflow_settings.yaml` // configuration file. message WorkflowSettings { @@ -266,6 +268,8 @@ message ActionConfig { message Metadata { // A detailed description of the data object. string overview = 1; + // Extra properties of the data object. + google.protobuf.Struct extra_properties = 2; } message ViewConfig { diff --git a/protos/core.proto b/protos/core.proto index d327960e8..ae9673205 100644 --- a/protos/core.proto +++ b/protos/core.proto @@ -3,6 +3,7 @@ syntax = "proto3"; package dataform; import "protos/configs.proto"; +import "google/protobuf/struct.proto"; option java_package = "com.dataform.protos"; option java_outer_classname = "CoreMeta"; @@ -110,6 +111,7 @@ message ActionDescriptor { message Metadata { string overview = 1; + google.protobuf.Struct extra_properties = 2; } message ColumnDescriptor {