|
|
|
@ -22,13 +22,15 @@ func handleApiUsersCall(w http.ResponseWriter, req *http.Request) { |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
switch fn { |
|
|
|
|
case "byname": |
|
|
|
|
handleApiShowUserByName(uid, w) |
|
|
|
|
default: |
|
|
|
|
handleApiShowUser(uid, w) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
case "POST", "PUT": |
|
|
|
|
if !uidok { |
|
|
|
|
http.Error(w, "You did a bad", 400) |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
if !fnok { |
|
|
|
@ -36,7 +38,7 @@ func handleApiUsersCall(w http.ResponseWriter, req *http.Request) { |
|
|
|
|
var u *User |
|
|
|
|
var err error |
|
|
|
|
if u, err = m.GetUserByName(uid); err == nil { |
|
|
|
|
http.Error(w, "You did a bad", 400) |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
u = NewUser(uid) |
|
|
|
@ -49,18 +51,18 @@ func handleApiUsersCall(w http.ResponseWriter, req *http.Request) { |
|
|
|
|
case "slugs": |
|
|
|
|
slug, slugok := vars["slug"] |
|
|
|
|
if !slugok { |
|
|
|
|
http.Error(w, "You did a bad", 400) |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
handleApiSubUser(uid, slug, w) |
|
|
|
|
|
|
|
|
|
default: |
|
|
|
|
http.Error(w, "You did a bad", 400) |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
default: |
|
|
|
|
http.Error(w, "You did a bad", 400) |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
|
|
|
|
|
} |
|
|
|
@ -70,7 +72,7 @@ func handleApiListUsers(w http.ResponseWriter) { |
|
|
|
|
var res []byte |
|
|
|
|
var err error |
|
|
|
|
if res, err = json.Marshal(m.Users); err != nil { |
|
|
|
|
http.Error(w, "I did a bad", 500) |
|
|
|
|
serverError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
fmt.Fprint(w, string(res)) |
|
|
|
@ -80,13 +82,30 @@ func handleApiShowUser(uid string, w http.ResponseWriter) { |
|
|
|
|
var err error |
|
|
|
|
var u *User |
|
|
|
|
if u, err = m.GetUser(uid); err != nil { |
|
|
|
|
http.Error(w, err.Error(), 400) |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var res []byte |
|
|
|
|
if res, err = json.Marshal(u); err != nil { |
|
|
|
|
http.Error(w, err.Error(), 400) |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
fmt.Fprint(w, string(res)) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func handleApiShowUserByName(uname string, w http.ResponseWriter) { |
|
|
|
|
var err error |
|
|
|
|
var u *User |
|
|
|
|
if u, err = m.GetUserByName(uname); err != nil { |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var res []byte |
|
|
|
|
if res, err = json.Marshal(u); err != nil { |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
fmt.Fprint(w, string(res)) |
|
|
|
@ -98,23 +117,23 @@ func handleApiSubUser(uid string, slug string, w http.ResponseWriter) { |
|
|
|
|
var u *User |
|
|
|
|
var err error |
|
|
|
|
if u, err = m.GetUser(uid); err != nil { |
|
|
|
|
http.Error(w, err.Error(), 400) |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
pts := strings.Split(slug, ";") |
|
|
|
|
if len(pts) != 2 { |
|
|
|
|
http.Error(w, err.Error(), 400) |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
_, err = m.GetComic(pts[0], pts[1]) |
|
|
|
|
if err != nil { |
|
|
|
|
http.Error(w, err.Error(), 400) |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
u.SubSlugs = append(u.SubSlugs, slug) |
|
|
|
|
err = m.SaveUser(u) |
|
|
|
|
if err != nil { |
|
|
|
|
http.Error(w, err.Error(), 400) |
|
|
|
|
userError(w) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
m.LoadUsers() |
|
|
|
|