passkit-ruby-grpc-sdk 1.1.105 → 1.1.162

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +21 -0
  3. data/README.md +38 -0
  4. data/lib/ct/scheduler/scheduler_pb.rb +2 -1
  5. data/lib/io/analytics/a_rpc_pb.rb +3 -2
  6. data/lib/io/analytics/a_rpc_services_pb.rb +3 -2
  7. data/lib/io/certificate/certificate_pb.rb +9 -2
  8. data/lib/io/common/attributes_pb.rb +2 -2
  9. data/lib/io/common/batch_update_pb.rb +20 -0
  10. data/lib/io/common/billing_pb.rb +1 -1
  11. data/lib/io/common/common_objects_pb.rb +4 -2
  12. data/lib/io/common/distribution_pb.rb +10 -2
  13. data/lib/io/common/expiry_pb.rb +1 -1
  14. data/lib/io/common/featured_actions_pb.rb +16 -0
  15. data/lib/io/common/filter_pb.rb +2 -1
  16. data/lib/io/common/integration_pb.rb +2 -1
  17. data/lib/io/common/links_pb.rb +1 -1
  18. data/lib/io/common/localization_pb.rb +1 -1
  19. data/lib/io/common/message_pb.rb +4 -3
  20. data/lib/io/common/metrics_pb.rb +2 -2
  21. data/lib/io/common/note_pb.rb +1 -1
  22. data/lib/io/common/operation_pb.rb +1 -1
  23. data/lib/io/common/pagination_pb.rb +2 -1
  24. data/lib/io/common/pass_pb.rb +4 -2
  25. data/lib/io/common/personal_pb.rb +1 -1
  26. data/lib/io/common/project_pb.rb +2 -2
  27. data/lib/io/common/protocols_pb.rb +1 -1
  28. data/lib/io/common/proximity_pb.rb +2 -1
  29. data/lib/io/common/reporting_pb.rb +2 -1
  30. data/lib/io/common/semantics_pb.rb +26 -0
  31. data/lib/io/common/template_pb.rb +6 -2
  32. data/lib/io/common/tracking_pb.rb +1 -1
  33. data/lib/io/common/transaction_pb.rb +2 -1
  34. data/lib/io/common/useragent_pb.rb +1 -1
  35. data/lib/io/core/a_rpc_certificates_pb.rb +3 -2
  36. data/lib/io/core/a_rpc_certificates_services_pb.rb +20 -0
  37. data/lib/io/core/a_rpc_distribution_pb.rb +4 -2
  38. data/lib/io/core/a_rpc_distribution_services_pb.rb +12 -0
  39. data/lib/io/core/a_rpc_images_pb.rb +3 -2
  40. data/lib/io/core/a_rpc_images_services_pb.rb +24 -1
  41. data/lib/io/core/a_rpc_messages_pb.rb +2 -1
  42. data/lib/io/core/a_rpc_messages_services_pb.rb +5 -0
  43. data/lib/io/core/a_rpc_others_pb.rb +3 -2
  44. data/lib/io/core/a_rpc_others_services_pb.rb +50 -1
  45. data/lib/io/core/a_rpc_templates_pb.rb +3 -2
  46. data/lib/io/core/a_rpc_templates_services_pb.rb +42 -0
  47. data/lib/io/event_tickets/a_rpc_pb.rb +3 -2
  48. data/lib/io/event_tickets/a_rpc_services_pb.rb +47 -1
  49. data/lib/io/event_tickets/event_pb.rb +5 -2
  50. data/lib/io/event_tickets/production_pb.rb +4 -2
  51. data/lib/io/event_tickets/ticket_pb.rb +4 -2
  52. data/lib/io/event_tickets/ticket_type_pb.rb +2 -1
  53. data/lib/io/event_tickets/venue_pb.rb +4 -2
  54. data/lib/io/flights/a_rpc_pb.rb +3 -2
  55. data/lib/io/flights/a_rpc_services_pb.rb +23 -22
  56. data/lib/io/flights/airport_pb.rb +4 -2
  57. data/lib/io/flights/barcode_pb.rb +14 -2
  58. data/lib/io/flights/boarding_pass_pb.rb +3 -2
  59. data/lib/io/flights/cabin_codes/cabin_codes_pb.rb +1 -1
  60. data/lib/io/flights/carrier_pb.rb +2 -1
  61. data/lib/io/flights/flight_designator_pb.rb +4 -8
  62. data/lib/io/flights/flight_pb.rb +4 -5
  63. data/lib/io/flights/passenger_pb.rb +3 -2
  64. data/lib/io/image/image_pb.rb +3 -2
  65. data/lib/io/member/a_rpc_pb.rb +4 -2
  66. data/lib/io/member/a_rpc_services_pb.rb +50 -18
  67. data/lib/io/member/event_pb.rb +2 -2
  68. data/lib/io/member/member_events_pb.rb +2 -1
  69. data/lib/io/member/member_pb.rb +3 -2
  70. data/lib/io/member/program_pb.rb +2 -1
  71. data/lib/io/member/tier_pb.rb +2 -1
  72. data/lib/io/raw/a_rpc_pb.rb +3 -2
  73. data/lib/io/raw/a_rpc_services_pb.rb +14 -1
  74. data/lib/io/raw/pass_pb.rb +2 -1
  75. data/lib/io/raw/project_pb.rb +2 -1
  76. data/lib/io/scheduler/a_rpc_pb.rb +3 -2
  77. data/lib/io/scheduler/a_rpc_services_pb.rb +8 -0
  78. data/lib/io/scheduler/scheduler_pb.rb +1 -1
  79. data/lib/io/single_use_coupons/a_rpc_pb.rb +3 -2
  80. data/lib/io/single_use_coupons/a_rpc_services_pb.rb +33 -1
  81. data/lib/io/single_use_coupons/campaign_pb.rb +2 -1
  82. data/lib/io/single_use_coupons/coupon_pb.rb +2 -1
  83. data/lib/io/single_use_coupons/offer_pb.rb +3 -2
  84. data/lib/io/user/user_pb.rb +4 -2
  85. data/lib/protoc-gen-openapiv2/options/annotations_pb.rb +12 -0
  86. data/lib/protoc-gen-openapiv2/options/openapiv2_pb.rb +11 -0
  87. metadata +47 -6
@@ -3,6 +3,7 @@
3
3
  # source: io/member/tier.proto
4
4
 
5
5
  require 'google/protobuf'
6
+ require 'protoc-gen-openapiv2/options/annotations_pb'
6
7
 
7
8
  require 'google/protobuf/timestamp_pb'
8
9
  require 'io/common/localization_pb'
@@ -12,7 +13,7 @@ require 'io/common/expiry_pb'
12
13
 
13
14
  descriptor_data = "\n\x14io/member/tier.proto\x12\x07members\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x1cio/common/localization.proto\x1a\x1eio/common/common_objects.proto\x1a\x16io/common/expiry.proto\"\xa3\x06\n\x04Tier\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\ttierIndex\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12*\n\rlocalizedName\x18\x04 \x01(\x0b\x32\x13.io.LocalizedString\x12\x19\n\x11secondaryTierName\x18\x05 \x01(\t\x12\x37\n\x1alocalizedSecondaryTierName\x18\x06 \x01(\x0b\x32\x13.io.LocalizedString\x12\x11\n\tprogramId\x18\x07 \x01(\t\x12\x16\n\x0epassTemplateId\x18\x08 \x01(\t\x12\x1a\n\x12tierUpgradeMessage\x18\t \x01(\t\x12\x38\n\x1blocalizedTierUpgradeMessage\x18\n \x01(\x0b\x32\x13.io.LocalizedString\x12\x1c\n\x14tierDowngradeMessage\x18\x0b \x01(\t\x12:\n\x1dlocalizedTierDowngradeMessage\x18\x0c \x01(\x0b\x32\x13.io.LocalizedString\x12+\n\x07\x63reated\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07updated\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0fpointsOverdrawn\x18\x0f \x01(\x08\x12 \n\x18secondaryPointsOverdrawn\x18\x10 \x01(\x08\x12*\n\x0e\x65xpirySettings\x18\x11 \x01(\x0b\x32\x12.io.ExpirySettings\x12\x10\n\x08timezone\x18\x12 \x01(\t\x12&\n\x12\x61llowTierEnrolment\x18\x13 \x01(\x0b\x32\n.io.PkBool\x12\x11\n\tshortCode\x18\x14 \x01(\t:\x84\x01\x92\x41\x80\x01\n~*\x04Tier2ATier allows a company to override certain details in the program.\xd2\x01\x02id\xd2\x01\ttierIndex\xd2\x01\tprogramId\xd2\x01\x04name\xd2\x01\x0epassTemplateId\"5\n\x10TierRequestInput\x12\x11\n\tprogramId\x18\x01 \x01(\t\x12\x0e\n\x06tierId\x18\x02 \x01(\tB_\n\x18\x63om.passkit.grpc.MembersZ,stash.passkit.com/io/model/sdk/go/io/members\xaa\x02\x14PassKit.Grpc.Membersb\x06proto3"
14
15
 
15
- pool = Google::Protobuf::DescriptorPool.generated_pool
16
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
16
17
  pool.add_serialized_file(descriptor_data)
17
18
 
18
19
  module Members
@@ -3,6 +3,7 @@
3
3
  # source: io/raw/a_rpc.proto
4
4
 
5
5
  require 'google/protobuf'
6
+ require 'protoc-gen-openapiv2/options/annotations_pb'
6
7
 
7
8
  require 'google/protobuf/empty_pb'
8
9
  require 'google/api/annotations_pb'
@@ -11,9 +12,9 @@ require 'io/raw/project_pb'
11
12
  require 'io/raw/pass_pb'
12
13
 
13
14
 
14
- descriptor_data = "\n\x12io/raw/a_rpc.proto\x12\x03raw\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1eio/common/common_objects.proto\x1a\x14io/raw/project.proto\x1a\x11io/raw/pass.proto\x1a.protoc-gen-openapiv2/options/annotations.proto2\xd8\x0f\n\x03Raw\x12\x7f\n\x11\x63reatePassProject\x12\x10.raw.PassProject\x1a\x06.io.Id\"P\x92\x41\x32\n\x03Raw\x12\x13\x43reate Pass Project\x1a\x16\x43reates a Pass Project\x82\xd3\xe4\x93\x02\x15\"\x10/raw/passProject:\x01*\x12\x93\x01\n\x11updatePassProject\x12\x10.raw.PassProject\x1a\x10.raw.PassProject\"Z\x92\x41<\n\x03Raw\x12\x13Update Pass Project\x1a Updates an existing Pass Project\x82\xd3\xe4\x93\x02\x15\x1a\x10/raw/passProject:\x01*\x12\x82\x01\n\x0egetPassProject\x12\x06.io.Id\x1a\x10.raw.PassProject\"V\x92\x41\x36\n\x03Raw\x12\x10Get Pass Project\x1a\x1dGets an existing Pass Project\x82\xd3\xe4\x93\x02\x17\x12\x15/raw/passProject/{id}\x12\x94\x01\n\x0f\x63opyPassProject\x12\x1b.raw.PassProjectCopyRequest\x1a\x06.io.Id\"\\\x92\x41\x39\n\x03Raw\x12\x11\x43opy Pass Project\x1a\x1f\x43opies an existing Pass Project\x82\xd3\xe4\x93\x02\x1a\"\x15/raw/passProject/copy:\x01*\x12\x84\x02\n\x11\x64\x65letePassProject\x12\x06.io.Id\x1a\x16.google.protobuf.Empty\"\xce\x01\x92\x41\xad\x01\n\x03Raw\x12\x13\x44\x65lete Pass Project\x1a\x90\x01\x44\x65letes an existing Pass Project by id. Deleting a Pass Project results in all passes being invalidated and removed. Needs to be used with care.\x82\xd3\xe4\x93\x02\x17*\x15/raw/passProject/{id}\x12\x65\n\ncreatePass\x12\t.raw.Pass\x1a\x06.io.Id\"D\x92\x41-\n\x03Raw\x12\x0b\x43reate Pass\x1a\x19\x43reates a new Pass record\x82\xd3\xe4\x93\x02\x0e\"\t/raw/pass:\x01*\x12k\n\nupdatePass\x12\t.raw.Pass\x1a\x06.io.Id\"J\x92\x41\x33\n\x03Raw\x12\x0bUpdate Pass\x1a\x1fUpdates an existing Pass record\x82\xd3\xe4\x93\x02\x0e\x1a\t/raw/pass:\x01*\x12\x92\x01\n\x11streamPassUpdates\x12\t.raw.Pass\x1a\x06.io.Id\"f\x92\x41\x63\n\x03Raw\x12\x32Stream Pass Updates (official SDK\'s only, no REST)\x1a(Updates existing Pass records via stream(\x01\x30\x01\x12\x64\n\x0bgetPassById\x12\x06.io.Id\x1a\t.raw.Pass\"B\x92\x41)\n\x03Raw\x12\x0eGet Pass by ID\x1a\x12Gets a pass record\x82\xd3\xe4\x93\x02\x10\x12\x0e/raw/pass/{id}\x12\xc3\x01\n\x13getPassByExternalId\x12\".raw.PassRecordByExternalIdRequest\x1a\t.raw.Pass\"}\x92\x41\x41\n\x03Raw\x12\x17Get Pass by External ID\x1a!Gets a pass record by External ID\x82\xd3\xe4\x93\x02\x33\x12\x31/raw/pass/externalId/{passProjectId}/{externalId}\x12v\n\ndeletePass\x12\t.raw.Pass\x1a\x16.google.protobuf.Empty\"E\x92\x41)\n\x03Raw\x12\x0b\x44\x65lete Pass\x1a\x15\x44\x65letes a pass record\x82\xd3\xe4\x93\x02\x13*\x0e/raw/pass/{id}:\x01*\x12\xc0\x01\n\x17listPassesByPassProject\x12#.raw.ListPassesByPassProjectRequest\x1a\t.raw.Pass\"s\x92\x41J\n\x03Raw\x12\x0bList Passes\x1a\x36List all passes for pass project. Supports pagination.\x82\xd3\xe4\x93\x02 \"\x1b/raw/pass/listByPassProject:\x01*0\x01\x12\xc6\x01\n\x18listPassesByPassTemplate\x12$.raw.ListPassesByPassTemplateRequest\x1a\t.raw.Pass\"w\x92\x41M\n\x03Raw\x12\x0bList Passes\x1a\x39List all passes for a pass template. Supports pagination.\x82\xd3\xe4\x93\x02!\"\x1c/raw/pass/listByPassTemplate:\x01*0\x01\x42\x8a\x07\n\x14\x63om.passkit.grpc.RawZ(stash.passkit.com/io/model/sdk/go/io/raw\xaa\x02\x10PassKit.Grpc.Raw\x92\x41\xb3\x06\x12\xc0\x02\n\x16PassKit Raw Passes API\x12\xa5\x01This protocol is suit for cases where the business logic is handled elsewhere, and the purpose is purely to issue and update content for Apple Wallet and Google Pay.\x1a\x38https://passkit.com/legal/terms-of-subscription-service/\"?\n\x0fPassKit Support\x12\x17https://docs.passkit.io\x1a\x13support@passkit.com2\x03\x30.1*\x01\x02\x32\x10\x61pplication/json:\x10\x61pplication/jsonR9\n\x03\x32\x30\x30\x12\x32\n(Returned when the request is successful.\x12\x06\n\x04\x9a\x02\x01\x07R4\n\x03\x34\x30\x30\x12-\n+Returned when wrong user input is provided.R0\n\x03\x34\x30\x31\x12)\n\'Returned when the user is unauthorized.RP\n\x03\x34\x30\x33\x12I\nGReturned when the user does not have permission to access the resource.R;\n\x03\x34\x30\x34\x12\x34\n*Returned when the resource does not exist.\x12\x06\n\x04\x9a\x02\x01\x07R<\n\x03\x35\x30\x30\x12\x35\n+Returned when there is an unexpected error.\x12\x06\n\x04\x9a\x02\x01\x07RW\n\x03\x35\x30\x33\x12P\nNServer is unavailable. Back off for 250ms and repeat request until successful.b\x06proto3"
15
+ descriptor_data = "\n\x12io/raw/a_rpc.proto\x12\x03raw\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1eio/common/common_objects.proto\x1a\x14io/raw/project.proto\x1a\x11io/raw/pass.proto\x1a.protoc-gen-openapiv2/options/annotations.proto2\xd8\x0f\n\x03Raw\x12\x7f\n\x11\x63reatePassProject\x12\x10.raw.PassProject\x1a\x06.io.Id\"P\x92\x41\x32\n\x03Raw\x12\x13\x43reate Pass Project\x1a\x16\x43reates a Pass Project\x82\xd3\xe4\x93\x02\x15\"\x10/raw/passProject:\x01*\x12\x93\x01\n\x11updatePassProject\x12\x10.raw.PassProject\x1a\x10.raw.PassProject\"Z\x92\x41<\n\x03Raw\x12\x13Update Pass Project\x1a Updates an existing Pass Project\x82\xd3\xe4\x93\x02\x15\x1a\x10/raw/passProject:\x01*\x12\x82\x01\n\x0egetPassProject\x12\x06.io.Id\x1a\x10.raw.PassProject\"V\x92\x41\x36\n\x03Raw\x12\x10Get Pass Project\x1a\x1dGets an existing Pass Project\x82\xd3\xe4\x93\x02\x17\x12\x15/raw/passProject/{id}\x12\x94\x01\n\x0f\x63opyPassProject\x12\x1b.raw.PassProjectCopyRequest\x1a\x06.io.Id\"\\\x92\x41\x39\n\x03Raw\x12\x11\x43opy Pass Project\x1a\x1f\x43opies an existing Pass Project\x82\xd3\xe4\x93\x02\x1a\"\x15/raw/passProject/copy:\x01*\x12\x84\x02\n\x11\x64\x65letePassProject\x12\x06.io.Id\x1a\x16.google.protobuf.Empty\"\xce\x01\x92\x41\xad\x01\n\x03Raw\x12\x13\x44\x65lete Pass Project\x1a\x90\x01\x44\x65letes an existing Pass Project by id. Deleting a Pass Project results in all passes being invalidated and removed. Needs to be used with care.\x82\xd3\xe4\x93\x02\x17*\x15/raw/passProject/{id}\x12\x65\n\ncreatePass\x12\t.raw.Pass\x1a\x06.io.Id\"D\x92\x41-\n\x03Raw\x12\x0b\x43reate Pass\x1a\x19\x43reates a new Pass record\x82\xd3\xe4\x93\x02\x0e\"\t/raw/pass:\x01*\x12k\n\nupdatePass\x12\t.raw.Pass\x1a\x06.io.Id\"J\x92\x41\x33\n\x03Raw\x12\x0bUpdate Pass\x1a\x1fUpdates an existing Pass record\x82\xd3\xe4\x93\x02\x0e\x1a\t/raw/pass:\x01*\x12\x92\x01\n\x11streamPassUpdates\x12\t.raw.Pass\x1a\x06.io.Id\"f\x92\x41\x63\n\x03Raw\x12\x32Stream Pass Updates (official SDK\'s only, no REST)\x1a(Updates existing Pass records via stream(\x01\x30\x01\x12\x64\n\x0bgetPassById\x12\x06.io.Id\x1a\t.raw.Pass\"B\x92\x41)\n\x03Raw\x12\x0eGet Pass by ID\x1a\x12Gets a pass record\x82\xd3\xe4\x93\x02\x10\x12\x0e/raw/pass/{id}\x12\xc3\x01\n\x13getPassByExternalId\x12\".raw.PassRecordByExternalIdRequest\x1a\t.raw.Pass\"}\x92\x41\x41\n\x03Raw\x12\x17Get Pass by External ID\x1a!Gets a pass record by External ID\x82\xd3\xe4\x93\x02\x33\x12\x31/raw/pass/externalId/{passProjectId}/{externalId}\x12v\n\ndeletePass\x12\t.raw.Pass\x1a\x16.google.protobuf.Empty\"E\x92\x41)\n\x03Raw\x12\x0b\x44\x65lete Pass\x1a\x15\x44\x65letes a pass record\x82\xd3\xe4\x93\x02\x13*\x0e/raw/pass/{id}:\x01*\x12\xc0\x01\n\x17listPassesByPassProject\x12#.raw.ListPassesByPassProjectRequest\x1a\t.raw.Pass\"s\x92\x41J\n\x03Raw\x12\x0bList Passes\x1a\x36List all passes for pass project. Supports pagination.\x82\xd3\xe4\x93\x02 \"\x1b/raw/pass/listByPassProject:\x01*0\x01\x12\xc6\x01\n\x18listPassesByPassTemplate\x12$.raw.ListPassesByPassTemplateRequest\x1a\t.raw.Pass\"w\x92\x41M\n\x03Raw\x12\x0bList Passes\x1a\x39List all passes for a pass template. Supports pagination.\x82\xd3\xe4\x93\x02!\"\x1c/raw/pass/listByPassTemplate:\x01*0\x01\x42\xf6\x06\n\x14\x63om.passkit.grpc.RawZ(stash.passkit.com/io/model/sdk/go/io/raw\xaa\x02\x10PassKit.Grpc.Raw\x92\x41\x9f\x06\x12\xac\x02\n\x16PassKit Raw Passes API\x12\xa8\x01This protocol is suit for cases where the business logic is handled elsewhere, and the purpose is purely to issue and update content for Apple Wallet and Google Wallet.\x1a https://passkit.com/legal/terms/\"@\n\x0fPassKit Support\x12\x18https://help.passkit.com\x1a\x13support@passkit.com2\x03\x30.1*\x01\x02\x32\x10\x61pplication/json:\x10\x61pplication/jsonR9\n\x03\x32\x30\x30\x12\x32\n(Returned when the request is successful.\x12\x06\n\x04\x9a\x02\x01\x07R4\n\x03\x34\x30\x30\x12-\n+Returned when wrong user input is provided.R0\n\x03\x34\x30\x31\x12)\n\'Returned when the user is unauthorized.RP\n\x03\x34\x30\x33\x12I\nGReturned when the user does not have permission to access the resource.R;\n\x03\x34\x30\x34\x12\x34\n*Returned when the resource does not exist.\x12\x06\n\x04\x9a\x02\x01\x07R<\n\x03\x35\x30\x30\x12\x35\n+Returned when there is an unexpected error.\x12\x06\n\x04\x9a\x02\x01\x07RW\n\x03\x35\x30\x33\x12P\nNServer is unavailable. Back off for 250ms and repeat request until successful.b\x06proto3"
15
16
 
