openapi: generate

This commit is contained in:
Quaternions 2025-04-13 16:31:42 -07:00
parent 9e42050a65
commit 5ba52ecb57
Signed by: Quaternions
GPG Key ID: D0DF5964F79AC131
4 changed files with 106 additions and 13 deletions

@ -34,6 +34,10 @@ func (s *AuditEvent) encodeFields(e *jx.Encoder) {
e.FieldStart("User") e.FieldStart("User")
e.Int64(s.User) e.Int64(s.User)
} }
{
e.FieldStart("Username")
e.Str(s.Username)
}
{ {
e.FieldStart("ResourceType") e.FieldStart("ResourceType")
e.Int32(s.ResourceType) e.Int32(s.ResourceType)
@ -52,14 +56,15 @@ func (s *AuditEvent) encodeFields(e *jx.Encoder) {
} }
} }
var jsonFieldsNameOfAuditEvent = [7]string{ var jsonFieldsNameOfAuditEvent = [8]string{
0: "ID", 0: "ID",
1: "Date", 1: "Date",
2: "User", 2: "User",
3: "ResourceType", 3: "Username",
4: "ResourceID", 4: "ResourceType",
5: "EventType", 5: "ResourceID",
6: "EventData", 6: "EventType",
7: "EventData",
} }
// Decode decodes AuditEvent from json. // Decode decodes AuditEvent from json.
@ -107,8 +112,20 @@ func (s *AuditEvent) Decode(d *jx.Decoder) error {
}(); err != nil { }(); err != nil {
return errors.Wrap(err, "decode field \"User\"") return errors.Wrap(err, "decode field \"User\"")
} }
case "ResourceType": case "Username":
requiredBitSet[0] |= 1 << 3 requiredBitSet[0] |= 1 << 3
if err := func() error {
v, err := d.Str()
s.Username = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"Username\"")
}
case "ResourceType":
requiredBitSet[0] |= 1 << 4
if err := func() error { if err := func() error {
v, err := d.Int32() v, err := d.Int32()
s.ResourceType = int32(v) s.ResourceType = int32(v)
@ -120,7 +137,7 @@ func (s *AuditEvent) Decode(d *jx.Decoder) error {
return errors.Wrap(err, "decode field \"ResourceType\"") return errors.Wrap(err, "decode field \"ResourceType\"")
} }
case "ResourceID": case "ResourceID":
requiredBitSet[0] |= 1 << 4 requiredBitSet[0] |= 1 << 5
if err := func() error { if err := func() error {
v, err := d.Int64() v, err := d.Int64()
s.ResourceID = int64(v) s.ResourceID = int64(v)
@ -132,7 +149,7 @@ func (s *AuditEvent) Decode(d *jx.Decoder) error {
return errors.Wrap(err, "decode field \"ResourceID\"") return errors.Wrap(err, "decode field \"ResourceID\"")
} }
case "EventType": case "EventType":
requiredBitSet[0] |= 1 << 5 requiredBitSet[0] |= 1 << 6
if err := func() error { if err := func() error {
v, err := d.Int32() v, err := d.Int32()
s.EventType = int32(v) s.EventType = int32(v)
@ -144,7 +161,7 @@ func (s *AuditEvent) Decode(d *jx.Decoder) error {
return errors.Wrap(err, "decode field \"EventType\"") return errors.Wrap(err, "decode field \"EventType\"")
} }
case "EventData": case "EventData":
requiredBitSet[0] |= 1 << 6 requiredBitSet[0] |= 1 << 7
if err := func() error { if err := func() error {
if err := s.EventData.Decode(d); err != nil { if err := s.EventData.Decode(d); err != nil {
return err return err
@ -163,7 +180,7 @@ func (s *AuditEvent) Decode(d *jx.Decoder) error {
// Validate required fields. // Validate required fields.
var failures []validate.FieldError var failures []validate.FieldError
for i, mask := range [1]uint8{ for i, mask := range [1]uint8{
0b01111111, 0b11111111,
} { } {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 { if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR. // Mask only required fields and check equality to mask using XOR.

@ -2511,6 +2511,23 @@ func decodeListMapfixAuditEventsResponse(resp *http.Response) (res []AuditEvent,
if response == nil { if response == nil {
return errors.New("nil is invalid value") return errors.New("nil is invalid value")
} }
var failures []validate.FieldError
for i, elem := range response {
if err := func() error {
if err := elem.Validate(); err != nil {
return err
}
return nil
}(); err != nil {
failures = append(failures, validate.FieldError{
Name: fmt.Sprintf("[%d]", i),
Error: err,
})
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil return nil
}(); err != nil { }(); err != nil {
return res, errors.Wrap(err, "validate") return res, errors.Wrap(err, "validate")
@ -3099,6 +3116,23 @@ func decodeListSubmissionAuditEventsResponse(resp *http.Response) (res []AuditEv
if response == nil { if response == nil {
return errors.New("nil is invalid value") return errors.New("nil is invalid value")
} }
var failures []validate.FieldError
for i, elem := range response {
if err := func() error {
if err := elem.Validate(); err != nil {
return err
}
return nil
}(); err != nil {
failures = append(failures, validate.FieldError{
Name: fmt.Sprintf("[%d]", i),
Error: err,
})
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil return nil
}(); err != nil { }(); err != nil {
return res, errors.Wrap(err, "validate") return res, errors.Wrap(err, "validate")

@ -76,9 +76,10 @@ type ActionSubmissionValidatedNoContent struct{}
// Ref: #/components/schemas/AuditEvent // Ref: #/components/schemas/AuditEvent
type AuditEvent struct { type AuditEvent struct {
ID int64 `json:"ID"` ID int64 `json:"ID"`
Date int64 `json:"Date"` Date int64 `json:"Date"`
User int64 `json:"User"` User int64 `json:"User"`
Username string `json:"Username"`
// Is this a submission or is it a mapfix. // Is this a submission or is it a mapfix.
ResourceType int32 `json:"ResourceType"` ResourceType int32 `json:"ResourceType"`
ResourceID int64 `json:"ResourceID"` ResourceID int64 `json:"ResourceID"`
@ -102,6 +103,11 @@ func (s *AuditEvent) GetUser() int64 {
return s.User return s.User
} }
// GetUsername returns the value of Username.
func (s *AuditEvent) GetUsername() string {
return s.Username
}
// GetResourceType returns the value of ResourceType. // GetResourceType returns the value of ResourceType.
func (s *AuditEvent) GetResourceType() int32 { func (s *AuditEvent) GetResourceType() int32 {
return s.ResourceType return s.ResourceType
@ -137,6 +143,11 @@ func (s *AuditEvent) SetUser(val int64) {
s.User = val s.User = val
} }
// SetUsername sets the value of Username.
func (s *AuditEvent) SetUsername(val string) {
s.Username = val
}
// SetResourceType sets the value of ResourceType. // SetResourceType sets the value of ResourceType.
func (s *AuditEvent) SetResourceType(val int32) { func (s *AuditEvent) SetResourceType(val int32) {
s.ResourceType = val s.ResourceType = val

@ -10,6 +10,37 @@ import (
"github.com/ogen-go/ogen/validate" "github.com/ogen-go/ogen/validate"
) )
func (s *AuditEvent) Validate() error {
if s == nil {
return validate.ErrNilPointer
}
var failures []validate.FieldError
if err := func() error {
if err := (validate.String{
MinLength: 0,
MinLengthSet: false,
MaxLength: 64,
MaxLengthSet: true,
Email: false,
Hostname: false,
Regex: nil,
}).Validate(string(s.Username)); err != nil {
return errors.Wrap(err, "string")
}
return nil
}(); err != nil {
failures = append(failures, validate.FieldError{
Name: "Username",
Error: err,
})
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
func (s *Error) Validate() error { func (s *Error) Validate() error {
if s == nil { if s == nil {
return validate.ErrNilPointer return validate.ErrNilPointer