From 48bb9541f996deba1333f18f295806a32ce2c773 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Wed, 4 Feb 2026 10:39:22 +0100 Subject: [PATCH] dedupe fields in storage types codegen --- handler/storage/gen/main.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/handler/storage/gen/main.go b/handler/storage/gen/main.go index f86af1a6..1704a054 100644 --- a/handler/storage/gen/main.go +++ b/handler/storage/gen/main.go @@ -165,6 +165,20 @@ func main() { Description: description, }) } + // dedupe fields by name, keeping last occurrence (provider-specific overrides generic) + seen := make(map[string]int) + for i := len(fields) - 1; i >= 0; i-- { + if _, exists := seen[fields[i].Name]; !exists { + seen[fields[i].Name] = i + } + } + var dedupedFields []Field + for i, field := range fields { + if seen[field.Name] == i { + dedupedFields = append(dedupedFields, field) + } + } + fields = dedupedFields typeName := backend.Prefix + upperFirst(providerOptions.Provider) + "Config" t := Type{ Name: typeName,