diff --git a/src/domains/send/contact.go b/src/domains/send/contact.go index fdd275f..86292ba 100644 --- a/src/domains/send/contact.go +++ b/src/domains/send/contact.go @@ -4,7 +4,6 @@ type ContactRequest struct { Phone string `json:"phone" form:"phone"` ContactName string `json:"contact_name" form:"contact_name"` ContactPhone string `json:"contact_phone" form:"contact_phone"` - Type Type `json:"type" form:"type"` } type ContactResponse struct { diff --git a/src/domains/send/file.go b/src/domains/send/file.go index 9288522..5e55347 100644 --- a/src/domains/send/file.go +++ b/src/domains/send/file.go @@ -5,7 +5,6 @@ import "mime/multipart" type FileRequest struct { Phone string `json:"phone" form:"phone"` File *multipart.FileHeader `json:"file" form:"file"` - Type Type `json:"type" form:"type"` } type FileResponse struct { diff --git a/src/domains/send/image.go b/src/domains/send/image.go index 3bffd7d..2beea53 100644 --- a/src/domains/send/image.go +++ b/src/domains/send/image.go @@ -7,7 +7,6 @@ type ImageRequest struct { Caption string `json:"caption" form:"caption"` Image *multipart.FileHeader `json:"image" form:"image"` ViewOnce bool `json:"view_once" form:"view_once"` - Type Type `json:"type" form:"type"` Compress bool `json:"compress"` } diff --git a/src/domains/send/link.go b/src/domains/send/link.go index 83bb68e..75a10c4 100644 --- a/src/domains/send/link.go +++ b/src/domains/send/link.go @@ -4,7 +4,6 @@ type LinkRequest struct { Phone string `json:"phone" form:"phone"` Caption string `json:"caption"` Link string `json:"link"` - Type Type `json:"type" form:"type"` } type LinkResponse struct { diff --git a/src/domains/send/message.go b/src/domains/send/message.go index deadd40..441ce95 100644 --- a/src/domains/send/message.go +++ b/src/domains/send/message.go @@ -3,7 +3,6 @@ package send type RevokeRequest struct { MessageID string `json:"message_id" uri:"message_id"` Phone string `json:"phone" form:"phone"` - Type Type `json:"type" form:"type"` } type RevokeResponse struct { @@ -15,7 +14,6 @@ type UpdateMessageRequest struct { MessageID string `json:"message_id" uri:"message_id"` Message string `json:"message" form:"message"` Phone string `json:"phone" form:"phone"` - Type Type `json:"type" form:"type"` } type UpdateMessageResponse struct { diff --git a/src/domains/send/send.go b/src/domains/send/send.go index 0a282a5..c6fe122 100644 --- a/src/domains/send/send.go +++ b/src/domains/send/send.go @@ -4,11 +4,6 @@ import ( "context" ) -type Type string - -const TypeUser Type = "user" -const TypeGroup Type = "group" - type ISendService interface { SendText(ctx context.Context, request MessageRequest) (response MessageResponse, err error) SendImage(ctx context.Context, request ImageRequest) (response ImageResponse, err error) diff --git a/src/domains/send/text.go b/src/domains/send/text.go index f115fa4..90484b0 100644 --- a/src/domains/send/text.go +++ b/src/domains/send/text.go @@ -3,7 +3,6 @@ package send type MessageRequest struct { Phone string `json:"phone" form:"phone"` Message string `json:"message" form:"message"` - Type Type `json:"type" form:"type"` } type MessageResponse struct { diff --git a/src/domains/send/video.go b/src/domains/send/video.go index 66281db..2e9c644 100644 --- a/src/domains/send/video.go +++ b/src/domains/send/video.go @@ -6,7 +6,6 @@ type VideoRequest struct { Phone string `json:"phone" form:"phone"` Caption string `json:"caption" form:"caption"` Video *multipart.FileHeader `json:"video" form:"video"` - Type Type `json:"type" form:"type"` ViewOnce bool `json:"view_once" form:"view_once"` Compress bool `json:"compress"` } diff --git a/src/internal/rest/app_rest.go b/src/internal/rest/app_rest.go index f8e0ebc..8164960 100644 --- a/src/internal/rest/app_rest.go +++ b/src/internal/rest/app_rest.go @@ -28,7 +28,7 @@ func (controller *App) Login(c *fiber.Ctx) error { return c.JSON(utils.ResponseData{ Code: 200, Message: "Success", - Results: map[string]interface{}{ + Results: map[string]any{ "qr_link": fmt.Sprintf("%s://%s/%s", c.Protocol(), c.Hostname(), response.ImagePath), "qr_duration": response.Duration, }, diff --git a/src/internal/rest/send_rest.go b/src/internal/rest/send_rest.go index bec37d1..29a7c1e 100644 --- a/src/internal/rest/send_rest.go +++ b/src/internal/rest/send_rest.go @@ -1,7 +1,6 @@ package rest import ( - "fmt" domainSend "github.com/aldinokemal/go-whatsapp-web-multidevice/domains/send" "github.com/aldinokemal/go-whatsapp-web-multidevice/utils" "github.com/aldinokemal/go-whatsapp-web-multidevice/validations" @@ -33,12 +32,6 @@ func (controller *Send) SendText(c *fiber.Ctx) error { // add validation send message validations.ValidateSendMessage(request) - if request.Type == domainSend.TypeGroup { - request.Phone = request.Phone + "@g.us" - } else { - request.Phone = request.Phone + "@s.whatsapp.net" - } - response, err := controller.Service.SendText(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -64,12 +57,6 @@ func (controller *Send) SendImage(c *fiber.Ctx) error { //add validation send image validations.ValidateSendImage(request) - if request.Type == domainSend.TypeGroup { - request.Phone = request.Phone + "@g.us" - } else { - request.Phone = request.Phone + "@s.whatsapp.net" - } - response, err := controller.Service.SendImage(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -93,12 +80,6 @@ func (controller *Send) SendFile(c *fiber.Ctx) error { //add validation send image validations.ValidateSendFile(request) - if request.Type == domainSend.TypeGroup { - request.Phone = request.Phone + "@g.us" - } else { - request.Phone = request.Phone + "@s.whatsapp.net" - } - response, err := controller.Service.SendFile(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -122,12 +103,6 @@ func (controller *Send) SendVideo(c *fiber.Ctx) error { //add validation send image validations.ValidateSendVideo(request) - if request.Type == domainSend.TypeGroup { - request.Phone = request.Phone + "@g.us" - } else { - request.Phone = request.Phone + "@s.whatsapp.net" - } - response, err := controller.Service.SendVideo(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -146,12 +121,6 @@ func (controller *Send) SendContact(c *fiber.Ctx) error { // add validation send contect validations.ValidateSendContact(request) - if request.Type == domainSend.TypeGroup { - request.Phone = request.Phone + "@g.us" - } else { - request.Phone = request.Phone + "@s.whatsapp.net" - } - response, err := controller.Service.SendContact(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -170,12 +139,6 @@ func (controller *Send) SendLink(c *fiber.Ctx) error { err = validations.ValidateSendLink(request) utils.PanicIfNeeded(err) - if request.Type == domainSend.TypeGroup { - request.Phone = request.Phone + "@g.us" - } else { - request.Phone = request.Phone + "@s.whatsapp.net" - } - response, err := controller.Service.SendLink(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -194,7 +157,6 @@ func (controller *Send) RevokeMessage(c *fiber.Ctx) error { err = validations.ValidateRevokeMessage(request) utils.PanicIfNeeded(err) - fmt.Println(request) response, err := controller.Service.Revoke(c.UserContext(), request) utils.PanicIfNeeded(err) @@ -214,7 +176,6 @@ func (controller *Send) UpdateMessage(c *fiber.Ctx) error { err = validations.ValidateUpdateMessage(request) utils.PanicIfNeeded(err) - fmt.Println(request) response, err := controller.Service.UpdateMessage(c.UserContext(), request) utils.PanicIfNeeded(err) diff --git a/src/internal/rest/user_rest.go b/src/internal/rest/user_rest.go index 94a0472..dfa7700 100644 --- a/src/internal/rest/user_rest.go +++ b/src/internal/rest/user_rest.go @@ -35,8 +35,7 @@ func (controller *User) UserInfo(c *fiber.Ctx) error { // add validation send message validations.ValidateUserInfo(request) - - request.Phone = request.Phone + "@s.whatsapp.net" + response, err := controller.Service.Info(c.Context(), request) utils.PanicIfNeeded(err) @@ -55,7 +54,6 @@ func (controller *User) UserAvatar(c *fiber.Ctx) error { // add validation send message validations.ValidateUserAvatar(request) - request.Phone = request.Phone + "@s.whatsapp.net" response, err := controller.Service.Avatar(c.Context(), request) utils.PanicIfNeeded(err) diff --git a/src/utils/errors.go b/src/utils/errors.go index cec7f77..78c2840 100644 --- a/src/utils/errors.go +++ b/src/utils/errors.go @@ -2,7 +2,7 @@ package utils import "fmt" -func PanicIfNeeded(err interface{}, message ...string) { +func PanicIfNeeded(err any, message ...string) { if err != nil { if fmt.Sprintf("%s", err) == "record not found" && len(message) > 0 { panic(message[0]) diff --git a/src/utils/response.go b/src/utils/response.go index 02c155a..29a674f 100644 --- a/src/utils/response.go +++ b/src/utils/response.go @@ -1,7 +1,7 @@ package utils type ResponseData struct { - Code int `json:"code"` - Message string `json:"message"` - Results interface{} `json:"results"` + Code int `json:"code"` + Message string `json:"message"` + Results any `json:"results"` } diff --git a/src/utils/whatsapp.go b/src/utils/whatsapp.go index 4bba2ac..8bbeb04 100644 --- a/src/utils/whatsapp.go +++ b/src/utils/whatsapp.go @@ -238,7 +238,7 @@ func handler(rawEvt interface{}) { func sendAutoReplyWebhook(evt *events.Message) error { client := &http.Client{Timeout: 10 * time.Second} - body := map[string]interface{}{ + body := map[string]any{ "from": evt.Info.SourceString(), "message": evt.Message.GetConversation(), "image": evt.Message.GetImageMessage(), diff --git a/src/validations/send_validation.go b/src/validations/send_validation.go index 02c4042..eb6cb6f 100644 --- a/src/validations/send_validation.go +++ b/src/validations/send_validation.go @@ -11,8 +11,7 @@ import ( func ValidateSendMessage(request domainSend.MessageRequest) { err := validation.ValidateStruct(&request, - validation.Field(&request.Phone, validation.Required, validation.Length(10, 25)), - validation.Field(&request.Message, validation.Required, validation.Length(1, 1000)), + validation.Field(&request.Message, validation.Required), ) if err != nil { @@ -24,8 +23,6 @@ func ValidateSendMessage(request domainSend.MessageRequest) { func ValidateSendImage(request domainSend.ImageRequest) { err := validation.ValidateStruct(&request, - validation.Field(&request.Phone, validation.Required, validation.Length(10, 25)), - validation.Field(&request.Caption, validation.When(true, validation.Length(1, 1000))), validation.Field(&request.Image, validation.Required), ) @@ -50,7 +47,6 @@ func ValidateSendImage(request domainSend.ImageRequest) { func ValidateSendFile(request domainSend.FileRequest) { err := validation.ValidateStruct(&request, - validation.Field(&request.Phone, validation.Required, validation.Length(10, 25)), validation.Field(&request.File, validation.Required), ) @@ -70,7 +66,6 @@ func ValidateSendFile(request domainSend.FileRequest) { func ValidateSendVideo(request domainSend.VideoRequest) { err := validation.ValidateStruct(&request, - validation.Field(&request.Phone, validation.Required, validation.Length(10, 25)), validation.Field(&request.Video, validation.Required), ) @@ -102,7 +97,6 @@ func ValidateSendVideo(request domainSend.VideoRequest) { func ValidateSendContact(request domainSend.ContactRequest) { err := validation.ValidateStruct(&request, - validation.Field(&request.Phone, validation.Required, validation.Length(10, 25)), validation.Field(&request.ContactName, validation.Required), validation.Field(&request.ContactPhone, validation.Required), ) @@ -116,7 +110,6 @@ func ValidateSendContact(request domainSend.ContactRequest) { func ValidateSendLink(request domainSend.LinkRequest) error { err := validation.ValidateStruct(&request, - validation.Field(&request.Phone, validation.Required, validation.Length(10, 25)), validation.Field(&request.Link, validation.Required), validation.Field(&request.Caption, validation.Required), ) @@ -132,8 +125,7 @@ func ValidateSendLink(request domainSend.LinkRequest) error { func ValidateRevokeMessage(request domainSend.RevokeRequest) error { err := validation.ValidateStruct(&request, - validation.Field(&request.Phone, validation.Required, validation.Length(10, 25)), - validation.Field(&request.MessageID, validation.Required, validation.Length(20, 25)), + validation.Field(&request.MessageID, validation.Required), ) if err != nil { @@ -147,9 +139,8 @@ func ValidateRevokeMessage(request domainSend.RevokeRequest) error { func ValidateUpdateMessage(request domainSend.UpdateMessageRequest) error { err := validation.ValidateStruct(&request, - validation.Field(&request.Phone, validation.Required, validation.Length(10, 25)), - validation.Field(&request.MessageID, validation.Required, validation.Length(20, 25)), - validation.Field(&request.Message, validation.Required, validation.Length(1, 1000)), + validation.Field(&request.MessageID, validation.Required), + validation.Field(&request.Message, validation.Required), ) if err != nil { diff --git a/src/validations/send_validation_test.go b/src/validations/send_validation_test.go index ef6da97..32bab2f 100644 --- a/src/validations/send_validation_test.go +++ b/src/validations/send_validation_test.go @@ -13,12 +13,12 @@ func TestValidateSendMessage(t *testing.T) { tests := []struct { name string args args - err interface{} + err any }{ { name: "success phone & message normal", args: args{request: domainSend.MessageRequest{ - Phone: "6289685024091", + Phone: "1728937129312@s.whatsapp.net", Message: "Hello this is testing", }}, err: nil, diff --git a/src/validations/user_validation.go b/src/validations/user_validation.go index 31d46b8..4060f56 100644 --- a/src/validations/user_validation.go +++ b/src/validations/user_validation.go @@ -4,12 +4,11 @@ import ( domainUser "github.com/aldinokemal/go-whatsapp-web-multidevice/domains/user" "github.com/aldinokemal/go-whatsapp-web-multidevice/utils" validation "github.com/go-ozzo/ozzo-validation/v4" - "github.com/go-ozzo/ozzo-validation/v4/is" ) func ValidateUserInfo(request domainUser.InfoRequest) { err := validation.ValidateStruct(&request, - validation.Field(&request.Phone, validation.Required, is.E164, validation.Length(10, 15)), + validation.Field(&request.Phone, validation.Required), ) if err != nil { @@ -20,7 +19,7 @@ func ValidateUserInfo(request domainUser.InfoRequest) { } func ValidateUserAvatar(request domainUser.AvatarRequest) { err := validation.ValidateStruct(&request, - validation.Field(&request.Phone, validation.Required, is.E164, validation.Length(10, 15)), + validation.Field(&request.Phone, validation.Required), ) if err != nil { diff --git a/src/views/index.html b/src/views/index.html index 428e5fc..54b3858 100644 --- a/src/views/index.html +++ b/src/views/index.html @@ -60,22 +60,22 @@