Skip to content

Commit

Permalink
Merge pull request #95 from ABHINAVGARG05/master
Browse files Browse the repository at this point in the history
idea route fix
  • Loading branch information
ABHINAVGARG05 authored Feb 3, 2025
2 parents ae028d0 + 2b62b96 commit fa95fef
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 33 deletions.
2 changes: 1 addition & 1 deletion database/queries/ideas.sql
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ LIMIT $2;

-- name: GetIdeasByTrack :many
SELECT * FROM ideas
WHERE (track = $1 OR $1 = '') AND (title = $2 OR $2 = '')
WHERE (track ILIKE '%' || $1 || '%' OR $1 = '') AND (title ILIKE '%' || $2 || '%' OR $2 = '')
AND id > $3
ORDER BY id
LIMIT $4;
82 changes: 58 additions & 24 deletions pkg/controller/admin.go
Original file line number Diff line number Diff line change
Expand Up @@ -744,6 +744,10 @@ func GetIdeasByTrack(c echo.Context) error {
Message: err.Error(),
})
}
if TrackParamInt < 1 || TrackParamInt > 6 {
TrackParamInt = 7
}

payload := struct {
Track int `json:"track"`
Title string `json:"title"`
Expand Down Expand Up @@ -783,13 +787,24 @@ func GetIdeasByTrack(c echo.Context) error {

var idea []db.Idea

tracks := map[int]string{
1: "AI&ML",
2: "Finance and Fintech",
3: "Healthcare and Education",
4: "Digital Security",
5: "Environment and Sustainability",
6: "Open Innovation",
7: " ",
}

switch payload.Track {
case 1:
trackname := tracks[0]
idea, err = utils.Queries.GetIdeasByTrack(ctx, db.GetIdeasByTrackParams{
Title: payload.Title,
Track: "AI & ML",
ID: cursorUUID,
Limit: int32(limit),
Column1: &payload.Title,
Column2: &trackname,
ID: cursorUUID,
Limit: int32(limit),
})
if err != nil {
return c.JSON(http.StatusInternalServerError, &models.Response{
Expand All @@ -798,11 +813,12 @@ func GetIdeasByTrack(c echo.Context) error {
})
}
case 2:
trackname := tracks[1]
idea, err = utils.Queries.GetIdeasByTrack(ctx, db.GetIdeasByTrackParams{
Title: payload.Title,
Track: "Finance and Fintech",
ID: cursorUUID,
Limit: int32(limit),
Column1: &payload.Title,
Column2: &trackname,
ID: cursorUUID,
Limit: int32(limit),
})
if err != nil {
return c.JSON(http.StatusInternalServerError, &models.Response{
Expand All @@ -811,11 +827,12 @@ func GetIdeasByTrack(c echo.Context) error {
})
}
case 3:
trackname := tracks[2]
idea, err = utils.Queries.GetIdeasByTrack(ctx, db.GetIdeasByTrackParams{
Title: payload.Title,
Track: "Healthcare and Education",
ID: cursorUUID,
Limit: int32(limit),
Column1: &payload.Title,
Column2: &trackname,
ID: cursorUUID,
Limit: int32(limit),
})
if err != nil {
return c.JSON(http.StatusInternalServerError, &models.Response{
Expand All @@ -824,11 +841,12 @@ func GetIdeasByTrack(c echo.Context) error {
})
}
case 4:
trackname := tracks[3]
idea, err = utils.Queries.GetIdeasByTrack(ctx, db.GetIdeasByTrackParams{
Title: payload.Title,
Track: "Digital Security",
ID: cursorUUID,
Limit: int32(limit),
Column1: &payload.Title,
Column2: &trackname,
ID: cursorUUID,
Limit: int32(limit),
})
if err != nil {
return c.JSON(http.StatusInternalServerError, &models.Response{
Expand All @@ -837,11 +855,12 @@ func GetIdeasByTrack(c echo.Context) error {
})
}
case 5:
trackname := tracks[4]
idea, err = utils.Queries.GetIdeasByTrack(ctx, db.GetIdeasByTrackParams{
Title: payload.Title,
Track: "Environment and Sustainability",
ID: cursorUUID,
Limit: int32(limit),
Column1: &payload.Title,
Column2: &trackname,
ID: cursorUUID,
Limit: int32(limit),
})
if err != nil {
return c.JSON(http.StatusInternalServerError, &models.Response{
Expand All @@ -850,11 +869,26 @@ func GetIdeasByTrack(c echo.Context) error {
})
}
case 6:
trackname := tracks[5]
idea, err = utils.Queries.GetIdeasByTrack(ctx, db.GetIdeasByTrackParams{
Column1: &payload.Title,
Column2: &trackname,
ID: cursorUUID,
Limit: int32(limit),
})
if err != nil {
return c.JSON(http.StatusInternalServerError, &models.Response{
Status: "fail",
Message: err.Error(),
})
}
case 7:
trackname := tracks[7]
idea, err = utils.Queries.GetIdeasByTrack(ctx, db.GetIdeasByTrackParams{
Title: payload.Title,
Track: "Open Innovation",
ID: cursorUUID,
Limit: int32(limit),
Column1: &payload.Title,
Column2: &trackname,
ID: cursorUUID,
Limit: int32(limit),
})
if err != nil {
return c.JSON(http.StatusInternalServerError, &models.Response{
Expand Down
14 changes: 7 additions & 7 deletions pkg/db/ideas.sql.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pkg/router/admin_routes.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,5 @@ func AdminRoutes(incomingRoutes *echo.Group) {
admin.PUT("/team/rounds", controller.UpdateTeamRounds)

admin.GET("/ideas", controller.GetAllIdeas)
admin.GET("/ideas/filter/:track/:title", controller.GetIdeasByTrack)
admin.GET("/ideas/filter", controller.GetIdeasByTrack)
}

0 comments on commit fa95fef

Please sign in to comment.