Files
Foundry-Scrapping-API/internal/foundry/models/module.go
lbenedar d5577f10d7 init
2026-04-02 18:37:30 +03:00

50 lines
1.1 KiB
Go

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
}