16
- pool = Google::Protobuf::DescriptorPool.generated_pool
17
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
17
18
  pool.add_serialized_file(descriptor_data)
18
19
 
19
20
  module Raw
@@ -3,7 +3,7 @@
3
3
  # Original file comments:
4
4
  # *
5
5
  # This protocol is suit for cases where the business logic is handled elsewhere, and the purpose is purely to issue and
6
- # update content for Apple Wallet and Google Pay.
6
+ # update content for Apple Wallet and Google Wallet.
7
7
 
8
8
  require 'grpc'
9
9
  require 'io/raw/a_rpc_pb'
@@ -18,18 +18,31 @@ module Raw
18
18
  self.unmarshal_class_method = :decode
19
19
  self.service_name = 'raw.Raw'
20
20
 
21
+ # Creates a Pass Project. Required Fields: name, protocol, classId.
21
22
  rpc :createPassProject, ::Raw::PassProject, ::Io::Id
23
+ # Updates an existing Pass Project. Required Fields: id, name, protocol, classId.
22
24
  rpc :updatePassProject, ::Raw::PassProject, ::Raw::PassProject
25
+ # Retrieves a Pass Project by ID. Required Fields: id.
23
26
  rpc :getPassProject, ::Io::Id, ::Raw::PassProject
27
+ # Copies an existing Pass Project. Required Fields: id (of the source PassProject).
24
28
  rpc :copyPassProject, ::Raw::PassProjectCopyRequest, ::Io::Id
29
+ # Deletes a Pass Project by ID. Deleting a Pass Project results in all passes being invalidated and removed. Use with caution. Required Fields: id.
25
30
  rpc :deletePassProject, ::Io::Id, ::Google::Protobuf::Empty
31
+ # Creates a new Pass record. Required Fields: passProjectId, externalId, and fields required by protocol template.
26
32
  rpc :createPass, ::Raw::Pass, ::Io::Id
33
+ # Updates an existing Pass record. Required Fields: id.
27
34
  rpc :updatePass, ::Raw::Pass, ::Io::Id
35
+ # Streams multiple Pass updates via gRPC (not available via REST). Required Fields: id for each Pass.
28
36
  rpc :streamPassUpdates, stream(::Raw::Pass), stream(::Io::Id)
37
+ # Retrieves a Pass by its internal ID. Required Fields: id.
29
38
  rpc :getPassById, ::Io::Id, ::Raw::Pass
39
+ # Retrieves a Pass by its external ID and Pass Project ID. Required Fields: passProjectId, externalId.
30
40
  rpc :getPassByExternalId, ::Raw::PassRecordByExternalIdRequest, ::Raw::Pass
41
+ # Deletes a Pass record. Required Fields: id.
31
42
  rpc :deletePass, ::Raw::Pass, ::Google::Protobuf::Empty
43
+ # Lists all passes for a Pass Project. Supports pagination. Required Fields: passProjectId.
32
44
  rpc :listPassesByPassProject, ::Raw::ListPassesByPassProjectRequest, stream(::Raw::Pass)
45
+ # Lists all passes for a Pass Template. Supports pagination. Required Fields: passTemplateId.
33
46
  rpc :listPassesByPassTemplate, ::Raw::ListPassesByPassTemplateRequest, stream(::Raw::Pass)
34
47
  end
35
48
 
@@ -3,6 +3,7 @@
3
3
  # source: io/raw/pass.proto
4
4
 
5
5
  require 'google/protobuf'
6
+ require 'protoc-gen-openapiv2/options/annotations_pb'
6
7
 
7
8
  require 'google/protobuf/timestamp_pb'
8
9
  require 'io/common/metrics_pb'
@@ -13,7 +14,7 @@ require 'io/common/personal_pb'
13
14
 
14
15
  descriptor_data = "\n\x11io/raw/pass.proto\x12\x03raw\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17io/common/metrics.proto\x1a\x16io/common/filter.proto\x1a\x14io/common/pass.proto\x1a\x18io/common/personal.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xc7\x05\n\x04Pass\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nexternalId\x18\x02 \x01(\t\x12\x15\n\rpassProjectId\x18\x03 \x01(\t\x12\x16\n\x0epassTemplateId\x18\x04 \x01(\t\x12#\n\x0fpersonalDetails\x18\x05 \x01(\x0b\x32\n.io.Person\x12/\n\x0b\x64ynamicData\x18\x06 \x03(\x0b\x32\x1a.raw.Pass.DynamicDataEntry\x12\x0e\n\x06optOut\x18\x08 \x01(\x08\x12\x10\n\x08isVoided\x18\t \x01(\x08\x12\x32\n\x0einvalidateDate\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nexpiryDate\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12$\n\x0bpassOptions\x18\x0c \x01(\x0b\x32\x0f.io.PassOptions\x12(\n\rpassOverrides\x18\r \x01(\x0b\x32\x11.io.PassOverrides\x12\"\n\x0cpassMetaData\x18\x0e \x01(\x0b\x32\x0c.io.Metadata\x12+\n\x07\x63reated\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07updated\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x32\n\x10\x44ynamicDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x91\x01\x92\x41\x8d\x01\n\x8a\x01*\x04Pass2aPass contains dynamic information that combined with a Pass Project & Template results in a pass.\xd2\x01\rpassProjectId\xd2\x01\x0epassTemplateId\"J\n\x1dPassRecordByExternalIdRequest\x12\x15\n\rpassProjectId\x18\x01 \x01(\t\x12\x12\n\nexternalId\x18\x02 \x01(\t\"U\n\x1eListPassesByPassProjectRequest\x12\x15\n\rpassProjectId\x18\x01 \x01(\t\x12\x1c\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x0b.io.Filters\"V\n\x1fListPassesByPassTemplateRequest\x12\x15\n\rpassProjectId\x18\x01 \x01(\t\x12\x1c\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x0b.io.FiltersBS\n\x14\x63om.passkit.grpc.RawZ(stash.passkit.com/io/model/sdk/go/io/raw\xaa\x02\x10PassKit.Grpc.Rawb\x06proto3"
15
16
 
16
- pool = Google::Protobuf::DescriptorPool.generated_pool
17
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
17
18
  pool.add_serialized_file(descriptor_data)
18
19
 
19
20
  module Raw
@@ -3,6 +3,7 @@
3
3
  # source: io/raw/project.proto
4
4
 
5
5
  require 'google/protobuf'
6
+ require 'protoc-gen-openapiv2/options/annotations_pb'
6
7
 
7
8
  require 'google/protobuf/timestamp_pb'
8
9
  require 'io/common/distribution_pb'
@@ -13,7 +14,7 @@ require 'io/common/billing_pb'
13
14
 
14
15
  descriptor_data = "\n\x14io/raw/project.proto\x12\x03raw\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cio/common/distribution.proto\x1a\x1cio/common/localization.proto\x1a\x17io/common/project.proto\x1a\x17io/common/billing.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xfe\x03\n\x0bPassProject\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12*\n\rlocalizedName\x18\x03 \x01(\x0b\x32\x13.io.LocalizedString\x12!\n\x06status\x18\x04 \x03(\x0e\x32\x11.io.ProjectStatus\x12\x18\n\x05quota\x18\x05 \x01(\x0b\x32\t.io.Quota\x12\x1a\n\x12passTypeIdentifier\x18\x06 \x01(\t\x12\x36\n\x14\x64istributionSettings\x18\x07 \x01(\x0b\x32\x18.io.DistributionSettings\x12+\n\x07\x63reated\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07updated\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp:\xbd\x01\x92\x41\xb9\x01\n\xb6\x01*\x0cPass Project2\x95\x01Pass Project holds the basic business logic. Pass Project holds details on pass distribution, quotas, Apple certificate, integrations & hooks to use.\xd2\x01\x04name\xd2\x01\x06status\"q\n\x16PassProjectCopyRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12!\n\x06status\x18\x03 \x03(\x0e\x32\x11.io.ProjectStatus\x12\x1a\n\x12passTypeIdentifier\x18\x04 \x01(\tBS\n\x14\x63om.passkit.grpc.RawZ(stash.passkit.com/io/model/sdk/go/io/raw\xaa\x02\x10PassKit.Grpc.Rawb\x06proto3"
15
16
 
16
- pool = Google::Protobuf::DescriptorPool.generated_pool
17
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
17
18
  pool.add_serialized_file(descriptor_data)
18
19
 
19
20
  module Raw
@@ -3,6 +3,7 @@
3
3
  # source: io/scheduler/a_rpc.proto
4
4
 
5
5
  require 'google/protobuf'
6
+ require 'protoc-gen-openapiv2/options/annotations_pb'
6
7
 
7
8
  require 'google/api/annotations_pb'
8
9
  require 'google/protobuf/empty_pb'
@@ -11,9 +12,9 @@ require 'io/scheduler/scheduler_pb'
11
12
  require 'ct/scheduler/scheduler_pb'
12
13
 
13
14
 
