package lista_utenti import ( "encoding/json" "log" "os" "git.phc.dm.unipi.it/phc/website/model" "git.phc.dm.unipi.it/phc/website/util" ) type jsonListaUtenti struct { Path string Macchinisti util.Set[string] Rappresentanti util.Set[string] } func newJsonListaUtenti(path string) (Service, error) { macchinisti, err := loadMacchinisti() if err != nil { return nil, err } rappresentanti, err := loadRappresentanti() if err != nil { return nil, err } return &jsonListaUtenti{path, macchinisti, rappresentanti}, nil } func (j *jsonListaUtenti) GetUtenti() ([]*model.ListUser, error) { var users []*model.ListUser f, err := os.Open(j.Path) if err != nil { return nil, err } if err := json.NewDecoder(f).Decode(&users); err != nil { return nil, err } mergeMacchinisti(users, j.Macchinisti) mergeRappresentanti(users, j.Rappresentanti) log.Printf("Caricata lista di %d utenti", len(users)) return users, nil }