diff --git a/client/product.go b/client/product.go index a581b9d..2b72a1b 100644 --- a/client/product.go +++ b/client/product.go @@ -34,6 +34,23 @@ func (c Product) ApplyRequest(p model.ProductApplyRequestPayload) error { return nil } +func (c Product) CreateRequestSteps(p model.ProductCreateStepsPayload) error { + msg, err := natsio.GetServer().Request(subject.Product.CreateRequestStep, toBytes(p)) + if err != nil { + return err + } + var r struct { + Error string `json:"error"` + } + if err = json.Unmarshal(msg.Data, &r); err != nil { + return err + } + if r.Error != "" { + return errors.New(r.Error) + } + return nil +} + func (c Product) ProcessApplyRequest(p model.ProductApplyRequestPayload) error { msg, err := natsio.GetServer().Request(subject.Product.ProcessApplyRequest, toBytes(p)) if err != nil { @@ -50,3 +67,20 @@ func (c Product) ProcessApplyRequest(p model.ProductApplyRequestPayload) error { } return nil } + +func (c Product) RequestChangeStatus(p model.ProductRequestChangeStatus) error { + msg, err := natsio.GetServer().Request(subject.Product.RequestChangeStatus, toBytes(p)) + if err != nil { + return err + } + var r struct { + Error string `json:"error"` + } + if err = json.Unmarshal(msg.Data, &r); err != nil { + return err + } + if r.Error != "" { + return errors.New(r.Error) + } + return nil +} diff --git a/js/consumer/selly.go b/js/consumer/selly.go index be303ea..1402a4b 100644 --- a/js/consumer/selly.go +++ b/js/consumer/selly.go @@ -5,12 +5,14 @@ var Selly = struct { PushNotification string UpdateSellerAffiliateStatistic string CheckAnDInsertCashflowBySeller string + SubscriberTopic string UpdateSellerSavingCampaignStatistic string GenerateVoucherPromotion string }{ PushNotification: "PULL_PUSH_NOTIFICATION", UpdateSellerAffiliateStatistic: "PULL_UPDATE_SELLER_AFFILIATE_STATISTIC", CheckAnDInsertCashflowBySeller: "PULL_CHECK_AND_INSERT_CASHFLOW_BY_SELLER", + SubscriberTopic: "PULL_SUBSCRIBER_TOPIC", UpdateSellerSavingCampaignStatistic: "PULL_UPDATE_SELLER_SAVING_CAMPAIGN_STATISTIC", GenerateVoucherPromotion: "PULL_GENERATE_VOUCHER_PROMOTION", } diff --git a/js/model/selly.go b/js/model/selly.go index 3771889..f7ef3e4 100644 --- a/js/model/selly.go +++ b/js/model/selly.go @@ -100,3 +100,11 @@ type GenerateVoucherPromotion struct { type GenerateVoucherPromotionOptions struct { Title string `json:"title"` } + +// SubscriberNotificationTopic ... +type SubscriberNotificationTopic struct { + User string `json:"user"` + Topic string `json:"topic"` + DeviceId string `json:"deviceId"` + FCMToken string `json:"fcmToken"` +} diff --git a/js/subject/selly.go b/js/subject/selly.go index a32f7b8..fbb6eed 100644 --- a/js/subject/selly.go +++ b/js/subject/selly.go @@ -14,12 +14,14 @@ var Selly = struct { PushNotification string UpdateSellerAffiliateStatistic string CheckAnDInsertCashflowBySeller string + SubscriberTopic string UpdateSellerSavingCampaignStatistic string GenerateVoucherPromotion string }{ PushNotification: getSellyValue("push_notifications"), UpdateSellerAffiliateStatistic: getSellyValue("update_seller_affiliate_statistic"), CheckAnDInsertCashflowBySeller: getSellyValue("check_and_insert_cashflow_statistic"), + SubscriberTopic: getSellyValue("subscriber_topic"), UpdateSellerSavingCampaignStatistic: getSellyValue("update_seller_saving_campaign_statistic"), GenerateVoucherPromotion: getSellyValue("generate_voucher_promotion"), } diff --git a/model/product_request.go b/model/product_request.go index 1adbec5..3b0fd65 100644 --- a/model/product_request.go +++ b/model/product_request.go @@ -3,3 +3,12 @@ package model type ProductApplyRequestPayload struct { RequestID string `json:"requestId"` } + +type ProductCreateStepsPayload struct { + RequestID string `json:"requestId"` +} + +type ProductRequestChangeStatus struct { + RequestID string `json:"requestId"` + Status string `json:"status"` +} diff --git a/subject/product.go b/subject/product.go index 348aca9..2acfadc 100644 --- a/subject/product.go +++ b/subject/product.go @@ -9,8 +9,12 @@ func getProductValue(val string) string { var Product = struct { ApplyRequest string + CreateRequestStep string ProcessApplyRequest string + RequestChangeStatus string }{ ApplyRequest: getProductValue("apply_request"), + CreateRequestStep: getProductValue("create_request_step"), ProcessApplyRequest: getProductValue("process_apply_request"), + RequestChangeStatus: getProductValue("request_change_status"), }