Browse Source

feat: add error 401

pull/3/head
Aldino Kemal 4 years ago
parent
commit
75d02ac457
  1. 17
      middleware/recovery.go
  2. 23
      services/send_service_impl.go
  3. 10
      services/user_service_impl.go
  4. 8
      utils/errors.go

17
middleware/recovery.go

@ -12,14 +12,19 @@ func Recovery() fiber.Handler {
err := recover()
if err != nil {
var res utils.ResponseData
dt, ok := err.(utils.ValidationError)
if ok {
res.Code = 400
res.Message = dt.Message
} else {
res.Code = 500
res.Message = fmt.Sprintf("%s", err)
errValidation, okValidation := err.(utils.ValidationError)
if okValidation {
res.Code = 400
res.Message = errValidation.Message
}
errAuth, okAuth := err.(utils.AuthError)
if okAuth {
res.Code = 401
res.Message = errAuth.Message
}
_ = ctx.Status(res.Code).JSON(res)

23
services/send_service_impl.go

@ -27,10 +27,9 @@ func NewSendService(waCli *whatsmeow.Client) SendService {
}
}
func (service SendServiceImpl) SendText(c *fiber.Ctx, request structs.SendMessageRequest) (response structs.SendMessageResponse, err error) {
func (service SendServiceImpl) SendText(_ *fiber.Ctx, request structs.SendMessageRequest) (response structs.SendMessageResponse, err error) {
if !service.WaCli.IsLoggedIn() {
err = errors.New("you are not loggin")
return
panic(utils.AuthError{Message: "you are not loggin"})
}
recipient, ok := utils.ParseJID(request.PhoneNumber)
if !ok {
@ -48,10 +47,8 @@ func (service SendServiceImpl) SendText(c *fiber.Ctx, request structs.SendMessag
func (service SendServiceImpl) SendImage(c *fiber.Ctx, request structs.SendImageRequest) (response structs.SendImageResponse, err error) {
if !service.WaCli.IsLoggedIn() {
err = errors.New("you are not loggin")
return
panic(utils.AuthError{Message: "you are not loggin"})
}
// Resize image
oriImagePath := fmt.Sprintf("%s/%s", config.PathSendItems, request.Image.Filename)
err = c.SaveFile(request.Image, oriImagePath)
@ -120,10 +117,8 @@ func (service SendServiceImpl) SendImage(c *fiber.Ctx, request structs.SendImage
func (service SendServiceImpl) SendFile(c *fiber.Ctx, request structs.SendFileRequest) (response structs.SendFileResponse, err error) {
if !service.WaCli.IsLoggedIn() {
err = errors.New("you are not loggin")
return
panic(utils.AuthError{Message: "you are not loggin"})
}
// Resize image
oriFilePath := fmt.Sprintf("%s/%s", config.PathSendItems, request.File.Filename)
err = c.SaveFile(request.File, oriFilePath)
@ -163,20 +158,10 @@ func (service SendServiceImpl) SendFile(c *fiber.Ctx, request structs.SendFileRe
Title: proto.String(request.File.Filename),
FileSha256: uploadedFile.FileSHA256,
FileLength: proto.Uint64(uploadedFile.FileLength),
PageCount: nil,
MediaKey: uploadedFile.MediaKey,
FileName: proto.String(request.File.Filename),
FileEncSha256: uploadedFile.FileEncSHA256,
DirectPath: proto.String(uploadedFile.DirectPath),
MediaKeyTimestamp: nil,
ContactVcard: nil,
ThumbnailDirectPath: nil,
ThumbnailSha256: nil,
ThumbnailEncSha256: nil,
JpegThumbnail: nil,
ContextInfo: nil,
ThumbnailHeight: nil,
ThumbnailWidth: nil,
}}
ts, err := service.WaCli.SendMessage(dataWaRecipient, "", msg)
go removeFile(oriFilePath)

10
services/user_service_impl.go

@ -20,10 +20,9 @@ func NewUserService(waCli *whatsmeow.Client) UserService {
}
}
func (service UserServiceImpl) UserInfo(c *fiber.Ctx, request structs.UserInfoRequest) (response structs.UserInfoResponse, err error) {
func (service UserServiceImpl) UserInfo(_ *fiber.Ctx, request structs.UserInfoRequest) (response structs.UserInfoResponse, err error) {
if !service.WaCli.IsLoggedIn() {
err = errors.New("you are not loggin")
return
panic(utils.AuthError{Message: "you are not loggin"})
}
var jids []types.JID
jid, ok := utils.ParseJID(request.PhoneNumber)
@ -63,10 +62,9 @@ func (service UserServiceImpl) UserInfo(c *fiber.Ctx, request structs.UserInfoRe
return response, nil
}
func (service UserServiceImpl) UserAvatar(c *fiber.Ctx, request structs.UserAvatarRequest) (response structs.UserAvatarResponse, err error) {
func (service UserServiceImpl) UserAvatar(_ *fiber.Ctx, request structs.UserAvatarRequest) (response structs.UserAvatarResponse, err error) {
if !service.WaCli.IsLoggedIn() {
err = errors.New("you are not loggin")
return
panic(utils.AuthError{Message: "you are not loggin"})
}
jid, ok := utils.ParseJID(request.PhoneNumber)
if !ok {

8
utils/errors.go

@ -19,3 +19,11 @@ type ValidationError struct {
func (validationError ValidationError) Error() string {
return validationError.Message
}
type AuthError struct {
Message string
}
func (err AuthError) Error() string {
return err.Message
}
Loading…
Cancel
Save