data.*objectGenerator.SetSchemaGenerator   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 2
nop 1
dl 0
loc 2
ccs 0
cts 1
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
package data
2
3
import (
4
	"context"
5
6
	"github.com/getkin/kin-openapi/openapi3"
7
	"github.com/pkg/errors"
8
)
9
10
type objectGenerator struct {
11
	schemaGenerator schemaGenerator
12
}
13
14
func (generator *objectGenerator) SetSchemaGenerator(schemaGenerator schemaGenerator) {
15
	generator.schemaGenerator = schemaGenerator
16
}
17
18
func (generator *objectGenerator) GenerateDataBySchema(ctx context.Context, schema *openapi3.Schema) (Data, error) {
19 1
	var err error
20 1
	object := map[string]interface{}{}
21
22 1
	for propertyName, propertySchema := range schema.Properties {
23 1
		if propertySchema.Value.WriteOnly {
24 1
			continue
25
		}
26
27 1
		object[propertyName], err = generator.schemaGenerator.GenerateDataBySchema(ctx, propertySchema.Value)
28 1
		if err != nil {
29 1
			return nil, errors.WithMessagef(err, "[objectGenerator] failed to generate object property '%s'", propertyName)
30
		}
31
	}
32
33 1
	return object, nil
34
}
35