init
This commit is contained in:
49
internal/foundry/models/module.go
Normal file
49
internal/foundry/models/module.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package models
|
||||
|
||||
type Module struct {
|
||||
Id string
|
||||
Title string
|
||||
Description string
|
||||
Url string
|
||||
Version string
|
||||
Compatibility Compatibility
|
||||
Languages []DataLanguage
|
||||
Availability int
|
||||
}
|
||||
|
||||
type Modules []Module
|
||||
|
||||
func (modules Modules) GetById(id int) *Module {
|
||||
return &modules[id]
|
||||
}
|
||||
|
||||
func (state *FoundryState) GetModules() Modules {
|
||||
modulesCopy := make([]Module, 0, 8)
|
||||
for i := range state.Modules {
|
||||
module := &(state.Modules[i])
|
||||
moduleCopy := Module{
|
||||
Id: module.Id,
|
||||
Title: module.Title,
|
||||
Description: module.Description,
|
||||
Compatibility: Compatibility{
|
||||
Minimum: module.Compatibility.Minimum,
|
||||
Maximum: module.Compatibility.Maximum,
|
||||
},
|
||||
Url: module.Url,
|
||||
Version: module.CoreVersion,
|
||||
|
||||
Availability: module.Availability,
|
||||
}
|
||||
for j := range module.Languages {
|
||||
lang := DataLanguage{
|
||||
Lang: module.Languages[j].Lang,
|
||||
Name: module.Languages[j].Name,
|
||||
Path: module.Languages[j].Path,
|
||||
Flags: module.Languages[j].Flags,
|
||||
}
|
||||
moduleCopy.Languages = append(moduleCopy.Languages, lang)
|
||||
}
|
||||
modulesCopy = append(modulesCopy, moduleCopy)
|
||||
}
|
||||
return modulesCopy
|
||||
}
|
||||
Reference in New Issue
Block a user