data.*objectGenerator.GenerateDataBySchema   A
last analyzed

Complexity

Conditions 4

Size

Total Lines 16
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 9
CRAP Score 4

Importance

Changes 0
Metric Value
cc 4
eloc 10
nop 2
dl 0
loc 16
ccs 9
cts 9
cp 1
crap 4
rs 9.9
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