14
- descriptor_data = "\n\x18io/scheduler/a_rpc.proto\x12\tscheduler\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x1eio/common/common_objects.proto\x1a\x1cio/scheduler/scheduler.proto\x1a\x1c\x63t/scheduler/scheduler.proto2\xac\x11\n\tScheduler\x12\x8f\x02\n\x13\x63reateSchedulingJob\x12\x11.ct.SchedulingJob\x1a\x19.ct.SchedulingJobResponse\"\xc9\x01\x92\x41\xab\x01\n\x0fScheduling Jobs\x12\x15\x43reate Scheduling Job\x1a\x19\x43reates a scheduling job.J0\n\x03\x34\x30\x30\x12)\n\'There is a problem with the input data.J4\n\x03\x34\x30\x33\x12-\n+Returned when the user lacks authorization.\x82\xd3\xe4\x93\x02\x14\"\x0f/scheduling/job:\x01*\x12\x88\x02\n\x10getSchedulingJob\x12\x06.io.Id\x1a\x11.ct.SchedulingJob\"\xd8\x01\x92\x41\xb8\x01\n\x0fScheduling Jobs\x12\x12Get Scheduling Job\x1aMRetrieves a scheduling job. Deleted job will return history logs only if any.J\"\n\x03\x34\x30\x33\x12\x1b\n\x19User lacks authorization.J\x1e\n\x03\x34\x30\x34\x12\x17\n\x15Record was not found.\x82\xd3\xe4\x93\x02\x16\x12\x14/scheduling/job/{id}\x12\xd5\x03\n\x13updateSchedulingJob\x12\x11.ct.SchedulingJob\x1a\x19.ct.SchedulingJobResponse\"\x8f\x03\x92\x41\xf1\x02\n\x0fScheduling Jobs\x12\x15Update Scheduling Job\x1axUpdates a scheduling job. Full SchedulerJob object is required. An empty or null value will override any existing value.J0\n\x03\x34\x30\x30\x12)\n\'There is a problem with the input data.J\"\n\x03\x34\x30\x33\x12\x1b\n\x19User lacks authorization.J\x1e\n\x03\x34\x30\x34\x12\x17\n\x15Record was not found.JW\n\x03\x35\x30\x33\x12P\nNServer is unavailable. Back off for 250ms and repeat request until successful.\x82\xd3\xe4\x93\x02\x14\x1a\x0f/scheduling/job:\x01*\x12\xfa\x02\n\x12patchSchedulingJob\x12\x11.ct.SchedulingJob\x1a\x19.ct.SchedulingJobResponse\"\xb5\x02\x92\x41\x97\x02\n\x0fScheduling Jobs\x12\x14Patch Scheduling Job\x1a\x1fPatch updates a scheduling job.J0\n\x03\x34\x30\x30\x12)\n\'There is a problem with the input data.J\"\n\x03\x34\x30\x33\x12\x1b\n\x19User lacks authorization.J\x1e\n\x03\x34\x30\x34\x12\x17\n\x15Record was not found.JW\n\x03\x35\x30\x33\x12P\nNServer is unavailable. Back off for 250ms and repeat request until successful.\x82\xd3\xe4\x93\x02\x14\x32\x0f/scheduling/job:\x01*\x12\xaa\x02\n\x13\x64\x65leteSchedulingJob\x12\x06.io.Id\x1a\x16.google.protobuf.Empty\"\xf2\x01\x92\x41\xd2\x01\n\x0fScheduling Jobs\x12\x15\x44\x65lete Scheduling Job\x1aRDeletes a scheduling job. History logs are still available after deleting the job.J4\n\x03\x34\x30\x33\x12-\n+Returned when the user lacks authorization.J\x1e\n\x03\x34\x30\x34\x12\x17\n\x15Record was not found.\x82\xd3\xe4\x93\x02\x16*\x14/scheduling/job/{id}\x12\xfa\x01\n\x17getSchedulingJobHistory\x12\x06.io.Id\x1a\x0e.ct.JobHistory\"\xc6\x01\x92\x41\xa2\x01\n\rJob Histories\x12\x1aGet Scheduling Job History\x1a\x31Retrieves a scheduling job history by the log id.J\"\n\x03\x34\x30\x33\x12\x1b\n\x19User lacks authorization.J\x1e\n\x03\x34\x30\x34\x12\x17\n\x15Record was not found.\x82\xd3\xe4\x93\x02\x1a\x12\x18/scheduling/history/{id}\x12\x82\x02\n\x1alistSchedulingJobHistories\x12\x16.scheduler.ListRequest\x1a\x0e.ct.JobHistory\"\xb9\x01\x92\x41\x92\x01\n\rJob Histories\x12\x1dList Scheduling Job Histories\x1a\x1eList scheduling job histories.J\"\n\x03\x34\x30\x33\x12\x1b\n\x19User lacks authorization.J\x1e\n\x03\x34\x30\x34\x12\x17\n\x15Record was not found.\x82\xd3\xe4\x93\x02\x1d\"\x18/scheduling/history/list:\x01*0\x01\x42\xdd\x02\n\x1a\x63om.passkit.grpc.SchedulerZ.stash.passkit.com/io/model/sdk/go/io/scheduler\xaa\x02\x16PassKit.Grpc.Scheduler\x92\x41\xf4\x01\x12\xca\x01\n\x15PassKit Scheduler API\x12\x31This protocol schedule recursive or one-off jobs.\x1a\x38https://passkit.com/legal/terms-of-subscription-service/\"?\n\x0fPassKit Support\x12\x17https://docs.passkit.io\x1a\x13support@passkit.com2\x03\x31.0*\x01\x02\x32\x10\x61pplication/json:\x10\x61pplication/jsonb\x06proto3"
15
+ descriptor_data = "\n\x18io/scheduler/a_rpc.proto\x12\tscheduler\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x1eio/common/common_objects.proto\x1a\x1cio/scheduler/scheduler.proto\x1a\x1c\x63t/scheduler/scheduler.proto2\xac\x11\n\tScheduler\x12\x8f\x02\n\x13\x63reateSchedulingJob\x12\x11.ct.SchedulingJob\x1a\x19.ct.SchedulingJobResponse\"\xc9\x01\x92\x41\xab\x01\n\x0fScheduling Jobs\x12\x15\x43reate Scheduling Job\x1a\x19\x43reates a scheduling job.J0\n\x03\x34\x30\x30\x12)\n\'There is a problem with the input data.J4\n\x03\x34\x30\x33\x12-\n+Returned when the user lacks authorization.\x82\xd3\xe4\x93\x02\x14\"\x0f/scheduling/job:\x01*\x12\x88\x02\n\x10getSchedulingJob\x12\x06.io.Id\x1a\x11.ct.SchedulingJob\"\xd8\x01\x92\x41\xb8\x01\n\x0fScheduling Jobs\x12\x12Get Scheduling Job\x1aMRetrieves a scheduling job. Deleted job will return history logs only if any.J\"\n\x03\x34\x30\x33\x12\x1b\n\x19User lacks authorization.J\x1e\n\x03\x34\x30\x34\x12\x17\n\x15Record was not found.\x82\xd3\xe4\x93\x02\x16\x12\x14/scheduling/job/{id}\x12\xd5\x03\n\x13updateSchedulingJob\x12\x11.ct.SchedulingJob\x1a\x19.ct.SchedulingJobResponse\"\x8f\x03\x92\x41\xf1\x02\n\x0fScheduling Jobs\x12\x15Update Scheduling Job\x1axUpdates a scheduling job. Full SchedulerJob object is required. An empty or null value will override any existing value.J0\n\x03\x34\x30\x30\x12)\n\'There is a problem with the input data.J\"\n\x03\x34\x30\x33\x12\x1b\n\x19User lacks authorization.J\x1e\n\x03\x34\x30\x34\x12\x17\n\x15Record was not found.JW\n\x03\x35\x30\x33\x12P\nNServer is unavailable. Back off for 250ms and repeat request until successful.\x82\xd3\xe4\x93\x02\x14\x1a\x0f/scheduling/job:\x01*\x12\xfa\x02\n\x12patchSchedulingJob\x12\x11.ct.SchedulingJob\x1a\x19.ct.SchedulingJobResponse\"\xb5\x02\x92\x41\x97\x02\n\x0fScheduling Jobs\x12\x14Patch Scheduling Job\x1a\x1fPatch updates a scheduling job.J0\n\x03\x34\x30\x30\x12)\n\'There is a problem with the input data.J\"\n\x03\x34\x30\x33\x12\x1b\n\x19User lacks authorization.J\x1e\n\x03\x34\x30\x34\x12\x17\n\x15Record was not found.JW\n\x03\x35\x30\x33\x12P\nNServer is unavailable. Back off for 250ms and repeat request until successful.\x82\xd3\xe4\x93\x02\x14\x32\x0f/scheduling/job:\x01*\x12\xaa\x02\n\x13\x64\x65leteSchedulingJob\x12\x06.io.Id\x1a\x16.google.protobuf.Empty\"\xf2\x01\x92\x41\xd2\x01\n\x0fScheduling Jobs\x12\x15\x44\x65lete Scheduling Job\x1aRDeletes a scheduling job. History logs are still available after deleting the job.J4\n\x03\x34\x30\x33\x12-\n+Returned when the user lacks authorization.J\x1e\n\x03\x34\x30\x34\x12\x17\n\x15Record was not found.\x82\xd3\xe4\x93\x02\x16*\x14/scheduling/job/{id}\x12\xfa\x01\n\x17getSchedulingJobHistory\x12\x06.io.Id\x1a\x0e.ct.JobHistory\"\xc6\x01\x92\x41\xa2\x01\n\rJob Histories\x12\x1aGet Scheduling Job History\x1a\x31Retrieves a scheduling job history by the log id.J\"\n\x03\x34\x30\x33\x12\x1b\n\x19User lacks authorization.J\x1e\n\x03\x34\x30\x34\x12\x17\n\x15Record was not found.\x82\xd3\xe4\x93\x02\x1a\x12\x18/scheduling/history/{id}\x12\x82\x02\n\x1alistSchedulingJobHistories\x12\x16.scheduler.ListRequest\x1a\x0e.ct.JobHistory\"\xb9\x01\x92\x41\x92\x01\n\rJob Histories\x12\x1dList Scheduling Job Histories\x1a\x1eList scheduling job histories.J\"\n\x03\x34\x30\x33\x12\x1b\n\x19User lacks authorization.J\x1e\n\x03\x34\x30\x34\x12\x17\n\x15Record was not found.\x82\xd3\xe4\x93\x02\x1d\"\x18/scheduling/history/list:\x01*0\x01\x42\xc6\x02\n\x1a\x63om.passkit.grpc.SchedulerZ.stash.passkit.com/io/model/sdk/go/io/scheduler\xaa\x02\x16PassKit.Grpc.Scheduler\x92\x41\xdd\x01\x12\xb3\x01\n\x15PassKit Scheduler API\x12\x31This protocol schedule recursive or one-off jobs.\x1a https://passkit.com/legal/terms/\"@\n\x0fPassKit Support\x12\x18https://help.passkit.com\x1a\x13support@passkit.com2\x03\x31.0*\x01\x02\x32\x10\x61pplication/json:\x10\x61pplication/jsonb\x06proto3"
15
16
 
16
- pool = Google::Protobuf::DescriptorPool.generated_pool
17
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
17
18
  pool.add_serialized_file(descriptor_data)
18
19
 
19
20
  module Scheduler
@@ -11,6 +11,7 @@ require 'io/scheduler/a_rpc_pb'
11
11
 
12
12
  module Scheduler
13
13
  module Scheduler
14
+ # The PassKit Scheduler API allows you to automate tasks within your PassKit programs. This API allows you to schedule one-time or recurring jobs that interact with other PassKit APIs.
14
15
  class Service
15
16
 
16
17
  include ::GRPC::GenericService
@@ -19,12 +20,19 @@ module Scheduler
19
20
  self.unmarshal_class_method = :decode
20
21
  self.service_name = 'scheduler.Scheduler'
21
22
 
23
+ # Creates a scheduling job. Required Fields: scheduleType, protocol, classId, jobName, scheduledTime, timezone.
22
24
  rpc :createSchedulingJob, ::Ct::SchedulingJob, ::Ct::SchedulingJobResponse
25
+ # Retrieves a scheduling job by its ID. If the job has been deleted, only history logs will be returned. Required Fields: id.
23
26
  rpc :getSchedulingJob, ::Io::Id, ::Ct::SchedulingJob
27
+ # Updates an existing scheduling job. The full SchedulingJob object must be supplied. Empty/null fields will overwrite existing data. Required Fields: id, scheduleType, protocol, classId, jobName, scheduledTime, timezone.
24
28
  rpc :updateSchedulingJob, ::Ct::SchedulingJob, ::Ct::SchedulingJobResponse
29
+ # Patch updates a scheduling job. Only supplied fields will be updated. Required Fields: id.
25
30
  rpc :patchSchedulingJob, ::Ct::SchedulingJob, ::Ct::SchedulingJobResponse
31
+ # Deletes a scheduling job by ID. History logs remain available after deletion. Required Fields: id.
26
32
  rpc :deleteSchedulingJob, ::Io::Id, ::Google::Protobuf::Empty
33
+ # Retrieves a specific scheduling job history log by ID. Required Fields: id.
27
34
  rpc :getSchedulingJobHistory, ::Io::Id, ::Ct::JobHistory
35
+ # Lists all history logs for a given scheduling job. Required Fields: jobId.
28
36
  rpc :listSchedulingJobHistories, ::Scheduler::ListRequest, stream(::Ct::JobHistory)
29
37
  end
30
38
 
@@ -9,7 +9,7 @@ require 'io/common/filter_pb'
9
9
 
10
10
  descriptor_data = "\n\x1cio/scheduler/scheduler.proto\x12\tscheduler\x1a\x16io/common/filter.proto\":\n\x0bListRequest\x12\r\n\x05jobId\x18\x01 \x01(\t\x12\x1c\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x0b.io.FiltersBe\n\x1a\x63om.passkit.grpc.SchedulerZ.stash.passkit.com/io/model/sdk/go/io/scheduler\xaa\x02\x16PassKit.Grpc.Schedulerb\x06proto3"
11
11
 
12
- pool = Google::Protobuf::DescriptorPool.generated_pool
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
13
  pool.add_serialized_file(descriptor_data)
14
14
 
15
15
  module Scheduler
@@ -3,6 +3,7 @@
3
3
  # source: io/single_use_coupons/a_rpc.proto
4
4
 
5
5
  require 'google/protobuf'
6
+ require 'protoc-gen-openapiv2/options/annotations_pb'
6
7
 
7
8
  require 'google/protobuf/empty_pb'
8
9
  require 'google/api/annotations_pb'
@@ -16,9 +17,9 @@ require 'io/single_use_coupons/offer_pb'
16
17
  require 'io/single_use_coupons/coupon_pb'
17
18
 
18
19
 
