From 1348750e723a975b33de039bb52010d7b79ff409 Mon Sep 17 00:00:00 2001 From: ko_oler <kooler89@gmail.com> Date: Mon, 10 Jul 2023 18:11:31 +0300 Subject: [PATCH] fix --- pkg/extension/extension.go | 2 ++ pkg/schema/schema.go | 23 ++++++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/pkg/extension/extension.go b/pkg/extension/extension.go index 26d9b6d5..fb8044c7 100644 --- a/pkg/extension/extension.go +++ b/pkg/extension/extension.go @@ -21,6 +21,8 @@ const ( StateInstalled = pb.SpaceExtensions_INSTALLED StateInProgress = pb.SpaceExtensions_IN_PROGRESS StateFail = pb.SpaceExtensions_FAIL + + ExtensionMetadataKey = "extension" ) type ( diff --git a/pkg/schema/schema.go b/pkg/schema/schema.go index e0eca6b6..bac95d05 100644 --- a/pkg/schema/schema.go +++ b/pkg/schema/schema.go @@ -12,7 +12,8 @@ import ( type Schema struct { field.Field - Loaded bool `json:"loaded"` + Loaded bool `json:"loaded"` + Metadata map[string]string `json:"metadata"` } func New(kv ...interface{}) *Schema { @@ -33,8 +34,9 @@ var ( func (s *Schema) Clone(reset bool) *Schema { return &Schema{ - Field: *s.Field.Clone(reset), - Loaded: s.Loaded, + Field: *s.Field.Clone(reset), + Loaded: s.Loaded, + Metadata: s.Metadata, } } @@ -43,6 +45,21 @@ func (s Schema) WithIncludes(includes ...interface{}) *Schema { return &s } +func (s *Schema) WithMetadata(kv ...string) *Schema { + if s.Metadata == nil { + s.Metadata = make(map[string]string, len(s.Metadata)) + } + for i := 0; i < len(kv); i += 2 { + s.Metadata[kv[i]] = kv[i+1] + } + return s +} + +func (s Schema) SetMetadata(md map[string]string) *Schema { + s.Metadata = md + return &s +} + func (s *Schema) Load(ctx context.Context) error { if s.Loaded { return nil -- GitLab