1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-07 21:47:02 +09:00

Merge pull request #447 from anyproto/GO-5590-tier

payments: new tier field
This commit is contained in:
Anthony Akentiev 2025-05-06 12:47:29 +01:00 committed by GitHub
commit 0751bbbd58
Signed by: github
GPG key ID: B5690EEEBB952194
3 changed files with 140 additions and 80 deletions

View file

@ -5,6 +5,7 @@
//
// mockgen -destination=mock/mock_paymentserviceclient.go -package=mock_paymentserviceclient github.com/anyproto/any-sync/paymentservice/paymentserviceclient AnyPpClientService
//
// Package mock_paymentserviceclient is a generated GoMock package.
package mock_paymentserviceclient
@ -21,6 +22,7 @@ import (
type MockAnyPpClientService struct {
ctrl *gomock.Controller
recorder *MockAnyPpClientServiceMockRecorder
isgomock struct{}
}
// MockAnyPpClientServiceMockRecorder is the mock recorder for MockAnyPpClientService.
@ -41,122 +43,122 @@ func (m *MockAnyPpClientService) EXPECT() *MockAnyPpClientServiceMockRecorder {
}
// BuySubscription mocks base method.
func (m *MockAnyPpClientService) BuySubscription(arg0 context.Context, arg1 *paymentserviceproto.BuySubscriptionRequestSigned) (*paymentserviceproto.BuySubscriptionResponse, error) {
func (m *MockAnyPpClientService) BuySubscription(ctx context.Context, in *paymentserviceproto.BuySubscriptionRequestSigned) (*paymentserviceproto.BuySubscriptionResponse, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "BuySubscription", arg0, arg1)
ret := m.ctrl.Call(m, "BuySubscription", ctx, in)
ret0, _ := ret[0].(*paymentserviceproto.BuySubscriptionResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// BuySubscription indicates an expected call of BuySubscription.
func (mr *MockAnyPpClientServiceMockRecorder) BuySubscription(arg0, arg1 any) *gomock.Call {
func (mr *MockAnyPpClientServiceMockRecorder) BuySubscription(ctx, in any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuySubscription", reflect.TypeOf((*MockAnyPpClientService)(nil).BuySubscription), arg0, arg1)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuySubscription", reflect.TypeOf((*MockAnyPpClientService)(nil).BuySubscription), ctx, in)
}
// FinalizeSubscription mocks base method.
func (m *MockAnyPpClientService) FinalizeSubscription(arg0 context.Context, arg1 *paymentserviceproto.FinalizeSubscriptionRequestSigned) (*paymentserviceproto.FinalizeSubscriptionResponse, error) {
func (m *MockAnyPpClientService) FinalizeSubscription(ctx context.Context, in *paymentserviceproto.FinalizeSubscriptionRequestSigned) (*paymentserviceproto.FinalizeSubscriptionResponse, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "FinalizeSubscription", arg0, arg1)
ret := m.ctrl.Call(m, "FinalizeSubscription", ctx, in)
ret0, _ := ret[0].(*paymentserviceproto.FinalizeSubscriptionResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// FinalizeSubscription indicates an expected call of FinalizeSubscription.
func (mr *MockAnyPpClientServiceMockRecorder) FinalizeSubscription(arg0, arg1 any) *gomock.Call {
func (mr *MockAnyPpClientServiceMockRecorder) FinalizeSubscription(ctx, in any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeSubscription", reflect.TypeOf((*MockAnyPpClientService)(nil).FinalizeSubscription), arg0, arg1)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeSubscription", reflect.TypeOf((*MockAnyPpClientService)(nil).FinalizeSubscription), ctx, in)
}
// GetAllTiers mocks base method.
func (m *MockAnyPpClientService) GetAllTiers(arg0 context.Context, arg1 *paymentserviceproto.GetTiersRequestSigned) (*paymentserviceproto.GetTiersResponse, error) {
func (m *MockAnyPpClientService) GetAllTiers(ctx context.Context, in *paymentserviceproto.GetTiersRequestSigned) (*paymentserviceproto.GetTiersResponse, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetAllTiers", arg0, arg1)
ret := m.ctrl.Call(m, "GetAllTiers", ctx, in)
ret0, _ := ret[0].(*paymentserviceproto.GetTiersResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetAllTiers indicates an expected call of GetAllTiers.
func (mr *MockAnyPpClientServiceMockRecorder) GetAllTiers(arg0, arg1 any) *gomock.Call {
func (mr *MockAnyPpClientServiceMockRecorder) GetAllTiers(ctx, in any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllTiers", reflect.TypeOf((*MockAnyPpClientService)(nil).GetAllTiers), arg0, arg1)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllTiers", reflect.TypeOf((*MockAnyPpClientService)(nil).GetAllTiers), ctx, in)
}
// GetSubscriptionPortalLink mocks base method.
func (m *MockAnyPpClientService) GetSubscriptionPortalLink(arg0 context.Context, arg1 *paymentserviceproto.GetSubscriptionPortalLinkRequestSigned) (*paymentserviceproto.GetSubscriptionPortalLinkResponse, error) {
func (m *MockAnyPpClientService) GetSubscriptionPortalLink(ctx context.Context, in *paymentserviceproto.GetSubscriptionPortalLinkRequestSigned) (*paymentserviceproto.GetSubscriptionPortalLinkResponse, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetSubscriptionPortalLink", arg0, arg1)
ret := m.ctrl.Call(m, "GetSubscriptionPortalLink", ctx, in)
ret0, _ := ret[0].(*paymentserviceproto.GetSubscriptionPortalLinkResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetSubscriptionPortalLink indicates an expected call of GetSubscriptionPortalLink.
func (mr *MockAnyPpClientServiceMockRecorder) GetSubscriptionPortalLink(arg0, arg1 any) *gomock.Call {
func (mr *MockAnyPpClientServiceMockRecorder) GetSubscriptionPortalLink(ctx, in any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSubscriptionPortalLink", reflect.TypeOf((*MockAnyPpClientService)(nil).GetSubscriptionPortalLink), arg0, arg1)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSubscriptionPortalLink", reflect.TypeOf((*MockAnyPpClientService)(nil).GetSubscriptionPortalLink), ctx, in)
}
// GetSubscriptionStatus mocks base method.
func (m *MockAnyPpClientService) GetSubscriptionStatus(arg0 context.Context, arg1 *paymentserviceproto.GetSubscriptionRequestSigned) (*paymentserviceproto.GetSubscriptionResponse, error) {
func (m *MockAnyPpClientService) GetSubscriptionStatus(ctx context.Context, in *paymentserviceproto.GetSubscriptionRequestSigned) (*paymentserviceproto.GetSubscriptionResponse, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetSubscriptionStatus", arg0, arg1)
ret := m.ctrl.Call(m, "GetSubscriptionStatus", ctx, in)
ret0, _ := ret[0].(*paymentserviceproto.GetSubscriptionResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetSubscriptionStatus indicates an expected call of GetSubscriptionStatus.
func (mr *MockAnyPpClientServiceMockRecorder) GetSubscriptionStatus(arg0, arg1 any) *gomock.Call {
func (mr *MockAnyPpClientServiceMockRecorder) GetSubscriptionStatus(ctx, in any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSubscriptionStatus", reflect.TypeOf((*MockAnyPpClientService)(nil).GetSubscriptionStatus), arg0, arg1)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSubscriptionStatus", reflect.TypeOf((*MockAnyPpClientService)(nil).GetSubscriptionStatus), ctx, in)
}
// GetVerificationEmail mocks base method.
func (m *MockAnyPpClientService) GetVerificationEmail(arg0 context.Context, arg1 *paymentserviceproto.GetVerificationEmailRequestSigned) (*paymentserviceproto.GetVerificationEmailResponse, error) {
func (m *MockAnyPpClientService) GetVerificationEmail(ctx context.Context, in *paymentserviceproto.GetVerificationEmailRequestSigned) (*paymentserviceproto.GetVerificationEmailResponse, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetVerificationEmail", arg0, arg1)
ret := m.ctrl.Call(m, "GetVerificationEmail", ctx, in)
ret0, _ := ret[0].(*paymentserviceproto.GetVerificationEmailResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetVerificationEmail indicates an expected call of GetVerificationEmail.
func (mr *MockAnyPpClientServiceMockRecorder) GetVerificationEmail(arg0, arg1 any) *gomock.Call {
func (mr *MockAnyPpClientServiceMockRecorder) GetVerificationEmail(ctx, in any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetVerificationEmail", reflect.TypeOf((*MockAnyPpClientService)(nil).GetVerificationEmail), arg0, arg1)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetVerificationEmail", reflect.TypeOf((*MockAnyPpClientService)(nil).GetVerificationEmail), ctx, in)
}
// Init mocks base method.
func (m *MockAnyPpClientService) Init(arg0 *app.App) error {
func (m *MockAnyPpClientService) Init(a *app.App) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Init", arg0)
ret := m.ctrl.Call(m, "Init", a)
ret0, _ := ret[0].(error)
return ret0
}
// Init indicates an expected call of Init.
func (mr *MockAnyPpClientServiceMockRecorder) Init(arg0 any) *gomock.Call {
func (mr *MockAnyPpClientServiceMockRecorder) Init(a any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Init", reflect.TypeOf((*MockAnyPpClientService)(nil).Init), arg0)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Init", reflect.TypeOf((*MockAnyPpClientService)(nil).Init), a)
}
// IsNameValid mocks base method.
func (m *MockAnyPpClientService) IsNameValid(arg0 context.Context, arg1 *paymentserviceproto.IsNameValidRequest) (*paymentserviceproto.IsNameValidResponse, error) {
func (m *MockAnyPpClientService) IsNameValid(ctx context.Context, in *paymentserviceproto.IsNameValidRequest) (*paymentserviceproto.IsNameValidResponse, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "IsNameValid", arg0, arg1)
ret := m.ctrl.Call(m, "IsNameValid", ctx, in)
ret0, _ := ret[0].(*paymentserviceproto.IsNameValidResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// IsNameValid indicates an expected call of IsNameValid.
func (mr *MockAnyPpClientServiceMockRecorder) IsNameValid(arg0, arg1 any) *gomock.Call {
func (mr *MockAnyPpClientServiceMockRecorder) IsNameValid(ctx, in any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsNameValid", reflect.TypeOf((*MockAnyPpClientService)(nil).IsNameValid), arg0, arg1)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsNameValid", reflect.TypeOf((*MockAnyPpClientService)(nil).IsNameValid), ctx, in)
}
// Name mocks base method.
@ -174,31 +176,31 @@ func (mr *MockAnyPpClientServiceMockRecorder) Name() *gomock.Call {
}
// VerifyAppStoreReceipt mocks base method.
func (m *MockAnyPpClientService) VerifyAppStoreReceipt(arg0 context.Context, arg1 *paymentserviceproto.VerifyAppStoreReceiptRequestSigned) (*paymentserviceproto.VerifyAppStoreReceiptResponse, error) {
func (m *MockAnyPpClientService) VerifyAppStoreReceipt(ctx context.Context, in *paymentserviceproto.VerifyAppStoreReceiptRequestSigned) (*paymentserviceproto.VerifyAppStoreReceiptResponse, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "VerifyAppStoreReceipt", arg0, arg1)
ret := m.ctrl.Call(m, "VerifyAppStoreReceipt", ctx, in)
ret0, _ := ret[0].(*paymentserviceproto.VerifyAppStoreReceiptResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// VerifyAppStoreReceipt indicates an expected call of VerifyAppStoreReceipt.
func (mr *MockAnyPpClientServiceMockRecorder) VerifyAppStoreReceipt(arg0, arg1 any) *gomock.Call {
func (mr *MockAnyPpClientServiceMockRecorder) VerifyAppStoreReceipt(ctx, in any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifyAppStoreReceipt", reflect.TypeOf((*MockAnyPpClientService)(nil).VerifyAppStoreReceipt), arg0, arg1)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifyAppStoreReceipt", reflect.TypeOf((*MockAnyPpClientService)(nil).VerifyAppStoreReceipt), ctx, in)
}
// VerifyEmail mocks base method.
func (m *MockAnyPpClientService) VerifyEmail(arg0 context.Context, arg1 *paymentserviceproto.VerifyEmailRequestSigned) (*paymentserviceproto.VerifyEmailResponse, error) {
func (m *MockAnyPpClientService) VerifyEmail(ctx context.Context, in *paymentserviceproto.VerifyEmailRequestSigned) (*paymentserviceproto.VerifyEmailResponse, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "VerifyEmail", arg0, arg1)
ret := m.ctrl.Call(m, "VerifyEmail", ctx, in)
ret0, _ := ret[0].(*paymentserviceproto.VerifyEmailResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// VerifyEmail indicates an expected call of VerifyEmail.
func (mr *MockAnyPpClientServiceMockRecorder) VerifyEmail(arg0, arg1 any) *gomock.Call {
func (mr *MockAnyPpClientServiceMockRecorder) VerifyEmail(ctx, in any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifyEmail", reflect.TypeOf((*MockAnyPpClientService)(nil).VerifyEmail), arg0, arg1)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifyEmail", reflect.TypeOf((*MockAnyPpClientService)(nil).VerifyEmail), ctx, in)
}

View file

@ -275,6 +275,8 @@ type TierData struct {
// Android platform-specific data:
AndroidProductId string `protobuf:"bytes,18,opt,name=androidProductId,proto3" json:"androidProductId,omitempty"`
AndroidManageUrl string `protobuf:"bytes,19,opt,name=androidManageUrl,proto3" json:"androidManageUrl,omitempty"`
// something like "limited offer", etc
Offer string `protobuf:"bytes,20,opt,name=offer,proto3" json:"offer,omitempty"`
}
func (m *TierData) Reset() { *m = TierData{} }
@ -451,6 +453,13 @@ func (m *TierData) GetAndroidManageUrl() string {
return ""
}
func (m *TierData) GetOffer() string {
if m != nil {
return m.Offer
}
return ""
}
type GetTiersResponse struct {
// list of all available tiers
Tiers []*TierData `protobuf:"bytes,1,rep,name=tiers,proto3" json:"tiers,omitempty"`
@ -518,46 +527,47 @@ func init() {
}
var fileDescriptor_597ac3048c641f44 = []byte{
// 618 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x94, 0xc1, 0x4f, 0x13, 0x4f,
0x14, 0xc7, 0xbb, 0x85, 0x42, 0xfb, 0x5a, 0xda, 0x65, 0xfa, 0xe3, 0xe7, 0xc4, 0x98, 0xda, 0x6c,
0x3c, 0x34, 0x90, 0x14, 0x03, 0x1e, 0xbd, 0x20, 0x44, 0x6d, 0x22, 0x4a, 0x16, 0xd0, 0xe8, 0xc5,
0x8c, 0x3b, 0xcf, 0x32, 0x61, 0x3b, 0xb3, 0xce, 0x4c, 0x21, 0xfd, 0x2f, 0xf8, 0x97, 0xbc, 0x79,
0xe4, 0xe8, 0xd1, 0xc0, 0x3f, 0x62, 0x76, 0x5a, 0x76, 0xb7, 0x85, 0xc4, 0x4b, 0xdb, 0xf7, 0xf9,
0x7e, 0xdf, 0x37, 0x6f, 0x66, 0xdf, 0x16, 0x0e, 0x12, 0x36, 0x19, 0xa1, 0xb4, 0x06, 0xf5, 0x85,
0x88, 0x70, 0x7b, 0xbe, 0x4c, 0xb4, 0xb2, 0x6a, 0xdb, 0x7d, 0x9a, 0x05, 0xe9, 0xab, 0x15, 0xa8,
0x4d, 0xdf, 0x69, 0xc1, 0x16, 0xac, 0xbe, 0x46, 0x66, 0xc7, 0x1a, 0x49, 0x17, 0xea, 0x1c, 0x4d,
0xa4, 0x45, 0x62, 0x85, 0x92, 0xd4, 0xeb, 0x7a, 0xbd, 0x5a, 0x58, 0x44, 0xc1, 0x00, 0x5a, 0x6f,
0xd0, 0x9e, 0xa4, 0xed, 0x21, 0xfe, 0x18, 0xa3, 0xb1, 0xa4, 0x03, 0xa0, 0x2e, 0x25, 0xea, 0x3d,
0x39, 0x19, 0xf0, 0x59, 0x4f, 0x81, 0x90, 0xff, 0x61, 0x25, 0x56, 0x11, 0x8b, 0x91, 0x96, 0x9d,
0x36, 0xab, 0x82, 0x0f, 0xb0, 0xb1, 0x10, 0x75, 0x2c, 0x86, 0x12, 0x39, 0xa1, 0xb0, 0x9a, 0xb0,
0x49, 0xac, 0xd8, 0x34, 0xad, 0x11, 0xde, 0x95, 0xe4, 0x09, 0xd4, 0x8c, 0x18, 0x4a, 0x37, 0xac,
0x4b, 0x6b, 0x84, 0x39, 0x08, 0x7e, 0x56, 0xa0, 0x9a, 0xc6, 0x1d, 0x30, 0xcb, 0x48, 0x13, 0xca,
0x62, 0xda, 0xbf, 0x16, 0x96, 0x05, 0x27, 0x04, 0x96, 0x25, 0x1b, 0xdd, 0xcd, 0xe0, 0x7e, 0x2f,
0x1e, 0x77, 0xe9, 0xde, 0x71, 0xc9, 0x63, 0xa8, 0x0a, 0xb3, 0x17, 0x59, 0x71, 0x81, 0x74, 0xb9,
0xeb, 0xf5, 0xaa, 0x61, 0x56, 0xa7, 0xe7, 0x12, 0xe6, 0x04, 0x8d, 0xa5, 0x15, 0xa7, 0xcc, 0x2a,
0x12, 0x40, 0x43, 0x98, 0xb7, 0x82, 0x73, 0x94, 0xe9, 0x34, 0x74, 0xc5, 0xa9, 0x73, 0x8c, 0x6c,
0x01, 0x24, 0xa8, 0x85, 0xe2, 0x27, 0x93, 0x04, 0xe9, 0x6a, 0xd7, 0xeb, 0x35, 0x77, 0xea, 0xfd,
0xa3, 0x0c, 0x85, 0x05, 0x39, 0x1d, 0x73, 0x5a, 0x7d, 0x64, 0xf1, 0x18, 0x69, 0xd5, 0x9d, 0xa9,
0x88, 0xc8, 0x73, 0x68, 0x27, 0x5a, 0x44, 0x78, 0x6c, 0xb5, 0x48, 0xf0, 0xd4, 0xf0, 0xfd, 0xf4,
0x59, 0xd3, 0x9a, 0x73, 0x3e, 0x24, 0x91, 0x17, 0xb0, 0xc1, 0xe4, 0xe4, 0x3d, 0x1b, 0xa1, 0xd9,
0x57, 0x63, 0x69, 0x07, 0x32, 0x8a, 0xc7, 0x1c, 0x39, 0x05, 0xd7, 0xf3, 0xb0, 0x48, 0x36, 0xc1,
0x9f, 0x09, 0x87, 0x42, 0xbe, 0x43, 0x39, 0xb4, 0x67, 0xb4, 0xee, 0x1a, 0xee, 0x71, 0xf2, 0x0c,
0xaa, 0xdf, 0xa7, 0x6b, 0x65, 0x68, 0xa3, 0xbb, 0xd4, 0xab, 0xef, 0x54, 0xfb, 0xb3, 0x3d, 0x0b,
0x33, 0x25, 0xbd, 0xe0, 0x48, 0xc5, 0x4a, 0x1f, 0x5b, 0x4d, 0xd7, 0xdc, 0xfd, 0x67, 0x35, 0xe9,
0x41, 0xcb, 0xb8, 0xa9, 0x8f, 0xb4, 0xe2, 0xe3, 0xc8, 0x0e, 0x38, 0x6d, 0x3a, 0xcb, 0x22, 0xce,
0x9d, 0x87, 0x4c, 0xb2, 0x21, 0x9e, 0xea, 0x98, 0xb6, 0x8a, 0xce, 0x0c, 0xbb, 0x87, 0xa3, 0x4c,
0x1e, 0xe8, 0x3b, 0xdb, 0x1c, 0x9b, 0x79, 0xf2, 0xa8, 0xf5, 0xcc, 0x93, 0xe7, 0xb8, 0x9b, 0xe0,
0x5a, 0x09, 0x9e, 0x67, 0x11, 0xe7, 0xbb, 0xc7, 0x0b, 0xde, 0x3c, 0xb3, 0x3d, 0xe7, 0xcd, 0x78,
0xb0, 0x0b, 0x7e, 0xfe, 0x52, 0x98, 0x44, 0x49, 0x83, 0xe4, 0x29, 0x54, 0xdc, 0xfb, 0x4a, 0x3d,
0x77, 0x8d, 0xb5, 0xfe, 0xdd, 0x92, 0x87, 0x53, 0xbe, 0x79, 0xe5, 0x01, 0xe4, 0xbb, 0x43, 0x36,
0x60, 0x3d, 0xaf, 0x4e, 0xe5, 0xb9, 0x54, 0x97, 0xd2, 0x2f, 0x91, 0x47, 0xd0, 0x2e, 0xe2, 0x58,
0x8c, 0x84, 0x45, 0xee, 0x7b, 0x84, 0x40, 0x33, 0x17, 0x0e, 0xd8, 0xc4, 0xf8, 0x65, 0xd2, 0x86,
0x56, 0xce, 0x3e, 0x21, 0x9e, 0x1b, 0x7f, 0x89, 0xfc, 0x07, 0x7e, 0x0e, 0x0f, 0x95, 0xb4, 0x67,
0xc6, 0x5f, 0x9e, 0xb7, 0x7e, 0x46, 0xa6, 0x8d, 0x5f, 0x79, 0xf5, 0xf2, 0xd7, 0x4d, 0xc7, 0xbb,
0xbe, 0xe9, 0x78, 0x7f, 0x6e, 0x3a, 0xde, 0xd5, 0x6d, 0xa7, 0x74, 0x7d, 0xdb, 0x29, 0xfd, 0xbe,
0xed, 0x94, 0xbe, 0x04, 0xff, 0xfe, 0xd3, 0xfa, 0xb6, 0xe2, 0xbe, 0x76, 0xff, 0x06, 0x00, 0x00,
0xff, 0xff, 0xca, 0xfa, 0xda, 0x87, 0xe1, 0x04, 0x00, 0x00,
// 627 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0x5f, 0x4f, 0x1a, 0x4b,
0x14, 0x67, 0x51, 0x14, 0x0e, 0x08, 0xeb, 0xa0, 0xf7, 0x4e, 0x6e, 0x6e, 0xb8, 0x84, 0xdc, 0x07,
0xa2, 0x09, 0x36, 0xda, 0xc7, 0xbe, 0x58, 0x4d, 0x5b, 0x92, 0xda, 0x9a, 0x55, 0xdb, 0xb4, 0x2f,
0xcd, 0x74, 0xe7, 0x88, 0x13, 0x97, 0x99, 0xed, 0xcc, 0xa0, 0xe1, 0x5b, 0xf8, 0xb1, 0xfa, 0xe8,
0x5b, 0xfb, 0xd8, 0xe8, 0x17, 0x69, 0x76, 0x40, 0x66, 0x41, 0x93, 0xbe, 0x00, 0xbf, 0x3f, 0xe7,
0x97, 0x73, 0xce, 0x9e, 0x05, 0x0e, 0x53, 0x36, 0x1e, 0xa2, 0xb4, 0x06, 0xf5, 0x95, 0x88, 0x71,
0x67, 0x1e, 0xa6, 0x5a, 0x59, 0xb5, 0xe3, 0x3e, 0xcd, 0x82, 0xf4, 0xc5, 0x0a, 0xd4, 0xa6, 0xe7,
0xb4, 0xce, 0x36, 0xac, 0xbe, 0x42, 0x66, 0x47, 0x1a, 0x49, 0x1b, 0xaa, 0x1c, 0x4d, 0xac, 0x45,
0x6a, 0x85, 0x92, 0x34, 0x68, 0x07, 0xdd, 0x4a, 0x94, 0xa7, 0x3a, 0x7d, 0x68, 0xbc, 0x46, 0x7b,
0x9a, 0x95, 0x47, 0xf8, 0x6d, 0x84, 0xc6, 0x92, 0x16, 0x80, 0xba, 0x96, 0xa8, 0xf7, 0xe5, 0xb8,
0xcf, 0xa7, 0x35, 0x39, 0x86, 0xfc, 0x05, 0x2b, 0x89, 0x8a, 0x59, 0x82, 0xb4, 0xe8, 0xb4, 0x29,
0xea, 0xbc, 0x87, 0xcd, 0x85, 0xa8, 0x13, 0x31, 0x90, 0xc8, 0x09, 0x85, 0xd5, 0x94, 0x8d, 0x13,
0xc5, 0x26, 0x69, 0xb5, 0xe8, 0x01, 0x92, 0x7f, 0xa1, 0x62, 0xc4, 0x40, 0xba, 0x66, 0x5d, 0x5a,
0x2d, 0xf2, 0x44, 0xe7, 0x47, 0x09, 0xca, 0x59, 0xdc, 0x21, 0xb3, 0x8c, 0xd4, 0xa1, 0x28, 0x26,
0xf5, 0x6b, 0x51, 0x51, 0x70, 0x42, 0x60, 0x59, 0xb2, 0xe1, 0x43, 0x0f, 0xee, 0xf7, 0xe2, 0xb8,
0x4b, 0x8f, 0xc6, 0x25, 0xff, 0x40, 0x59, 0x98, 0xfd, 0xd8, 0x8a, 0x2b, 0xa4, 0xcb, 0xed, 0xa0,
0x5b, 0x8e, 0x66, 0x38, 0x9b, 0x4b, 0x98, 0x53, 0x34, 0x96, 0x96, 0x9c, 0x32, 0x45, 0xa4, 0x03,
0x35, 0x61, 0xde, 0x08, 0xce, 0x51, 0x66, 0xdd, 0xd0, 0x15, 0xa7, 0xce, 0x71, 0x64, 0x1b, 0x20,
0x45, 0x2d, 0x14, 0x3f, 0x1d, 0xa7, 0x48, 0x57, 0xdb, 0x41, 0xb7, 0xbe, 0x5b, 0xed, 0x1d, 0xcf,
0xa8, 0x28, 0x27, 0x67, 0x6d, 0x4e, 0xd0, 0x07, 0x96, 0x8c, 0x90, 0x96, 0xdd, 0x4c, 0x79, 0x8a,
0x3c, 0x83, 0x66, 0xaa, 0x45, 0x8c, 0x27, 0x56, 0x8b, 0x14, 0xcf, 0x0c, 0x3f, 0xc8, 0x9e, 0x35,
0xad, 0x38, 0xe7, 0x53, 0x12, 0x79, 0x0e, 0x9b, 0x4c, 0x8e, 0xdf, 0xb1, 0x21, 0x9a, 0x03, 0x35,
0x92, 0xb6, 0x2f, 0xe3, 0x64, 0xc4, 0x91, 0x53, 0x70, 0x35, 0x4f, 0x8b, 0x64, 0x0b, 0xc2, 0xa9,
0x70, 0x24, 0xe4, 0x5b, 0x94, 0x03, 0x7b, 0x41, 0xab, 0xae, 0xe0, 0x11, 0x4f, 0xfe, 0x87, 0xf2,
0xf9, 0xe4, 0xac, 0x0c, 0xad, 0xb5, 0x97, 0xba, 0xd5, 0xdd, 0x72, 0x6f, 0x7a, 0x67, 0xd1, 0x4c,
0xc9, 0x16, 0x1c, 0xab, 0x44, 0xe9, 0x13, 0xab, 0xe9, 0x9a, 0xdb, 0xff, 0x0c, 0x93, 0x2e, 0x34,
0x8c, 0xeb, 0xfa, 0x58, 0x2b, 0x3e, 0x8a, 0x6d, 0x9f, 0xd3, 0xba, 0xb3, 0x2c, 0xd2, 0xde, 0x79,
0xc4, 0x24, 0x1b, 0xe0, 0x99, 0x4e, 0x68, 0x23, 0xef, 0x9c, 0xd1, 0xee, 0xe1, 0x28, 0xe3, 0x03,
0x43, 0x67, 0x9b, 0xe3, 0xa6, 0x1e, 0x1f, 0xb5, 0x3e, 0xf3, 0xf8, 0x1c, 0xb7, 0x09, 0xae, 0x95,
0xe0, 0x3e, 0x8b, 0x38, 0xdf, 0x23, 0x3e, 0xe7, 0xf5, 0x99, 0xcd, 0x39, 0xaf, 0xcf, 0xdd, 0x80,
0x92, 0x3a, 0x3f, 0x47, 0x4d, 0x37, 0x9c, 0x61, 0x02, 0x3a, 0x7b, 0x10, 0xfa, 0x57, 0xc5, 0xa4,
0x4a, 0x1a, 0x24, 0xff, 0x41, 0xc9, 0xbd, 0xc5, 0x34, 0x70, 0xcb, 0xad, 0xf4, 0x1e, 0x4e, 0x3f,
0x9a, 0xf0, 0x5b, 0x37, 0x01, 0x80, 0xbf, 0x28, 0xb2, 0x09, 0xeb, 0x1e, 0x9d, 0xc9, 0x4b, 0xa9,
0xae, 0x65, 0x58, 0x20, 0x7f, 0x43, 0x33, 0x4f, 0x27, 0x62, 0x28, 0x2c, 0xf2, 0x30, 0x20, 0x04,
0xea, 0x5e, 0x38, 0x64, 0x63, 0x13, 0x16, 0x49, 0x13, 0x1a, 0x9e, 0xfb, 0x88, 0x78, 0x69, 0xc2,
0x25, 0xb2, 0x01, 0xa1, 0x27, 0x8f, 0x94, 0xb4, 0x17, 0x26, 0x5c, 0x9e, 0xb7, 0x7e, 0x42, 0xa6,
0x4d, 0x58, 0x7a, 0xf9, 0xe2, 0xfb, 0x5d, 0x2b, 0xb8, 0xbd, 0x6b, 0x05, 0xbf, 0xee, 0x5a, 0xc1,
0xcd, 0x7d, 0xab, 0x70, 0x7b, 0xdf, 0x2a, 0xfc, 0xbc, 0x6f, 0x15, 0x3e, 0x77, 0xfe, 0xfc, 0x57,
0xf6, 0x75, 0xc5, 0x7d, 0xed, 0xfd, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xc5, 0xbe, 0x42, 0x45, 0xf7,
0x04, 0x00, 0x00,
}
func (m *Feature) Marshal() (dAtA []byte, err error) {
@ -684,6 +694,15 @@ func (m *TierData) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
if len(m.Offer) > 0 {
i -= len(m.Offer)
copy(dAtA[i:], m.Offer)
i = encodeVarintPaymentserviceTiers(dAtA, i, uint64(len(m.Offer)))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0xa2
}
if len(m.AndroidManageUrl) > 0 {
i -= len(m.AndroidManageUrl)
copy(dAtA[i:], m.AndroidManageUrl)
@ -1002,6 +1021,10 @@ func (m *TierData) Size() (n int) {
if l > 0 {
n += 2 + l + sovPaymentserviceTiers(uint64(l))
}
l = len(m.Offer)
if l > 0 {
n += 2 + l + sovPaymentserviceTiers(uint64(l))
}
return n
}
@ -1865,6 +1888,38 @@ func (m *TierData) Unmarshal(dAtA []byte) error {
}
m.AndroidManageUrl = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 20:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Offer", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowPaymentserviceTiers
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthPaymentserviceTiers
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthPaymentserviceTiers
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Offer = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipPaymentserviceTiers(dAtA[iNdEx:])

View file

@ -73,6 +73,9 @@ message TierData {
// Android platform-specific data:
string androidProductId = 18;
string androidManageUrl = 19;
// something like "limited offer", etc
string offer = 20;
}
message GetTiersResponse {