19
- descriptor_data = "\n!io/single_use_coupons/a_rpc.proto\x12\x12single_use_coupons\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1eio/common/common_objects.proto\x1a\x1aio/common/pagination.proto\x1a\x16io/common/filter.proto\x1a\x19io/common/reporting.proto\x1a\x18io/common/personal.proto\x1a$io/single_use_coupons/campaign.proto\x1a!io/single_use_coupons/offer.proto\x1a\"io/single_use_coupons/coupon.proto\x1a.protoc-gen-openapiv2/options/annotations.proto2\xe5@\n\x10SingleUseCoupons\x12\xc0\x01\n\x14\x63reateCouponCampaign\x12\".single_use_coupons.CouponCampaign\x1a\x06.io.Id\"|\x92\x41T\n\x10\x43oupon Campaigns\x12\x16\x43reate Coupon Campaign\x1a(Creates a new Single Use Coupon Campaign\x82\xd3\xe4\x93\x02\x1f\"\x1a/coupon/singleUse/campaign:\x01*\x12\xd4\x01\n\x14updateCouponCampaign\x12\".single_use_coupons.CouponCampaign\x1a\".single_use_coupons.CouponCampaign\"t\x92\x41L\n\x10\x43oupon Campaigns\x12\x16Update Coupon Campaign\x1a Updates an existing Pass Project\x82\xd3\xe4\x93\x02\x1f\x1a\x1a/coupon/singleUse/campaign:\x01*\x12\xb4\x01\n\x11getCouponCampaign\x12\x06.io.Id\x1a\".single_use_coupons.CouponCampaign\"s\x92\x41I\n\x10\x43oupon Campaigns\x12\x13Get Coupon Campaign\x1a Gets an existing Coupon Campaign\x82\xd3\xe4\x93\x02!\x12\x1f/coupon/singleUse/campaign/{id}\x12\x9b\x03\n\x14\x64\x65leteCouponCampaign\x12\x06.io.Id\x1a\x16.google.protobuf.Empty\"\xe2\x02\x92\x41\xb7\x02\n\x10\x43oupon Campaigns\x12\x16\x44\x65lete Coupon Campaign\x1a\x8a\x02\x44\x65letes an existing Coupon Campaign by id. Deleting a Coupon Campaign results in the related offer being deleted, and all coupons being invalidated in the customers Mobile Wallet; rendering them unusable. This method needs to be used with care, this is irreversible.\x82\xd3\xe4\x93\x02!*\x1f/coupon/singleUse/campaign/{id}\x12\x94\x02\n\x1dlistCouponCampaignsDeprecated\x12\x0e.io.Pagination\x1a\".single_use_coupons.CouponCampaign\"\xbc\x01\x92\x41\x95\x01\n\x10\x43oupon Campaigns\x12\"List Coupon Campaigns [DEPRECATED]\x1a][DEPRECATED: OR operator is not supported] Lists all Coupon Campaigns for the logged in user.\x82\xd3\xe4\x93\x02\x1d\x12\x1b/coupon/singleUse/campaigns0\x01\x12\xbe\x04\n\x13listCouponCampaigns\x12\x0b.io.Filters\x1a\".single_use_coupons.CouponCampaign\"\xf3\x03\x92\x41\xc4\x03\n\x10\x43oupon Campaigns\x12\x15List Coupon Campaigns\x1a\x98\x03Lists all Coupon Campaigns for the logged in user.\n\n<span style=\"font-weight:bold\">About filter field names, operators and sample payloads:</span> <a target=\"_blank\" href=\"https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-campaigns\">https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-campaigns</a>\x82\xd3\xe4\x93\x02%\" /coupon/singleUse/campaigns/list:\x01*0\x01\x12\xf2\x01\n\x0cgetAnalytics\x12\x14.io.AnalyticsRequest\x1a\x33.single_use_coupons.CouponCampaignAnalyticsResponse\"\x96\x01\x92\x41]\n\x10\x43oupon Campaigns\x12\x1dGet Coupon Campaign Analytics\x1a*Retrieves protocol specific analytics data\x82\xd3\xe4\x93\x02\x30\x12./coupon/singleUse/campaign/{classId}/analytics\x12\xa3\x01\n\x11\x63reateCouponOffer\x12\x1f.single_use_coupons.CouponOffer\x1a\x06.io.Id\"e\x92\x41@\n\rCoupon Offers\x12\x13\x43reate Coupon Offer\x1a\x1a\x43reates a new Coupon Offer\x82\xd3\xe4\x93\x02\x1c\"\x17/coupon/singleUse/offer:\x01*\x12\xc2\x01\n\x11updateCouponOffer\x12\x1f.single_use_coupons.CouponOffer\x1a\x1f.single_use_coupons.CouponOffer\"k\x92\x41\x46\n\rCoupon Offers\x12\x13Update Coupon Offer\x1a Updates an existing Coupon Offer\x82\xd3\xe4\x93\x02\x1c\x1a\x17/coupon/singleUse/offer:\x01*\x12\xa2\x01\n\x0egetCouponOffer\x12\x06.io.Id\x1a\x1f.single_use_coupons.CouponOffer\"g\x92\x41@\n\rCoupon Offers\x12\x10Get Coupon Offer\x1a\x1dGets an existing Coupon Offer\x82\xd3\xe4\x93\x02\x1e\x12\x1c/coupon/singleUse/offer/{id}\x12\xd8\x02\n\x11\x64\x65leteCouponOffer\x12\x06.io.Id\x1a\x16.google.protobuf.Empty\"\xa2\x02\x92\x41\xfa\x01\n\rCoupon Offers\x12\x13\x44\x65lete Coupon Offer\x1a\xd3\x01\x44\x65letes an existing Coupon Offer by id. Deleting a Coupon Offer results in all coupons being invalidated in the customers Mobile Wallet; rendering them unusable. Needs to be used with care, this is irreversible.\x82\xd3\xe4\x93\x02\x1e*\x1c/coupon/singleUse/offer/{id}\x12\xa1\x02\n\x1alistCouponOffersDeprecated\x12\x35.single_use_coupons.CouponOffersListRequestDeprecated\x1a\x1f.single_use_coupons.CouponOffer\"\xa8\x01\x92\x41\x84\x01\n\rCoupon Offers\x12\x1fList Coupon Offers [DEPRECATED]\x1aR[DEPRECATED: OR operator is not supported] Lists all Coupon Offers for a campaign.\x82\xd3\xe4\x93\x02\x1a\x12\x18/coupon/singleUse/offers0\x01\x12\xbe\x04\n\x10listCouponOffers\x12+.single_use_coupons.CouponOffersListRequest\x1a\x1f.single_use_coupons.CouponOffer\"\xd9\x03\x92\x41\xad\x03\n\rCoupon Offers\x12\x12List Coupon Offers\x1a\x87\x03Lists all Coupon Offers for a campaign.\n\n<span style=\"font-weight:bold\">About filter field names, operators and sample payloads:</span> <a target=\"_blank\" href=\"https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-offers\">https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-offers</a>\x82\xd3\xe4\x93\x02\"\"\x1d/coupon/singleUse/offers/list:\x01*0\x01\x12\x8f\x01\n\x0c\x63reateCoupon\x12\x1a.single_use_coupons.Coupon\x1a\x06.io.Id\"[\x92\x41\x35\n\x07\x43oupons\x12\rCreate Coupon\x1a\x1b\x43reates a new unique Coupon\x82\xd3\xe4\x93\x02\x1d\"\x18/coupon/singleUse/coupon:\x01*\x12\x8e\x01\n\x0cupdateCoupon\x12\x1a.single_use_coupons.Coupon\x1a\x06.io.Id\"Z\x92\x41\x34\n\x07\x43oupons\x12\rUpdate Coupon\x1a\x1aUpdates an existing Coupon\x82\xd3\xe4\x93\x02\x1d\x1a\x18/coupon/singleUse/coupon:\x01*\x12\xbe\x01\n\x13streamCouponUpdates\x12\x1a.single_use_coupons.Coupon\x1a\x06.io.Id\"\x7f\x92\x41|\n\x07\x43oupons\x12\'Stream Coupon Updates (gRPC SDKss only)\x1aHUpdates existing Coupon records via stream. To be used for batch update.(\x01\x30\x01\x12\xeb\x02\n\x0credeemCoupon\x12\x1a.single_use_coupons.Coupon\x1a\x06.io.Id\"\xb6\x02\x92\x41\x88\x02\n\x07\x43oupons\x12\rRedeem Coupon\x1a\xed\x01Redeems an existing Coupon. Use this endpoint when you want to capture redemption data and trigger the switch to the redemption design of the coupon. The coupon cannot be used again after calling this endpoint, and is marked as redeemed.\x82\xd3\xe4\x93\x02$\x1a\x1f/coupon/singleUse/coupon/redeem:\x01*\x12\x8b\x02\n\x16updateCouponExternalId\x12..single_use_coupons.CouponNewExternalIdRequest\x1a\x06.io.Id\"\xb8\x01\x92\x41\x86\x01\n\x07\x43oupons\x12\x19Update Coupon External Id\x1a`Updates an external id of an existing coupon. Extenal id needs to be unique within the campaign.\x82\xd3\xe4\x93\x02(\x1a#/coupon/singleUse/coupon/externalId:\x01*\x12\xcb\x01\n\x17streamCouponRedemptions\x12\x1a.single_use_coupons.Coupon\x1a\x06.io.Id\"\x87\x01\x92\x41\x83\x01\n\x07\x43oupons\x12*Stream Coupon Redemptions (gRPC SDKs only)\x1aLRedeems existing Coupon records via stream. To be used for batch redemption.(\x01\x30\x01\x12\x8e\x01\n\rgetCouponById\x12\x06.io.Id\x1a\x1a.single_use_coupons.Coupon\"Y\x92\x41\x31\n\x07\x43oupons\x12\x10Get Coupon by ID\x1a\x14Gets a Coupon record\x82\xd3\xe4\x93\x02\x1f\x12\x1d/coupon/singleUse/coupon/{id}\x12\xf4\x01\n\x15getCouponByExternalId\x12%.single_use_coupons.ExternalIdRequest\x1a\x1a.single_use_coupons.Coupon\"\x97\x01\x92\x41I\n\x07\x43oupons\x12\x19Get Coupon by External ID\x1a#Gets a Coupon record by External ID\x82\xd3\xe4\x93\x02\x45\x12\x43/coupon/singleUse/coupon/externalId/{couponCampaignId}/{externalId}\x12\xc2\x02\n\nvoidCoupon\x12\x1a.single_use_coupons.Coupon\x1a\x16.google.protobuf.Empty\"\xff\x01\x92\x41\xd8\x01\n\x07\x43oupons\x12\x0bVoid Coupon\x1a\xbf\x01Voids (deletes) an existing Coupon by ID or External ID. Invalidates the coupon in the customers Mobile Wallet; rendering it useless. This method is irreversible and should be used with care.\x82\xd3\xe4\x93\x02\x1d*\x18/coupon/singleUse/coupon:\x01*\x12\xb8\x02\n%listCouponsByCouponCampaignDeprecated\x12).single_use_coupons.ListRequestDeprecated\x1a\x1a.single_use_coupons.Coupon\"\xc5\x01\x92\x41\x8d\x01\n\x07\x43oupons\x12\x19List Coupons [DEPRECATED]\x1ag[DEPRECATED: OR operator is not supported] List all coupons for a Coupon Campaign. Supports pagination.\x82\xd3\xe4\x93\x02.\x12,/coupon/singleUse/coupons/{couponCampaignId}0\x01\x12\xd7\x04\n\x1blistCouponsByCouponCampaign\x12\x1f.single_use_coupons.ListRequest\x1a\x1a.single_use_coupons.Coupon\"\xf8\x03\x92\x41\xb8\x03\n\x07\x43oupons\x12\x0cList Coupons\x1a\x9e\x03List all coupons for a Coupon Campaign. Supports pagination.\n\n<span style=\"font-weight:bold\">About filter field names, operators and sample payloads:</span> <a target=\"_blank\" href=\"https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-coupons\">https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-coupons</a>\x82\xd3\xe4\x93\x02\x36\"1/coupon/singleUse/coupons/list/{couponCampaignId}:\x01*0\x01\x12\x98\x02\n&countCouponsByCouponCampaignDeprecated\x12).single_use_coupons.ListRequestDeprecated\x1a\t.io.Count\"\xb7\x01\x92\x41z\n\x07\x43oupons\x12\x1a\x43ount Coupons [DEPRECATED]\x1aS[DEPRECATED: OR operator is not supported] Count all coupons for a Coupon Campaign.\x82\xd3\xe4\x93\x02\x34\x12\x32/coupon/singleUse/coupons/count/{couponCampaignId}\x12\xb3\x04\n\x1c\x63ountCouponsByCouponCampaign\x12\x1f.single_use_coupons.ListRequest\x1a\t.io.Count\"\xe6\x03\x92\x41\xa5\x03\n\x07\x43oupons\x12\rCount Coupons\x1a\x8a\x03\x43ount all coupons for a Coupon Campaign.\n\n<span style=\"font-weight:bold\">About filter field names, operators and sample payloads:</span> <a target=\"_blank\" href=\"https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-coupons\">https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-coupons</a>\x82\xd3\xe4\x93\x02\x37\"2/coupon/singleUse/coupons/count/{couponCampaignId}:\x01*\x12\xb4\x01\n\x0bpatchPerson\x12\x11.io.PersonRequest\x1a\x06.io.Id\"\x89\x01\x92\x41\\\n\x07\x43oupons\x12\x1bUpdate Personal Information\x1a\x34Updates personal information of a coupon pass holder\x82\xd3\xe4\x93\x02$2\x1f/coupon/singleUse/coupon/person:\x01*\x12\xb9\x01\n\x12\x63opyCouponCampaign\x12\'.single_use_coupons.CampaignCopyRequest\x1a\x06.io.Id\"r\x92\x41\x45\n\x10\x43oupon Campaigns\x12\rCopy Campaign\x1a\"Copies an existing campaign record\x82\xd3\xe4\x93\x02$\"\x1f/coupon/singleUse/campaign/copy:\x01*\x12\xf0\x01\n\x16getMetaKeysForCampaign\x12\x06.io.Id\x1a\x0b.io.Strings\"\xc0\x01\x92\x41\x90\x01\n\x10\x43oupon Campaigns\x12\x1cGet Meta Keys for a Campaign\x1a^Returns a list of distinct meta field keys. Can be used for building filters / table headings.\x82\xd3\xe4\x93\x02&\x12$/coupon/singleUse/campaign/meta/{id}B\x83\x08\n!com.passkit.grpc.SingleUseCouponsZ7stash.passkit.com/io/model/sdk/go/io/single_use_coupons\xaa\x02\x1dPassKit.Grpc.SingleUseCoupons\x92\x41\x83\x07\x12\xbe\x02\n\x1dPassKit Single Use Coupon API\x12\x9c\x01This protocol is suit for cases where the user requires a clean and simple single use coupon for short term coupon campaigns in Apple Wallet and Google Pay.\x1a\x38https://passkit.com/legal/terms-of-subscription-service/\"?\n\x0fPassKit Support\x12\x17https://docs.passkit.io\x1a\x13support@passkit.com2\x03\x31.0*\x01\x02\x32\x10\x61pplication/json:\x10\x61pplication/jsonR9\n\x03\x32\x30\x30\x12\x32\n(Returned when the request is successful.\x12\x06\n\x04\x9a\x02\x01\x07R4\n\x03\x34\x30\x30\x12-\n+Returned when wrong user input is provided.R0\n\x03\x34\x30\x31\x12)\n\'Returned when the user is unauthorized.RP\n\x03\x34\x30\x33\x12I\nGReturned when the user does not have permission to access the resource.R;\n\x03\x34\x30\x34\x12\x34\n*Returned when the resource does not exist.\x12\x06\n\x04\x9a\x02\x01\x07R<\n\x03\x35\x30\x30\x12\x35\n+Returned when there is an unexpected error.\x12\x06\n\x04\x9a\x02\x01\x07RW\n\x03\x35\x30\x33\x12P\nNServer is unavailable. Back off for 250ms and repeat request until successful.Z>\n<\n\napiKeyAuth\x12.\x08\x02\x12\x19JWT Authentication token.\x1a\rAuthorization \x02\x62\x10\n\x0e\n\napiKeyAuth\x12\x00\x62\x06proto3"
20
+ descriptor_data = "\n!io/single_use_coupons/a_rpc.proto\x12\x12single_use_coupons\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1eio/common/common_objects.proto\x1a\x1aio/common/pagination.proto\x1a\x16io/common/filter.proto\x1a\x19io/common/reporting.proto\x1a\x18io/common/personal.proto\x1a$io/single_use_coupons/campaign.proto\x1a!io/single_use_coupons/offer.proto\x1a\"io/single_use_coupons/coupon.proto\x1a.protoc-gen-openapiv2/options/annotations.proto2\xbe\x43\n\x10SingleUseCoupons\x12\xc0\x01\n\x14\x63reateCouponCampaign\x12\".single_use_coupons.CouponCampaign\x1a\x06.io.Id\"|\x92\x41T\n\x10\x43oupon Campaigns\x12\x16\x43reate Coupon Campaign\x1a(Creates a new Single Use Coupon Campaign\x82\xd3\xe4\x93\x02\x1f\"\x1a/coupon/singleUse/campaign:\x01*\x12\xd4\x01\n\x14updateCouponCampaign\x12\".single_use_coupons.CouponCampaign\x1a\".single_use_coupons.CouponCampaign\"t\x92\x41L\n\x10\x43oupon Campaigns\x12\x16Update Coupon Campaign\x1a Updates an existing Pass Project\x82\xd3\xe4\x93\x02\x1f\x1a\x1a/coupon/singleUse/campaign:\x01*\x12\xb4\x01\n\x11getCouponCampaign\x12\x06.io.Id\x1a\".single_use_coupons.CouponCampaign\"s\x92\x41I\n\x10\x43oupon Campaigns\x12\x13Get Coupon Campaign\x1a Gets an existing Coupon Campaign\x82\xd3\xe4\x93\x02!\x12\x1f/coupon/singleUse/campaign/{id}\x12\x9b\x03\n\x14\x64\x65leteCouponCampaign\x12\x06.io.Id\x1a\x16.google.protobuf.Empty\"\xe2\x02\x92\x41\xb7\x02\n\x10\x43oupon Campaigns\x12\x16\x44\x65lete Coupon Campaign\x1a\x8a\x02\x44\x65letes an existing Coupon Campaign by id. Deleting a Coupon Campaign results in the related offer being deleted, and all coupons being invalidated in the customers Mobile Wallet; rendering them unusable. This method needs to be used with care, this is irreversible.\x82\xd3\xe4\x93\x02!*\x1f/coupon/singleUse/campaign/{id}\x12\x94\x02\n\x1dlistCouponCampaignsDeprecated\x12\x0e.io.Pagination\x1a\".single_use_coupons.CouponCampaign\"\xbc\x01\x92\x41\x95\x01\n\x10\x43oupon Campaigns\x12\"List Coupon Campaigns [DEPRECATED]\x1a][DEPRECATED: OR operator is not supported] Lists all Coupon Campaigns for the logged in user.\x82\xd3\xe4\x93\x02\x1d\x12\x1b/coupon/singleUse/campaigns0\x01\x12\xbe\x04\n\x13listCouponCampaigns\x12\x0b.io.Filters\x1a\".single_use_coupons.CouponCampaign\"\xf3\x03\x92\x41\xc4\x03\n\x10\x43oupon Campaigns\x12\x15List Coupon Campaigns\x1a\x98\x03Lists all Coupon Campaigns for the logged in user.\n\n<span style=\"font-weight:bold\">About filter field names, operators and sample payloads:</span> <a target=\"_blank\" href=\"https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-campaigns\">https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-campaigns</a>\x82\xd3\xe4\x93\x02%\" /coupon/singleUse/campaigns/list:\x01*0\x01\x12\xf2\x01\n\x0cgetAnalytics\x12\x14.io.AnalyticsRequest\x1a\x33.single_use_coupons.CouponCampaignAnalyticsResponse\"\x96\x01\x92\x41]\n\x10\x43oupon Campaigns\x12\x1dGet Coupon Campaign Analytics\x1a*Retrieves protocol specific analytics data\x82\xd3\xe4\x93\x02\x30\x12./coupon/singleUse/campaign/{classId}/analytics\x12\xa3\x01\n\x11\x63reateCouponOffer\x12\x1f.single_use_coupons.CouponOffer\x1a\x06.io.Id\"e\x92\x41@\n\rCoupon Offers\x12\x13\x43reate Coupon Offer\x1a\x1a\x43reates a new Coupon Offer\x82\xd3\xe4\x93\x02\x1c\"\x17/coupon/singleUse/offer:\x01*\x12\xc2\x01\n\x11updateCouponOffer\x12\x1f.single_use_coupons.CouponOffer\x1a\x1f.single_use_coupons.CouponOffer\"k\x92\x41\x46\n\rCoupon Offers\x12\x13Update Coupon Offer\x1a Updates an existing Coupon Offer\x82\xd3\xe4\x93\x02\x1c\x1a\x17/coupon/singleUse/offer:\x01*\x12\xa2\x01\n\x0egetCouponOffer\x12\x06.io.Id\x1a\x1f.single_use_coupons.CouponOffer\"g\x92\x41@\n\rCoupon Offers\x12\x10Get Coupon Offer\x1a\x1dGets an existing Coupon Offer\x82\xd3\xe4\x93\x02\x1e\x12\x1c/coupon/singleUse/offer/{id}\x12\xd8\x02\n\x11\x64\x65leteCouponOffer\x12\x06.io.Id\x1a\x16.google.protobuf.Empty\"\xa2\x02\x92\x41\xfa\x01\n\rCoupon Offers\x12\x13\x44\x65lete Coupon Offer\x1a\xd3\x01\x44\x65letes an existing Coupon Offer by id. Deleting a Coupon Offer results in all coupons being invalidated in the customers Mobile Wallet; rendering them unusable. Needs to be used with care, this is irreversible.\x82\xd3\xe4\x93\x02\x1e*\x1c/coupon/singleUse/offer/{id}\x12\xa1\x02\n\x1alistCouponOffersDeprecated\x12\x35.single_use_coupons.CouponOffersListRequestDeprecated\x1a\x1f.single_use_coupons.CouponOffer\"\xa8\x01\x92\x41\x84\x01\n\rCoupon Offers\x12\x1fList Coupon Offers [DEPRECATED]\x1aR[DEPRECATED: OR operator is not supported] Lists all Coupon Offers for a campaign.\x82\xd3\xe4\x93\x02\x1a\x12\x18/coupon/singleUse/offers0\x01\x12\xbe\x04\n\x10listCouponOffers\x12+.single_use_coupons.CouponOffersListRequest\x1a\x1f.single_use_coupons.CouponOffer\"\xd9\x03\x92\x41\xad\x03\n\rCoupon Offers\x12\x12List Coupon Offers\x1a\x87\x03Lists all Coupon Offers for a campaign.\n\n<span style=\"font-weight:bold\">About filter field names, operators and sample payloads:</span> <a target=\"_blank\" href=\"https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-offers\">https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-offers</a>\x82\xd3\xe4\x93\x02\"\"\x1d/coupon/singleUse/offers/list:\x01*0\x01\x12\x8f\x01\n\x0c\x63reateCoupon\x12\x1a.single_use_coupons.Coupon\x1a\x06.io.Id\"[\x92\x41\x35\n\x07\x43oupons\x12\rCreate Coupon\x1a\x1b\x43reates a new unique Coupon\x82\xd3\xe4\x93\x02\x1d\"\x18/coupon/singleUse/coupon:\x01*\x12\x8e\x01\n\x0cupdateCoupon\x12\x1a.single_use_coupons.Coupon\x1a\x06.io.Id\"Z\x92\x41\x34\n\x07\x43oupons\x12\rUpdate Coupon\x1a\x1aUpdates an existing Coupon\x82\xd3\xe4\x93\x02\x1d\x1a\x18/coupon/singleUse/coupon:\x01*\x12\xbe\x01\n\x13streamCouponUpdates\x12\x1a.single_use_coupons.Coupon\x1a\x06.io.Id\"\x7f\x92\x41|\n\x07\x43oupons\x12\'Stream Coupon Updates (gRPC SDKss only)\x1aHUpdates existing Coupon records via stream. To be used for batch update.(\x01\x30\x01\x12\xeb\x02\n\x0credeemCoupon\x12\x1a.single_use_coupons.Coupon\x1a\x06.io.Id\"\xb6\x02\x92\x41\x88\x02\n\x07\x43oupons\x12\rRedeem Coupon\x1a\xed\x01Redeems an existing Coupon. Use this endpoint when you want to capture redemption data and trigger the switch to the redemption design of the coupon. The coupon cannot be used again after calling this endpoint, and is marked as redeemed.\x82\xd3\xe4\x93\x02$\x1a\x1f/coupon/singleUse/coupon/redeem:\x01*\x12\x8b\x02\n\x16updateCouponExternalId\x12..single_use_coupons.CouponNewExternalIdRequest\x1a\x06.io.Id\"\xb8\x01\x92\x41\x86\x01\n\x07\x43oupons\x12\x19Update Coupon External Id\x1a`Updates an external id of an existing coupon. Extenal id needs to be unique within the campaign.\x82\xd3\xe4\x93\x02(\x1a#/coupon/singleUse/coupon/externalId:\x01*\x12\xcb\x01\n\x17streamCouponRedemptions\x12\x1a.single_use_coupons.Coupon\x1a\x06.io.Id\"\x87\x01\x92\x41\x83\x01\n\x07\x43oupons\x12*Stream Coupon Redemptions (gRPC SDKs only)\x1aLRedeems existing Coupon records via stream. To be used for batch redemption.(\x01\x30\x01\x12\x8e\x01\n\rgetCouponById\x12\x06.io.Id\x1a\x1a.single_use_coupons.Coupon\"Y\x92\x41\x31\n\x07\x43oupons\x12\x10Get Coupon by ID\x1a\x14Gets a Coupon record\x82\xd3\xe4\x93\x02\x1f\x12\x1d/coupon/singleUse/coupon/{id}\x12\xf4\x01\n\x15getCouponByExternalId\x12%.single_use_coupons.ExternalIdRequest\x1a\x1a.single_use_coupons.Coupon\"\x97\x01\x92\x41I\n\x07\x43oupons\x12\x19Get Coupon by External ID\x1a#Gets a Coupon record by External ID\x82\xd3\xe4\x93\x02\x45\x12\x43/coupon/singleUse/coupon/externalId/{couponCampaignId}/{externalId}\x12\xc2\x02\n\nvoidCoupon\x12\x1a.single_use_coupons.Coupon\x1a\x16.google.protobuf.Empty\"\xff\x01\x92\x41\xd8\x01\n\x07\x43oupons\x12\x0bVoid Coupon\x1a\xbf\x01Voids (deletes) an existing Coupon by ID or External ID. Invalidates the coupon in the customers Mobile Wallet; rendering it useless. This method is irreversible and should be used with care.\x82\xd3\xe4\x93\x02\x1d*\x18/coupon/singleUse/coupon:\x01*\x12\xd6\x02\n\x0f\x62ulkVoidCoupons\x12\x19.io.BulkPassActionRequest\x1a\x16.google.protobuf.Empty\"\x8f\x02\x92\x41\xe2\x01\n\x07\x43oupons\x12\x11\x42ulk void coupons\x1a\xc3\x01Voids (deletes) multiple coupons by the filter provided. Invalidates the coupons in the customers Mobile Wallet; rendering them unusable. This method is irreversible and should be used with care.\x82\xd3\xe4\x93\x02#*\x1e/coupon/singleUse/coupons/bulk:\x01*\x12\xb8\x02\n%listCouponsByCouponCampaignDeprecated\x12).single_use_coupons.ListRequestDeprecated\x1a\x1a.single_use_coupons.Coupon\"\xc5\x01\x92\x41\x8d\x01\n\x07\x43oupons\x12\x19List Coupons [DEPRECATED]\x1ag[DEPRECATED: OR operator is not supported] List all coupons for a Coupon Campaign. Supports pagination.\x82\xd3\xe4\x93\x02.\x12,/coupon/singleUse/coupons/{couponCampaignId}0\x01\x12\xd7\x04\n\x1blistCouponsByCouponCampaign\x12\x1f.single_use_coupons.ListRequest\x1a\x1a.single_use_coupons.Coupon\"\xf8\x03\x92\x41\xb8\x03\n\x07\x43oupons\x12\x0cList Coupons\x1a\x9e\x03List all coupons for a Coupon Campaign. Supports pagination.\n\n<span style=\"font-weight:bold\">About filter field names, operators and sample payloads:</span> <a target=\"_blank\" href=\"https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-coupons\">https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-coupons</a>\x82\xd3\xe4\x93\x02\x36\"1/coupon/singleUse/coupons/list/{couponCampaignId}:\x01*0\x01\x12\x98\x02\n&countCouponsByCouponCampaignDeprecated\x12).single_use_coupons.ListRequestDeprecated\x1a\t.io.Count\"\xb7\x01\x92\x41z\n\x07\x43oupons\x12\x1a\x43ount Coupons [DEPRECATED]\x1aS[DEPRECATED: OR operator is not supported] Count all coupons for a Coupon Campaign.\x82\xd3\xe4\x93\x02\x34\x12\x32/coupon/singleUse/coupons/count/{couponCampaignId}\x12\xb3\x04\n\x1c\x63ountCouponsByCouponCampaign\x12\x1f.single_use_coupons.ListRequest\x1a\t.io.Count\"\xe6\x03\x92\x41\xa5\x03\n\x07\x43oupons\x12\rCount Coupons\x1a\x8a\x03\x43ount all coupons for a Coupon Campaign.\n\n<span style=\"font-weight:bold\">About filter field names, operators and sample payloads:</span> <a target=\"_blank\" href=\"https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-coupons\">https://help.passkit.com/en/articles/4130967-coupon-protocol-filtering-listing-and-counting-by-api#filter-coupons</a>\x82\xd3\xe4\x93\x02\x37\"2/coupon/singleUse/coupons/count/{couponCampaignId}:\x01*\x12\xb4\x01\n\x0bpatchPerson\x12\x11.io.PersonRequest\x1a\x06.io.Id\"\x89\x01\x92\x41\\\n\x07\x43oupons\x12\x1bUpdate Personal Information\x1a\x34Updates personal information of a coupon pass holder\x82\xd3\xe4\x93\x02$2\x1f/coupon/singleUse/coupon/person:\x01*\x12\xb9\x01\n\x12\x63opyCouponCampaign\x12\'.single_use_coupons.CampaignCopyRequest\x1a\x06.io.Id\"r\x92\x41\x45\n\x10\x43oupon Campaigns\x12\rCopy Campaign\x1a\"Copies an existing campaign record\x82\xd3\xe4\x93\x02$\"\x1f/coupon/singleUse/campaign/copy:\x01*\x12\xf0\x01\n\x16getMetaKeysForCampaign\x12\x06.io.Id\x1a\x0b.io.Strings\"\xc0\x01\x92\x41\x90\x01\n\x10\x43oupon Campaigns\x12\x1cGet Meta Keys for a Campaign\x1a^Returns a list of distinct meta field keys. Can be used for building filters / table headings.\x82\xd3\xe4\x93\x02&\x12$/coupon/singleUse/campaign/meta/{id}B\xef\x07\n!com.passkit.grpc.SingleUseCouponsZ7stash.passkit.com/io/model/sdk/go/io/single_use_coupons\xaa\x02\x1dPassKit.Grpc.SingleUseCoupons\x92\x41\xef\x06\x12\xaa\x02\n\x1dPassKit Single Use Coupon API\x12\x9f\x01This protocol is suit for cases where the user requires a clean and simple single use coupon for short term coupon campaigns in Apple Wallet and Google Wallet.\x1a https://passkit.com/legal/terms/\"@\n\x0fPassKit Support\x12\x18https://help.passkit.com\x1a\x13support@passkit.com2\x03\x31.0*\x01\x02\x32\x10\x61pplication/json:\x10\x61pplication/jsonR9\n\x03\x32\x30\x30\x12\x32\n(Returned when the request is successful.\x12\x06\n\x04\x9a\x02\x01\x07R4\n\x03\x34\x30\x30\x12-\n+Returned when wrong user input is provided.R0\n\x03\x34\x30\x31\x12)\n\'Returned when the user is unauthorized.RP\n\x03\x34\x30\x33\x12I\nGReturned when the user does not have permission to access the resource.R;\n\x03\x34\x30\x34\x12\x34\n*Returned when the resource does not exist.\x12\x06\n\x04\x9a\x02\x01\x07R<\n\x03\x35\x30\x30\x12\x35\n+Returned when there is an unexpected error.\x12\x06\n\x04\x9a\x02\x01\x07RW\n\x03\x35\x30\x33\x12P\nNServer is unavailable. Back off for 250ms and repeat request until successful.Z>\n<\n\napiKeyAuth\x12.\x08\x02\x12\x19JWT Authentication token.\x1a\rAuthorization \x02\x62\x10\n\x0e\n\napiKeyAuth\x12\x00\x62\x06proto3"
20
21
 
