Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions gists/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,9 @@ func (g *GistControllerImpl) FindAll() fiber.Handler {

gists, err := GistService.FindAll(owner_id, limit, offset, short)
if err != nil {
if errors.Is(err, GistNotFound) {
return c.Status(404).SendString(err.Error())
}
return c.Status(500).SendString(err.Error())
}

Expand Down Expand Up @@ -162,6 +165,10 @@ func (g *GistControllerImpl) FindByID() fiber.Handler {
can_read, err := g.gist_guard.CanRead(c.Params("id"), owner_id)

if err != nil {

if errors.Is(err, GistNotFound) {
return c.Status(404).SendString(err.Error())
}
return c.Status(500).SendString(err.Error())
}

Expand Down Expand Up @@ -190,6 +197,10 @@ func (g *GistControllerImpl) RawFindByID() fiber.Handler {
can_read, err := g.gist_guard.CanRead(c.Params("id"), owner_id)

if err != nil {

if errors.Is(err, GistNotFound) {
return c.Status(404).SendString(err.Error())
}
return c.Status(500).SendString(err.Error())
}

Expand Down Expand Up @@ -218,6 +229,10 @@ func (g *GistControllerImpl) UpdateContent() fiber.Handler {
can_edit, err := g.gist_guard.CanEdit(c.Params("id"), owner_id)

if err != nil {

if errors.Is(err, GistNotFound) {
return c.Status(404).SendString(err.Error())
}
return c.Status(500).SendString(err.Error())
}

Expand Down Expand Up @@ -247,6 +262,9 @@ func (g *GistControllerImpl) UpdateLanguage() fiber.Handler {
can_edit, err := g.gist_guard.CanEdit(c.Params("id"), owner_id)

if err != nil {
if errors.Is(err, GistNotFound) {
return c.Status(404).SendString(err.Error())
}
return c.Status(500).SendString(err.Error())
}

Expand Down Expand Up @@ -276,6 +294,10 @@ func (g *GistControllerImpl) UpdateDescription() fiber.Handler {
can_edit, err := g.gist_guard.CanEdit(c.Params("id"), owner_id)

if err != nil {

if errors.Is(err, GistNotFound) {
return c.Status(404).SendString(err.Error())
}
return c.Status(500).SendString(err.Error())
}

Expand All @@ -301,6 +323,9 @@ func (g *GistControllerImpl) Delete() fiber.Handler {
can_edit, err := g.gist_guard.CanEdit(c.Params("id"), owner_id)

if err != nil {
if errors.Is(err, GistNotFound) {
return c.Status(404).SendString(err.Error())
}
return c.Status(500).SendString(err.Error())
}

Expand Down Expand Up @@ -330,6 +355,9 @@ func (g *GistControllerImpl) Update() fiber.Handler {
can_edit, err := g.gist_guard.CanEdit(id, owner_id)

if err != nil {
if errors.Is(err, GistNotFound) {
return c.Status(404).SendString(err.Error())
}
return c.Status(500).SendString(err.Error())
}

Expand Down
16 changes: 9 additions & 7 deletions gists/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import (

type GistVisibility string

var GistNotFound error = errors.New("gist not found")

const (
Private GistVisibility = "private"
Public GistVisibility = "public"
Expand Down Expand Up @@ -92,7 +94,7 @@ func (g *GistSQL) UpdateContent(id string) (*Gist, error) {
err := pogo.SuperQuery(db, "UPDATE gists SET content = $1 WHERE gist_id = $2 AND owner = $3 RETURNING :fields", &gists, g.Content, id, g.OwnerID)

if len(gists) <= 0 {
return nil, errors.New("gist not found")
return nil, GistNotFound
}

return &gists[0], err
Expand All @@ -103,7 +105,7 @@ func (g *GistSQL) UpdateField(id string, field string, val string) (*Gist, error
gists := make([]Gist, 0)
err := pogo.SuperQuery(db, "UPDATE gists SET "+field+" = $1 WHERE gist_id = $2 AND owner = $3 RETURNING :fields", &gists, val, id, g.OwnerID)
if len(gists) <= 0 {
return nil, errors.New("gist not found")
return nil, GistNotFound
}
return &gists[0], err
}
Expand All @@ -117,7 +119,7 @@ func (g *GistSQL) UpdateGist() (*Gist, error) {
gists := make([]Gist, 0)
err := pogo.SuperQuery(db, "UPDATE gists SET name = $1, content = $2, language = $3, description = $4, visibility = $5 WHERE gist_id = $6 AND owner = $7 RETURNING :fields", &gists, g.Name, g.Content, g.Language, g.Description, g.Visibility, g.ID, g.OwnerID)
if len(gists) <= 0 {
return nil, errors.New("gist not found")
return nil, GistNotFound
}
return &gists[0], err
}
Expand All @@ -138,7 +140,7 @@ func (g *GistSQL) FindByID(id string) (*Gist, error) {
err := pogo.SuperQuery(db, "SELECT :fields FROM gists WHERE gist_id = $1", &gists, id)
if len(gists) <= 0 {
log.Error(err)
return nil, errors.New("gist not found")
return nil, GistNotFound
}
return &gists[0], err
}
Expand All @@ -150,7 +152,7 @@ func (g *GistSQL) FindAll(limit int, offset int) ([]Gist, error) {
err := pogo.SuperQuery(db, "SELECT :fields FROM gists WHERE owner = $1 LIMIT $2 OFFSET $3", &gists, g.OwnerID, limit, offset)
if len(gists) <= 0 {
log.Error(err)
return nil, errors.New("gist not found")
return nil, GistNotFound
}
return gists, err
}
Expand All @@ -160,7 +162,7 @@ func (g *GistSQL) Update() (*Gist, error) {
gists := make([]Gist, 0)
err := pogo.SuperQuery(db, "UPDATE gists SET name = $1, content = $2, language = $3, description = $4, visibility = $5 WHERE gist_id = $6 AND owner = $7 RETURNING :fields", &gists, g.Name, g.Content, g.Language, g.Description, g.Visibility, g.ID, g.OwnerID)
if len(gists) <= 0 {
return nil, errors.New("gist not found")
return nil, GistNotFound
}
return &gists[0], err
}
Expand All @@ -176,7 +178,7 @@ func (g *GistSQL) Count() (int, error) {

if err != nil {
log.Error(err)
return 0, errors.New("couldn't get gists")
return 0, GistNotFound
}
return count, nil
}
5 changes: 5 additions & 0 deletions user/user_controller.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package user

import (
"errors"

"github.com/gofiber/fiber/v2"
)

Expand All @@ -13,6 +15,9 @@ func (u *UserControllerImpl) Get() fiber.Handler {
user, err := UserService.GetUserByID(owner_id)

if err != nil {
if errors.Is(err, ErrUserNotFound) {
return c.Status(404).SendString(err.Error())
}
return c.Status(500).SendString(err.Error())
}

Expand Down
12 changes: 7 additions & 5 deletions user/user_model.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ func (u *UserSQL) Save() (*User, error) {
err = row.Scan(&user.ID, &user.Email, &user.Name, &user.Picture)
if err != nil {
log.Error(err)
return nil, errors.New("couldn't find user")
return nil, ErrUserNotFound
}

return &user, nil
Expand All @@ -53,15 +53,15 @@ func (u *UserSQL) GetByEmail() (*User, error) {

if err != nil {
log.Error(err)
return nil, errors.New("couldn't find user")
return nil, ErrUserNotFound
}

var user User
row.Next()
err = row.Scan(&user.ID, &user.Email, &user.Name, &user.Picture)
if err != nil {
log.Error(err)
return nil, errors.New("couldn't find user")
return nil, ErrUserNotFound
}

return &user, nil
Expand All @@ -73,15 +73,15 @@ func (u *UserSQL) GetByID() (*User, error) {

if err != nil {
log.Error(err)
return nil, errors.New("couldn't find user")
return nil, ErrUserNotFound
}

var user User
row.Next()
err = row.Scan(&user.ID, &user.Email, &user.Name, &user.Picture)
if err != nil {
log.Error(err)
return nil, errors.New("couldn't find user")
return nil, ErrUserNotFound
}
return &user, nil
}
Expand All @@ -94,3 +94,5 @@ func (u *UserSQL) Delete() error {
}
return nil
}

var ErrUserNotFound = errors.New("user not found")
Loading