1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-09 09:35:03 +09:00

Add tiers, no worries: will be refactored soon

This commit is contained in:
Anton Akentev 2024-03-01 11:46:57 +00:00
parent fad2e59f37
commit 7704bde02a
2 changed files with 112 additions and 197 deletions

View file

@ -22,6 +22,9 @@ var _ = math.Inf
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
// TODO:
// later we will have an interface to enumerate all available tiers
// it's a bad idea to list them here, because interface will be changed often
type SubscriptionTier int32
const (
@ -35,6 +38,8 @@ const (
// these are the real tiers:
SubscriptionTier_TierBuilder1Year SubscriptionTier = 4
SubscriptionTier_TierCoCreator1Year SubscriptionTier = 5
SubscriptionTier_TierBuilderPlus SubscriptionTier = 6
SubscriptionTier_TierAnytypeTeam SubscriptionTier = 7
)
var SubscriptionTier_name = map[int32]string{
@ -44,6 +49,8 @@ var SubscriptionTier_name = map[int32]string{
3: "TierCoCreator1WeekTEST",
4: "TierBuilder1Year",
5: "TierCoCreator1Year",
6: "TierBuilderPlus",
7: "TierAnytypeTeam",
}
var SubscriptionTier_value = map[string]int32{
@ -53,6 +60,8 @@ var SubscriptionTier_value = map[string]int32{
"TierCoCreator1WeekTEST": 3,
"TierBuilder1Year": 4,
"TierCoCreator1Year": 5,
"TierBuilderPlus": 6,
"TierAnytypeTeam": 7,
}
func (x SubscriptionTier) String() string {
@ -101,6 +110,8 @@ const (
PaymentMethod_MethodCrypto PaymentMethod = 1
PaymentMethod_MethodApplePay PaymentMethod = 2
PaymentMethod_MethodGooglePay PaymentMethod = 3
PaymentMethod_MethodAppleInapp PaymentMethod = 4
PaymentMethod_MethodGoogleInapp PaymentMethod = 5
)
var PaymentMethod_name = map[int32]string{
@ -108,6 +119,8 @@ var PaymentMethod_name = map[int32]string{
1: "MethodCrypto",
2: "MethodApplePay",
3: "MethodGooglePay",
4: "MethodAppleInapp",
5: "MethodGoogleInapp",
}
var PaymentMethod_value = map[string]int32{
@ -115,6 +128,8 @@ var PaymentMethod_value = map[string]int32{
"MethodCrypto": 1,
"MethodApplePay": 2,
"MethodGooglePay": 3,
"MethodAppleInapp": 4,
"MethodGoogleInapp": 5,
}
func (x PaymentMethod) String() string {
@ -125,7 +140,6 @@ func (PaymentMethod) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_4feb29dcc5ba50f6, []int{2}
}
// 1
type GetSubscriptionRequest struct {
// in the following format: "A5k2d9sFZw84yisTxRnz2bPRd1YPfVfhxqymZ6yESprFTG65"
// you can get it with Account().SignKey.GetPublic().Account()
@ -229,21 +243,14 @@ func (m *GetSubscriptionRequestSigned) GetSignature() []byte {
type GetSubscriptionResponse struct {
Tier SubscriptionTier `protobuf:"varint,1,opt,name=tier,proto3,enum=SubscriptionTier" json:"tier,omitempty"`
Status SubscriptionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=SubscriptionStatus" json:"status,omitempty"`
// TODO: use google.protobuf.Timestamp and marshall it
DateStarted uint64 `protobuf:"varint,3,opt,name=dateStarted,proto3" json:"dateStarted,omitempty"`
DateEnds uint64 `protobuf:"varint,4,opt,name=dateEnds,proto3" json:"dateEnds,omitempty"`
IsAutoRenew bool `protobuf:"varint,5,opt,name=isAutoRenew,proto3" json:"isAutoRenew,omitempty"`
// if client has "downgraded" - he is still able to use the service until the end of the period
// (dateEnds) but then he will be on nextTier until nextTierEnds
//
// if Tier0_Unknown -> then no next tier
NextTier SubscriptionTier `protobuf:"varint,6,opt,name=nextTier,proto3,enum=SubscriptionTier" json:"nextTier,omitempty"`
NextTierEnds uint64 `protobuf:"varint,7,opt,name=nextTierEnds,proto3" json:"nextTierEnds,omitempty"`
PaymentMethod PaymentMethod `protobuf:"varint,8,opt,name=paymentMethod,proto3,enum=PaymentMethod" json:"paymentMethod,omitempty"`
RequestedAnyName string `protobuf:"bytes,9,opt,name=requestedAnyName,proto3" json:"requestedAnyName,omitempty"`
PaymentMethod PaymentMethod `protobuf:"varint,6,opt,name=paymentMethod,proto3,enum=PaymentMethod" json:"paymentMethod,omitempty"`
RequestedAnyName string `protobuf:"bytes,7,opt,name=requestedAnyName,proto3" json:"requestedAnyName,omitempty"`
// if user verified her email OR provided it while buying a subscription, it will be here
UserEmail string `protobuf:"bytes,10,opt,name=userEmail,proto3" json:"userEmail,omitempty"`
SubscribeToNewsletter bool `protobuf:"varint,11,opt,name=subscribeToNewsletter,proto3" json:"subscribeToNewsletter,omitempty"`
UserEmail string `protobuf:"bytes,8,opt,name=userEmail,proto3" json:"userEmail,omitempty"`
SubscribeToNewsletter bool `protobuf:"varint,9,opt,name=subscribeToNewsletter,proto3" json:"subscribeToNewsletter,omitempty"`
}
func (m *GetSubscriptionResponse) Reset() { *m = GetSubscriptionResponse{} }
@ -314,20 +321,6 @@ func (m *GetSubscriptionResponse) GetIsAutoRenew() bool {
return false
}
func (m *GetSubscriptionResponse) GetNextTier() SubscriptionTier {
if m != nil {
return m.NextTier
}
return SubscriptionTier_TierUnknown
}
func (m *GetSubscriptionResponse) GetNextTierEnds() uint64 {
if m != nil {
return m.NextTierEnds
}
return 0
}
func (m *GetSubscriptionResponse) GetPaymentMethod() PaymentMethod {
if m != nil {
return m.PaymentMethod
@ -356,7 +349,6 @@ func (m *GetSubscriptionResponse) GetSubscribeToNewsletter() bool {
return false
}
// 2
type BuySubscriptionRequest struct {
// in the following format: "A5k2d9sFZw84yisTxRnz2bPRd1YPfVfhxqymZ6yESprFTG65"
// you can get it with Account().SignKey.GetPublic().Account()
@ -848,6 +840,7 @@ type VerifyEmailRequest struct {
// this is required to reserve a name for the owner (later that is done by user)
// in the following format: "0x7a250d5630b4cf539739df2c5dacb4c659f2488d"
OwnerEthAddress string `protobuf:"bytes,2,opt,name=ownerEthAddress,proto3" json:"ownerEthAddress,omitempty"`
// code received in the email
Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"`
}
@ -1029,64 +1022,65 @@ func init() {
}
var fileDescriptor_4feb29dcc5ba50f6 = []byte{
// 909 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xcd, 0x6e, 0xe4, 0x44,
0x10, 0xb6, 0x33, 0x93, 0x9f, 0xa9, 0x24, 0x13, 0x6f, 0x65, 0x36, 0xeb, 0x1d, 0x12, 0x6b, 0x68,
0x09, 0x88, 0x82, 0x70, 0x44, 0x58, 0x09, 0x90, 0x10, 0x62, 0x12, 0xa2, 0x08, 0x29, 0xac, 0x46,
0x9e, 0xec, 0x22, 0x76, 0x2f, 0x38, 0xe3, 0x62, 0xd6, 0x64, 0xd2, 0x6d, 0xda, 0xed, 0xcd, 0xfa,
0x11, 0xb8, 0x71, 0xe5, 0x79, 0xb8, 0x70, 0xdc, 0x13, 0xe2, 0x88, 0x92, 0xe7, 0x40, 0x42, 0x6e,
0x3b, 0x99, 0xff, 0x49, 0x20, 0x17, 0xbb, 0xeb, 0xab, 0xea, 0xea, 0xfa, 0xe9, 0xaf, 0x6c, 0xf8,
0x32, 0xf2, 0xd3, 0x73, 0xe2, 0x2a, 0x26, 0xf9, 0x3a, 0xec, 0xd0, 0xee, 0xb0, 0x18, 0x49, 0xa1,
0xc4, 0xae, 0x7e, 0xc6, 0x23, 0x2a, 0x57, 0xa3, 0xec, 0x33, 0xd8, 0x38, 0x22, 0xd5, 0x4e, 0x4e,
0xe3, 0x8e, 0x0c, 0x23, 0x15, 0x0a, 0xee, 0xd1, 0xcf, 0x09, 0xc5, 0x0a, 0x1d, 0x00, 0x71, 0xc1,
0x49, 0x36, 0x79, 0xfa, 0xcd, 0xd7, 0xb6, 0xd9, 0x30, 0xb7, 0x2b, 0xde, 0x00, 0xc2, 0x9e, 0xc3,
0xe6, 0xe4, 0x9d, 0xed, 0xb0, 0xcb, 0x29, 0x40, 0x1b, 0x16, 0x23, 0x3f, 0xed, 0x09, 0x3f, 0xd0,
0x9b, 0x57, 0xbc, 0x6b, 0x11, 0x37, 0xa1, 0x12, 0x87, 0x5d, 0xee, 0xab, 0x44, 0x92, 0x3d, 0xa7,
0x75, 0x7d, 0x80, 0xfd, 0x59, 0x82, 0x47, 0x63, 0x8e, 0xe3, 0x48, 0xf0, 0x98, 0xf0, 0x3d, 0x28,
0xab, 0x90, 0xa4, 0x76, 0x58, 0xdd, 0x7b, 0xe0, 0x0e, 0x1a, 0x9d, 0x84, 0x24, 0x3d, 0xad, 0xc6,
0x0f, 0x61, 0x21, 0x56, 0xbe, 0x4a, 0x62, 0xed, 0xbd, 0xba, 0xb7, 0x3e, 0x64, 0xd8, 0xd6, 0x2a,
0xaf, 0x30, 0xc1, 0x06, 0x2c, 0x07, 0xbe, 0xa2, 0xb6, 0xf2, 0xa5, 0xa2, 0xc0, 0x2e, 0x35, 0xcc,
0xed, 0xb2, 0x37, 0x08, 0x61, 0x1d, 0x96, 0x32, 0xf1, 0x90, 0x07, 0xb1, 0x5d, 0xd6, 0xea, 0x1b,
0x39, 0xdb, 0x1d, 0xc6, 0xcd, 0x44, 0x09, 0x8f, 0x38, 0x5d, 0xd8, 0xf3, 0x0d, 0x73, 0x7b, 0xc9,
0x1b, 0x84, 0xf0, 0x23, 0x58, 0xe2, 0xf4, 0x46, 0x65, 0xe1, 0xd9, 0x0b, 0xd3, 0xe2, 0xbe, 0x31,
0x41, 0x06, 0x2b, 0xd7, 0x6b, 0x7d, 0xe0, 0xa2, 0x3e, 0x70, 0x08, 0xc3, 0x27, 0xb0, 0x5a, 0x34,
0xf3, 0x5b, 0x52, 0xaf, 0x44, 0x60, 0x2f, 0x69, 0xbf, 0x55, 0xb7, 0x35, 0x88, 0x7a, 0xc3, 0x46,
0xb8, 0x03, 0x96, 0xcc, 0x3b, 0x44, 0x41, 0x93, 0xa7, 0x4f, 0xfd, 0x73, 0xb2, 0x2b, 0xba, 0xad,
0x63, 0x78, 0xd6, 0xa2, 0x24, 0x26, 0x79, 0x78, 0xee, 0x87, 0x3d, 0x1b, 0xb4, 0x51, 0x1f, 0xc0,
0x27, 0xf0, 0x30, 0xce, 0x33, 0x38, 0xa5, 0x13, 0xf1, 0x94, 0x2e, 0xe2, 0x1e, 0x29, 0x45, 0xd2,
0x5e, 0xd6, 0xe9, 0x4f, 0x56, 0xb2, 0x7f, 0x4c, 0xd8, 0xd8, 0x4f, 0xd2, 0xdb, 0xee, 0x5a, 0x30,
0x76, 0xd7, 0x02, 0xdc, 0x86, 0x35, 0x2d, 0x1d, 0xaa, 0x57, 0xcd, 0x20, 0x90, 0x14, 0xe7, 0x9d,
0xad, 0x78, 0xa3, 0x30, 0x7e, 0x0a, 0xab, 0x37, 0xc9, 0xe8, 0x92, 0x97, 0xa6, 0x95, 0x7c, 0xd8,
0x6e, 0xbc, 0xa6, 0xe5, 0xff, 0x5b, 0xd3, 0xf9, 0xc9, 0x35, 0xcd, 0x08, 0x33, 0x39, 0xfd, 0x7b,
0x12, 0xe6, 0x73, 0x78, 0x34, 0xe6, 0xb7, 0xe0, 0x8b, 0x03, 0x50, 0xc4, 0xfb, 0x4c, 0xf6, 0xae,
0xeb, 0xda, 0x47, 0xd8, 0x3e, 0x34, 0x46, 0xa8, 0xd6, 0x12, 0x52, 0xf9, 0xbd, 0xe3, 0x90, 0x9f,
0xdd, 0xb1, 0x37, 0xec, 0x07, 0x78, 0xff, 0x36, 0x1f, 0xf7, 0x4c, 0xb0, 0x09, 0xef, 0xce, 0x38,
0xa1, 0x48, 0x75, 0x13, 0x2a, 0x91, 0x46, 0xfb, 0x99, 0xf6, 0x01, 0xf6, 0x8b, 0x09, 0xef, 0x1c,
0x91, 0x7a, 0x4e, 0x32, 0xfc, 0x31, 0xec, 0xf8, 0x99, 0x0f, 0x7d, 0x95, 0xef, 0x7a, 0x01, 0x6b,
0x30, 0x4f, 0x9a, 0x0b, 0xf9, 0xb5, 0xcb, 0x85, 0xe9, 0x3c, 0x28, 0xcd, 0xe2, 0x81, 0xa3, 0x07,
0xe7, 0x84, 0x50, 0xf2, 0x4c, 0xd8, 0x4b, 0x9d, 0xee, 0xb4, 0x50, 0xef, 0x59, 0x4b, 0x09, 0xa8,
0x3d, 0xa7, 0xff, 0x29, 0xfd, 0xbb, 0xf3, 0x0f, 0xa1, 0xdc, 0x11, 0x01, 0xe9, 0x0a, 0x54, 0x3c,
0xbd, 0x66, 0xbb, 0xb0, 0x3e, 0x74, 0x66, 0xd1, 0x31, 0x1b, 0x16, 0xe3, 0xa4, 0xd3, 0xc9, 0x9c,
0x99, 0xba, 0x5e, 0xd7, 0x22, 0xf3, 0xc0, 0x1e, 0x0f, 0xf2, 0x7e, 0x89, 0xef, 0xfc, 0x66, 0x82,
0x35, 0x3a, 0x03, 0x70, 0x0d, 0x96, 0xb3, 0xf7, 0x33, 0x7e, 0xc6, 0xc5, 0x05, 0xb7, 0x0c, 0xb4,
0x60, 0x45, 0x4f, 0xd9, 0x37, 0x51, 0x4f, 0x48, 0x92, 0x96, 0x89, 0x36, 0xd4, 0x32, 0x64, 0x3f,
0x09, 0x7b, 0x01, 0xc9, 0x8f, 0xbf, 0x23, 0x3a, 0x3b, 0x39, 0x6c, 0x9f, 0x58, 0x73, 0x58, 0x87,
0x8d, 0x4c, 0x73, 0x20, 0x0e, 0x24, 0xf9, 0x4a, 0x0c, 0xe8, 0x4a, 0x58, 0x03, 0x6b, 0x70, 0xd7,
0xf7, 0xe4, 0x4b, 0xab, 0x8c, 0x1b, 0x80, 0xc3, 0x3b, 0x34, 0x3e, 0xbf, 0x73, 0x0c, 0x38, 0xfe,
0x81, 0xc2, 0x07, 0xb0, 0x9a, 0xaf, 0xfa, 0xe1, 0xdd, 0x40, 0x2d, 0xe2, 0x41, 0xc8, 0xbb, 0x96,
0x99, 0x45, 0x9c, 0x43, 0xcd, 0x8e, 0x0a, 0x5f, 0x93, 0x35, 0xb7, 0xf3, 0x02, 0x56, 0x87, 0x66,
0x16, 0x56, 0x01, 0xf2, 0xd5, 0x81, 0x2f, 0x83, 0x3c, 0xc9, 0x42, 0x96, 0x69, 0xa4, 0x84, 0x65,
0x22, 0x42, 0x35, 0x47, 0x9a, 0x51, 0xd4, 0xa3, 0x96, 0x9f, 0x5a, 0x73, 0xb8, 0x0e, 0x6b, 0x39,
0x76, 0x24, 0x44, 0x37, 0x07, 0x4b, 0x7b, 0xbf, 0x97, 0xa0, 0xd6, 0xe4, 0x69, 0xe1, 0xbf, 0x25,
0x45, 0xd6, 0xaf, 0x90, 0x77, 0xd1, 0x83, 0x87, 0x23, 0x1c, 0x2d, 0xb2, 0xd8, 0x72, 0x67, 0xfd,
0x25, 0xd4, 0x6d, 0x77, 0xca, 0xb7, 0x9e, 0x19, 0x78, 0x0c, 0x6b, 0x23, 0x83, 0x0d, 0xb7, 0xdc,
0x59, 0x23, 0xb4, 0x6e, 0xbb, 0x53, 0x26, 0x21, 0x33, 0xf0, 0x27, 0x78, 0x3c, 0x75, 0x8a, 0xe0,
0x07, 0xee, 0xdd, 0x66, 0x58, 0x9d, 0xb9, 0xb7, 0x8e, 0x22, 0x66, 0xe0, 0x4b, 0xa8, 0x4d, 0xa2,
0x30, 0xea, 0xdd, 0xb3, 0x99, 0x5d, 0xdf, 0x72, 0x67, 0x4e, 0x07, 0x03, 0xbf, 0x82, 0xe5, 0x01,
0x76, 0xe0, 0x63, 0x77, 0x1a, 0x57, 0xea, 0x35, 0x77, 0x02, 0xef, 0x98, 0xb1, 0xff, 0xc5, 0x1f,
0x97, 0x8e, 0xf9, 0xf6, 0xd2, 0x31, 0xff, 0xbe, 0x74, 0xcc, 0x5f, 0xaf, 0x1c, 0xe3, 0xed, 0x95,
0x63, 0xfc, 0x75, 0xe5, 0x18, 0x2f, 0xd8, 0xed, 0xbf, 0x93, 0xa7, 0x0b, 0xfa, 0xf5, 0xc9, 0xbf,
0x01, 0x00, 0x00, 0xff, 0xff, 0x14, 0xaf, 0xb0, 0x89, 0x7b, 0x0a, 0x00, 0x00,
// 923 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xcf, 0x6f, 0xe3, 0x54,
0x10, 0x8e, 0x9b, 0xa4, 0x6d, 0xa6, 0xdb, 0xd4, 0x9d, 0xa6, 0x5d, 0x6f, 0x68, 0xa3, 0x60, 0x09,
0xa8, 0x8a, 0xe4, 0x8a, 0xb2, 0x12, 0x20, 0x21, 0x44, 0x5a, 0xa2, 0x6a, 0xa5, 0xb2, 0x8a, 0x9c,
0xec, 0x22, 0xd8, 0x0b, 0x6e, 0x3c, 0x64, 0x4d, 0xdd, 0xf7, 0xcc, 0xf3, 0xf3, 0x16, 0x9f, 0x39,
0x20, 0x6e, 0xfc, 0x4f, 0x7b, 0xe1, 0xd8, 0x23, 0x47, 0xd4, 0xfe, 0x1d, 0x48, 0xc8, 0xcf, 0x6e,
0xe3, 0xfc, 0x6c, 0xd9, 0x5e, 0x12, 0xcf, 0x37, 0xf3, 0x26, 0xf3, 0x7d, 0x6f, 0x66, 0x62, 0xf8,
0x2a, 0x70, 0xe2, 0x73, 0x62, 0x32, 0x24, 0xf1, 0xc6, 0xeb, 0xd3, 0xfe, 0xa8, 0x19, 0x08, 0x2e,
0xf9, 0xbe, 0xfa, 0x0c, 0xc7, 0x5c, 0x96, 0x42, 0xcd, 0xcf, 0x61, 0xeb, 0x98, 0x64, 0x37, 0x3a,
0x0d, 0xfb, 0xc2, 0x0b, 0xa4, 0xc7, 0x99, 0x4d, 0xbf, 0x44, 0x14, 0x4a, 0x6c, 0x00, 0xf0, 0x0b,
0x46, 0xa2, 0xc5, 0xe2, 0x67, 0xdf, 0x18, 0x5a, 0x53, 0xdb, 0xad, 0xd8, 0x39, 0xc4, 0x7c, 0x09,
0xdb, 0xd3, 0x4f, 0x76, 0xbd, 0x01, 0x23, 0x17, 0x0d, 0x58, 0x0a, 0x9c, 0xd8, 0xe7, 0x8e, 0xab,
0x0e, 0x3f, 0xb2, 0x6f, 0x4c, 0xdc, 0x86, 0x4a, 0xe8, 0x0d, 0x98, 0x23, 0x23, 0x41, 0xc6, 0x82,
0xf2, 0x0d, 0x01, 0xf3, 0xb7, 0x22, 0x3c, 0x9e, 0x48, 0x1c, 0x06, 0x9c, 0x85, 0x84, 0x1f, 0x40,
0x49, 0x7a, 0x24, 0x54, 0xc2, 0xea, 0xc1, 0xba, 0x95, 0x0f, 0xea, 0x79, 0x24, 0x6c, 0xe5, 0xc6,
0x8f, 0x61, 0x31, 0x94, 0x8e, 0x8c, 0x42, 0x95, 0xbd, 0x7a, 0xb0, 0x31, 0x12, 0xd8, 0x55, 0x2e,
0x3b, 0x0b, 0xc1, 0x26, 0xac, 0xb8, 0x8e, 0xa4, 0xae, 0x74, 0x84, 0x24, 0xd7, 0x28, 0x36, 0xb5,
0xdd, 0x92, 0x9d, 0x87, 0xb0, 0x0e, 0xcb, 0x89, 0xd9, 0x66, 0x6e, 0x68, 0x94, 0x94, 0xfb, 0xd6,
0x4e, 0x4e, 0x7b, 0x61, 0x2b, 0x92, 0xdc, 0x26, 0x46, 0x17, 0x46, 0xb9, 0xa9, 0xed, 0x2e, 0xdb,
0x79, 0x08, 0x9f, 0xc2, 0x6a, 0xa6, 0xfc, 0xb7, 0x24, 0x5f, 0x73, 0xd7, 0x58, 0x54, 0x35, 0x55,
0xad, 0x4e, 0x1e, 0xb5, 0x47, 0x83, 0x70, 0x0f, 0x74, 0x91, 0xca, 0x49, 0x6e, 0x8b, 0xc5, 0xcf,
0x9d, 0x73, 0x32, 0x96, 0xd4, 0x1d, 0x4c, 0xe0, 0x89, 0x9e, 0x51, 0x48, 0xa2, 0x7d, 0xee, 0x78,
0xbe, 0xb1, 0xac, 0x82, 0x86, 0x00, 0x3e, 0x85, 0xcd, 0x30, 0x65, 0x7f, 0x4a, 0x3d, 0xfe, 0x9c,
0x2e, 0x42, 0x9f, 0xa4, 0x24, 0x61, 0x54, 0x54, 0xad, 0xd3, 0x9d, 0xe6, 0xbf, 0x1a, 0x6c, 0x1d,
0x46, 0xf1, 0x5d, 0x8d, 0xe1, 0x4e, 0x34, 0x86, 0x8b, 0xbb, 0xb0, 0xa6, 0xac, 0xb6, 0x7c, 0xdd,
0x72, 0x5d, 0x41, 0x61, 0x7a, 0x0d, 0x15, 0x7b, 0x1c, 0xc6, 0xcf, 0x60, 0xf5, 0x96, 0x4c, 0x72,
0x7d, 0x4a, 0xfc, 0xa9, 0xf7, 0x3a, 0x1a, 0x37, 0xa9, 0x69, 0xe9, 0x5d, 0x35, 0x2d, 0x4f, 0xd7,
0x34, 0xe9, 0xee, 0xe9, 0xf4, 0x1f, 0xd8, 0xdd, 0x5f, 0xc0, 0xe3, 0x89, 0xbc, 0x59, 0x73, 0x37,
0x00, 0xb2, 0x7a, 0x5f, 0x08, 0xff, 0x46, 0xd7, 0x21, 0x62, 0x1e, 0x42, 0x73, 0x6c, 0x2e, 0x3a,
0x5c, 0x48, 0xc7, 0x3f, 0xf1, 0xd8, 0xd9, 0x3d, 0xef, 0xc6, 0xfc, 0x11, 0x3e, 0xbc, 0x2b, 0xc7,
0x03, 0x09, 0xb6, 0xe0, 0xfd, 0x39, 0xbf, 0x90, 0x51, 0xdd, 0x86, 0x4a, 0xa0, 0xd0, 0x21, 0xd3,
0x21, 0x60, 0xfe, 0xa1, 0xc1, 0x7b, 0xc7, 0x24, 0x5f, 0x92, 0xf0, 0x7e, 0xf2, 0xfa, 0x4e, 0x92,
0x43, 0xb5, 0xf2, 0x7d, 0x1b, 0xb0, 0x06, 0x65, 0x52, 0xb3, 0x90, 0xb6, 0x5d, 0x6a, 0xcc, 0x9e,
0x83, 0xe2, 0xbc, 0x39, 0x68, 0xa8, 0x2d, 0x37, 0xa5, 0x94, 0x94, 0x89, 0xf9, 0x4a, 0xd1, 0x9d,
0x55, 0xea, 0x03, 0xb5, 0x14, 0x80, 0x2a, 0x73, 0xfc, 0xbf, 0xe8, 0xdf, 0x7f, 0xfe, 0x10, 0x4a,
0x7d, 0xee, 0x92, 0x52, 0xa0, 0x62, 0xab, 0x67, 0x73, 0x1f, 0x36, 0x46, 0x7e, 0x33, 0xbb, 0x31,
0x03, 0x96, 0xc2, 0xa8, 0xdf, 0x4f, 0x92, 0x69, 0x4a, 0xaf, 0x1b, 0xd3, 0xb4, 0xc1, 0x98, 0x2c,
0xf2, 0x61, 0xc4, 0xf7, 0xde, 0x6a, 0xa0, 0x8f, 0xef, 0x00, 0x5c, 0x83, 0x95, 0xe4, 0xfb, 0x05,
0x3b, 0x63, 0xfc, 0x82, 0xe9, 0x05, 0xd4, 0xe1, 0x51, 0x02, 0xb4, 0x7f, 0x0d, 0x7c, 0x2e, 0x48,
0xe8, 0x1a, 0x1a, 0x50, 0x4b, 0x90, 0xc3, 0xc8, 0xf3, 0x5d, 0x12, 0x9f, 0x7c, 0x47, 0x74, 0xd6,
0x6b, 0x77, 0x7b, 0xfa, 0x02, 0xd6, 0x61, 0x2b, 0xf1, 0x1c, 0xf1, 0x23, 0x41, 0x8e, 0xe4, 0x39,
0x5f, 0x11, 0x6b, 0xa0, 0xe7, 0x4f, 0x7d, 0x4f, 0x8e, 0xd0, 0x4b, 0xb8, 0x05, 0x38, 0x7a, 0x42,
0xe1, 0x65, 0xdc, 0x80, 0xb5, 0x5c, 0x74, 0xc7, 0x8f, 0x42, 0x7d, 0xf1, 0x06, 0x6c, 0xb1, 0x58,
0xc6, 0x01, 0xf5, 0xc8, 0x39, 0xd7, 0x97, 0xf6, 0x4e, 0x00, 0x27, 0xff, 0x77, 0x70, 0x1d, 0x56,
0xd3, 0xa7, 0x21, 0x91, 0x5b, 0xa8, 0x43, 0xcc, 0xf5, 0xd8, 0x40, 0xd7, 0x12, 0x6e, 0x29, 0xd4,
0xea, 0x4b, 0xef, 0x0d, 0xe9, 0x0b, 0x7b, 0xbf, 0x6b, 0xb0, 0x3a, 0xb2, 0xde, 0xb0, 0x0a, 0x90,
0x3e, 0x1d, 0x39, 0xc2, 0x4d, 0xf5, 0xc8, 0x6c, 0x11, 0x07, 0x92, 0xeb, 0x1a, 0x22, 0x54, 0x53,
0xa4, 0x15, 0x04, 0x3e, 0x75, 0x9c, 0x58, 0x5f, 0x48, 0x4a, 0x4d, 0xb1, 0x63, 0xce, 0x07, 0x29,
0xa8, 0x24, 0xc8, 0x05, 0x3e, 0x63, 0x4e, 0x10, 0xe8, 0x25, 0xdc, 0x84, 0xf5, 0x7c, 0x68, 0x0a,
0x97, 0x0f, 0xde, 0x16, 0xa1, 0xd6, 0x62, 0x71, 0x56, 0x4c, 0x47, 0xf0, 0xa4, 0x0f, 0x3c, 0x36,
0x40, 0x1b, 0x36, 0xc7, 0x66, 0x3f, 0xe3, 0xbc, 0x63, 0xcd, 0x7b, 0x55, 0xa8, 0x1b, 0xd6, 0x8c,
0x3f, 0x7c, 0xb3, 0x80, 0x27, 0xb0, 0x36, 0xb6, 0x30, 0x71, 0xc7, 0x9a, 0xb7, 0x9a, 0xeb, 0x86,
0x35, 0x63, 0xc3, 0x9a, 0x05, 0xfc, 0x19, 0x9e, 0xcc, 0xdc, 0x4e, 0xf8, 0x91, 0x75, 0xbf, 0xdd,
0x58, 0x37, 0xad, 0x3b, 0x57, 0x9c, 0x59, 0xc0, 0x57, 0x50, 0x9b, 0xb6, 0x1a, 0x50, 0x9d, 0x9e,
0xbf, 0x31, 0xea, 0x3b, 0xd6, 0xdc, 0xad, 0x53, 0xc0, 0xaf, 0x61, 0x25, 0x37, 0x75, 0xf8, 0xc4,
0x9a, 0x35, 0x83, 0xf5, 0x9a, 0x35, 0x65, 0x9e, 0xcd, 0xc2, 0xe1, 0x97, 0x7f, 0x5d, 0x35, 0xb4,
0xcb, 0xab, 0x86, 0xf6, 0xcf, 0x55, 0x43, 0xfb, 0xf3, 0xba, 0x51, 0xb8, 0xbc, 0x6e, 0x14, 0xfe,
0xbe, 0x6e, 0x14, 0x7e, 0x30, 0xef, 0x7e, 0xa7, 0x3c, 0x5d, 0x54, 0x5f, 0x9f, 0xfe, 0x17, 0x00,
0x00, 0xff, 0xff, 0x9f, 0xdf, 0x6e, 0x85, 0x80, 0x0a, 0x00, 0x00,
}
func (m *GetSubscriptionRequest) Marshal() (dAtA []byte, err error) {
@ -1184,35 +1178,25 @@ func (m *GetSubscriptionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)
dAtA[i] = 0
}
i--
dAtA[i] = 0x58
dAtA[i] = 0x48
}
if len(m.UserEmail) > 0 {
i -= len(m.UserEmail)
copy(dAtA[i:], m.UserEmail)
i = encodeVarintPaymentservice(dAtA, i, uint64(len(m.UserEmail)))
i--
dAtA[i] = 0x52
dAtA[i] = 0x42
}
if len(m.RequestedAnyName) > 0 {
i -= len(m.RequestedAnyName)
copy(dAtA[i:], m.RequestedAnyName)
i = encodeVarintPaymentservice(dAtA, i, uint64(len(m.RequestedAnyName)))
i--
dAtA[i] = 0x4a
dAtA[i] = 0x3a
}
if m.PaymentMethod != 0 {
i = encodeVarintPaymentservice(dAtA, i, uint64(m.PaymentMethod))
i--
dAtA[i] = 0x40
}
if m.NextTierEnds != 0 {
i = encodeVarintPaymentservice(dAtA, i, uint64(m.NextTierEnds))
i--
dAtA[i] = 0x38
}
if m.NextTier != 0 {
i = encodeVarintPaymentservice(dAtA, i, uint64(m.NextTier))
i--
dAtA[i] = 0x30
}
if m.IsAutoRenew {
@ -1749,12 +1733,6 @@ func (m *GetSubscriptionResponse) Size() (n int) {
if m.IsAutoRenew {
n += 2
}
if m.NextTier != 0 {
n += 1 + sovPaymentservice(uint64(m.NextTier))
}
if m.NextTierEnds != 0 {
n += 1 + sovPaymentservice(uint64(m.NextTierEnds))
}
if m.PaymentMethod != 0 {
n += 1 + sovPaymentservice(uint64(m.PaymentMethod))
}
@ -2300,44 +2278,6 @@ func (m *GetSubscriptionResponse) Unmarshal(dAtA []byte) error {
}
m.IsAutoRenew = bool(v != 0)
case 6:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field NextTier", wireType)
}
m.NextTier = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowPaymentservice
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.NextTier |= SubscriptionTier(b&0x7F) << shift
if b < 0x80 {
break
}
}
case 7:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field NextTierEnds", wireType)
}
m.NextTierEnds = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowPaymentservice
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.NextTierEnds |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
case 8:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field PaymentMethod", wireType)
}
@ -2356,7 +2296,7 @@ func (m *GetSubscriptionResponse) Unmarshal(dAtA []byte) error {
break
}
}
case 9:
case 7:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field RequestedAnyName", wireType)
}
@ -2388,7 +2328,7 @@ func (m *GetSubscriptionResponse) Unmarshal(dAtA []byte) error {
}
m.RequestedAnyName = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 10:
case 8:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field UserEmail", wireType)
}
@ -2420,7 +2360,7 @@ func (m *GetSubscriptionResponse) Unmarshal(dAtA []byte) error {
}
m.UserEmail = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 11:
case 9:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field SubscribeToNewsletter", wireType)
}

View file

@ -1,12 +1,11 @@
syntax = "proto3";
option go_package = "paymentservice/paymentserviceproto";
// TODO: no marshalling avail :-(
//import "google/protobuf/timestamp.proto";
// TODO:
// later we will have an interface to enumerate all available tiers
// it's a bad idea to list them here, because interface will be changed often
enum SubscriptionTier {
TierUnknown = 0;
// "free" tier
TierExplorer = 1;
@ -18,16 +17,17 @@ enum SubscriptionTier {
// these are the real tiers:
TierBuilder1Year = 4;
TierCoCreator1Year = 5;
TierBuilderPlus = 6;
TierAnytypeTeam = 7;
}
enum SubscriptionStatus {
StatusUnknown = 0;
// payment is still pending
// this will be the status until the payment is confirmed or N is elapsed and no payment is received
// in the last case the subscription will switch to Status_Unknown or Status_Active
StatusPending = 1;
StatusActive = 2;
}
@ -36,9 +36,10 @@ enum PaymentMethod {
MethodCrypto = 1;
MethodApplePay = 2;
MethodGooglePay = 3;
MethodAppleInapp = 4;
MethodGoogleInapp = 5;
}
// 1
message GetSubscriptionRequest {
// in the following format: "A5k2d9sFZw84yisTxRnz2bPRd1YPfVfhxqymZ6yESprFTG65"
// you can get it with Account().SignKey.GetPublic().Account()
@ -48,7 +49,6 @@ message GetSubscriptionRequest {
message GetSubscriptionRequestSigned {
// GetSubscriptionRequest
bytes payload = 1;
// this is payload signed with payload.ownerAnyID
bytes signature = 2;
}
@ -56,45 +56,27 @@ message GetSubscriptionRequestSigned {
message GetSubscriptionResponse {
SubscriptionTier tier = 1;
SubscriptionStatus status = 2;
//TODO: use google.protobuf.Timestamp and marshall it
uint64 dateStarted = 3;
uint64 dateEnds = 4;
bool isAutoRenew = 5;
// if client has "downgraded" - he is still able to use the service until the end of the period
// (dateEnds) but then he will be on nextTier until nextTierEnds
//
// if Tier0_Unknown -> then no next tier
SubscriptionTier nextTier = 6;
uint64 nextTierEnds = 7;
PaymentMethod paymentMethod = 8;
string requestedAnyName = 9;
PaymentMethod paymentMethod = 6;
string requestedAnyName = 7;
// if user verified her email OR provided it while buying a subscription, it will be here
string userEmail = 10;
bool subscribeToNewsletter = 11;
string userEmail = 8;
bool subscribeToNewsletter = 9;
}
// 2
message BuySubscriptionRequest {
// in the following format: "A5k2d9sFZw84yisTxRnz2bPRd1YPfVfhxqymZ6yESprFTG65"
// you can get it with Account().SignKey.GetPublic().Account()
string ownerAnyId = 1;
// this is the owner's main EOA (Externally Owned Account) address
// not AccountAbstraction's SCW (Smart Contract Wallet) address!
// this is required to reserve a name for the owner (later that is done by user)
// in the following format: "0x7a250d5630b4cf539739df2c5dacb4c659f2488d"
string ownerEthAddress = 2;
SubscriptionTier requestedTier = 3;
PaymentMethod paymentMethod = 4;
// if empty - then no name requested
// if non-empty - PP node will register that name on behalf of the user
string requestedAnyName = 5;
@ -103,7 +85,6 @@ message BuySubscriptionRequest {
message BuySubscriptionRequestSigned {
// BuySubscriptionRequest
bytes payload = 1;
// this is payload signed with payload.ownerAnyID
bytes signature = 2;
}
@ -123,7 +104,6 @@ message GetSubscriptionPortalLinkRequest {
message GetSubscriptionPortalLinkRequestSigned {
// GetSubscriptionPortalLinkRequest
bytes payload = 1;
// this is payload signed with payload.ownerAnyID
bytes signature = 2;
}
@ -136,9 +116,7 @@ message GetVerificationEmailRequest {
// in the following format: "A5k2d9sFZw84yisTxRnz2bPRd1YPfVfhxqymZ6yESprFTG65"
// you can get it with Account().SignKey.GetPublic().Account()
string ownerAnyId = 1;
string email = 2;
bool subscribeToNewsletter = 3;
}
@ -149,7 +127,6 @@ message GetVerificationEmailResponse {
message GetVerificationEmailRequestSigned {
// GetVerificationEmailRequest
bytes payload = 1;
// this is payload signed with payload.ownerAnyID
bytes signature = 2;
}
@ -158,13 +135,12 @@ message VerifyEmailRequest {
// in the following format: "A5k2d9sFZw84yisTxRnz2bPRd1YPfVfhxqymZ6yESprFTG65"
// you can get it with Account().SignKey.GetPublic().Account()
string ownerAnyId = 1;
// this is the owner's main EOA (Externally Owned Account) address
// not AccountAbstraction's SCW (Smart Contract Wallet) address!
// this is required to reserve a name for the owner (later that is done by user)
// in the following format: "0x7a250d5630b4cf539739df2c5dacb4c659f2488d"
string ownerEthAddress = 2;
// code received in the email
string code = 3;
}
@ -175,7 +151,6 @@ message VerifyEmailResponse {
message VerifyEmailRequestSigned {
// VerifyEmailRequest
bytes payload = 1;
// this is payload signed with payload.ownerAnyID
bytes signature = 2;
}