...

Source file src/go.formulabun.club/replays/ingest/server/go/model_file_info.go

Documentation: go.formulabun.club/replays/ingest/server/go

     1  /*
     2   * GoBun Replay File Info
     3   *
     4   * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
     5   *
     6   * API version: 0.0.1
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package openapi
    11  
    12  type FileInfo struct {
    13  
    14  	DemoHeader string `json:"DemoHeader,omitempty"`
    15  
    16  	Version int32 `json:"Version,omitempty"`
    17  
    18  	SubVersion int32 `json:"SubVersion,omitempty"`
    19  
    20  	DemoVersion int32 `json:"DemoVersion,omitempty"`
    21  
    22  	Title string `json:"Title,omitempty"`
    23  
    24  	Checksum []int32 `json:"Checksum,omitempty"`
    25  
    26  	Play string `json:"Play,omitempty"`
    27  
    28  	GameMap int32 `json:"GameMap,omitempty"`
    29  
    30  	MapMd5 []int32 `json:"MapMd5,omitempty"`
    31  
    32  	DemoFlags int32 `json:"DemoFlags,omitempty"`
    33  
    34  	GameType int32 `json:"GameType,omitempty"`
    35  
    36  	FileCount int32 `json:"FileCount,omitempty"`
    37  
    38  	Wads []WadEntry `json:"Wads,omitempty"`
    39  
    40  	// Total time in nanoseconds
    41  	Time int32 `json:"Time,omitempty"`
    42  
    43  	// Best lap time in nanoseconds
    44  	BestLapTime int32 `json:"BestLapTime,omitempty"`
    45  
    46  	Seed int32 `json:"Seed,omitempty"`
    47  
    48  	CVarCount int32 `json:"CVarCount,omitempty"`
    49  
    50  	Cvars []CVarEntry `json:"Cvars,omitempty"`
    51  
    52  	Players []PlayerEntry `json:"Players,omitempty"`
    53  }
    54  
    55  // AssertFileInfoRequired checks if the required fields are not zero-ed
    56  func AssertFileInfoRequired(obj FileInfo) error {
    57  	for _, el := range obj.Wads {
    58  		if err := AssertWadEntryRequired(el); err != nil {
    59  			return err
    60  		}
    61  	}
    62  	for _, el := range obj.Cvars {
    63  		if err := AssertCVarEntryRequired(el); err != nil {
    64  			return err
    65  		}
    66  	}
    67  	for _, el := range obj.Players {
    68  		if err := AssertPlayerEntryRequired(el); err != nil {
    69  			return err
    70  		}
    71  	}
    72  	return nil
    73  }
    74  
    75  // AssertRecurseFileInfoRequired recursively checks if required fields are not zero-ed in a nested slice.
    76  // Accepts only nested slice of FileInfo (e.g. [][]FileInfo), otherwise ErrTypeAssertionError is thrown.
    77  func AssertRecurseFileInfoRequired(objSlice interface{}) error {
    78  	return AssertRecurseInterfaceRequired(objSlice, func(obj interface{}) error {
    79  		aFileInfo, ok := obj.(FileInfo)
    80  		if !ok {
    81  			return ErrTypeAssertionError
    82  		}
    83  		return AssertFileInfoRequired(aFileInfo)
    84  	})
    85  }
    86  

View as plain text