21
- pool = Google::Protobuf::DescriptorPool.generated_pool
22
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
22
23
  pool.add_serialized_file(descriptor_data)
23
24
 
24
25
  module SingleUseCoupons
@@ -2,13 +2,14 @@
2
2
  # Source: io/single_use_coupons/a_rpc.proto for package 'single_use_coupons'
3
3
  # Original file comments:
4
4
  # *
5
- # Single Use Coupon Protocol is suit for cases where the user requires a clean and simple single use coupon for short term coupon campaigns in Apple Wallet and Google Pay.
5
+ # Single Use Coupon Protocol is suit for cases where the user requires a clean and simple single use coupon for short term coupon campaigns in Apple Wallet and Google Wallet.
6
6
 
7
7
  require 'grpc'
8
8
  require 'io/single_use_coupons/a_rpc_pb'
9
9
 
10
10
  module SingleUseCoupons
11
11
  module SingleUseCoupons
12
+ # Manages coupon campaigns, offers, coupon issuance, redemption, and voiding. Create a campaign and offer before issuing coupons.
12
13
  class Service
13
14
 
14
15
  include ::GRPC::GenericService
@@ -17,34 +18,65 @@ module SingleUseCoupons
17
18
  self.unmarshal_class_method = :decode
18
19
  self.service_name = 'single_use_coupons.SingleUseCoupons'
19
20
 
21
+ # Creates a new single-use coupon campaign with design, rules, and configuration settings. Required fields: name and status.
20
22
  rpc :createCouponCampaign, ::SingleUseCoupons::CouponCampaign, ::Io::Id
23
+ # Updates the configuration of an existing coupon campaign. Required fields: campaignId.
21
24
  rpc :updateCouponCampaign, ::SingleUseCoupons::CouponCampaign, ::SingleUseCoupons::CouponCampaign
25
+ # Retrieves the details of a specific coupon campaign by id. Required fields: campaignId.
22
26
  rpc :getCouponCampaign, ::Io::Id, ::SingleUseCoupons::CouponCampaign
27
+ # Deletes a coupon campaign by id. This also deletes its associated offer and voids all related coupons. Required fields: campaignId. Use with caution, as this action is irreversible.
23
28
  rpc :deleteCouponCampaign, ::Io::Id, ::Google::Protobuf::Empty
29
+ # Lists all coupon campaigns using basic pagination. This version uses the legacy request format and is maintained for backward compatibility. New integrations should use the updated listCouponCampaigns call instead as OR operator is not supported.
24
30
  rpc :listCouponCampaignsDeprecated, ::Io::Pagination, stream(::SingleUseCoupons::CouponCampaign)
31
+ # Lists coupon campaigns with support for filters, sorting, and pagination.
25
32
  rpc :listCouponCampaigns, ::Io::Filters, stream(::SingleUseCoupons::CouponCampaign)
33
+ # Returns analytics data (e.g., redemptions, activations) for a given coupon campaign. Required fields: classId (e.g. campaignId) and protocol (query parameter).
26
34
  rpc :getAnalytics, ::Io::AnalyticsRequest, ::SingleUseCoupons::CouponCampaignAnalyticsResponse
35
+ # Creates an offer within a coupon campaign, including its pass design and redemption rules. Required fields: campaignId, offerTitle, offerDetails, beforeRedeemPassTemplateId.
27
36
  rpc :createCouponOffer, ::SingleUseCoupons::CouponOffer, ::Io::Id
37
+ # Updates an existing coupon offer’s settings, visuals, or redemption configuration. Required fields: campaignId, offerTitle, offerDetails, beforeRedeemPassTemplateId.
28
38
  rpc :updateCouponOffer, ::SingleUseCoupons::CouponOffer, ::SingleUseCoupons::CouponOffer
39
+ # Retrieves the full configuration of a coupon offer by ID. Required fields: offerId.
29
40
  rpc :getCouponOffer, ::Io::Id, ::SingleUseCoupons::CouponOffer
41
+ # Deletes a coupon offer and invalidates all associated coupons. Required fields: offerId. Use with caution, as this action is irreversible.
30
42
  rpc :deleteCouponOffer, ::Io::Id, ::Google::Protobuf::Empty
43
+ # Lists all coupon offers using basic filters. This version uses the legacy request format and is maintained for backward compatibility. New integrations should use the updated listCouponOffers call instead as OR operator is not supported.
31
44
  rpc :listCouponOffersDeprecated, ::SingleUseCoupons::CouponOffersListRequestDeprecated, stream(::SingleUseCoupons::CouponOffer)
45
+ # Lists coupon offers with support for filters, sorting, and pagination. Required fields: campaignId.
32
46
  rpc :listCouponOffers, ::SingleUseCoupons::CouponOffersListRequest, stream(::SingleUseCoupons::CouponOffer)
47
+ # Issues a unique coupon for an offer in a campaign. Required fields: campaignId, offerId, pass data.
33
48
  rpc :createCoupon, ::SingleUseCoupons::Coupon, ::Io::Id
49
+ # Updates an existing coupon’s metadata or personalisation. Required fields: coupon id ,or externalId, offerId and campaignId.
34
50
  rpc :updateCoupon, ::SingleUseCoupons::Coupon, ::Io::Id
51
+ # Streams updates for multiple coupons for batch processing.
35
52
  rpc :streamCouponUpdates, stream(::SingleUseCoupons::Coupon), stream(::Io::Id)
53
+ # Marks a coupon as redeemed and applies its redemption-specific design. Required fields: coupon ID, or externalId with offerId and campaignId.
36
54
  rpc :redeemCoupon, ::SingleUseCoupons::Coupon, ::Io::Id
55
+ # Updates the external ID of an existing coupon. Required fields: coupon id , or externalId, newExternalId and campaignId.
37
56
  rpc :updateCouponExternalId, ::SingleUseCoupons::CouponNewExternalIdRequest, ::Io::Id
57
+ # Streams coupon redemptions for batch processing.
38
58
  rpc :streamCouponRedemptions, stream(::SingleUseCoupons::Coupon), stream(::Io::Id)
59
+ # Retrieves a coupon by its PassKit ID. Required fields: couponId.
39
60
  rpc :getCouponById, ::Io::Id, ::SingleUseCoupons::Coupon
61
+ # Retrieves a coupon using an external ID and campaign ID. Required fields: externalId and couponCampaignId.
40
62
  rpc :getCouponByExternalId, ::SingleUseCoupons::ExternalIdRequest, ::SingleUseCoupons::Coupon
63
+ # Voids a coupon and invalidates it in the customer’s wallet. Required fields: coupon ID, or externalId with offerId and campaignId. This action is irreversible.
41
64
  rpc :voidCoupon, ::SingleUseCoupons::Coupon, ::Google::Protobuf::Empty
65
+ # Voids multiple coupons matching the given filters. All affected passes are invalidated. Required fields: classId, protocol and filters. Use with caution, as this action is irreversible.
66
+ rpc :bulkVoidCoupons, ::Io::BulkPassActionRequest, ::Google::Protobuf::Empty
67
+ # Lists all coupons for a campaign using basic pagination. This version uses the legacy request format and is maintained for backward compatibility. New integrations should use the updated listCouponsByCouponCampaign call instead as OR operator is not supported.
42
68
  rpc :listCouponsByCouponCampaignDeprecated, ::SingleUseCoupons::ListRequestDeprecated, stream(::SingleUseCoupons::Coupon)
69
+ # Lists all coupons for a campaign using filters and pagination. Required fields: couponCampaignId.
43
70
  rpc :listCouponsByCouponCampaign, ::SingleUseCoupons::ListRequest, stream(::SingleUseCoupons::Coupon)
71
+ # Counts all coupons for a campaign. This version uses the legacy request format and is maintained for backward compatibility. New integrations should use the updated countCouponsByCouponCampaign call instead as OR operator is not supported.
44
72
  rpc :countCouponsByCouponCampaignDeprecated, ::SingleUseCoupons::ListRequestDeprecated, ::Io::Count
73
+ # Counts all coupons for a campaign using advanced filters. Required fields: couponCampaignId.
45
74
  rpc :countCouponsByCouponCampaign, ::SingleUseCoupons::ListRequest, ::Io::Count
75
+ # Updates the personal information of the coupon holder (e.g., name, email). Required fields: couponId, or externalId + classId.
46
76
  rpc :patchPerson, ::Io::PersonRequest, ::Io::Id
77
+ # Creates a copy of an existing coupon campaign. Required fields: campaignId.
47
78
  rpc :copyCouponCampaign, ::SingleUseCoupons::CampaignCopyRequest, ::Io::Id
79
+ # Retrieves meta keys (custom fields) for a specific campaign. Required fields: campaignId.
48
80
  rpc :getMetaKeysForCampaign, ::Io::Id, ::Io::Strings
49
81
  end
50
82
 
@@ -3,6 +3,7 @@
3
3
  # source: io/single_use_coupons/campaign.proto
4
4
 
5
5
  require 'google/protobuf'
6
+ require 'protoc-gen-openapiv2/options/annotations_pb'
6
7
 
7
8
  require 'google/protobuf/timestamp_pb'
8
9
  require 'io/common/localization_pb'
@@ -12,7 +13,7 @@ require 'io/common/reporting_pb'
12
13
 
