From 91bdd60c7a40c3b50ed0acf5fc3c5a8042aa3ee5 Mon Sep 17 00:00:00 2001 From: Gara Dorta <1507774+Gara-Dorta@users.noreply.github.com> Date: Fri, 15 May 2026 19:31:52 +0200 Subject: [PATCH] Additional refactor --- src/docs/add_v1_receive_schemas.go | 54 +++++++++++++----------------- 1 file changed, 24 insertions(+), 30 deletions(-) diff --git a/src/docs/add_v1_receive_schemas.go b/src/docs/add_v1_receive_schemas.go index 8d5fbda..a24fc32 100644 --- a/src/docs/add_v1_receive_schemas.go +++ b/src/docs/add_v1_receive_schemas.go @@ -46,9 +46,7 @@ func run(receiveDir string) error { return err } - if err := updateReceiveSchemaRefs(definitions, titleByFile); err != nil { - return err - } + updateReceiveSchemaRefs(definitions, titleByFile) addEnvelopeWrapperDefinition(definitions) @@ -76,20 +74,10 @@ func updateDocsGo(receiveDefinitions map[string]interface{}) error { return err } - var document map[string]interface{} - if err := json.Unmarshal([]byte(toValidJson(template)), &document); err != nil { - return fmt.Errorf("parse document: %w", err) - } - - if err := applyReceiveSchemaUpdates(document, receiveDefinitions); err != nil { + updatedTemplate, err := updateJSONDocument(toValidJson(template), receiveDefinitions) + if err != nil { return err } - - raw, err := json.MarshalIndent(document, "", " ") - if err != nil { - return fmt.Errorf("marshal document: %w", err) - } - updatedTemplate := string(raw) updatedTemplate = encodeForGoRawString(updatedTemplate) updated := string(content[:templateStart]) + updatedTemplate + string(content[templateEnd:]) @@ -106,21 +94,11 @@ func updateSwaggerJSON(receiveDefinitions map[string]interface{}) error { return fmt.Errorf("read %s: %w", jsonDocsPath, err) } - var document map[string]interface{} - if err := json.Unmarshal(content, &document); err != nil { - return fmt.Errorf("parse document: %w", err) - } - - if err := applyReceiveSchemaUpdates(document, receiveDefinitions); err != nil { + updated, err := updateJSONDocument(string(content), receiveDefinitions) + if err != nil { return err } - raw, err := json.MarshalIndent(document, "", " ") - if err != nil { - return fmt.Errorf("marshal document: %w", err) - } - updated := string(raw) - if err := os.WriteFile(jsonDocsPath, []byte(updated), 0644); err != nil { return fmt.Errorf("write %s: %w", jsonDocsPath, err) } @@ -156,6 +134,24 @@ func encodeForGoRawString(content string) string { return content } +func updateJSONDocument(content string, receiveDefinitions map[string]interface{}) (string, error) { + var document map[string]interface{} + if err := json.Unmarshal([]byte(content), &document); err != nil { + return "", fmt.Errorf("parse document: %w", err) + } + + if err := applyReceiveSchemaUpdates(document, receiveDefinitions); err != nil { + return "", err + } + + raw, err := json.MarshalIndent(document, "", " ") + if err != nil { + return "", fmt.Errorf("marshal document: %w", err) + } + + return string(raw), nil +} + func addReceiveSchemas(definitions map[string]interface{}, receiveDir string) (map[string]string, error) { entries, err := os.ReadDir(receiveDir) if err != nil { @@ -221,15 +217,13 @@ func removeSchemaKeysRecursive(value interface{}, parentKey string) interface{} } } -func updateReceiveSchemaRefs(definitions map[string]interface{}, titleByFile map[string]string) error { +func updateReceiveSchemaRefs(definitions map[string]interface{}, titleByFile map[string]string) { for key, value := range definitions { if !strings.HasPrefix(key, receivePrefix) { continue } definitions[key] = rewriteSchemaRefs(value, titleByFile) } - - return nil } func rewriteSchemaRefs(value interface{}, titleByFile map[string]string) interface{} {