Skip to content

Commit 1911d22

Browse files
authored
fix(specs): event.status can be null (#4727)
1 parent f302a85 commit 1911d22

File tree

7 files changed

+33
-15
lines changed

7 files changed

+33
-15
lines changed

clients/algoliasearch-client-go/algolia/utils/utils.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func (v Nullable[T]) Get() *T {
2626

2727
func (v *Nullable[T]) Set(val *T) {
2828
v.value = val
29-
v.isSet = true
29+
v.isSet = val != nil
3030
}
3131

3232
func (v Nullable[T]) IsSet() bool {
@@ -39,16 +39,18 @@ func (v *Nullable[T]) Unset() {
3939
}
4040

4141
func NewNullable[T any](val *T) *Nullable[T] {
42-
return &Nullable[T]{value: val, isSet: true}
42+
return &Nullable[T]{value: val, isSet: val != nil}
4343
}
4444

4545
func (v Nullable[T]) MarshalJSON() ([]byte, error) {
4646
return json.Marshal(v.value)
4747
}
4848

4949
func (v *Nullable[T]) UnmarshalJSON(src []byte) error {
50-
v.isSet = true
51-
return json.Unmarshal(src, &v.value)
50+
err := json.Unmarshal(src, &v.value)
51+
v.isSet = v.value != nil
52+
53+
return err
5254
}
5355

5456
// IsNilOrEmpty checks if an input is nil or empty.

scripts/install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ apic() {
1919
export apic
2020

2121
_list_languages() {
22-
cat $ROOT/config/clients.config.json | jq -r 'keys[]'
22+
cat $ROOT/config/clients.config.json | jq -r 'keys[] | select(. != "$schema")'
2323
}
2424

2525
_list_languages_all() {

specs/ingestion/common/schemas/event.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ Event:
1818
minimum: 0
1919
multipleOf: 1
2020
data:
21-
type: object
22-
additionalProperties: true
21+
oneOf:
22+
- type: object
23+
additionalProperties: true
24+
- type: 'null'
2325
publishedAt:
2426
$ref: './common.yml#/publishedAt'
2527
required:
@@ -31,8 +33,10 @@ Event:
3133
- publishedAt
3234

3335
EventStatus:
34-
type: string
35-
enum: [created, started, retried, failed, succeeded, critical]
36+
oneOf:
37+
- type: string
38+
enum: [created, started, retried, failed, succeeded, critical]
39+
- type: 'null'
3640

3741
EventType:
3842
type: string

specs/ingestion/common/schemas/source.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ SourceDocker:
352352
properties:
353353
image:
354354
type: string
355-
description: Shortname of the image, as returned by the referential.
355+
description: Name of the connector.
356356
example: zendesk
357357
configuration:
358358
type: object

templates/go/model_simple.mustache

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -274,16 +274,26 @@ func (o {{classname}}) MarshalJSON() ([]byte, error) {
274274
}
275275
{{/vendorExtensions.x-golang-is-container}}
276276
{{^vendorExtensions.x-golang-is-container}}
277-
if {{#required}}true{{/required}}{{^required}}o.{{name}}.IsSet(){{/required}} {
277+
{{#required}}
278+
toSerialize["{{baseName}}"] = o.{{name}}.Get()
279+
{{/required}}
280+
{{^required}}
281+
if o.{{name}}.IsSet() {
278282
toSerialize["{{baseName}}"] = o.{{name}}.Get()
279283
}
284+
{{/required}}
280285
{{/vendorExtensions.x-golang-is-container}}
281286
{{/isNullable}}
282287
{{! if argument is not nullable, don't set it if it is nil}}
283288
{{^isNullable}}
284-
if {{#required}}true{{/required}}{{^required}}o.{{name}} != nil{{/required}} {
289+
{{#required}}
290+
toSerialize["{{baseName}}"] = o.{{name}}
291+
{{/required}}
292+
{{^required}}
293+
if o.{{name}} != nil {
285294
toSerialize["{{baseName}}"] = o.{{name}}
286295
}
296+
{{/required}}
287297
{{/isNullable}}
288298
{{/vars}}
289299
{{#isAdditionalPropertiesTrue}}
@@ -443,4 +453,4 @@ func (o {{classname}}) String() string {
443453
}
444454
{{/isAdditionalPropertiesTrue}}
445455
return fmt.Sprintf("{{classname}} {\n%s}", out)
446-
}
456+
}

templates/python/model_generic.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
1212
{{> model_description}}
1313

1414
{{#vars}}
15-
{{name}}: {{^required}}Optional[{{/required}}{{{dataType}}}{{^required}}]{{/required}}{{^required}} = None{{/required}}
15+
{{name}}: {{^required}}Optional[{{/required}}{{#required}}{{#isNullable}}Union[{{/isNullable}}{{/required}}{{{dataType}}}{{#required}}{{#isNullable}}, None]{{/isNullable}}{{/required}}{{^required}}]{{/required}}{{^required}} = None{{/required}}
1616
{{#description}}
1717
""" {{{.}}} """
1818
{{/description}}

tests/CTS/client/ingestion/api.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,9 @@
102102
},
103103
"expected": {
104104
"type": "response",
105-
"match": {"message":"OK"}
105+
"match": {
106+
"message": "OK"
107+
}
106108
}
107109
}
108110
]

0 commit comments

Comments
 (0)