func (h *Handler) CommandNewFaction(g overpower.GameDat, facs []overpower.FactionDat, f overpower.FactionDat, password, facname string) (errServer, errUser error) { if g.Turn() > 0 { return nil, NewError("GAME IN PROGRESS") } if f != nil { return nil, NewError("USER ALREADY HAS FACTION FOR THIS GAME") } if g.HasPassword() { if !ValidText(password) || !g.IsPassword(password) { return nil, NewError("BAD PASSWORD") } } if !ValidText(facname) { return nil, NewError("BAD FACTION NAME") } lwFName := strings.ToLower(facname) for _, f := range facs { if strings.ToLower(f.Name()) == lwFName { return nil, NewError("FACTION NAME ALREADY IN USE FOR THIS GAME") } } newF := &models.Faction{ GID: g.GID(), Owner: h.User.String(), Name: facname, } h.M.CreateFaction(newF) err := h.M.Close() if my, bad := Check(err, "data creation error", "type", "faction", "gid", g.GID(), "user", h.User, "facname", facname); bad { return my, nil } return nil, nil }