diff --git a/src/internal/rest/send.go b/src/internal/rest/send.go index df2c459..5de40e7 100644 --- a/src/internal/rest/send.go +++ b/src/internal/rest/send.go @@ -4,7 +4,6 @@ import ( domainSend "github.com/aldinokemal/go-whatsapp-web-multidevice/domains/send" "github.com/aldinokemal/go-whatsapp-web-multidevice/pkg/utils" "github.com/aldinokemal/go-whatsapp-web-multidevice/pkg/whatsapp" - "github.com/aldinokemal/go-whatsapp-web-multidevice/validations" "github.com/gofiber/fiber/v2" ) @@ -30,10 +29,7 @@ func (controller *Send) SendText(c *fiber.Ctx) error { err := c.BodyParser(&request) utils.PanicIfNeeded(err) - // add validation send message whatsapp.SanitizePhone(&request.Phone) - err = validations.ValidateSendMessage(request) - utils.PanicIfNeeded(err) response, err := controller.Service.SendText(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -56,11 +52,7 @@ func (controller *Send) SendImage(c *fiber.Ctx) error { utils.PanicIfNeeded(err) request.Image = file - - //add validation send image whatsapp.SanitizePhone(&request.Phone) - err = validations.ValidateSendImage(request) - utils.PanicIfNeeded(err) response, err := controller.Service.SendImage(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -81,11 +73,7 @@ func (controller *Send) SendFile(c *fiber.Ctx) error { utils.PanicIfNeeded(err) request.File = file - - //add validation send image whatsapp.SanitizePhone(&request.Phone) - err = validations.ValidateSendFile(request) - utils.PanicIfNeeded(err) response, err := controller.Service.SendFile(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -106,11 +94,7 @@ func (controller *Send) SendVideo(c *fiber.Ctx) error { utils.PanicIfNeeded(err) request.Video = video - - //add validation send image whatsapp.SanitizePhone(&request.Phone) - err = validations.ValidateSendVideo(request) - utils.PanicIfNeeded(err) response, err := controller.Service.SendVideo(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -127,10 +111,7 @@ func (controller *Send) SendContact(c *fiber.Ctx) error { err := c.BodyParser(&request) utils.PanicIfNeeded(err) - // add validation send contect whatsapp.SanitizePhone(&request.Phone) - err = validations.ValidateSendContact(request) - utils.PanicIfNeeded(err) response, err := controller.Service.SendContact(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -148,8 +129,6 @@ func (controller *Send) SendLink(c *fiber.Ctx) error { utils.PanicIfNeeded(err) whatsapp.SanitizePhone(&request.Phone) - err = validations.ValidateSendLink(request) - utils.PanicIfNeeded(err) response, err := controller.Service.SendLink(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -165,10 +144,8 @@ func (controller *Send) RevokeMessage(c *fiber.Ctx) error { var request domainSend.RevokeRequest err := c.BodyParser(&request) utils.PanicIfNeeded(err) - request.MessageID = c.Params("message_id") - err = validations.ValidateRevokeMessage(request) - utils.PanicIfNeeded(err) + request.MessageID = c.Params("message_id") whatsapp.SanitizePhone(&request.Phone) response, err := controller.Service.Revoke(c.UserContext(), request) @@ -185,10 +162,8 @@ func (controller *Send) UpdateMessage(c *fiber.Ctx) error { var request domainSend.UpdateMessageRequest err := c.BodyParser(&request) utils.PanicIfNeeded(err) - request.MessageID = c.Params("message_id") - err = validations.ValidateUpdateMessage(request) - utils.PanicIfNeeded(err) + request.MessageID = c.Params("message_id") whatsapp.SanitizePhone(&request.Phone) response, err := controller.Service.UpdateMessage(c.UserContext(), request) diff --git a/src/internal/rest/user.go b/src/internal/rest/user.go index fb121bf..fa3cd25 100644 --- a/src/internal/rest/user.go +++ b/src/internal/rest/user.go @@ -4,7 +4,6 @@ import ( domainUser "github.com/aldinokemal/go-whatsapp-web-multidevice/domains/user" "github.com/aldinokemal/go-whatsapp-web-multidevice/pkg/utils" "github.com/aldinokemal/go-whatsapp-web-multidevice/pkg/whatsapp" - "github.com/aldinokemal/go-whatsapp-web-multidevice/validations" "github.com/gofiber/fiber/v2" ) @@ -34,10 +33,7 @@ func (controller *User) UserInfo(c *fiber.Ctx) error { err := c.QueryParser(&request) utils.PanicIfNeeded(err) - // add validation send message whatsapp.SanitizePhone(&request.Phone) - err = validations.ValidateUserInfo(request) - utils.PanicIfNeeded(err) response, err := controller.Service.Info(c.Context(), request) utils.PanicIfNeeded(err) @@ -54,10 +50,7 @@ func (controller *User) UserAvatar(c *fiber.Ctx) error { err := c.QueryParser(&request) utils.PanicIfNeeded(err) - // add validation send message whatsapp.SanitizePhone(&request.Phone) - err = validations.ValidateUserAvatar(request) - utils.PanicIfNeeded(err) response, err := controller.Service.Avatar(c.Context(), request) utils.PanicIfNeeded(err) diff --git a/src/services/send.go b/src/services/send.go index 727a81a..e7eb7a2 100644 --- a/src/services/send.go +++ b/src/services/send.go @@ -8,6 +8,7 @@ import ( pkgError "github.com/aldinokemal/go-whatsapp-web-multidevice/pkg/error" "github.com/aldinokemal/go-whatsapp-web-multidevice/pkg/utils" "github.com/aldinokemal/go-whatsapp-web-multidevice/pkg/whatsapp" + "github.com/aldinokemal/go-whatsapp-web-multidevice/validations" fiberUtils "github.com/gofiber/fiber/v2/utils" "github.com/h2non/bimg" "github.com/valyala/fasthttp" @@ -31,6 +32,10 @@ func NewSendService(waCli *whatsmeow.Client) domainSend.ISendService { } func (service serviceSend) SendText(ctx context.Context, request domainSend.MessageRequest) (response domainSend.MessageResponse, err error) { + err = validations.ValidateSendMessage(request) + if err != nil { + return response, err + } dataWaRecipient, err := whatsapp.ValidateJidWithLogin(service.WaCli, request.Phone) if err != nil { return response, err @@ -49,6 +54,10 @@ func (service serviceSend) SendText(ctx context.Context, request domainSend.Mess } func (service serviceSend) SendImage(ctx context.Context, request domainSend.ImageRequest) (response domainSend.ImageResponse, err error) { + err = validations.ValidateSendImage(request) + if err != nil { + return response, err + } dataWaRecipient, err := whatsapp.ValidateJidWithLogin(service.WaCli, request.Phone) if err != nil { return response, err @@ -143,6 +152,10 @@ func (service serviceSend) SendImage(ctx context.Context, request domainSend.Ima } func (service serviceSend) SendFile(ctx context.Context, request domainSend.FileRequest) (response domainSend.FileResponse, err error) { + err = validations.ValidateSendFile(request) + if err != nil { + return response, err + } dataWaRecipient, err := whatsapp.ValidateJidWithLogin(service.WaCli, request.Phone) if err != nil { return response, err @@ -194,6 +207,10 @@ func (service serviceSend) SendFile(ctx context.Context, request domainSend.File } func (service serviceSend) SendVideo(ctx context.Context, request domainSend.VideoRequest) (response domainSend.VideoResponse, err error) { + err = validations.ValidateSendVideo(request) + if err != nil { + return response, err + } dataWaRecipient, err := whatsapp.ValidateJidWithLogin(service.WaCli, request.Phone) if err != nil { return response, err @@ -297,6 +314,10 @@ func (service serviceSend) SendVideo(ctx context.Context, request domainSend.Vid } func (service serviceSend) SendContact(ctx context.Context, request domainSend.ContactRequest) (response domainSend.ContactResponse, err error) { + err = validations.ValidateSendContact(request) + if err != nil { + return response, err + } dataWaRecipient, err := whatsapp.ValidateJidWithLogin(service.WaCli, request.Phone) if err != nil { return response, err @@ -320,6 +341,10 @@ func (service serviceSend) SendContact(ctx context.Context, request domainSend.C } func (service serviceSend) SendLink(ctx context.Context, request domainSend.LinkRequest) (response domainSend.LinkResponse, err error) { + err = validations.ValidateSendLink(request) + if err != nil { + return response, err + } dataWaRecipient, err := whatsapp.ValidateJidWithLogin(service.WaCli, request.Phone) if err != nil { return response, err @@ -348,6 +373,10 @@ func (service serviceSend) SendLink(ctx context.Context, request domainSend.Link } func (service serviceSend) Revoke(_ context.Context, request domainSend.RevokeRequest) (response domainSend.RevokeResponse, err error) { + err = validations.ValidateRevokeMessage(request) + if err != nil { + return response, err + } dataWaRecipient, err := whatsapp.ValidateJidWithLogin(service.WaCli, request.Phone) if err != nil { return response, err @@ -365,6 +394,10 @@ func (service serviceSend) Revoke(_ context.Context, request domainSend.RevokeRe } func (service serviceSend) UpdateMessage(ctx context.Context, request domainSend.UpdateMessageRequest) (response domainSend.UpdateMessageResponse, err error) { + err = validations.ValidateUpdateMessage(request) + if err != nil { + return response, err + } dataWaRecipient, err := whatsapp.ValidateJidWithLogin(service.WaCli, request.Phone) if err != nil { return response, err diff --git a/src/services/user.go b/src/services/user.go index 6075ff9..16a825b 100644 --- a/src/services/user.go +++ b/src/services/user.go @@ -6,6 +6,7 @@ import ( "fmt" domainUser "github.com/aldinokemal/go-whatsapp-web-multidevice/domains/user" "github.com/aldinokemal/go-whatsapp-web-multidevice/pkg/whatsapp" + "github.com/aldinokemal/go-whatsapp-web-multidevice/validations" "go.mau.fi/whatsmeow" "go.mau.fi/whatsmeow/types" ) @@ -21,6 +22,10 @@ func NewUserService(waCli *whatsmeow.Client) domainUser.IUserService { } func (service userService) Info(_ context.Context, request domainUser.InfoRequest) (response domainUser.InfoResponse, err error) { + err = validations.ValidateUserInfo(request) + if err != nil { + return response, err + } var jids []types.JID dataWaRecipient, err := whatsapp.ValidateJidWithLogin(service.WaCli, request.Phone) if err != nil { @@ -60,6 +65,10 @@ func (service userService) Info(_ context.Context, request domainUser.InfoReques } func (service userService) Avatar(_ context.Context, request domainUser.AvatarRequest) (response domainUser.AvatarResponse, err error) { + err = validations.ValidateUserAvatar(request) + if err != nil { + return response, err + } dataWaRecipient, err := whatsapp.ValidateJidWithLogin(service.WaCli, request.Phone) if err != nil { return response, err