-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoption.go
111 lines (101 loc) · 2.86 KB
/
option.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package gintonic
type ginTonicOption interface {
apply(*GinTonic)
}
type handlerOption struct {
handlerType string
handlerFunc any
}
func (o handlerOption) apply(g *GinTonic) {
g.handlers[o.handlerType] = o.handlerFunc
}
func WithDefaultHandler(handler DefaultHandler) ginTonicOption {
return handlerOption{
handlerType: "default",
handlerFunc: handler,
}
}
func WithOrderCreatedHandler(handler OrderCreatedHandler) ginTonicOption {
return handlerOption{
handlerType: "order_created",
handlerFunc: handler,
}
}
func WithOrderRefundedHandler(handler OrderRefundedHandler) ginTonicOption {
return handlerOption{
handlerType: "order_refunded",
handlerFunc: handler,
}
}
func WithSubscriptionCreatedHandler(handler SubscriptionCreatedHandler) ginTonicOption {
return handlerOption{
handlerType: "subscription_created",
handlerFunc: handler,
}
}
func WithSubscriptionUpdatedHandler(handler SubscriptionUpdatedHandler) ginTonicOption {
return handlerOption{
handlerType: "subscription_updated",
handlerFunc: handler,
}
}
func WithSubscriptionCancelledHandler(handler SubscriptionCancelledHandler) ginTonicOption {
return handlerOption{
handlerType: "subscription_cancelled",
handlerFunc: handler,
}
}
func WithSubscriptionResumedHandler(handler SubscriptionResumedHandler) ginTonicOption {
return handlerOption{
handlerType: "subscription_resumed",
handlerFunc: handler,
}
}
func WithSubscriptionExpiredHandler(handler SubscriptionExpiredHandler) ginTonicOption {
return handlerOption{
handlerType: "subscription_expired",
handlerFunc: handler,
}
}
func WithSubscriptionPausedHandler(handler SubscriptionPausedHandler) ginTonicOption {
return handlerOption{
handlerType: "subscription_paused",
handlerFunc: handler,
}
}
func WithSubscriptionUnpausedHandler(handler SubscriptionUnpausedHandler) ginTonicOption {
return handlerOption{
handlerType: "subscription_unpaused",
handlerFunc: handler,
}
}
func WithSubscriptionPaymentSuccessHandler(handler SubscriptionPaymentSuccessHandler) ginTonicOption {
return handlerOption{
handlerType: "subscription_payment_success",
handlerFunc: handler,
}
}
func WithSubscriptionPaymentFailedHandler(handler SubscriptionPaymentFailedHandler) ginTonicOption {
return handlerOption{
handlerType: "subscription_payment_failed",
handlerFunc: handler,
}
}
func WithSubscriptionPaymentRecoveredHandler(handler SubscriptionPaymentRecoveredHandler) ginTonicOption {
return handlerOption{
handlerType: "subscription_payment_recovered",
handlerFunc: handler,
}
}
func WithLicenseKeyCreatedHandler(handler LicenseKeyCreatedHandler) ginTonicOption {
return handlerOption{
handlerType: "license_key_created",
handlerFunc: handler,
}
}
func WithLicenseKeyUpdatedHandler(handler LicenseKeyUpdatedHandler) ginTonicOption {
return handlerOption{
handlerType: "license_key_updated",
handlerFunc: handler,
}
}