Skip to content

Commit

Permalink
Merge 8583e01 into 79ece67
Browse files Browse the repository at this point in the history
  • Loading branch information
ghostec committed May 11, 2018
2 parents 79ece67 + 8583e01 commit 4184a0b
Show file tree
Hide file tree
Showing 16 changed files with 861 additions and 907 deletions.
2 changes: 1 addition & 1 deletion api/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ func (app *App) configureApplication() {
a.Get("/games/:gameID/players/:playerPublicID", RetrievePlayerHandler(app))

// Clan Routes
a.Get("/games/:gameID/clan-search", SearchClansHandler(app))
a.Get("/games/:gameID/clans/search", SearchClansHandler(app))
a.Get("/games/:gameID/clans", ListClansHandler(app))
a.Post("/games/:gameID/clans", CreateClanHandler(app))
a.Get("/games/:gameID/clans-summary", RetrieveClansSummariesHandler(app))
Expand Down
19 changes: 6 additions & 13 deletions api/clan.go
Original file line number Diff line number Diff line change
Expand Up @@ -630,10 +630,11 @@ func ListClansHandler(app *App) func(c echo.Context) error {
// SearchClansHandler is the handler responsible for searching for clans
func SearchClansHandler(app *App) func(c echo.Context) error {
return func(c echo.Context) error {
c.Set("route", "SearchClans")
c.Set("route", "MongoSearchClans")
start := time.Now()
gameID := c.Param("gameID")
term := c.QueryParam("term")
pageSize := app.Config.GetInt64("search.pageSize")

l := app.Logger.With(
zap.String("source", "clanHandler"),
Expand All @@ -642,28 +643,20 @@ func SearchClansHandler(app *App) func(c echo.Context) error {
zap.String("term", term),
)

log.D(l, "Getting DB connection...")
db, err := app.GetCtxDB(c)
if err != nil {
log.E(l, "Failed to connect to DB.", func(cm log.CM) {
cm.Write(zap.Error(err))
})
return FailWith(500, err.Error(), c)
}
log.D(l, "DB Connection successful.")

if term == "" {
log.W(l, "Clan search failed due to empty term.")
return FailWith(400, (&models.EmptySearchTermError{}).Error(), c)
}

var clans []models.Clan
err = WithSegment("clan-search", c, func() error {
var err error
err = WithSegment("clans-search", c, func() error {
log.D(l, "Searching clans...")
clans, err = models.SearchClan(
db,
app.MongoDB,
gameID,
term,
pageSize,
)

if err != nil {
Expand Down
29 changes: 25 additions & 4 deletions api/clan_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -860,8 +860,7 @@ var _ = Describe("Clan API Handler", func() {
testDb, gameID, "clan-apisearch-clan", 10,
)
Expect(err).NotTo(HaveOccurred())

status, body := Get(a, GetGameRoute(player.GameID, "clan-search?term=APISEARCH"))
status, body := Get(a, GetGameRoute(player.GameID, "clans/search?term=APISEARCH"))

Expect(status).To(Equal(http.StatusOK))
var result map[string]interface{}
Expand All @@ -887,14 +886,37 @@ var _ = Describe("Clan API Handler", func() {
}
})

It("Should search for a clan by publicID", func() {
gameID := uuid.NewV4().String()
player, expectedClans, err := models.GetTestClans(
testDb, gameID, "clan-apisearch-clan", 10,
)
Expect(err).NotTo(HaveOccurred())
status, body := Get(a, GetGameRoute(
player.GameID, fmt.Sprintf("clans/search?term=%s", expectedClans[3].PublicID),
))

Expect(status).To(Equal(http.StatusOK))
var result map[string]interface{}
json.Unmarshal([]byte(body), &result)

Expect(result["success"]).To(BeTrue())

clans := result["clans"].([]interface{})
Expect(len(clans)).To(Equal(1))

Expect(clans[0].(map[string]interface{})["publicID"].(string)).
To(Equal(expectedClans[3].PublicID))
})

It("Should unicode search for a clan", func() {
gameID := uuid.NewV4().String()
player, expectedClans, err := models.GetTestClans(
testDb, gameID, "clan-apisearch-clan", 10,
)
Expect(err).NotTo(HaveOccurred())

url := "clan-search?term=💩clán-clan-APISEARCH"
url := "clans/search?term=💩clán-clan-APISEARCH"
status, body := Get(a, GetGameRoute(player.GameID, url))
Expect(status).To(Equal(http.StatusOK))
var result map[string]interface{}
Expand All @@ -919,7 +941,6 @@ var _ = Describe("Clan API Handler", func() {
Expect(clan["allowApplication"]).To(Equal(expectedClan.AllowApplication))
}
})

})

Describe("Clan Hooks", func() {
Expand Down
38 changes: 38 additions & 0 deletions api/easyjson-bootstrap338594267.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// +build ignore

// TEMPORARY AUTOGENERATED FILE: easyjson bootstapping code to launch
// the actual generator.

package main

import (
"fmt"
"os"

"github.com/mailru/easyjson/gen"

pkg "github.com/topfreegames/khan/api"
)

func main() {
g := gen.NewGenerator("payload_easyjson.go")
g.SetPkg("api", "github.com/topfreegames/khan/api")
g.NoStdMarshalers()
g.Add(pkg.EasyJSON_exporter_ApplyForMembershipPayload(nil))
g.Add(pkg.EasyJSON_exporter_ApproveOrDenyMembershipInvitationPayload(nil))
g.Add(pkg.EasyJSON_exporter_BasePayloadWithRequestorAndPlayerPublicIDs(nil))
g.Add(pkg.EasyJSON_exporter_CreateClanPayload(nil))
g.Add(pkg.EasyJSON_exporter_CreateGamePayload(nil))
g.Add(pkg.EasyJSON_exporter_CreatePlayerPayload(nil))
g.Add(pkg.EasyJSON_exporter_HookPayload(nil))
g.Add(pkg.EasyJSON_exporter_InviteForMembershipPayload(nil))
g.Add(pkg.EasyJSON_exporter_TransferClanOwnershipPayload(nil))
g.Add(pkg.EasyJSON_exporter_UpdateClanPayload(nil))
g.Add(pkg.EasyJSON_exporter_UpdateGamePayload(nil))
g.Add(pkg.EasyJSON_exporter_UpdatePlayerPayload(nil))
g.Add(pkg.EasyJSON_exporter_Validation(nil))
if err := g.Run(os.Stdout); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}
38 changes: 38 additions & 0 deletions api/easyjson-bootstrap399122019.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// +build ignore

// TEMPORARY AUTOGENERATED FILE: easyjson bootstapping code to launch
// the actual generator.

package main

import (
"fmt"
"os"

"github.com/mailru/easyjson/gen"

pkg "github.com/topfreegames/khan/api"
)

func main() {
g := gen.NewGenerator("payload_easyjson.go")
g.SetPkg("api", "github.com/topfreegames/khan/api")
g.NoStdMarshalers()
g.Add(pkg.EasyJSON_exporter_ApplyForMembershipPayload(nil))
g.Add(pkg.EasyJSON_exporter_ApproveOrDenyMembershipInvitationPayload(nil))
g.Add(pkg.EasyJSON_exporter_BasePayloadWithRequestorAndPlayerPublicIDs(nil))
g.Add(pkg.EasyJSON_exporter_CreateClanPayload(nil))
g.Add(pkg.EasyJSON_exporter_CreateGamePayload(nil))
g.Add(pkg.EasyJSON_exporter_CreatePlayerPayload(nil))
g.Add(pkg.EasyJSON_exporter_HookPayload(nil))
g.Add(pkg.EasyJSON_exporter_InviteForMembershipPayload(nil))
g.Add(pkg.EasyJSON_exporter_TransferClanOwnershipPayload(nil))
g.Add(pkg.EasyJSON_exporter_UpdateClanPayload(nil))
g.Add(pkg.EasyJSON_exporter_UpdateGamePayload(nil))
g.Add(pkg.EasyJSON_exporter_UpdatePlayerPayload(nil))
g.Add(pkg.EasyJSON_exporter_Validation(nil))
if err := g.Run(os.Stdout); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}
Loading

0 comments on commit 4184a0b

Please sign in to comment.