diff --git a/cmd/webapi/__debug_bin b/cmd/webapi/__debug_bin new file mode 100755 index 0000000..1377730 Binary files /dev/null and b/cmd/webapi/__debug_bin differ diff --git a/service/api/api-handler.go b/service/api/api-handler.go index 697671b..6233872 100644 --- a/service/api/api-handler.go +++ b/service/api/api-handler.go @@ -23,9 +23,14 @@ func (rt *_router) Handler() http.Handler { rt.router.GET("/users/:user_id/photos/:photo_id", rt.wrap(rt.GetPhoto)) rt.router.DELETE("/users/:user_id/photos/:photo_id", rt.wrap(rt.DeletePhoto)) + rt.router.GET("/users/:user_id/photos/:photo_id/likes", rt.wrap(rt.GetLikes)) rt.router.PUT("/users/:user_id/photos/:photo_id/likes/:liker_uid", rt.wrap(rt.PutDeleteLike)) rt.router.DELETE("/users/:user_id/photos/:photo_id/likes/:liker_uid", rt.wrap(rt.PutDeleteLike)) + rt.router.GET("/users/:user_id/photos/:photo_id/comments", rt.wrap(rt.GetComments)) + rt.router.POST("/users/:user_id/photos/:photo_id/comments", rt.wrap(rt.PostComment)) + rt.router.DELETE("/users/:user_id/photos/:photo_id/comments/:comment_id", rt.wrap(rt.DeleteComment)) + rt.router.GET("/", rt.getHelloWorld) rt.router.GET("/context", rt.wrap(rt.getContextReply)) diff --git a/service/database/db-photos.go b/service/database/db-photos.go index e1bc41c..0275385 100644 --- a/service/database/db-photos.go +++ b/service/database/db-photos.go @@ -99,12 +99,12 @@ func (db *appdbimpl) GetUserProfile(uid string) (*UserProfile, error) { err = db.c.QueryRow(`SELECT COUNT(*) FROM "follows" WHERE "follower" = ?`, uid).Scan(&following) // Get photos - rows, err := db.c.Query(`SELECT "photos.id", "photos.date", - COUNT("likes.user") AS "likes", - COUNT("comments.user") AS "comments" + rows, err := db.c.Query(`SELECT "photos"."id", "photos"."date", + COUNT("likes"."user") AS "likes", + COUNT("comments"."user") AS "comments" FROM "photos", "likes", "comments" - WHERE "likes.photo_id" = "photos.id" - AND "comments.photo" = "photos.id" + WHERE "likes"."photo_id" = "photos"."id" + AND "comments"."photo" = "photos"."id" AND "user" = ?`, uid) if err != nil { return nil, err @@ -151,9 +151,9 @@ func (db *appdbimpl) GetPhotoLikes(uid string, photo int64) (QueryResult, *[]str return ERR_NOT_FOUND, nil, nil } - rows, err := db.c.Query(`SELECT "users.uid", "users.name" FROM "likes", "users" - WHERE "likes.photo_id" = ? - AND "likes.user" = "users.uid"`, photo) + rows, err := db.c.Query(`SELECT "users"."uid", "users"."name" FROM "likes", "users" + WHERE "likes"."photo_id" = ? + AND "likes"."user" = "users"."uid"`, photo) if err != nil { return ERR_INTERNAL, nil, err } diff --git a/service/database/db-users.go b/service/database/db-users.go index 717d433..d65e07c 100644 --- a/service/database/db-users.go +++ b/service/database/db-users.go @@ -61,8 +61,8 @@ func (db *appdbimpl) GetUserFollowers(uid string) (QueryResult, *[]structures.UI return ERR_NOT_FOUND, nil, nil } - rows, err := db.c.Query(`SELECT "follower", "user.name" FROM "follows", "users" - WHERE "follows.follower" = "users.uid" + rows, err := db.c.Query(`SELECT "follower", "user"."name" FROM "follows", "users" + WHERE "follows"."follower" = "users"."uid" AND "followed" = ?`, uid) followers, err := db.uidNameQuery(rows, err) @@ -88,8 +88,8 @@ func (db *appdbimpl) GetUserFollowing(uid string) (QueryResult, *[]structures.UI return ERR_NOT_FOUND, nil, nil } - rows, err := db.c.Query(`SELECT "followed", "user.name" FROM "follows", "users" - WHERE "follows.followed" = "users.uid" + rows, err := db.c.Query(`SELECT "followed", "user"."name" FROM "follows", "users" + WHERE "follows"."followed" = "users"."uid" AND "follower" = ?`, uid) following, err := db.uidNameQuery(rows, err)