13
14
  descriptor_data = "\n$io/single_use_coupons/campaign.proto\x12\x12single_use_coupons\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cio/common/localization.proto\x1a\x17io/common/project.proto\x1a\x19io/common/reporting.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xac\x03\n\x0e\x43ouponCampaign\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12*\n\rlocalizedName\x18\x03 \x01(\x0b\x32\x13.io.LocalizedString\x12!\n\x06status\x18\x05 \x03(\x0e\x32\x11.io.ProjectStatus\x12\x1a\n\x12passTypeIdentifier\x18\x06 \x01(\t\x12\x14\n\x0cianaTimezone\x18\x07 \x01(\t\x12+\n\x07\x63reated\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07updated\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp:\x92\x01\x92\x41\x8e\x01\n\x8b\x01*\x0f\x43oupon Campaign2HHolds the business logic & distribution settings of the Coupon Campaign.\xd2\x01\x04name\xd2\x01\x07offerId\xd2\x01\x06status\xd2\x01\tstartDate\xd2\x01\x07\x65ndDateJ\x04\x08\x04\x10\x05J\x04\x08\x08\x10\tJ\x04\x08\t\x10\n\"\x9b\x02\n\x1f\x43ouponCampaignAnalyticsResponse\x12\x1a\n\x06period\x18\x01 \x01(\x0e\x32\n.io.Period\x12\x10\n\x08redeemed\x18\x02 \x01(\r\x12$\n\x07\x64\x65vices\x18\x03 \x01(\x0b\x32\x13.io.DeviceBreakdown\x12Q\n\x07sources\x18\x04 \x03(\x0b\x32@.single_use_coupons.CouponCampaignAnalyticsResponse.SourcesEntry\x12!\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x13.io.ChartDataPoints\x1a.\n\x0cSourcesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"n\n\x13\x43\x61mpaignCopyRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12!\n\x06status\x18\x03 \x03(\x0e\x32\x11.io.ProjectStatus\x12\x1a\n\x12passTypeIdentifier\x18\x04 \x01(\tB|\n!com.passkit.grpc.SingleUseCouponsZ7stash.passkit.com/io/model/sdk/go/io/single_use_coupons\xaa\x02\x1dPassKit.Grpc.SingleUseCouponsb\x06proto3"
14
15
 
15
- pool = Google::Protobuf::DescriptorPool.generated_pool
16
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
16
17
  pool.add_serialized_file(descriptor_data)
17
18
 
18
19
  module SingleUseCoupons
@@ -3,6 +3,7 @@
3
3
  # source: io/single_use_coupons/coupon.proto
4
4
 
5
5
  require 'google/protobuf'
6
+ require 'protoc-gen-openapiv2/options/annotations_pb'
6
7
 
7
8
  require 'google/protobuf/timestamp_pb'
8
9
  require 'io/common/pagination_pb'
@@ -14,7 +15,7 @@ require 'io/common/metrics_pb'
14
15
 
15
16
  descriptor_data = "\n\"io/single_use_coupons/coupon.proto\x12\x12single_use_coupons\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1aio/common/pagination.proto\x1a\x16io/common/filter.proto\x1a\x14io/common/pass.proto\x1a\x18io/common/personal.proto\x1a\x17io/common/metrics.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xbc\x05\n\x06\x43oupon\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nexternalId\x18\x02 \x01(\t\x12\x0f\n\x07offerId\x18\x03 \x01(\t\x12\x12\n\ncampaignId\x18\x04 \x01(\t\x12\x1a\n\x06person\x18\x05 \x01(\x0b\x32\n.io.Person\x12:\n\x08metaData\x18\x06 \x03(\x0b\x32(.single_use_coupons.Coupon.MetaDataEntry\x12\x0b\n\x03sku\x18\x07 \x01(\t\x12\x0e\n\x06optOut\x18\x08 \x01(\x08\x12\x30\n\x06status\x18\n \x01(\x0e\x32 .single_use_coupons.CouponStatus\x12.\n\nexpiryDate\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12@\n\x11redemptionDetails\x18\x0c \x01(\x0b\x32%.single_use_coupons.RedemptionDetails\x12(\n\rpassOverrides\x18\r \x01(\x0b\x32\x11.io.PassOverrides\x12\"\n\x0cpassMetaData\x18\x0e \x01(\x0b\x32\x0c.io.Metadata\x12+\n\x07\x63reated\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07updated\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a/\n\rMetaDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:u\x92\x41r\np*\x06\x43oupon2OHolds the details & state of a unique individual coupon instance (i.e. a pass).\xd2\x01\x07offerId\xd2\x01\ncampaignIdJ\x04\x08\t\x10\n\"\xee\x02\n\x11RedemptionDetails\x12\x32\n\x0eredemptionDate\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x16\n\x0eredemptionCode\x18\x02 \x01(\t\x12\x0b\n\x03lat\x18\x03 \x01(\x01\x12\x0b\n\x03lon\x18\x04 \x01(\x01\x12\x0b\n\x03\x61lt\x18\x05 \x01(\x05\x12\x18\n\x10redemptionSource\x18\x06 \x01(\t\x12\x1b\n\x13redemptionReference\x18\x07 \x01(\t\x12\x1c\n\x14transactionReference\x18\x08 \x01(\t\x12\x19\n\x11transactionAmount\x18\t \x01(\x01\x12\x45\n\x08metaData\x18\n \x03(\x0b\x32\x33.single_use_coupons.RedemptionDetails.MetaDataEntry\x1a/\n\rMetaDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\x11\x45xternalIdRequest\x12\x18\n\x10\x63ouponCampaignId\x18\x01 \x01(\t\x12\x12\n\nexternalId\x18\x02 \x01(\t\"U\n\x15ListRequestDeprecated\x12\x18\n\x10\x63ouponCampaignId\x18\x01 \x01(\t\x12\"\n\npagination\x18\x02 \x01(\x0b\x32\x0e.io.Pagination\"Y\n\x0bListRequest\x12\x18\n\x10\x63ouponCampaignId\x18\x01 \x01(\t\x12\x1c\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x0b.io.Filters\x12\x12\n\nemailAsCsv\x18\x03 \x01(\x08\"m\n\x1a\x43ouponNewExternalIdRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x18\n\x10\x63ouponCampaignId\x18\x02 \x01(\t\x12\x12\n\nexternalId\x18\x03 \x01(\t\x12\x15\n\rnewExternalId\x18\x04 \x01(\t*,\n\x0c\x43ouponStatus\x12\x0e\n\nUNREDEEMED\x10\x00\x12\x0c\n\x08REDEEMED\x10\x01\x42|\n!com.passkit.grpc.SingleUseCouponsZ7stash.passkit.com/io/model/sdk/go/io/single_use_coupons\xaa\x02\x1dPassKit.Grpc.SingleUseCouponsb\x06proto3"
16
17
 
17
- pool = Google::Protobuf::DescriptorPool.generated_pool
18
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
18
19
  pool.add_serialized_file(descriptor_data)
19
20
 
20
21
  module SingleUseCoupons
@@ -3,6 +3,7 @@
3
3
  # source: io/single_use_coupons/offer.proto
4
4
 
5
5
  require 'google/protobuf'
6
+ require 'protoc-gen-openapiv2/options/annotations_pb'
6
7
 
7
8
  require 'google/protobuf/timestamp_pb'
8
9
  require 'io/common/billing_pb'
@@ -15,9 +16,9 @@ require 'io/common/template_pb'
15
16
  require 'io/image/image_pb'
16
17
 
17
18
 
18
- descriptor_data = "\n!io/single_use_coupons/offer.proto\x12\x12single_use_coupons\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17io/common/billing.proto\x1a\x19io/common/operation.proto\x1a\x1cio/common/distribution.proto\x1a\x1cio/common/localization.proto\x1a\x1aio/common/pagination.proto\x1a\x16io/common/filter.proto\x1a\x18io/common/template.proto\x1a\x14io/image/image.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\x82\t\n\x0b\x43ouponOffer\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nofferTitle\x18\x02 \x01(\t\x12\x30\n\x13localizedOfferTitle\x18\x03 \x01(\x0b\x32\x13.io.LocalizedString\x12\x17\n\x0fofferShortTitle\x18\x04 \x01(\t\x12\x35\n\x18localizedOfferShortTitle\x18\x05 \x01(\x0b\x32\x13.io.LocalizedString\x12\x14\n\x0cofferDetails\x18\x06 \x01(\t\x12\x32\n\x15localizedOfferDetails\x18\x07 \x01(\x0b\x32\x13.io.LocalizedString\x12\x16\n\x0eofferFinePrint\x18\x08 \x01(\t\x12\x34\n\x17localizedOfferFinePrint\x18\t \x01(\x0b\x32\x13.io.LocalizedString\x12\"\n\x1a\x62\x65\x66oreRedeemPassTemplateId\x18\n \x01(\t\x12!\n\x19\x61\x66terRedeemPassTemplateId\x18\x0b \x01(\t\x12\x18\n\x05quota\x18\x0c \x01(\x0b\x32\t.io.Quota\x12\x46\n\x14\x63ouponExpirySettings\x18\r \x01(\x0b\x32(.single_use_coupons.CouponExpirySettings\x12\x42\n\x12redemptionSettings\x18\x0e \x01(\x0b\x32&.single_use_coupons.RedemptionSettings\x12\x32\n\x0eissueStartDate\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cissueEndDate\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07\x63reated\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07updated\x18\x12 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ncampaignId\x18\x13 \x01(\t\x12\x36\n\x14\x64istributionSettings\x18\x14 \x01(\x0b\x32\x18.io.DistributionSettings\x12\x11\n\tshortCode\x18\x15 \x01(\t\x12\x14\n\x0cianaTimezone\x18\x16 \x01(\t\x12\x10\n\x08\x64isabled\x18\x17 \x01(\x08\x12 \n\toperation\x18\x64 \x01(\x0e\x32\r.io.Operation:\xe2\x01\x92\x41\xde\x01\n\xdb\x01*\x0c\x43oupon Offer2\x91\x01Holds the offer details, redemption settings and before & after-redeem template designs (Apple Wallet & Google Pay designs) for the Coupon Offer.\xd2\x01\nofferTitle\xd2\x01\x0cofferDetails\xd2\x01\x1a\x62\x65\x66oreRedeemPassTemplateId\"p\n\x14\x43ouponExpirySettings\x12>\n\x10\x63ouponExpiryType\x18\x01 \x01(\x0e\x32$.single_use_coupons.CouponExpiryType\x12\x18\n\x10\x65xpireAfterXDays\x18\x03 \x01(\r\"\xdc\x03\n\x12RedemptionSettings\x12\x37\n\x13redemptionStartDate\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11redemptionEndDate\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12:\n\x0eredemptionType\x18\x03 \x03(\x0e\x32\".single_use_coupons.RedemptionType\x12\x66\n\x1c\x63odeProvidedOnRedeemSettings\x18\x05 \x01(\x0b\x32@.single_use_coupons.CustomerInitiatedCodeProvideOnRedeemSettings\x12Q\n\x11\x66ixedCodeSettings\x18\x06 \x01(\x0b\x32\x36.single_use_coupons.CustomerInitiatedFixedCodeSettings\x12G\n\x10standardSettings\x18\x07 \x01(\x0b\x32-.single_use_coupons.StandardPassKitHostedPageJ\x04\x08\x04\x10\x05J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"\xb5\x01\n\"CustomerInitiatedFixedCodeSettings\x12\x11\n\tfixedCode\x18\x01 \x01(\t\x12\x14\n\x0cuseCouponSku\x18\x02 \x01(\x08\x12 \n\x07\x62\x61rcode\x18\x03 \x01(\x0e\x32\x0f.io.BarcodeType\x12\x44\n\x0fredemptionTimer\x18\x04 \x01(\x0b\x32+.single_use_coupons.RedemptionTimerSettings\"|\n\x17RedemptionTimerSettings\x12\x16\n\x0etimeoutSeconds\x18\x01 \x01(\r\x12\x15\n\rtimerHelpText\x18\x02 \x01(\t\x12\x32\n\x15localizedTimeHelpText\x18\x03 \x01(\x0b\x32\x13.io.LocalizedString\"\xd1\x01\n,CustomerInitiatedCodeProvideOnRedeemSettings\x12\x12\n\nvalidCodes\x18\x01 \x03(\t\x12;\n\x13redemptionCodeInput\x18\x02 \x01(\x0b\x32\x1e.single_use_coupons.InputField\x12\x18\n\x10submitButtonText\x18\x03 \x01(\t\x12\x36\n\x19localizedSubmitButtonText\x18\x04 \x01(\x0b\x32\x13.io.LocalizedString\"\xfe\x02\n\nInputField\x12\r\n\x05label\x18\x01 \x01(\t\x12+\n\x0elocalizedLabel\x18\x02 \x01(\x0b\x32\x13.io.LocalizedString\x12\x12\n\nhelperText\x18\x03 \x01(\t\x12\x30\n\x13localizedHelperText\x18\x04 \x01(\x0b\x32\x13.io.LocalizedString\x12\x14\n\x0c\x65rrorMessage\x18\x05 \x01(\t\x12\x32\n\x15localizedErrorMessage\x18\x06 \x01(\x0b\x32\x13.io.LocalizedString\x12\x14\n\x0c\x64\x65\x66\x61ultValue\x18\x07 \x01(\t\x12\x32\n\x15localizedDefaultValue\x18\x08 \x01(\x0b\x32\x13.io.LocalizedString\x12\x13\n\x0bplaceholder\x18\t \x01(\t\x12\x31\n\x14localizedPlaceholder\x18\n \x01(\x0b\x32\x13.io.LocalizedString\x12\x12\n\nvalidation\x18\x0b \x01(\t\"\x89\x04\n\x19StandardPassKitHostedPage\x12\r\n\x05title\x18\x01 \x01(\t\x12+\n\x0elocalizedTitle\x18\x02 \x01(\x0b\x32\x13.io.LocalizedString\x12\x1e\n\x16redemptionInstructions\x18\x03 \x01(\t\x12<\n\x1flocalizedRedemptionInstructions\x18\x04 \x01(\x0b\x32\x13.io.LocalizedString\x12 \n\x08imageIds\x18\x05 \x01(\x0b\x32\x0c.io.ImageIdsH\x00\x12\x1f\n\x06images\x18\x06 \x01(\x0b\x32\r.io.ImageDataH\x00\x12\x12\n\nfooterText\x18\x07 \x01(\t\x12\x30\n\x13localizedFooterText\x18\x08 \x01(\x0b\x32\x13.io.LocalizedString\x12\x38\n\rresponseTexts\x18\t \x01(\x0b\x32!.single_use_coupons.ResponseTexts\x12\x1c\n\x14hideRedeemedDateTime\x18\n \x01(\x08\x12\x42\n\x12\x63\x61llToActionButton\x18\x0b \x01(\x0b\x32&.single_use_coupons.CallToActionButton\x12\x14\n\x0c\x63ssOverrides\x18\x0c \x01(\tB\x17\n\x15RedemptionImageAssets\"\xb4\x01\n\x12\x43\x61llToActionButton\x12\x1e\n\x16hideCallToActionButton\x18\x01 \x01(\x08\x12\x12\n\nbuttonText\x18\x02 \x01(\t\x12\x30\n\x13localizedButtonText\x18\x03 \x01(\x0b\x32\x13.io.LocalizedString\x12\x0c\n\x04link\x18\x04 \x01(\t\x12*\n\rlocalizedLink\x18\x05 \x01(\x0b\x32\x13.io.LocalizedString\"\xab\x04\n\rResponseTexts\x12\'\n\x1fredeemConfirmationDialogBoxText\x18\x01 \x01(\t\x12\x45\n(localizedRedeemConfirmationDialogBoxText\x18\x02 \x01(\x0b\x32\x13.io.LocalizedString\x12\x18\n\x10\x63\x61ncelRedeemText\x18\x03 \x01(\t\x12\x36\n\x19localizedCancelRedeemText\x18\x04 \x01(\x0b\x32\x13.io.LocalizedString\x12\x17\n\x0f\x61\x66terRedeemText\x18\x05 \x01(\t\x12\x35\n\x18localizedAfterRedeemText\x18\x06 \x01(\x0b\x32\x13.io.LocalizedString\x12!\n\x19\x63ouponAlreadyRedeemedText\x18\x07 \x01(\t\x12?\n\"localizedCouponAlreadyRedeemedText\x18\x08 \x01(\x0b\x32\x13.io.LocalizedString\x12\x18\n\x10offerExpiredText\x18\t \x01(\t\x12\x36\n\x19localizedOfferExpiredText\x18\n \x01(\x0b\x32\x13.io.LocalizedString\x12\x19\n\x11\x63ouponExpiredText\x18\x0b \x01(\t\x12\x37\n\x1alocalizedCouponExpiredText\x18\x0c \x01(\x0b\x32\x13.io.LocalizedString\"[\n!CouponOffersListRequestDeprecated\x12\x12\n\ncampaignId\x18\x01 \x01(\t\x12\"\n\npagination\x18\x02 \x01(\x0b\x32\x0e.io.Pagination\"K\n\x17\x43ouponOffersListRequest\x12\x12\n\ncampaignId\x18\x01 \x01(\t\x12\x1c\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x0b.io.Filters*\xa9\x01\n\x10\x43ouponExpiryType\x12\x15\n\x11\x45XPIRY_DO_NOT_USE\x10\x00\x12\x1e\n\x1a\x41UTO_EXPIRE_OFFER_END_DATE\x10\x01\x12#\n\x1f\x41UTO_EXPIRE_REDEMPTION_END_DATE\x10\x02\x12\x17\n\x13\x45XPIRE_AFTER_X_DAYS\x10\x03\x12 \n\x1c\x45XPIRE_ON_VARIABLE_DATE_TIME\x10\x04*\xe4\x01\n\x0eRedemptionType\x12\x1e\n\x1aREDEMPTION_TYPE_DO_NOT_USE\x10\x00\x12\x17\n\x13REDEMPTION_TYPE_API\x10\x01\x12&\n\"REDEMPTION_TYPE_CUSTOMER_INITIATED\x10\x02\x12\x31\n-REDEMPTION_TYPE_CUSTOMER_INITIATED_CODE_FIXED\x10\x03\x12>\n:REDEMPTION_TYPE_CUSTOMER_INITIATED_CODE_PROVIDED_ON_REDEEM\x10\x04\x42|\n!com.passkit.grpc.SingleUseCouponsZ7stash.passkit.com/io/model/sdk/go/io/single_use_coupons\xaa\x02\x1dPassKit.Grpc.SingleUseCouponsb\x06proto3"
19
+ descriptor_data = "\n!io/single_use_coupons/offer.proto\x12\x12single_use_coupons\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17io/common/billing.proto\x1a\x19io/common/operation.proto\x1a\x1cio/common/distribution.proto\x1a\x1cio/common/localization.proto\x1a\x1aio/common/pagination.proto\x1a\x16io/common/filter.proto\x1a\x18io/common/template.proto\x1a\x14io/image/image.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\x85\t\n\x0b\x43ouponOffer\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nofferTitle\x18\x02 \x01(\t\x12\x30\n\x13localizedOfferTitle\x18\x03 \x01(\x0b\x32\x13.io.LocalizedString\x12\x17\n\x0fofferShortTitle\x18\x04 \x01(\t\x12\x35\n\x18localizedOfferShortTitle\x18\x05 \x01(\x0b\x32\x13.io.LocalizedString\x12\x14\n\x0cofferDetails\x18\x06 \x01(\t\x12\x32\n\x15localizedOfferDetails\x18\x07 \x01(\x0b\x32\x13.io.LocalizedString\x12\x16\n\x0eofferFinePrint\x18\x08 \x01(\t\x12\x34\n\x17localizedOfferFinePrint\x18\t \x01(\x0b\x32\x13.io.LocalizedString\x12\"\n\x1a\x62\x65\x66oreRedeemPassTemplateId\x18\n \x01(\t\x12!\n\x19\x61\x66terRedeemPassTemplateId\x18\x0b \x01(\t\x12\x18\n\x05quota\x18\x0c \x01(\x0b\x32\t.io.Quota\x12\x46\n\x14\x63ouponExpirySettings\x18\r \x01(\x0b\x32(.single_use_coupons.CouponExpirySettings\x12\x42\n\x12redemptionSettings\x18\x0e \x01(\x0b\x32&.single_use_coupons.RedemptionSettings\x12\x32\n\x0eissueStartDate\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cissueEndDate\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07\x63reated\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07updated\x18\x12 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ncampaignId\x18\x13 \x01(\t\x12\x36\n\x14\x64istributionSettings\x18\x14 \x01(\x0b\x32\x18.io.DistributionSettings\x12\x11\n\tshortCode\x18\x15 \x01(\t\x12\x14\n\x0cianaTimezone\x18\x16 \x01(\t\x12\x10\n\x08\x64isabled\x18\x17 \x01(\x08\x12 \n\toperation\x18\x64 \x01(\x0e\x32\r.io.Operation:\xe5\x01\x92\x41\xe1\x01\n\xde\x01*\x0c\x43oupon Offer2\x94\x01Holds the offer details, redemption settings and before & after-redeem template designs (Apple Wallet & Google Wallet designs) for the Coupon Offer.\xd2\x01\nofferTitle\xd2\x01\x0cofferDetails\xd2\x01\x1a\x62\x65\x66oreRedeemPassTemplateId\"p\n\x14\x43ouponExpirySettings\x12>\n\x10\x63ouponExpiryType\x18\x01 \x01(\x0e\x32$.single_use_coupons.CouponExpiryType\x12\x18\n\x10\x65xpireAfterXDays\x18\x03 \x01(\r\"\xdc\x03\n\x12RedemptionSettings\x12\x37\n\x13redemptionStartDate\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11redemptionEndDate\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12:\n\x0eredemptionType\x18\x03 \x03(\x0e\x32\".single_use_coupons.RedemptionType\x12\x66\n\x1c\x63odeProvidedOnRedeemSettings\x18\x05 \x01(\x0b\x32@.single_use_coupons.CustomerInitiatedCodeProvideOnRedeemSettings\x12Q\n\x11\x66ixedCodeSettings\x18\x06 \x01(\x0b\x32\x36.single_use_coupons.CustomerInitiatedFixedCodeSettings\x12G\n\x10standardSettings\x18\x07 \x01(\x0b\x32-.single_use_coupons.StandardPassKitHostedPageJ\x04\x08\x04\x10\x05J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"\xb5\x01\n\"CustomerInitiatedFixedCodeSettings\x12\x11\n\tfixedCode\x18\x01 \x01(\t\x12\x14\n\x0cuseCouponSku\x18\x02 \x01(\x08\x12 \n\x07\x62\x61rcode\x18\x03 \x01(\x0e\x32\x0f.io.BarcodeType\x12\x44\n\x0fredemptionTimer\x18\x04 \x01(\x0b\x32+.single_use_coupons.RedemptionTimerSettings\"|\n\x17RedemptionTimerSettings\x12\x16\n\x0etimeoutSeconds\x18\x01 \x01(\r\x12\x15\n\rtimerHelpText\x18\x02 \x01(\t\x12\x32\n\x15localizedTimeHelpText\x18\x03 \x01(\x0b\x32\x13.io.LocalizedString\"\xd1\x01\n,CustomerInitiatedCodeProvideOnRedeemSettings\x12\x12\n\nvalidCodes\x18\x01 \x03(\t\x12;\n\x13redemptionCodeInput\x18\x02 \x01(\x0b\x32\x1e.single_use_coupons.InputField\x12\x18\n\x10submitButtonText\x18\x03 \x01(\t\x12\x36\n\x19localizedSubmitButtonText\x18\x04 \x01(\x0b\x32\x13.io.LocalizedString\"\xfe\x02\n\nInputField\x12\r\n\x05label\x18\x01 \x01(\t\x12+\n\x0elocalizedLabel\x18\x02 \x01(\x0b\x32\x13.io.LocalizedString\x12\x12\n\nhelperText\x18\x03 \x01(\t\x12\x30\n\x13localizedHelperText\x18\x04 \x01(\x0b\x32\x13.io.LocalizedString\x12\x14\n\x0c\x65rrorMessage\x18\x05 \x01(\t\x12\x32\n\x15localizedErrorMessage\x18\x06 \x01(\x0b\x32\x13.io.LocalizedString\x12\x14\n\x0c\x64\x65\x66\x61ultValue\x18\x07 \x01(\t\x12\x32\n\x15localizedDefaultValue\x18\x08 \x01(\x0b\x32\x13.io.LocalizedString\x12\x13\n\x0bplaceholder\x18\t \x01(\t\x12\x31\n\x14localizedPlaceholder\x18\n \x01(\x0b\x32\x13.io.LocalizedString\x12\x12\n\nvalidation\x18\x0b \x01(\t\"\x89\x04\n\x19StandardPassKitHostedPage\x12\r\n\x05title\x18\x01 \x01(\t\x12+\n\x0elocalizedTitle\x18\x02 \x01(\x0b\x32\x13.io.LocalizedString\x12\x1e\n\x16redemptionInstructions\x18\x03 \x01(\t\x12<\n\x1flocalizedRedemptionInstructions\x18\x04 \x01(\x0b\x32\x13.io.LocalizedString\x12 \n\x08imageIds\x18\x05 \x01(\x0b\x32\x0c.io.ImageIdsH\x00\x12\x1f\n\x06images\x18\x06 \x01(\x0b\x32\r.io.ImageDataH\x00\x12\x12\n\nfooterText\x18\x07 \x01(\t\x12\x30\n\x13localizedFooterText\x18\x08 \x01(\x0b\x32\x13.io.LocalizedString\x12\x38\n\rresponseTexts\x18\t \x01(\x0b\x32!.single_use_coupons.ResponseTexts\x12\x1c\n\x14hideRedeemedDateTime\x18\n \x01(\x08\x12\x42\n\x12\x63\x61llToActionButton\x18\x0b \x01(\x0b\x32&.single_use_coupons.CallToActionButton\x12\x14\n\x0c\x63ssOverrides\x18\x0c \x01(\tB\x17\n\x15RedemptionImageAssets\"\xb4\x01\n\x12\x43\x61llToActionButton\x12\x1e\n\x16hideCallToActionButton\x18\x01 \x01(\x08\x12\x12\n\nbuttonText\x18\x02 \x01(\t\x12\x30\n\x13localizedButtonText\x18\x03 \x01(\x0b\x32\x13.io.LocalizedString\x12\x0c\n\x04link\x18\x04 \x01(\t\x12*\n\rlocalizedLink\x18\x05 \x01(\x0b\x32\x13.io.LocalizedString\"\xab\x04\n\rResponseTexts\x12\'\n\x1fredeemConfirmationDialogBoxText\x18\x01 \x01(\t\x12\x45\n(localizedRedeemConfirmationDialogBoxText\x18\x02 \x01(\x0b\x32\x13.io.LocalizedString\x12\x18\n\x10\x63\x61ncelRedeemText\x18\x03 \x01(\t\x12\x36\n\x19localizedCancelRedeemText\x18\x04 \x01(\x0b\x32\x13.io.LocalizedString\x12\x17\n\x0f\x61\x66terRedeemText\x18\x05 \x01(\t\x12\x35\n\x18localizedAfterRedeemText\x18\x06 \x01(\x0b\x32\x13.io.LocalizedString\x12!\n\x19\x63ouponAlreadyRedeemedText\x18\x07 \x01(\t\x12?\n\"localizedCouponAlreadyRedeemedText\x18\x08 \x01(\x0b\x32\x13.io.LocalizedString\x12\x18\n\x10offerExpiredText\x18\t \x01(\t\x12\x36\n\x19localizedOfferExpiredText\x18\n \x01(\x0b\x32\x13.io.LocalizedString\x12\x19\n\x11\x63ouponExpiredText\x18\x0b \x01(\t\x12\x37\n\x1alocalizedCouponExpiredText\x18\x0c \x01(\x0b\x32\x13.io.LocalizedString\"[\n!CouponOffersListRequestDeprecated\x12\x12\n\ncampaignId\x18\x01 \x01(\t\x12\"\n\npagination\x18\x02 \x01(\x0b\x32\x0e.io.Pagination\"K\n\x17\x43ouponOffersListRequest\x12\x12\n\ncampaignId\x18\x01 \x01(\t\x12\x1c\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x0b.io.Filters*\xa9\x01\n\x10\x43ouponExpiryType\x12\x15\n\x11\x45XPIRY_DO_NOT_USE\x10\x00\x12\x1e\n\x1a\x41UTO_EXPIRE_OFFER_END_DATE\x10\x01\x12#\n\x1f\x41UTO_EXPIRE_REDEMPTION_END_DATE\x10\x02\x12\x17\n\x13\x45XPIRE_AFTER_X_DAYS\x10\x03\x12 \n\x1c\x45XPIRE_ON_VARIABLE_DATE_TIME\x10\x04*\xe4\x01\n\x0eRedemptionType\x12\x1e\n\x1aREDEMPTION_TYPE_DO_NOT_USE\x10\x00\x12\x17\n\x13REDEMPTION_TYPE_API\x10\x01\x12&\n\"REDEMPTION_TYPE_CUSTOMER_INITIATED\x10\x02\x12\x31\n-REDEMPTION_TYPE_CUSTOMER_INITIATED_CODE_FIXED\x10\x03\x12>\n:REDEMPTION_TYPE_CUSTOMER_INITIATED_CODE_PROVIDED_ON_REDEEM\x10\x04\x42|\n!com.passkit.grpc.SingleUseCouponsZ7stash.passkit.com/io/model/sdk/go/io/single_use_coupons\xaa\x02\x1dPassKit.Grpc.SingleUseCouponsb\x06proto3"
19
20
 
20
- pool = Google::Protobuf::DescriptorPool.generated_pool
21
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
21
22
  pool.add_serialized_file(descriptor_data)
22
23
 
23
24
  module SingleUseCoupons
@@ -9,9 +9,9 @@ require 'io/common/personal_pb'
9
9
  require 'io/common/attributes_pb'
10
10
 
11
11
 
12
- descriptor_data = "\n\x12io/user/user.proto\x12\x02io\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x18io/common/personal.proto\x1a\x1aio/common/attributes.proto\"\xb4\x02\n\x08\x41uditLog\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x11\n\tcompanyId\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x03 \x01(\t\x12\x1e\n\x08userType\x18\x04 \x01(\x0e\x32\x0c.io.UserType\x12*\n\x0e\x61uthentication\x18\x05 \x01(\x0e\x32\x12.io.Authentication\x12\x1c\n\x07\x63hannel\x18\x06 \x01(\x0e\x32\x0b.io.Channel\x12\x11\n\tipAddress\x18\x07 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x08 \x01(\t\x12\x0f\n\x07payload\x18\t \x01(\t\x12\x12\n\nstatusCode\x18\n \x01(\r\x12\x0e\n\x06status\x18\x0b \x01(\t\x12\x10\n\x08response\x18\x0c \x01(\t\"v\n\x0f\x41uditLogRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12.\n\nbeforeTime\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05limit\x18\x03 \x01(\r\x12\x12\n\nerrorsOnly\x18\x04 \x01(\x08\"\xee\x01\n\x0fNewUserResponse\x12\x0e\n\x06userId\x18\x01 \x01(\t\x12\x11\n\tcompanyId\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x03 \x01(\t\x12\x14\n\x0c\x65mailAddress\x18\x04 \x01(\t\x12\x0e\n\x06secret\x18\x05 \x01(\t\x12\x13\n\x0b\x63\x65rtificate\x18\x06 \x01(\t\x12\x12\n\nprivateKey\x18\x07 \x01(\t\x12\x16\n\x0ejavaPrivateKey\x18\x08 \x01(\t\x12-\n\texpiresAt\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08regionId\x18\n \x01(\t\"\xcf\x01\n\x07NewUser\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x14\n\x0c\x65mailAddress\x18\x03 \x01(\t\x12\x11\n\tsendEmail\x18\x04 \x01(\x08\x12\x13\n\x0b\x63ompanyName\x18\x05 \x01(\t\x12\x14\n\x0cmobileNumber\x18\x06 \x01(\t\x12\x15\n\rtwoFactorAuth\x18\x07 \x01(\x08\x12\x0f\n\x07isOwner\x18\x08 \x01(\x08\x12\x10\n\x08readOnly\x18\t \x01(\x08\x12\x12\n\nteamMember\x18\n \x01(\x08\"\xf5\x01\n\x0fGetUserResponse\x12\r\n\x05\x65mail\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x11\n\tcompanyId\x18\x03 \x01(\t\x12\x13\n\x0b\x63ompanyName\x18\x04 \x01(\t\x12\x15\n\rcompanyStatus\x18\x05 \x01(\x04\x12-\n\tcreatedAt\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\texpiresAt\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08regionId\x18\x08 \x01(\t\x12\x12\n\nuserStatus\x18\t \x01(\x04\"i\n\x0b\x42illingMeta\x12\x13\n\x0b\x63ompanyName\x18\x01 \x01(\t\x12\r\n\x05taxId\x18\x02 \x01(\t\x12\x11\n\treference\x18\x03 \x01(\t\x12#\n\x0e\x62illingAddress\x18\x04 \x01(\x0b\x32\x0b.io.Address\"X\n\x0b\x43redentials\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x12\n\ntwoFAToken\x18\x03 \x01(\t\x12\x11\n\ttwoFACode\x18\x04 \x01(\t\"+\n\rVerifyRequest\x12\x0b\n\x03uid\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\"\x14\n\x03JWT\x12\r\n\x05token\x18\x01 \x01(\t\"j\n\x12PasswordResetInput\x12\n\n\x02id\x18\x01 \x01(\t\x12\x17\n\x0fregisteredEmail\x18\x02 \x01(\t\x12\x13\n\x0bnewPassword\x18\x03 \x01(\t\x12\x1a\n\x12\x63onfirmNewPassword\x18\x04 \x01(\t\"\x1c\n\x08Username\x12\x10\n\x08username\x18\x01 \x01(\t\"k\n\x1aOAuth2AuthorizationRequest\x12\x12\n\nclientCode\x18\x01 \x01(\t\x12$\n\x08provider\x18\x02 \x01(\x0e\x32\x12.io.OAuth2Provider\x12\x13\n\x0bredirectUri\x18\x03 \x01(\t\"\x8c\x02\n\x14ScannerConfiguration\x12?\n\x15membershipPermissions\x18\x01 \x03(\x0e\x32 .io.ScannerMembershipPermissions\x12\x37\n\x11\x63ouponPermissions\x18\x02 \x03(\x0e\x32\x1c.io.ScannerCouponPermissions\x12@\n\x17\x64\x65\x66\x61ultMembershipAction\x18\x03 \x03(\x0e\x32\x1f.io.DefaultMembershipScanAction\x12\x38\n\x13\x64\x65\x66\x61ultCouponAction\x18\x04 \x03(\x0e\x32\x1b.io.DefaultCouponScanAction\"\x16\n\x05\x45mail\x12\r\n\x05\x65mail\x18\x01 \x01(\t\"L\n\x17\x43onfirmEmailChangeInput\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\r\n\x05token\x18\x03 \x01(\t\"\"\n\x0b\x43ompanyName\x12\x13\n\x0b\x63ompanyName\x18\x01 \x01(\t\"Z\n\x14\x44\x65leteAccountRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x1e\n\x16\x63onfirmPermanentDelete\x18\x03 \x01(\x08\" \n\x0cProjectsList\x12\x10\n\x08projects\x18\x01 \x03(\t\"(\n\x10\x43\x65rtificatesList\x12\x14\n\x0c\x63\x65rtificates\x18\x01 \x03(\t\" \n\x0cProtocolList\x12\x10\n\x08\x63lassIds\x18\x01 \x03(\t\"\x8c\x03\n\x13ResourcePermissions\x12+\n\x0f\x61llowedProjects\x18\x01 \x01(\x0b\x32\x10.io.ProjectsListH\x00\x12.\n\x12\x64isallowedProjects\x18\x02 \x01(\x0b\x32\x10.io.ProjectsListH\x00\x12\x33\n\x13\x61llowedCertificates\x18\x03 \x01(\x0b\x32\x14.io.CertificatesListH\x01\x12\x36\n\x16\x64isallowedCertificates\x18\x04 \x01(\x0b\x32\x14.io.CertificatesListH\x01\x12+\n\x0f\x61llowedPrograms\x18\x05 \x01(\x0b\x32\x10.io.ProtocolListH\x02\x12.\n\x12\x64isallowedPrograms\x18\x06 \x01(\x0b\x32\x10.io.ProtocolListH\x02\x42\x14\n\x12ProjectPermissionsB\x18\n\x16\x43\x65rtificatePermissionsB\x1e\n\x1cMembershipProgramPermissions\"\x97\x02\n\x15TeamMemberPermissions\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06userId\x18\x02 \x01(\t\x12,\n\x0fpermissionScope\x18\x03 \x01(\x0e\x32\x13.io.PermissionScope\x12$\n\x06status\x18\x04 \x01(\x0e\x32\x14.io.TeamMemberStatus\x12\x34\n\x13resourcePermissions\x18\x05 \x01(\x0b\x32\x17.io.ResourcePermissions\x12+\n\x07\x63reated\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07updated\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"Z\n\rNewTeamMember\x12\x19\n\x04user\x18\x01 \x01(\x0b\x32\x0b.io.NewUser\x12.\n\x0bpermissions\x18\x02 \x01(\x0b\x32\x19.io.TeamMemberPermissions\"j\n\x15GetTeamMemberResponse\x12!\n\x04user\x18\x01 \x01(\x0b\x32\x13.io.GetUserResponse\x12.\n\x0bpermissions\x18\x02 \x01(\x0b\x32\x19.io.TeamMemberPermissions\"[\n\x17ListTeamMembersResponse\x12\x0b\n\x03uid\x18\x01 \x01(\t\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12$\n\x06status\x18\x03 \x01(\x0e\x32\x14.io.TeamMemberStatus*q\n\x0eOAuth2Provider\x12\x14\n\x10OAUTH_DO_NOT_USE\x10\x00\x12\x11\n\rOAUTH_PATREON\x10\n\x12\x10\n\x0cOAUTH_SPROUT\x10\x32\x12\x13\n\x0fOAUTH_MAILCHIMP\x10\x64\x12\x0f\n\nOAUTH_XERO\x10\x96\x01*\xc6\x03\n\x1cScannerMembershipPermissions\x12\x1e\n\x1aMEMBERSHIP_PERMISSION_NONE\x10\x00\x12%\n!MEMBERSHIP_PERMISSION_VIEW_MEMBER\x10\x01\x12%\n!MEMBERSHIP_PERMISSION_EDIT_MEMBER\x10\x02\x12%\n!MEMBERSHIP_PERMISSION_EARN_POINTS\x10\x04\x12%\n!MEMBERSHIP_PERMISSION_BURN_POINTS\x10\x08\x12$\n MEMBERSHIP_PERMISSION_SET_POINTS\x10\x10\x12%\n!MEMBERSHIP_PERMISSION_CHANGE_TIER\x10 \x12%\n!MEMBERSHIP_PERMISSION_VIEW_EVENTS\x10@\x12(\n#MEMBERSHIP_PERMISSION_CHANGE_EXPIRY\x10\x80\x01\x12\'\n\"MEMBERSHIP_PERMISSION_CHECK_IN_OUT\x10\x80\x02\x12#\n\x1eMEMBERSHIP_PERMISSION_VALIDATE\x10\x80\x04*\x82\x02\n\x18ScannerCouponPermissions\x12\x1a\n\x16\x43OUPON_PERMISSION_NONE\x10\x00\x12!\n\x1d\x43OUPON_PERMISSION_VIEW_COUPON\x10\x01\x12!\n\x1d\x43OUPON_PERMISSION_EDIT_COUPON\x10\x02\x12\x1c\n\x18\x43OUPON_PERMISSION_REDEEM\x10\x04\x12!\n\x1d\x43OUPON_PERMISSION_VIEW_EVENTS\x10\x08\x12#\n\x1f\x43OUPON_PERMISSION_CHANGE_EXPIRY\x10\x10\x12\x1e\n\x1a\x43OUPON_PERMISSION_VALIDATE\x10 *\xc8\x01\n\x1b\x44\x65\x66\x61ultMembershipScanAction\x12\x1b\n\x17MEMBERSHIP_DEFAULT_NONE\x10\x00\x12\"\n\x1eMEMBERSHIP_DEFAULT_EARN_POINTS\x10\x01\x12\"\n\x1eMEMBERSHIP_DEFAULT_BURN_POINTS\x10\x02\x12#\n\x1fMEMBERSHIP_DEFAULT_CHECK_IN_OUT\x10\x04\x12\x1f\n\x1bMEMBERSHIP_DEFAULT_VALIDATE\x10\x08*j\n\x17\x44\x65\x66\x61ultCouponScanAction\x12\x17\n\x13\x43OUPON_DEFAULT_NONE\x10\x00\x12\x19\n\x15\x43OUPON_DEFAULT_REDEEM\x10\x01\x12\x1b\n\x17\x43OUPON_DEFAULT_VALIDATE\x10\x02*\xed\x01\n\x0fPermissionScope\x12\x13\n\x0fPERMISSION_NONE\x10\x00\x12\x0e\n\nWEB_ACCESS\x10\x01\x12\x0e\n\nAPP_ACCESS\x10\x02\x12\x10\n\x0c\x41LL_PROJECTS\x10\x04\x12\x14\n\x10\x41LL_CERTIFICATES\x10\x08\x12\x12\n\x0e\x42ILLING_ACCESS\x10\x10\x12\x17\n\x13\x43\x45RTIFICATES_ACCESS\x10 \x12\x12\n\x0eMEMBERS_ACCESS\x10@\x12\x13\n\x0e\x43OUPONS_ACCESS\x10\x80\x01\x12\x12\n\rEVENTS_ACCESS\x10\x80\x02\x12\x13\n\x0e\x46LIGHTS_ACCESS\x10\x80\x04*\x87\x01\n\x10TeamMemberStatus\x12\x0f\n\x0bSTATUS_NONE\x10\x00\x12\x16\n\x12TEAM_MEMBER_ACTIVE\x10\x01\x12\x18\n\x14TEAM_MEMBER_DISABLED\x10\x02\x12\x17\n\x13TEAM_MEMBER_EXPIRED\x10\x04\x12\x17\n\x13TEAM_MEMBER_PENDING\x10\x08\x42G\n\x10\x63om.passkit.grpcZ$stash.passkit.com/io/model/sdk/go/io\xaa\x02\x0cPassKit.Grpcb\x06proto3"
12
+ descriptor_data = "\n\x12io/user/user.proto\x12\x02io\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x18io/common/personal.proto\x1a\x1aio/common/attributes.proto\"\xb4\x02\n\x08\x41uditLog\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x11\n\tcompanyId\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x03 \x01(\t\x12\x1e\n\x08userType\x18\x04 \x01(\x0e\x32\x0c.io.UserType\x12*\n\x0e\x61uthentication\x18\x05 \x01(\x0e\x32\x12.io.Authentication\x12\x1c\n\x07\x63hannel\x18\x06 \x01(\x0e\x32\x0b.io.Channel\x12\x11\n\tipAddress\x18\x07 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x08 \x01(\t\x12\x0f\n\x07payload\x18\t \x01(\t\x12\x12\n\nstatusCode\x18\n \x01(\r\x12\x0e\n\x06status\x18\x0b \x01(\t\x12\x10\n\x08response\x18\x0c \x01(\t\"v\n\x0f\x41uditLogRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12.\n\nbeforeTime\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05limit\x18\x03 \x01(\r\x12\x12\n\nerrorsOnly\x18\x04 \x01(\x08\"\xee\x01\n\x0fNewUserResponse\x12\x0e\n\x06userId\x18\x01 \x01(\t\x12\x11\n\tcompanyId\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x03 \x01(\t\x12\x14\n\x0c\x65mailAddress\x18\x04 \x01(\t\x12\x0e\n\x06secret\x18\x05 \x01(\t\x12\x13\n\x0b\x63\x65rtificate\x18\x06 \x01(\t\x12\x12\n\nprivateKey\x18\x07 \x01(\t\x12\x16\n\x0ejavaPrivateKey\x18\x08 \x01(\t\x12-\n\texpiresAt\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08regionId\x18\n \x01(\t\"\xde\x01\n\x07NewUser\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x14\n\x0c\x65mailAddress\x18\x03 \x01(\t\x12\x11\n\tsendEmail\x18\x04 \x01(\x08\x12\x13\n\x0b\x63ompanyName\x18\x05 \x01(\t\x12\x14\n\x0cmobileNumber\x18\x06 \x01(\t\x12\x15\n\rtwoFactorAuth\x18\x07 \x01(\x08\x12\x0f\n\x07isOwner\x18\x08 \x01(\x08\x12\x10\n\x08readOnly\x18\t \x01(\x08\x12\x12\n\nteamMember\x18\n \x01(\x08\x12\r\n\x05token\x18\x0b \x01(\t\"\x9e\x02\n\x0fGetUserResponse\x12\r\n\x05\x65mail\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x11\n\tcompanyId\x18\x03 \x01(\t\x12\x13\n\x0b\x63ompanyName\x18\x04 \x01(\t\x12\x15\n\rcompanyStatus\x18\x05 \x01(\x04\x12-\n\tcreatedAt\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\texpiresAt\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08regionId\x18\x08 \x01(\t\x12\x12\n\nuserStatus\x18\t \x01(\x04\x12\x17\n\x0fuserPermissions\x18\n \x01(\x04\x12\x0e\n\x06userId\x18\x0b \x01(\t\"i\n\x0b\x42illingMeta\x12\x13\n\x0b\x63ompanyName\x18\x01 \x01(\t\x12\r\n\x05taxId\x18\x02 \x01(\t\x12\x11\n\treference\x18\x03 \x01(\t\x12#\n\x0e\x62illingAddress\x18\x04 \x01(\x0b\x32\x0b.io.Address\"X\n\x0b\x43redentials\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x12\n\ntwoFAToken\x18\x03 \x01(\t\x12\x11\n\ttwoFACode\x18\x04 \x01(\t\"+\n\rVerifyRequest\x12\x0b\n\x03uid\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\"\x14\n\x03JWT\x12\r\n\x05token\x18\x01 \x01(\t\"c\n\x12PasswordResetInput\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x13\n\x0bnewPassword\x18\x03 \x01(\t\x12\x1a\n\x12\x63onfirmNewPassword\x18\x04 \x01(\t\"b\n\x16\x43hangeOwnPasswordInput\x12\x17\n\x0f\x63urrentPassword\x18\x01 \x01(\t\x12\x13\n\x0bnewPassword\x18\x02 \x01(\t\x12\x1a\n\x12\x63onfirmNewPassword\x18\x03 \x01(\t\"\x1c\n\x08Username\x12\x10\n\x08username\x18\x01 \x01(\t\"k\n\x1aOAuth2AuthorizationRequest\x12\x12\n\nclientCode\x18\x01 \x01(\t\x12$\n\x08provider\x18\x02 \x01(\x0e\x32\x12.io.OAuth2Provider\x12\x13\n\x0bredirectUri\x18\x03 \x01(\t\"\x8c\x02\n\x14ScannerConfiguration\x12?\n\x15membershipPermissions\x18\x01 \x03(\x0e\x32 .io.ScannerMembershipPermissions\x12\x37\n\x11\x63ouponPermissions\x18\x02 \x03(\x0e\x32\x1c.io.ScannerCouponPermissions\x12@\n\x17\x64\x65\x66\x61ultMembershipAction\x18\x03 \x03(\x0e\x32\x1f.io.DefaultMembershipScanAction\x12\x38\n\x13\x64\x65\x66\x61ultCouponAction\x18\x04 \x03(\x0e\x32\x1b.io.DefaultCouponScanAction\"\x16\n\x05\x45mail\x12\r\n\x05\x65mail\x18\x01 \x01(\t\"L\n\x17\x43onfirmEmailChangeInput\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\r\n\x05token\x18\x03 \x01(\t\"\"\n\x0b\x43ompanyName\x12\x13\n\x0b\x63ompanyName\x18\x01 \x01(\t\"Z\n\x14\x44\x65leteAccountRequest\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x1e\n\x16\x63onfirmPermanentDelete\x18\x03 \x01(\x08\" \n\x0cProjectsList\x12\x10\n\x08projects\x18\x01 \x03(\t\"(\n\x10\x43\x65rtificatesList\x12\x14\n\x0c\x63\x65rtificates\x18\x01 \x03(\t\" \n\x0cProtocolList\x12\x10\n\x08\x63lassIds\x18\x01 \x03(\t\"\x8c\x03\n\x13ResourcePermissions\x12+\n\x0f\x61llowedProjects\x18\x01 \x01(\x0b\x32\x10.io.ProjectsListH\x00\x12.\n\x12\x64isallowedProjects\x18\x02 \x01(\x0b\x32\x10.io.ProjectsListH\x00\x12\x33\n\x13\x61llowedCertificates\x18\x03 \x01(\x0b\x32\x14.io.CertificatesListH\x01\x12\x36\n\x16\x64isallowedCertificates\x18\x04 \x01(\x0b\x32\x14.io.CertificatesListH\x01\x12+\n\x0f\x61llowedPrograms\x18\x05 \x01(\x0b\x32\x10.io.ProtocolListH\x02\x12.\n\x12\x64isallowedPrograms\x18\x06 \x01(\x0b\x32\x10.io.ProtocolListH\x02\x42\x14\n\x12ProjectPermissionsB\x18\n\x16\x43\x65rtificatePermissionsB\x1e\n\x1cMembershipProgramPermissions\"\x97\x02\n\x15TeamMemberPermissions\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06userId\x18\x02 \x01(\t\x12,\n\x0fpermissionScope\x18\x03 \x01(\x0e\x32\x13.io.PermissionScope\x12$\n\x06status\x18\x04 \x01(\x0e\x32\x14.io.TeamMemberStatus\x12\x34\n\x13resourcePermissions\x18\x05 \x01(\x0b\x32\x17.io.ResourcePermissions\x12+\n\x07\x63reated\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07updated\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"Z\n\rNewTeamMember\x12\x19\n\x04user\x18\x01 \x01(\x0b\x32\x0b.io.NewUser\x12.\n\x0bpermissions\x18\x02 \x01(\x0b\x32\x19.io.TeamMemberPermissions\"j\n\x15GetTeamMemberResponse\x12!\n\x04user\x18\x01 \x01(\x0b\x32\x13.io.GetUserResponse\x12.\n\x0bpermissions\x18\x02 \x01(\x0b\x32\x19.io.TeamMemberPermissions\"[\n\x17ListTeamMembersResponse\x12\x0b\n\x03uid\x18\x01 \x01(\t\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12$\n\x06status\x18\x03 \x01(\x0e\x32\x14.io.TeamMemberStatus\"\x1a\n\tRecaptcha\x12\r\n\x05token\x18\x01 \x01(\t*q\n\x0eOAuth2Provider\x12\x14\n\x10OAUTH_DO_NOT_USE\x10\x00\x12\x11\n\rOAUTH_PATREON\x10\n\x12\x10\n\x0cOAUTH_SPROUT\x10\x32\x12\x13\n\x0fOAUTH_MAILCHIMP\x10\x64\x12\x0f\n\nOAUTH_XERO\x10\x96\x01*\xc6\x03\n\x1cScannerMembershipPermissions\x12\x1e\n\x1aMEMBERSHIP_PERMISSION_NONE\x10\x00\x12%\n!MEMBERSHIP_PERMISSION_VIEW_MEMBER\x10\x01\x12%\n!MEMBERSHIP_PERMISSION_EDIT_MEMBER\x10\x02\x12%\n!MEMBERSHIP_PERMISSION_EARN_POINTS\x10\x04\x12%\n!MEMBERSHIP_PERMISSION_BURN_POINTS\x10\x08\x12$\n MEMBERSHIP_PERMISSION_SET_POINTS\x10\x10\x12%\n!MEMBERSHIP_PERMISSION_CHANGE_TIER\x10 \x12%\n!MEMBERSHIP_PERMISSION_VIEW_EVENTS\x10@\x12(\n#MEMBERSHIP_PERMISSION_CHANGE_EXPIRY\x10\x80\x01\x12\'\n\"MEMBERSHIP_PERMISSION_CHECK_IN_OUT\x10\x80\x02\x12#\n\x1eMEMBERSHIP_PERMISSION_VALIDATE\x10\x80\x04*\x82\x02\n\x18ScannerCouponPermissions\x12\x1a\n\x16\x43OUPON_PERMISSION_NONE\x10\x00\x12!\n\x1d\x43OUPON_PERMISSION_VIEW_COUPON\x10\x01\x12!\n\x1d\x43OUPON_PERMISSION_EDIT_COUPON\x10\x02\x12\x1c\n\x18\x43OUPON_PERMISSION_REDEEM\x10\x04\x12!\n\x1d\x43OUPON_PERMISSION_VIEW_EVENTS\x10\x08\x12#\n\x1f\x43OUPON_PERMISSION_CHANGE_EXPIRY\x10\x10\x12\x1e\n\x1a\x43OUPON_PERMISSION_VALIDATE\x10 *\xc8\x01\n\x1b\x44\x65\x66\x61ultMembershipScanAction\x12\x1b\n\x17MEMBERSHIP_DEFAULT_NONE\x10\x00\x12\"\n\x1eMEMBERSHIP_DEFAULT_EARN_POINTS\x10\x01\x12\"\n\x1eMEMBERSHIP_DEFAULT_BURN_POINTS\x10\x02\x12#\n\x1fMEMBERSHIP_DEFAULT_CHECK_IN_OUT\x10\x04\x12\x1f\n\x1bMEMBERSHIP_DEFAULT_VALIDATE\x10\x08*j\n\x17\x44\x65\x66\x61ultCouponScanAction\x12\x17\n\x13\x43OUPON_DEFAULT_NONE\x10\x00\x12\x19\n\x15\x43OUPON_DEFAULT_REDEEM\x10\x01\x12\x1b\n\x17\x43OUPON_DEFAULT_VALIDATE\x10\x02*\x85\x02\n\x0fPermissionScope\x12\x13\n\x0fPERMISSION_NONE\x10\x00\x12\x0e\n\nWEB_ACCESS\x10\x01\x12\x0e\n\nAPP_ACCESS\x10\x02\x12\x10\n\x0c\x41LL_PROJECTS\x10\x04\x12\x14\n\x10\x41LL_CERTIFICATES\x10\x08\x12\x12\n\x0e\x42ILLING_ACCESS\x10\x10\x12\x17\n\x13\x43\x45RTIFICATES_ACCESS\x10 \x12\x12\n\x0eMEMBERS_ACCESS\x10@\x12\x13\n\x0e\x43OUPONS_ACCESS\x10\x80\x01\x12\x12\n\rEVENTS_ACCESS\x10\x80\x02\x12\x13\n\x0e\x46LIGHTS_ACCESS\x10\x80\x04\x12\x16\n\x11TEAM_MEMBER_ADMIN\x10\x80\x08*\x87\x01\n\x10TeamMemberStatus\x12\x0f\n\x0bSTATUS_NONE\x10\x00\x12\x16\n\x12TEAM_MEMBER_ACTIVE\x10\x01\x12\x18\n\x14TEAM_MEMBER_DISABLED\x10\x02\x12\x17\n\x13TEAM_MEMBER_EXPIRED\x10\x04\x12\x17\n\x13TEAM_MEMBER_PENDING\x10\x08\x42G\n\x10\x63om.passkit.grpcZ$stash.passkit.com/io/model/sdk/go/io\xaa\x02\x0cPassKit.Grpcb\x06proto3"
13
13
 
14
- pool = Google::Protobuf::DescriptorPool.generated_pool
14
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
15
15
  pool.add_serialized_file(descriptor_data)
16
16
 
17
17
  module Io
@@ -25,6 +25,7 @@ module Io
25
25
  VerifyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.VerifyRequest").msgclass
26
26
  JWT = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.JWT").msgclass
27
27
  PasswordResetInput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.PasswordResetInput").msgclass
28
+ ChangeOwnPasswordInput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.ChangeOwnPasswordInput").msgclass
28
29
  Username = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.Username").msgclass
29
30
  OAuth2AuthorizationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.OAuth2AuthorizationRequest").msgclass
30
31
  ScannerConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.ScannerConfiguration").msgclass
@@ -40,6 +41,7 @@ module Io
40
41
  NewTeamMember = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.NewTeamMember").msgclass
41
42
  GetTeamMemberResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.GetTeamMemberResponse").msgclass
42
43
  ListTeamMembersResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.ListTeamMembersResponse").msgclass
44
+ Recaptcha = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.Recaptcha").msgclass
43
45
  OAuth2Provider = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.OAuth2Provider").enummodule
44
46
  ScannerMembershipPermissions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.ScannerMembershipPermissions").enummodule
45
47
  ScannerCouponPermissions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("io.ScannerCouponPermissions").enummodule
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: protoc-gen-openapiv2/options/annotations.proto
4
+
5
+ require "google/protobuf"
6
+ require "google/protobuf/descriptor_pb"
7
+ require "protoc-gen-openapiv2/options/openapiv2_pb"
8
+
9
+ descriptor_data = "\n.protoc-gen-openapiv2/options/annotations.proto\x12)grpc.gateway.protoc_gen_openapiv2.options\x1A google/protobuf/descriptor.proto\x1A,protoc-gen-openapiv2/options/openapiv2.proto:~\n\x11openapiv2_swagger\x12\x1C.google.protobuf.FileOptions\x18\x92\b \x01(\v22.grpc.gateway.protoc_gen_openapiv2.options.SwaggerR\x10openapiv2Swagger:\x86\x01\n\x13openapiv2_operation\x12\x1E.google.protobuf.MethodOptions\x18\x92\b \x01(\v24.grpc.gateway.protoc_gen_openapiv2.options.OperationR\x12openapiv2Operation:~\n\x10openapiv2_schema\x12\x1F.google.protobuf.MessageOptions\x18\x92\b \x01(\v21.grpc.gateway.protoc_gen_openapiv2.options.SchemaR\x0Fopenapiv2Schema:u\n\ropenapiv2_tag\x12\x1F.google.protobuf.ServiceOptions\x18\x92\b \x01(\v2..grpc.gateway.protoc_gen_openapiv2.options.TagR\fopenapiv2Tag:~\n\x0Fopenapiv2_field\x12\x1D.google.protobuf.FieldOptions\x18\x92\b \x01(\v25.grpc.gateway.protoc_gen_openapiv2.options.JSONSchemaR\x0Eopenapiv2FieldBHZFgithub.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/optionsb\x06proto3"
10
+
11
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
12
+ pool.add_serialized_file(descriptor_data)