diff --git a/lms/models.go b/lms/models.go index ab2147cf2a74d814e007fd80041aacc835eded3f..765eeedb307141cf6907a79ce7321d3d34479c4e 100644 --- a/lms/models.go +++ b/lms/models.go @@ -6,13 +6,6 @@ import ( "gitlab.sessia.com/sdk/events" ) -type DecisionAccepted struct { - ID uuid.UUID `json:"id" validate:"required"` - Type DecisionType `json:"type" validate:"required"` - Payload DecisionPayload `json:"payload" validate:"required"` - Approve bool `json:"approve"` -} - type DecisionType string const ( @@ -25,11 +18,32 @@ type DecisionPayload struct { Description string `json:"description" validate:"required"` } -func (r *DecisionAccepted) GetEventName() string { - return events.EventNameDecisionAccepted +type DecisionApproved struct { + ID uuid.UUID `json:"id" validate:"required"` + Type DecisionType `json:"type" validate:"required"` + Payload DecisionPayload `json:"payload" validate:"required"` +} + +func (r *DecisionApproved) GetEventName() string { + return events.EventNameDecisionApproved +} + +func (r *DecisionApproved) Validate() error { + validate := validator.New() + return validate.Struct(r) +} + +type DecisionNeedApproved struct { + ID uuid.UUID `json:"id" validate:"required"` + Type DecisionType `json:"type" validate:"required"` + Payload DecisionPayload `json:"payload" validate:"required"` +} + +func (r *DecisionNeedApproved) GetEventName() string { + return events.EventNameDecisionNeedApproved } -func (r *DecisionAccepted) Validate() error { +func (r *DecisionNeedApproved) Validate() error { validate := validator.New() return validate.Struct(r) } diff --git a/topics.go b/topics.go index def4029028f6d9ee1c21fad42a17e546eb777533..59ce7f729bdf5c4d9d9e766721b3d4329261b382 100644 --- a/topics.go +++ b/topics.go @@ -33,7 +33,8 @@ const ( EventNameOrderCompleted = "OrderCompleted" - EventNameDecisionAccepted = "DecisionAccepted" + EventNameDecisionApproved = "DecisionApproved" + EventNameDecisionNeedApproved = "DecisionNeedApproved" ) var topicMap = map[string]string{ @@ -69,7 +70,8 @@ var topicMap = map[string]string{ EventNameOrderCompleted: "eom.order.completed", - EventNameDecisionAccepted: "lms.decision.accepted", + EventNameDecisionApproved: "lms.decision.approved", + EventNameDecisionNeedApproved: "lms.decision.needapproved", } func GetTopicByEventName(eventName string) string {