aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjan <jan@ruken.pw>2016-11-13 12:04:54 (UTC)
committerjan <jan@ruken.pw>2016-11-13 12:04:54 (UTC)
commit96b08bfa8906e3d9b0c8f98186c6b21906685be5 (patch)
tree97db4bd41b4c664c21845ad944991474e93cac24
parent397868371db217bbd2376a7166c2cfafea565b3f (diff)
wir wollen nur eingebaute services erlauben
-rw-r--r--charakterin.go18
1 files changed, 16 insertions, 2 deletions
diff --git a/charakterin.go b/charakterin.go
index 2878f1f..413d698 100644
--- a/charakterin.go
+++ b/charakterin.go
@@ -24,6 +24,11 @@ const (
24 EmailAlreadyRegistered = "pq: email_already_registered" 24 EmailAlreadyRegistered = "pq: email_already_registered"
25) 25)
26 26
27// external services
28const (
29 ANILIST = "Anilist"
30)
31
27// Renderer wird verwendet, um die Routen (bspw. Login-Route) zu rendern. Damit bleibt Charakterin selbst ohne Template. 32// Renderer wird verwendet, um die Routen (bspw. Login-Route) zu rendern. Damit bleibt Charakterin selbst ohne Template.
28type Renderer interface { 33type Renderer interface {
29 RenderLoginPage(w http.ResponseWriter, data map[string]interface{}) 34 RenderLoginPage(w http.ResponseWriter, data map[string]interface{})
@@ -401,9 +406,15 @@ func (c *Charakterin) DisplayAPICouplePage(w http.ResponseWriter, r *http.Reques
401 http.Error(w, "403", http.StatusForbidden) 406 http.Error(w, "403", http.StatusForbidden)
402 return 407 return
403 } 408 }
409
410 service := ps.ByName("type")
411 if service != ANILIST {
412 http.Error(w, "Ungueltiger Service", http.StatusNotFound)
413 return
414 }
404 data := make(map[string]interface{}) 415 data := make(map[string]interface{})
405 data["user"] = user 416 data["user"] = user
406 data["name"] = ps.ByName("type") 417 data["name"] = service
407 c.renderer.RenderAPICouplePage(w, data) 418 c.renderer.RenderAPICouplePage(w, data)
408} 419}
409 420
@@ -419,8 +430,11 @@ func (c *Charakterin) CoupleAPI(w http.ResponseWriter, r *http.Request, ps httpr
419 return 430 return
420 } 431 }
421 switch ps.ByName("type") { 432 switch ps.ByName("type") {
422 case "Anilist": 433 case ANILIST:
423 err = user.AnilistClient.CoupleByPin(body["code"][0]) 434 err = user.AnilistClient.CoupleByPin(body["code"][0])
435 break
436 default:
437 err = errors.New("Ungueltiger Service")
424 } 438 }
425 if err != nil { 439 if err != nil {
426 data := make(map[string]interface{}) 440 data := make(map[string]interface{})