-
Notifications
You must be signed in to change notification settings - Fork 0
/
userwatch_public.pb.go
3063 lines (2770 loc) · 124 KB
/
userwatch_public.pb.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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v4.25.1
// source: userwatch_public.proto
// Protocol buffer definitions used when interacting with Upollo's customer
// libraries.
package upollo
import (
postaladdress "google.golang.org/genproto/googleapis/type/postaladdress"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Events relating to general user activity in the application.
type EventType int32
const (
EventType_EVENT_TYPE_UNSPECIFIED EventType = 0
// EVENT_TYPE_LOGIN should be sent immediately before a login attempt. The
// login may still fail due to invalid credentials, and this is fine because
// the EVENT_TYPE_LOGIN_SUCCESS is for when the login is actually successful.
EventType_EVENT_TYPE_LOGIN EventType = 1
// EVENT_TYPE_REGISTER should be sent immediately before a customer a customer
// attempts to register an account.
EventType_EVENT_TYPE_REGISTER EventType = 2
// EVENT_TYPE_ATTEMPT_PURCHASE should be sent immediately before a purchase.
// attempt You should track this event regardless of whether the purchase
// succeeds or fails. If the purchase succeeds, you should additionally track
// EVENT_TYPE_COMPLETE_PURCHASE.
EventType_EVENT_TYPE_ATTEMPT_PURCHASE EventType = 3
// EVENT_TYPE_COMPLETE_PURCHASE should be sent immediately after a successful
// purchase.
EventType_EVENT_TYPE_COMPLETE_PURCHASE EventType = 4
// EVENT_TYPE_ATTEMPT_REDEEM_OFFER should be sent immediately before an
// attempt to redeem an offer. You should track this event regardless of
// whether the redemption succeeds or fails. If the redemption succeeds,
// you should additionally track EVENT_TYPE_REDEEMED_OFFER.
EventType_EVENT_TYPE_ATTEMPT_REDEEM_OFFER EventType = 5
// EVENT_TYPE_REDEEMED_OFFER should be sent after the customer has
// successfully redeemed an offer.
EventType_EVENT_TYPE_REDEEMED_OFFER EventType = 6
// EVENT_TYPE_ADD_PAYMENT_METHOD should be sent immediately after the customer
// has successfully added a new payment method.
EventType_EVENT_TYPE_ADD_PAYMENT_METHOD EventType = 11
// EVENT_TYPE_START_SUBSCRIPTION should be sent immediately after a
// subscription has started.
EventType_EVENT_TYPE_START_SUBSCRIPTION EventType = 14
// EVENT_TYPE_END_SUBSCRIPTION should be sent immediately after a subscription
// is ended.
EventType_EVENT_TYPE_END_SUBSCRIPTION EventType = 15
// EVENT_TYPE_HEARTBEAT should be sent at regular intervals if no other events
// are sent. We recommend every 30 minutes.
EventType_EVENT_TYPE_HEARTBEAT EventType = 16
// EVENT_TYPE_PAGE_VISIT should be sent when a page or screen is loaded.
EventType_EVENT_TYPE_PAGE_VISIT EventType = 17
// EVENT_TYPE_LOGIN_SUCCESS should be sent immediately after a successful
// login. This does not include a token renewal.
EventType_EVENT_TYPE_LOGIN_SUCCESS EventType = 18
// EVENT_TYPE_REGISTER_SUCCESS should be sent after the customer has
// successfully registered a new account.
EventType_EVENT_TYPE_REGISTER_SUCCESS EventType = 19
// EVENT_TYPE_INTERNAL is used internally and you should not use it.
EventType_EVENT_TYPE_INTERNAL EventType = 20
// Deprecated fields: do not use.
//
// Deprecated: Marked as deprecated in userwatch_public.proto.
EventType_EVENT_TYPE_VERIFY_DEVICE EventType = 7
// Deprecated: Marked as deprecated in userwatch_public.proto.
EventType_EVENT_TYPE_REPORT_DEVICE EventType = 8
// Deprecated: Marked as deprecated in userwatch_public.proto.
EventType_EVENT_TYPE_ADD_TEAM_MEMBER EventType = 9
// Deprecated: Marked as deprecated in userwatch_public.proto.
EventType_EVENT_TYPE_REMOVE_TEAM_MEMBER EventType = 10
// Deprecated: Marked as deprecated in userwatch_public.proto.
EventType_EVENT_TYPE_ATTEMPT_DELETE_ACCOUNT EventType = 12
// Deprecated: Marked as deprecated in userwatch_public.proto.
EventType_EVENT_TYPE_CUSTOMER_DEFINED EventType = 13
)
// Enum value maps for EventType.
var (
EventType_name = map[int32]string{
0: "EVENT_TYPE_UNSPECIFIED",
1: "EVENT_TYPE_LOGIN",
2: "EVENT_TYPE_REGISTER",
3: "EVENT_TYPE_ATTEMPT_PURCHASE",
4: "EVENT_TYPE_COMPLETE_PURCHASE",
5: "EVENT_TYPE_ATTEMPT_REDEEM_OFFER",
6: "EVENT_TYPE_REDEEMED_OFFER",
11: "EVENT_TYPE_ADD_PAYMENT_METHOD",
14: "EVENT_TYPE_START_SUBSCRIPTION",
15: "EVENT_TYPE_END_SUBSCRIPTION",
16: "EVENT_TYPE_HEARTBEAT",
17: "EVENT_TYPE_PAGE_VISIT",
18: "EVENT_TYPE_LOGIN_SUCCESS",
19: "EVENT_TYPE_REGISTER_SUCCESS",
20: "EVENT_TYPE_INTERNAL",
7: "EVENT_TYPE_VERIFY_DEVICE",
8: "EVENT_TYPE_REPORT_DEVICE",
9: "EVENT_TYPE_ADD_TEAM_MEMBER",
10: "EVENT_TYPE_REMOVE_TEAM_MEMBER",
12: "EVENT_TYPE_ATTEMPT_DELETE_ACCOUNT",
13: "EVENT_TYPE_CUSTOMER_DEFINED",
}
EventType_value = map[string]int32{
"EVENT_TYPE_UNSPECIFIED": 0,
"EVENT_TYPE_LOGIN": 1,
"EVENT_TYPE_REGISTER": 2,
"EVENT_TYPE_ATTEMPT_PURCHASE": 3,
"EVENT_TYPE_COMPLETE_PURCHASE": 4,
"EVENT_TYPE_ATTEMPT_REDEEM_OFFER": 5,
"EVENT_TYPE_REDEEMED_OFFER": 6,
"EVENT_TYPE_ADD_PAYMENT_METHOD": 11,
"EVENT_TYPE_START_SUBSCRIPTION": 14,
"EVENT_TYPE_END_SUBSCRIPTION": 15,
"EVENT_TYPE_HEARTBEAT": 16,
"EVENT_TYPE_PAGE_VISIT": 17,
"EVENT_TYPE_LOGIN_SUCCESS": 18,
"EVENT_TYPE_REGISTER_SUCCESS": 19,
"EVENT_TYPE_INTERNAL": 20,
"EVENT_TYPE_VERIFY_DEVICE": 7,
"EVENT_TYPE_REPORT_DEVICE": 8,
"EVENT_TYPE_ADD_TEAM_MEMBER": 9,
"EVENT_TYPE_REMOVE_TEAM_MEMBER": 10,
"EVENT_TYPE_ATTEMPT_DELETE_ACCOUNT": 12,
"EVENT_TYPE_CUSTOMER_DEFINED": 13,
}
)
func (x EventType) Enum() *EventType {
p := new(EventType)
*p = x
return p
}
func (x EventType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (EventType) Descriptor() protoreflect.EnumDescriptor {
return file_userwatch_public_proto_enumTypes[0].Descriptor()
}
func (EventType) Type() protoreflect.EnumType {
return &file_userwatch_public_proto_enumTypes[0]
}
func (x EventType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use EventType.Descriptor instead.
func (EventType) EnumDescriptor() ([]byte, []int) {
return file_userwatch_public_proto_rawDescGZIP(), []int{0}
}
// The recommended action based on Upollo's analysis. See the other information
//
// in the AnalysisReponse for reasons behind the outcome.
type Outcome int32
const (
Outcome_OUTCOME_UNSPECIFIED Outcome = 0
// OUTCOME_DENY indicates the user should be denied access.
Outcome_OUTCOME_DENY Outcome = 1
// OUTCOME_CHALLENGE indicates there is something suspcious about the user, so
// they should be sent a challenge (e.g. SMS) to confirm their identiy.
Outcome_OUTCOME_CHALLENGE Outcome = 2
// OUTCOME_PERMIT indicates the user is genuine.
Outcome_OUTCOME_PERMIT Outcome = 3
Outcome_OUTCOME_OFFER Outcome = 4
Outcome_OUTCOME_LOG Outcome = 5
Outcome_OUTCOME_CUSTOMER_DEFINED Outcome = 6
)
// Enum value maps for Outcome.
var (
Outcome_name = map[int32]string{
0: "OUTCOME_UNSPECIFIED",
1: "OUTCOME_DENY",
2: "OUTCOME_CHALLENGE",
3: "OUTCOME_PERMIT",
4: "OUTCOME_OFFER",
5: "OUTCOME_LOG",
6: "OUTCOME_CUSTOMER_DEFINED",
}
Outcome_value = map[string]int32{
"OUTCOME_UNSPECIFIED": 0,
"OUTCOME_DENY": 1,
"OUTCOME_CHALLENGE": 2,
"OUTCOME_PERMIT": 3,
"OUTCOME_OFFER": 4,
"OUTCOME_LOG": 5,
"OUTCOME_CUSTOMER_DEFINED": 6,
}
)
func (x Outcome) Enum() *Outcome {
p := new(Outcome)
*p = x
return p
}
func (x Outcome) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Outcome) Descriptor() protoreflect.EnumDescriptor {
return file_userwatch_public_proto_enumTypes[1].Descriptor()
}
func (Outcome) Type() protoreflect.EnumType {
return &file_userwatch_public_proto_enumTypes[1]
}
func (x Outcome) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Outcome.Descriptor instead.
func (Outcome) EnumDescriptor() ([]byte, []int) {
return file_userwatch_public_proto_rawDescGZIP(), []int{1}
}
// protolint:disable ENUM_FIELD_NAMES_PREFIX
type FlagType int32
const (
FlagType_FLAG_TYPE_UNSPECIFIED FlagType = 0
// ACCOUNT_SHARING indicates that the same account is being shared by
// multiple people, typically on multiple devices.
FlagType_ACCOUNT_SHARING FlagType = 1
// ACCOUNT_SHARING_SAME_HOUSEHOLD indicates that the same account is being
// shared by multiple people in the same household, typically on multiple
// devices.
FlagType_ACCOUNT_SHARING_SAME_HOUSEHOLD FlagType = 2
// SUSPECTED_ACCOUNT_COMPROMISE indicates that the account may have been
// compromised, as there is suspcious activity associated with the account.
FlagType_SUSPECTED_ACCOUNT_COMPROMISE FlagType = 3
// CREDENTIAL_STUFFING indicates that the account has been used in a
// credential stuffing attack.
FlagType_CREDENTIAL_STUFFING FlagType = 4
// REPEATED_REDEMPTION indicates that the account has previous redeemed an
// offer.
FlagType_REPEATED_REDEMPTION FlagType = 5
// SUSPECTED_FRAUD indicates that there is suspected fraud associated with
// the account.
FlagType_SUSPECTED_FRAUD FlagType = 6
// REPEATED_SIGNUP indicates if the current event type is
// EventType_EVENT_TYPE_REGISTER and there has previously
// been an event of that type from this device or the email/phone
// has already been used.
FlagType_REPEATED_SIGNUP FlagType = 7
// SUSPECTED_BOT indicates that the account is suspected to be a bot.
FlagType_SUSPECTED_BOT FlagType = 8
FlagType_RATE_LIMITED_IP FlagType = 9
FlagType_RATE_LIMITED_DEVICE FlagType = 10
FlagType_BLACKLISTED_IP FlagType = 11
FlagType_BLACKLISTED_DEVICE FlagType = 12 // DEPRECATED
FlagType_ACCOUNT_COMPROMISE_NEW_LOCATION FlagType = 13
FlagType_ACCOUNT_COMPROMISE_NEW_DEVICE FlagType = 14
// The account is using a disposable email address.
FlagType_DISPOSABLE_EMAIL FlagType = 16
FlagType_USING_VPN FlagType = 17
FlagType_USING_TOR FlagType = 18
FlagType_DEVICE_BLOCKED_GLOBALLY FlagType = 19
FlagType_DEVICE_BLOCKED_FOR_THIS_USER FlagType = 20
// The email is invalid.
FlagType_INVALID_EMAIL FlagType = 21
// The phone number is invalid.
FlagType_INVALID_PHONE_NUMBER FlagType = 23
// The type of phone is invalid.
FlagType_INVALID_PHONE_TYPE FlagType = 22
// MULTIPLE_ACCOUNTS indicates that the same person is using multiple accounts
// typically on the same device.
FlagType_MULTIPLE_ACCOUNTS FlagType = 24
FlagType_ALREADY_USED_EMAIL FlagType = 25
FlagType_ALREADY_USED_PHONE FlagType = 26
// LIMITED_DEVICE_INFORMATION indicates that the device did not have
// sufficient information to perform a detailed assessment.
FlagType_LIMITED_DEVICE_INFORMATION FlagType = 27
FlagType_COMMERCIAL_USER FlagType = 28
FlagType_PAYMENT_NAME_DIFFERS FlagType = 29
// TRIALED_ON_OTHER_ACCOUNT indicates that the person is currently or has in
// meaningfully recent history trialed the product using a different account.
FlagType_TRIALED_ON_OTHER_ACCOUNT FlagType = 30
)
// Enum value maps for FlagType.
var (
FlagType_name = map[int32]string{
0: "FLAG_TYPE_UNSPECIFIED",
1: "ACCOUNT_SHARING",
2: "ACCOUNT_SHARING_SAME_HOUSEHOLD",
3: "SUSPECTED_ACCOUNT_COMPROMISE",
4: "CREDENTIAL_STUFFING",
5: "REPEATED_REDEMPTION",
6: "SUSPECTED_FRAUD",
7: "REPEATED_SIGNUP",
8: "SUSPECTED_BOT",
9: "RATE_LIMITED_IP",
10: "RATE_LIMITED_DEVICE",
11: "BLACKLISTED_IP",
12: "BLACKLISTED_DEVICE",
13: "ACCOUNT_COMPROMISE_NEW_LOCATION",
14: "ACCOUNT_COMPROMISE_NEW_DEVICE",
16: "DISPOSABLE_EMAIL",
17: "USING_VPN",
18: "USING_TOR",
19: "DEVICE_BLOCKED_GLOBALLY",
20: "DEVICE_BLOCKED_FOR_THIS_USER",
21: "INVALID_EMAIL",
23: "INVALID_PHONE_NUMBER",
22: "INVALID_PHONE_TYPE",
24: "MULTIPLE_ACCOUNTS",
25: "ALREADY_USED_EMAIL",
26: "ALREADY_USED_PHONE",
27: "LIMITED_DEVICE_INFORMATION",
28: "COMMERCIAL_USER",
29: "PAYMENT_NAME_DIFFERS",
30: "TRIALED_ON_OTHER_ACCOUNT",
}
FlagType_value = map[string]int32{
"FLAG_TYPE_UNSPECIFIED": 0,
"ACCOUNT_SHARING": 1,
"ACCOUNT_SHARING_SAME_HOUSEHOLD": 2,
"SUSPECTED_ACCOUNT_COMPROMISE": 3,
"CREDENTIAL_STUFFING": 4,
"REPEATED_REDEMPTION": 5,
"SUSPECTED_FRAUD": 6,
"REPEATED_SIGNUP": 7,
"SUSPECTED_BOT": 8,
"RATE_LIMITED_IP": 9,
"RATE_LIMITED_DEVICE": 10,
"BLACKLISTED_IP": 11,
"BLACKLISTED_DEVICE": 12,
"ACCOUNT_COMPROMISE_NEW_LOCATION": 13,
"ACCOUNT_COMPROMISE_NEW_DEVICE": 14,
"DISPOSABLE_EMAIL": 16,
"USING_VPN": 17,
"USING_TOR": 18,
"DEVICE_BLOCKED_GLOBALLY": 19,
"DEVICE_BLOCKED_FOR_THIS_USER": 20,
"INVALID_EMAIL": 21,
"INVALID_PHONE_NUMBER": 23,
"INVALID_PHONE_TYPE": 22,
"MULTIPLE_ACCOUNTS": 24,
"ALREADY_USED_EMAIL": 25,
"ALREADY_USED_PHONE": 26,
"LIMITED_DEVICE_INFORMATION": 27,
"COMMERCIAL_USER": 28,
"PAYMENT_NAME_DIFFERS": 29,
"TRIALED_ON_OTHER_ACCOUNT": 30,
}
)
func (x FlagType) Enum() *FlagType {
p := new(FlagType)
*p = x
return p
}
func (x FlagType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (FlagType) Descriptor() protoreflect.EnumDescriptor {
return file_userwatch_public_proto_enumTypes[2].Descriptor()
}
func (FlagType) Type() protoreflect.EnumType {
return &file_userwatch_public_proto_enumTypes[2]
}
func (x FlagType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use FlagType.Descriptor instead.
func (FlagType) EnumDescriptor() ([]byte, []int) {
return file_userwatch_public_proto_rawDescGZIP(), []int{2}
}
// The type of physical address.
type AddressType int32
const (
AddressType_ADDRESS_TYPE_UNSPECIFIED AddressType = 0
// The address is at a residential location.
AddressType_ADDRESS_TYPE_HOME AddressType = 1
// The address is at a work location.
AddressType_ADDRESS_TYPE_WORK AddressType = 2
AddressType_ADDRESS_TYPE_OTHER AddressType = 3
)
// Enum value maps for AddressType.
var (
AddressType_name = map[int32]string{
0: "ADDRESS_TYPE_UNSPECIFIED",
1: "ADDRESS_TYPE_HOME",
2: "ADDRESS_TYPE_WORK",
3: "ADDRESS_TYPE_OTHER",
}
AddressType_value = map[string]int32{
"ADDRESS_TYPE_UNSPECIFIED": 0,
"ADDRESS_TYPE_HOME": 1,
"ADDRESS_TYPE_WORK": 2,
"ADDRESS_TYPE_OTHER": 3,
}
)
func (x AddressType) Enum() *AddressType {
p := new(AddressType)
*p = x
return p
}
func (x AddressType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AddressType) Descriptor() protoreflect.EnumDescriptor {
return file_userwatch_public_proto_enumTypes[3].Descriptor()
}
func (AddressType) Type() protoreflect.EnumType {
return &file_userwatch_public_proto_enumTypes[3]
}
func (x AddressType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AddressType.Descriptor instead.
func (AddressType) EnumDescriptor() ([]byte, []int) {
return file_userwatch_public_proto_rawDescGZIP(), []int{3}
}
type DeviceClass int32
const (
// protolint:disable ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
// DEVICE_CLASS_DESKTOP indicates the device is a desktop computer.
DeviceClass_DEVICE_CLASS_DESKTOP DeviceClass = 0
// protolint:enable ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
// DEVICE_CLASS_MOBILE indicates the device is a mobile.
DeviceClass_DEVICE_CLASS_MOBILE DeviceClass = 1
// DEVICE_CLASS_TABLET indicates the device is a tablet.
DeviceClass_DEVICE_CLASS_TABLET DeviceClass = 2
// DEVICE_CLASS_GOODBOT indicates the "device" is actually a bot, but one
// that is typically allowed (such as the Googlebot web crawler).
DeviceClass_DEVICE_CLASS_GOODBOT DeviceClass = 3
// DEVICE_CLASS_BADBOT indicates the "device" is actually a bot, but one that
// is known for bad activity.
DeviceClass_DEVICE_CLASS_BADBOT DeviceClass = 4
DeviceClass_DEVICE_CLASS_UNKNOWN DeviceClass = 5
)
// Enum value maps for DeviceClass.
var (
DeviceClass_name = map[int32]string{
0: "DEVICE_CLASS_DESKTOP",
1: "DEVICE_CLASS_MOBILE",
2: "DEVICE_CLASS_TABLET",
3: "DEVICE_CLASS_GOODBOT",
4: "DEVICE_CLASS_BADBOT",
5: "DEVICE_CLASS_UNKNOWN",
}
DeviceClass_value = map[string]int32{
"DEVICE_CLASS_DESKTOP": 0,
"DEVICE_CLASS_MOBILE": 1,
"DEVICE_CLASS_TABLET": 2,
"DEVICE_CLASS_GOODBOT": 3,
"DEVICE_CLASS_BADBOT": 4,
"DEVICE_CLASS_UNKNOWN": 5,
}
)
func (x DeviceClass) Enum() *DeviceClass {
p := new(DeviceClass)
*p = x
return p
}
func (x DeviceClass) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DeviceClass) Descriptor() protoreflect.EnumDescriptor {
return file_userwatch_public_proto_enumTypes[4].Descriptor()
}
func (DeviceClass) Type() protoreflect.EnumType {
return &file_userwatch_public_proto_enumTypes[4]
}
func (x DeviceClass) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use DeviceClass.Descriptor instead.
func (DeviceClass) EnumDescriptor() ([]byte, []int) {
return file_userwatch_public_proto_rawDescGZIP(), []int{4}
}
type ChallengeType int32
const (
ChallengeType_CHALLENGE_TYPE_UNSPECIFIED ChallengeType = 0
ChallengeType_CHALLENGE_TYPE_WEBAUTHN ChallengeType = 1
ChallengeType_CHALLENGE_TYPE_SMS ChallengeType = 2
ChallengeType_CHALLENGE_TYPE_EMAIL ChallengeType = 3
ChallengeType_CHALLENGE_TYPE_BANKSY ChallengeType = 4
)
// Enum value maps for ChallengeType.
var (
ChallengeType_name = map[int32]string{
0: "CHALLENGE_TYPE_UNSPECIFIED",
1: "CHALLENGE_TYPE_WEBAUTHN",
2: "CHALLENGE_TYPE_SMS",
3: "CHALLENGE_TYPE_EMAIL",
4: "CHALLENGE_TYPE_BANKSY",
}
ChallengeType_value = map[string]int32{
"CHALLENGE_TYPE_UNSPECIFIED": 0,
"CHALLENGE_TYPE_WEBAUTHN": 1,
"CHALLENGE_TYPE_SMS": 2,
"CHALLENGE_TYPE_EMAIL": 3,
"CHALLENGE_TYPE_BANKSY": 4,
}
)
func (x ChallengeType) Enum() *ChallengeType {
p := new(ChallengeType)
*p = x
return p
}
func (x ChallengeType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ChallengeType) Descriptor() protoreflect.EnumDescriptor {
return file_userwatch_public_proto_enumTypes[5].Descriptor()
}
func (ChallengeType) Type() protoreflect.EnumType {
return &file_userwatch_public_proto_enumTypes[5]
}
func (x ChallengeType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ChallengeType.Descriptor instead.
func (ChallengeType) EnumDescriptor() ([]byte, []int) {
return file_userwatch_public_proto_rawDescGZIP(), []int{5}
}
// Email provider is determined by looking up MX records and
// extracting the domains from highest priority MX record.
type EmailProvider int32
const (
// Unspecified is returned if the email address is invalid
//
// or if no specific email provider can be determined. This is a catch all.
EmailProvider_EMAIL_PROVIDER_UNSPECIFIED EmailProvider = 0
// self hosted occurs when the email domain and mx record domain match
EmailProvider_EMAIL_PROVIDER_SELFHOSTED EmailProvider = 1
// Below here are specific providers that can be determined from MX records
// pphosted
EmailProvider_EMAIL_PROVIDER_PPHOSTED EmailProvider = 2
// Google
EmailProvider_EMAIL_PROVIDER_GOOGLE EmailProvider = 3
// Outlook
EmailProvider_EMAIL_PROVIDER_OUTLOOK EmailProvider = 4
// CISCO
EmailProvider_EMAIL_PROVIDER_IPHMX EmailProvider = 5
// AMAZON
EmailProvider_EMAIL_PROVIDER_AMAZON EmailProvider = 6
// APPLE
EmailProvider_EMAIL_PROVIDER_APPLE EmailProvider = 7
// MIMECAST
EmailProvider_EMAIL_PROVIDER_MIMECAST EmailProvider = 8
// ALIBABA
EmailProvider_EMAIL_PROVIDER_ALIBABA EmailProvider = 9
// protonmail.ch
EmailProvider_EMAIL_PROVIDER_PROTONMAIL EmailProvider = 10
// yahoodns.net
EmailProvider_EMAIL_PROVIDER_YAHOO EmailProvider = 11
// prodigy.net
EmailProvider_EMAIL_PROVIDER_INFINITUM EmailProvider = 12
// qq.com
EmailProvider_EMAIL_PROVIDER_QQ EmailProvider = 13
// cloudfilter.net
EmailProvider_EMAIL_PROVIDER_CLOUDFILTER EmailProvider = 14
// icloud.com
EmailProvider_EMAIL_PROVIDER_ICLOUD EmailProvider = 15
// mail.com
EmailProvider_EMAIL_PROVIDER_MAIL EmailProvider = 16
// ppe-hosted.com
EmailProvider_EMAIL_PROVIDER_PPEHOSTED EmailProvider = 17
// mail.ru
EmailProvider_EMAIL_PROVIDER_MAILRU EmailProvider = 18
// messagelabs.com.
EmailProvider_EMAIL_PROVIDER_MESSAGELABS EmailProvider = 19
// cscdns.net.
EmailProvider_EMAIL_PROVIDER_CSCDNS EmailProvider = 20
// mailerhost.net.
EmailProvider_EMAIL_PROVIDER_MAILERHOST EmailProvider = 21
// barracudanetworks.com.
EmailProvider_EMAIL_PROVIDER_BARRACUDANETWORKS EmailProvider = 22
// mxrecord.io.
EmailProvider_EMAIL_PROVIDER_CLOUDFLARE EmailProvider = 23
// fireeyecloud.com
EmailProvider_EMAIL_PROVIDER_FIREEYE EmailProvider = 24
// microsoft.com. this is a different MX record to outlook
EmailProvider_EMAIL_PROVIDER_MICROSOFT EmailProvider = 25
// hostedemail.com.
EmailProvider_EMAIL_PROVIDER_HOSTEDEMAIL EmailProvider = 26
// zoho.com.
EmailProvider_EMAIL_PROVIDER_ZOHO EmailProvider = 27
// trendmicro.com.
EmailProvider_EMAIL_PROVIDER_TRENDMICRO EmailProvider = 28
// above.com.
EmailProvider_EMAIL_PROVIDER_ABOVE EmailProvider = 29
// mailcontrol.com.
EmailProvider_EMAIL_PROVIDER_MAILCONTROL EmailProvider = 30
// centurylink.com.
EmailProvider_EMAIL_PROVIDER_CENTURYLINK EmailProvider = 31
// chartercom.com.
EmailProvider_EMAIL_PROVIDER_CHARTERCOM EmailProvider = 32
// gpphosted.com.
EmailProvider_EMAIL_PROVIDER_GPPHOSTED EmailProvider = 33
// frontbridge.com.
EmailProvider_EMAIL_PROVIDER_FRONTBRIDGE EmailProvider = 34
)
// Enum value maps for EmailProvider.
var (
EmailProvider_name = map[int32]string{
0: "EMAIL_PROVIDER_UNSPECIFIED",
1: "EMAIL_PROVIDER_SELFHOSTED",
2: "EMAIL_PROVIDER_PPHOSTED",
3: "EMAIL_PROVIDER_GOOGLE",
4: "EMAIL_PROVIDER_OUTLOOK",
5: "EMAIL_PROVIDER_IPHMX",
6: "EMAIL_PROVIDER_AMAZON",
7: "EMAIL_PROVIDER_APPLE",
8: "EMAIL_PROVIDER_MIMECAST",
9: "EMAIL_PROVIDER_ALIBABA",
10: "EMAIL_PROVIDER_PROTONMAIL",
11: "EMAIL_PROVIDER_YAHOO",
12: "EMAIL_PROVIDER_INFINITUM",
13: "EMAIL_PROVIDER_QQ",
14: "EMAIL_PROVIDER_CLOUDFILTER",
15: "EMAIL_PROVIDER_ICLOUD",
16: "EMAIL_PROVIDER_MAIL",
17: "EMAIL_PROVIDER_PPEHOSTED",
18: "EMAIL_PROVIDER_MAILRU",
19: "EMAIL_PROVIDER_MESSAGELABS",
20: "EMAIL_PROVIDER_CSCDNS",
21: "EMAIL_PROVIDER_MAILERHOST",
22: "EMAIL_PROVIDER_BARRACUDANETWORKS",
23: "EMAIL_PROVIDER_CLOUDFLARE",
24: "EMAIL_PROVIDER_FIREEYE",
25: "EMAIL_PROVIDER_MICROSOFT",
26: "EMAIL_PROVIDER_HOSTEDEMAIL",
27: "EMAIL_PROVIDER_ZOHO",
28: "EMAIL_PROVIDER_TRENDMICRO",
29: "EMAIL_PROVIDER_ABOVE",
30: "EMAIL_PROVIDER_MAILCONTROL",
31: "EMAIL_PROVIDER_CENTURYLINK",
32: "EMAIL_PROVIDER_CHARTERCOM",
33: "EMAIL_PROVIDER_GPPHOSTED",
34: "EMAIL_PROVIDER_FRONTBRIDGE",
}
EmailProvider_value = map[string]int32{
"EMAIL_PROVIDER_UNSPECIFIED": 0,
"EMAIL_PROVIDER_SELFHOSTED": 1,
"EMAIL_PROVIDER_PPHOSTED": 2,
"EMAIL_PROVIDER_GOOGLE": 3,
"EMAIL_PROVIDER_OUTLOOK": 4,
"EMAIL_PROVIDER_IPHMX": 5,
"EMAIL_PROVIDER_AMAZON": 6,
"EMAIL_PROVIDER_APPLE": 7,
"EMAIL_PROVIDER_MIMECAST": 8,
"EMAIL_PROVIDER_ALIBABA": 9,
"EMAIL_PROVIDER_PROTONMAIL": 10,
"EMAIL_PROVIDER_YAHOO": 11,
"EMAIL_PROVIDER_INFINITUM": 12,
"EMAIL_PROVIDER_QQ": 13,
"EMAIL_PROVIDER_CLOUDFILTER": 14,
"EMAIL_PROVIDER_ICLOUD": 15,
"EMAIL_PROVIDER_MAIL": 16,
"EMAIL_PROVIDER_PPEHOSTED": 17,
"EMAIL_PROVIDER_MAILRU": 18,
"EMAIL_PROVIDER_MESSAGELABS": 19,
"EMAIL_PROVIDER_CSCDNS": 20,
"EMAIL_PROVIDER_MAILERHOST": 21,
"EMAIL_PROVIDER_BARRACUDANETWORKS": 22,
"EMAIL_PROVIDER_CLOUDFLARE": 23,
"EMAIL_PROVIDER_FIREEYE": 24,
"EMAIL_PROVIDER_MICROSOFT": 25,
"EMAIL_PROVIDER_HOSTEDEMAIL": 26,
"EMAIL_PROVIDER_ZOHO": 27,
"EMAIL_PROVIDER_TRENDMICRO": 28,
"EMAIL_PROVIDER_ABOVE": 29,
"EMAIL_PROVIDER_MAILCONTROL": 30,
"EMAIL_PROVIDER_CENTURYLINK": 31,
"EMAIL_PROVIDER_CHARTERCOM": 32,
"EMAIL_PROVIDER_GPPHOSTED": 33,
"EMAIL_PROVIDER_FRONTBRIDGE": 34,
}
)
func (x EmailProvider) Enum() *EmailProvider {
p := new(EmailProvider)
*p = x
return p
}
func (x EmailProvider) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (EmailProvider) Descriptor() protoreflect.EnumDescriptor {
return file_userwatch_public_proto_enumTypes[6].Descriptor()
}
func (EmailProvider) Type() protoreflect.EnumType {
return &file_userwatch_public_proto_enumTypes[6]
}
func (x EmailProvider) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use EmailProvider.Descriptor instead.
func (EmailProvider) EnumDescriptor() ([]byte, []int) {
return file_userwatch_public_proto_rawDescGZIP(), []int{6}
}
// A reason why the email address is not valid.
type EmailInvalidReason int32
const (
EmailInvalidReason_EMAIL_INVALID_REASON_UNSPECIFIED EmailInvalidReason = 0
// EMAIL_INVALID_REASON_FORMAT indicates the email address is incorrectly
// formatted.
EmailInvalidReason_EMAIL_INVALID_REASON_FORMAT EmailInvalidReason = 1
// EMAIL_INVALID_REASON_INVALID_DOMAIN indicates the email address is from
// a domain that is invalid (e.g. doesn't exist).
EmailInvalidReason_EMAIL_INVALID_REASON_INVALID_DOMAIN EmailInvalidReason = 2
// EMAIL_INVALID_REASON_DISPOSABLE indicates the email address is a disposable
// email.
EmailInvalidReason_EMAIL_INVALID_REASON_DISPOSABLE EmailInvalidReason = 3
// EMAIL_INVALID_REASON_INVALID_USER indiciates the email address has an
// invalid user.
EmailInvalidReason_EMAIL_INVALID_REASON_INVALID_USER EmailInvalidReason = 4
)
// Enum value maps for EmailInvalidReason.
var (
EmailInvalidReason_name = map[int32]string{
0: "EMAIL_INVALID_REASON_UNSPECIFIED",
1: "EMAIL_INVALID_REASON_FORMAT",
2: "EMAIL_INVALID_REASON_INVALID_DOMAIN",
3: "EMAIL_INVALID_REASON_DISPOSABLE",
4: "EMAIL_INVALID_REASON_INVALID_USER",
}
EmailInvalidReason_value = map[string]int32{
"EMAIL_INVALID_REASON_UNSPECIFIED": 0,
"EMAIL_INVALID_REASON_FORMAT": 1,
"EMAIL_INVALID_REASON_INVALID_DOMAIN": 2,
"EMAIL_INVALID_REASON_DISPOSABLE": 3,
"EMAIL_INVALID_REASON_INVALID_USER": 4,
}
)
func (x EmailInvalidReason) Enum() *EmailInvalidReason {
p := new(EmailInvalidReason)
*p = x
return p
}
func (x EmailInvalidReason) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (EmailInvalidReason) Descriptor() protoreflect.EnumDescriptor {
return file_userwatch_public_proto_enumTypes[7].Descriptor()
}
func (EmailInvalidReason) Type() protoreflect.EnumType {
return &file_userwatch_public_proto_enumTypes[7]
}
func (x EmailInvalidReason) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use EmailInvalidReason.Descriptor instead.
func (EmailInvalidReason) EnumDescriptor() ([]byte, []int) {
return file_userwatch_public_proto_rawDescGZIP(), []int{7}
}
// The type of email address.
type EmailType int32
const (
EmailType_EMAIL_TYPE_UNSPECIFIED EmailType = 0
// EMAIL_TYPE_PUBLIC indicates the email address is publicly available, such
// as from Gmail, Yahoo, Hotmail etc.
EmailType_EMAIL_TYPE_PUBLIC EmailType = 1
// EMAIL_TYPE_DISPOSABLE indicates the email address is disposable.
EmailType_EMAIL_TYPE_DISPOSABLE EmailType = 2
// EMAIL_TYPE_COMPANY indicates the email address is from a company.
EmailType_EMAIL_TYPE_COMPANY EmailType = 3
// EMAIL_TYPE_OTHER indicates the email address is of a type not captured with
// the other values.
EmailType_EMAIL_TYPE_OTHER EmailType = 4
// EMAIL_TYPE_EDUCATION indicates the email address is from an educational
// instutition, e.g. email@stanford.edu.
EmailType_EMAIL_TYPE_EDUCATION EmailType = 5
// EMAIL_TYPE_NFP indicates the email address is from a non-profit.
EmailType_EMAIL_TYPE_NFP EmailType = 6
)
// Enum value maps for EmailType.
var (
EmailType_name = map[int32]string{
0: "EMAIL_TYPE_UNSPECIFIED",
1: "EMAIL_TYPE_PUBLIC",
2: "EMAIL_TYPE_DISPOSABLE",
3: "EMAIL_TYPE_COMPANY",
4: "EMAIL_TYPE_OTHER",
5: "EMAIL_TYPE_EDUCATION",
6: "EMAIL_TYPE_NFP",
}
EmailType_value = map[string]int32{
"EMAIL_TYPE_UNSPECIFIED": 0,
"EMAIL_TYPE_PUBLIC": 1,
"EMAIL_TYPE_DISPOSABLE": 2,
"EMAIL_TYPE_COMPANY": 3,
"EMAIL_TYPE_OTHER": 4,
"EMAIL_TYPE_EDUCATION": 5,
"EMAIL_TYPE_NFP": 6,
}
)
func (x EmailType) Enum() *EmailType {
p := new(EmailType)
*p = x
return p
}
func (x EmailType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (EmailType) Descriptor() protoreflect.EnumDescriptor {
return file_userwatch_public_proto_enumTypes[8].Descriptor()
}
func (EmailType) Type() protoreflect.EnumType {
return &file_userwatch_public_proto_enumTypes[8]
}
func (x EmailType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use EmailType.Descriptor instead.
func (EmailType) EnumDescriptor() ([]byte, []int) {
return file_userwatch_public_proto_rawDescGZIP(), []int{8}
}
// The type of phone line.
type PhoneLineType int32
const (
PhoneLineType_PHONE_LINE_TYPE_UNSPECIFIED PhoneLineType = 0
// PHONE_LINE_TYPE_MOBILE indicates a mobile phone.
PhoneLineType_PHONE_LINE_TYPE_MOBILE PhoneLineType = 1
// PHONE_LINE_TYPE_LANDLINE indicates a landline.
PhoneLineType_PHONE_LINE_TYPE_LANDLINE PhoneLineType = 2
// PHONE_LINE_TYPE_VOIP indicates the phone line is voice over IP (VOIP).
PhoneLineType_PHONE_LINE_TYPE_VOIP PhoneLineType = 3
// PHONE_LINE_TYPE_INVALID indicates the phone line is invalid.
PhoneLineType_PHONE_LINE_TYPE_INVALID PhoneLineType = 4
// PHONE_LINE_TYPE_PREPAID indicates the phone line is a pre-paid line.
PhoneLineType_PHONE_LINE_TYPE_PREPAID PhoneLineType = 5
// PHONE_LINE_TYPE_OTHER indicates the line is of a type not captured with
// the other values.
PhoneLineType_PHONE_LINE_TYPE_OTHER PhoneLineType = 6
)
// Enum value maps for PhoneLineType.
var (
PhoneLineType_name = map[int32]string{
0: "PHONE_LINE_TYPE_UNSPECIFIED",
1: "PHONE_LINE_TYPE_MOBILE",
2: "PHONE_LINE_TYPE_LANDLINE",
3: "PHONE_LINE_TYPE_VOIP",
4: "PHONE_LINE_TYPE_INVALID",
5: "PHONE_LINE_TYPE_PREPAID",
6: "PHONE_LINE_TYPE_OTHER",
}
PhoneLineType_value = map[string]int32{
"PHONE_LINE_TYPE_UNSPECIFIED": 0,
"PHONE_LINE_TYPE_MOBILE": 1,
"PHONE_LINE_TYPE_LANDLINE": 2,
"PHONE_LINE_TYPE_VOIP": 3,
"PHONE_LINE_TYPE_INVALID": 4,
"PHONE_LINE_TYPE_PREPAID": 5,
"PHONE_LINE_TYPE_OTHER": 6,
}
)
func (x PhoneLineType) Enum() *PhoneLineType {
p := new(PhoneLineType)
*p = x
return p
}
func (x PhoneLineType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PhoneLineType) Descriptor() protoreflect.EnumDescriptor {
return file_userwatch_public_proto_enumTypes[9].Descriptor()
}
func (PhoneLineType) Type() protoreflect.EnumType {
return &file_userwatch_public_proto_enumTypes[9]
}
func (x PhoneLineType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PhoneLineType.Descriptor instead.
func (PhoneLineType) EnumDescriptor() ([]byte, []int) {
return file_userwatch_public_proto_rawDescGZIP(), []int{9}
}
// Reasons why a phone number is invalid.
type PhoneInvalidReason int32
const (
PhoneInvalidReason_PHONE_INVALID_REASON_UNSPECIFIED PhoneInvalidReason = 0
// PHONE_INVALID_REASON_NUMBER_FORMAT indicates the format of the phone
// number is not valid.
PhoneInvalidReason_PHONE_INVALID_REASON_NUMBER_FORMAT PhoneInvalidReason = 1
// PHONE_INVALID_REASON_INACTIVE_LINE indicates the phone line is inactive.
PhoneInvalidReason_PHONE_INVALID_REASON_INACTIVE_LINE PhoneInvalidReason = 2
// PHONE_INVALID_REASON_VOIP indicates the phone number is a VOIP number.
PhoneInvalidReason_PHONE_INVALID_REASON_VOIP PhoneInvalidReason = 3
// PHONE_INVALID_REASON_INVALID_TYPE indicates the type of phone number is
// not valid.
PhoneInvalidReason_PHONE_INVALID_REASON_INVALID_TYPE PhoneInvalidReason = 4
// PHONE_INVALID_REASON_DISPOSABLE_PHONE indicates the phone number is a
// known disposable number.
PhoneInvalidReason_PHONE_INVALID_REASON_DISPOSABLE_PHONE PhoneInvalidReason = 5
)
// Enum value maps for PhoneInvalidReason.
var (
PhoneInvalidReason_name = map[int32]string{
0: "PHONE_INVALID_REASON_UNSPECIFIED",
1: "PHONE_INVALID_REASON_NUMBER_FORMAT",
2: "PHONE_INVALID_REASON_INACTIVE_LINE",
3: "PHONE_INVALID_REASON_VOIP",
4: "PHONE_INVALID_REASON_INVALID_TYPE",
5: "PHONE_INVALID_REASON_DISPOSABLE_PHONE",
}
PhoneInvalidReason_value = map[string]int32{
"PHONE_INVALID_REASON_UNSPECIFIED": 0,
"PHONE_INVALID_REASON_NUMBER_FORMAT": 1,
"PHONE_INVALID_REASON_INACTIVE_LINE": 2,
"PHONE_INVALID_REASON_VOIP": 3,
"PHONE_INVALID_REASON_INVALID_TYPE": 4,
"PHONE_INVALID_REASON_DISPOSABLE_PHONE": 5,