Browse Source

fix: upsize max upload & add login checking

pull/3/head
Aldino Kemal 4 years ago
parent
commit
b9b3780a8c
  1. 3
      main.go
  2. 13
      services/send_service_impl.go
  3. 8
      services/user_service_impl.go

3
main.go

@ -15,7 +15,8 @@ import (
func main() { func main() {
engine := html.New("./views", ".html") engine := html.New("./views", ".html")
app := fiber.New(fiber.Config{ app := fiber.New(fiber.Config{
Views: engine,
Views: engine,
BodyLimit: 10 * 1024 * 1024,
}) })
app.Static("/statics", "./statics") app.Static("/statics", "./statics")
app.Use(recover.New()) app.Use(recover.New())

13
services/send_service_impl.go

@ -28,6 +28,10 @@ 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(c *fiber.Ctx, request structs.SendMessageRequest) (response structs.SendMessageResponse, err error) {
if !service.WaCli.IsLoggedIn() {
err = errors.New("you are not loggin")
return
}
recipient, ok := utils.ParseJID(request.PhoneNumber) recipient, ok := utils.ParseJID(request.PhoneNumber)
if !ok { if !ok {
return response, errors.New("invalid JID " + request.PhoneNumber) return response, errors.New("invalid JID " + request.PhoneNumber)
@ -43,6 +47,11 @@ 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) { 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
}
// Resize image // Resize image
oriImagePath := fmt.Sprintf("%s/%s", config.PathSendImage, request.Image.Filename) oriImagePath := fmt.Sprintf("%s/%s", config.PathSendImage, request.Image.Filename)
err = c.SaveFile(request.Image, oriImagePath) err = c.SaveFile(request.Image, oriImagePath)
@ -50,7 +59,7 @@ func (service SendServiceImpl) SendImage(c *fiber.Ctx, request structs.SendImage
return response, err return response, err
} }
openImageBuffer, err := bimg.Read(oriImagePath) openImageBuffer, err := bimg.Read(oriImagePath)
newImage, err := bimg.NewImage(openImageBuffer).Process(bimg.Options{Quality: 90, Width: 400, Height: 400, Embed: true})
newImage, err := bimg.NewImage(openImageBuffer).Process(bimg.Options{Quality: 90, Width: 600, Height: 600, Embed: true})
if err != nil { if err != nil {
return response, err return response, err
} }
@ -100,10 +109,10 @@ func (service SendServiceImpl) SendImage(c *fiber.Ctx, request structs.SendImage
ViewOnce: proto.Bool(request.ViewOnce), ViewOnce: proto.Bool(request.ViewOnce),
}} }}
ts, err := service.WaCli.SendMessage(dataWaRecipient, "", msg) ts, err := service.WaCli.SendMessage(dataWaRecipient, "", msg)
go removeFile(oriImagePath, newImagePath)
if err != nil { if err != nil {
return response, err return response, err
} else { } else {
go removeFile(oriImagePath, newImagePath)
response.Status = fmt.Sprintf("Image message sent (server timestamp: %s)", ts) response.Status = fmt.Sprintf("Image message sent (server timestamp: %s)", ts)
return response, nil return response, nil
} }

8
services/user_service_impl.go

@ -21,6 +21,10 @@ 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(c *fiber.Ctx, request structs.UserInfoRequest) (response structs.UserInfoResponse, err error) {
if !service.WaCli.IsLoggedIn() {
err = errors.New("you are not loggin")
return
}
var jids []types.JID var jids []types.JID
jid, ok := utils.ParseJID(request.PhoneNumber) jid, ok := utils.ParseJID(request.PhoneNumber)
if !ok { if !ok {
@ -60,6 +64,10 @@ func (service UserServiceImpl) UserInfo(c *fiber.Ctx, request structs.UserInfoRe
} }
func (service UserServiceImpl) UserAvatar(c *fiber.Ctx, request structs.UserAvatarRequest) (response structs.UserAvatarResponse, err error) { func (service UserServiceImpl) UserAvatar(c *fiber.Ctx, request structs.UserAvatarRequest) (response structs.UserAvatarResponse, err error) {
if !service.WaCli.IsLoggedIn() {
err = errors.New("you are not loggin")
return
}
jid, ok := utils.ParseJID(request.PhoneNumber) jid, ok := utils.ParseJID(request.PhoneNumber)
if !ok { if !ok {
return response, errors.New("invalid JID " + request.PhoneNumber) return response, errors.New("invalid JID " + request.PhoneNumber)

Loading…
Cancel
Save