@devvit/protos 0.11.7 → 0.11.8-next-2025-02-10-c496a14e8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (233) hide show
  1. package/meta.min.json +7825 -0
  2. package/package.json +4 -4
  3. package/protos.min.js +2 -0
  4. package/protos.min.js.map +7 -0
  5. package/schema/.snootobuf/deps/buf/validate/expression.proto +92 -0
  6. package/schema/.snootobuf/deps/buf/validate/priv/private.proto +41 -0
  7. package/schema/.snootobuf/deps/buf/validate/validate.proto +4130 -0
  8. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/audit.proto +72 -0
  9. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/auth.proto +49 -0
  10. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/organization.proto +54 -0
  11. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/service.proto +46 -0
  12. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/subscription.proto +72 -0
  13. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/ui.proto +20 -0
  14. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/user.proto +45 -0
  15. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/admin.proto +54 -0
  16. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/delivery.proto +773 -0
  17. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/filter.proto +66 -0
  18. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/firehose.proto +100 -0
  19. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/intake.proto +19 -0
  20. package/schema/.snootobuf/deps/devvit/events/v1alpha/events.proto +446 -0
  21. package/schema/.snootobuf/deps/devvit/gateway/v1alpha/payments.proto +24 -0
  22. package/schema/.snootobuf/deps/devvit/options/options.proto +98 -0
  23. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/commentv2.proto +29 -0
  24. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/flair.proto +25 -0
  25. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modaction.proto +53 -0
  26. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modmail.proto +56 -0
  27. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/postv2.proto +107 -0
  28. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/subredditv2.proto +41 -0
  29. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/userv2.proto +23 -0
  30. package/schema/.snootobuf/deps/devvit/triggers/v1alpha/triggers.proto +162 -0
  31. package/schema/.snootobuf/deps/enum/account_gender_category.proto +14 -0
  32. package/schema/.snootobuf/deps/enum/approval_status.proto +15 -0
  33. package/schema/.snootobuf/deps/enum/automated_reporting_level.proto +12 -0
  34. package/schema/.snootobuf/deps/enum/ban_evasion_threshold.proto +13 -0
  35. package/schema/.snootobuf/deps/enum/ban_info_action.proto +12 -0
  36. package/schema/.snootobuf/deps/enum/block_relation_type.proto +11 -0
  37. package/schema/.snootobuf/deps/enum/comment_sort.proto +18 -0
  38. package/schema/.snootobuf/deps/enum/comment_type.proto +11 -0
  39. package/schema/.snootobuf/deps/enum/crowd_control_level.proto +12 -0
  40. package/schema/.snootobuf/deps/enum/discussion_type.proto +10 -0
  41. package/schema/.snootobuf/deps/enum/distinguish_type.proto +14 -0
  42. package/schema/.snootobuf/deps/enum/flair_position.proto +11 -0
  43. package/schema/.snootobuf/deps/enum/hateful_content_threshold.proto +12 -0
  44. package/schema/.snootobuf/deps/enum/link_content_type.proto +11 -0
  45. package/schema/.snootobuf/deps/enum/link_type.proto +11 -0
  46. package/schema/.snootobuf/deps/enum/link_visibility.proto +11 -0
  47. package/schema/.snootobuf/deps/enum/prediction_leaderboard_entry_type.proto +11 -0
  48. package/schema/.snootobuf/deps/enum/promo_layout.proto +11 -0
  49. package/schema/.snootobuf/deps/enum/removed_by_type.proto +18 -0
  50. package/schema/.snootobuf/deps/enum/spam_level.proto +11 -0
  51. package/schema/.snootobuf/deps/enum/subreddit_type.proto +16 -0
  52. package/schema/.snootobuf/deps/enum/verdict.proto +14 -0
  53. package/schema/.snootobuf/deps/enum/vote.proto +12 -0
  54. package/schema/.snootobuf/deps/enum/whitelist_status.proto +17 -0
  55. package/schema/.snootobuf/deps/enum/wiki_edit_mode.proto +12 -0
  56. package/schema/.snootobuf/deps/evaluator/evaluator.proto +203 -0
  57. package/schema/.snootobuf/deps/google/api/annotations.proto +31 -0
  58. package/schema/.snootobuf/deps/google/api/apikeys/v2/apikeys.proto +288 -0
  59. package/schema/.snootobuf/deps/google/api/apikeys/v2/resources.proto +175 -0
  60. package/schema/.snootobuf/deps/google/api/auth.proto +237 -0
  61. package/schema/.snootobuf/deps/google/api/backend.proto +185 -0
  62. package/schema/.snootobuf/deps/google/api/billing.proto +77 -0
  63. package/schema/.snootobuf/deps/google/api/client.proto +431 -0
  64. package/schema/.snootobuf/deps/google/api/cloudquotas/v1/cloudquotas.proto +322 -0
  65. package/schema/.snootobuf/deps/google/api/cloudquotas/v1/resources.proto +315 -0
  66. package/schema/.snootobuf/deps/google/api/config_change.proto +84 -0
  67. package/schema/.snootobuf/deps/google/api/consumer.proto +82 -0
  68. package/schema/.snootobuf/deps/google/api/context.proto +92 -0
  69. package/schema/.snootobuf/deps/google/api/control.proto +41 -0
  70. package/schema/.snootobuf/deps/google/api/distribution.proto +213 -0
  71. package/schema/.snootobuf/deps/google/api/documentation.proto +168 -0
  72. package/schema/.snootobuf/deps/google/api/endpoint.proto +69 -0
  73. package/schema/.snootobuf/deps/google/api/error_reason.proto +589 -0
  74. package/schema/.snootobuf/deps/google/api/expr/conformance/v1alpha1/conformance_service.proto +183 -0
  75. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/checked.proto +343 -0
  76. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/eval.proto +118 -0
  77. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/explain.proto +53 -0
  78. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/syntax.proto +438 -0
  79. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/value.proto +115 -0
  80. package/schema/.snootobuf/deps/google/api/expr/v1beta1/decl.proto +84 -0
  81. package/schema/.snootobuf/deps/google/api/expr/v1beta1/eval.proto +125 -0
  82. package/schema/.snootobuf/deps/google/api/expr/v1beta1/expr.proto +265 -0
  83. package/schema/.snootobuf/deps/google/api/expr/v1beta1/source.proto +62 -0
  84. package/schema/.snootobuf/deps/google/api/expr/v1beta1/value.proto +114 -0
  85. package/schema/.snootobuf/deps/google/api/field_behavior.proto +104 -0
  86. package/schema/.snootobuf/deps/google/api/field_info.proto +106 -0
  87. package/schema/.snootobuf/deps/google/api/http.proto +371 -0
  88. package/schema/.snootobuf/deps/google/api/httpbody.proto +81 -0
  89. package/schema/.snootobuf/deps/google/api/label.proto +48 -0
  90. package/schema/.snootobuf/deps/google/api/launch_stage.proto +72 -0
  91. package/schema/.snootobuf/deps/google/api/log.proto +54 -0
  92. package/schema/.snootobuf/deps/google/api/logging.proto +81 -0
  93. package/schema/.snootobuf/deps/google/api/metric.proto +268 -0
  94. package/schema/.snootobuf/deps/google/api/monitored_resource.proto +130 -0
  95. package/schema/.snootobuf/deps/google/api/monitoring.proto +107 -0
  96. package/schema/.snootobuf/deps/google/api/policy.proto +85 -0
  97. package/schema/.snootobuf/deps/google/api/quota.proto +184 -0
  98. package/schema/.snootobuf/deps/google/api/resource.proto +243 -0
  99. package/schema/.snootobuf/deps/google/api/routing.proto +461 -0
  100. package/schema/.snootobuf/deps/google/api/service.proto +191 -0
  101. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/check_error.proto +124 -0
  102. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/distribution.proto +166 -0
  103. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/http_request.proto +93 -0
  104. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/log_entry.proto +126 -0
  105. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/metric_value.proto +81 -0
  106. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/operation.proto +123 -0
  107. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/quota_controller.proto +245 -0
  108. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/service_controller.proto +260 -0
  109. package/schema/.snootobuf/deps/google/api/servicecontrol/v2/service_controller.proto +196 -0
  110. package/schema/.snootobuf/deps/google/api/servicemanagement/v1/resources.proto +295 -0
  111. package/schema/.snootobuf/deps/google/api/servicemanagement/v1/servicemanager.proto +508 -0
  112. package/schema/.snootobuf/deps/google/api/serviceusage/v1/resources.proto +130 -0
  113. package/schema/.snootobuf/deps/google/api/serviceusage/v1/serviceusage.proto +305 -0
  114. package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/resources.proto +458 -0
  115. package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/serviceusage.proto +793 -0
  116. package/schema/.snootobuf/deps/google/api/source_info.proto +31 -0
  117. package/schema/.snootobuf/deps/google/api/system_parameter.proto +96 -0
  118. package/schema/.snootobuf/deps/google/api/usage.proto +96 -0
  119. package/schema/.snootobuf/deps/google/api/visibility.proto +113 -0
  120. package/schema/.snootobuf/deps/google/cloud/extended_operations.proto +150 -0
  121. package/schema/.snootobuf/deps/google/iam/admin/v1/iam.proto +1087 -0
  122. package/schema/.snootobuf/deps/google/iam/v1/iam_policy.proto +145 -0
  123. package/schema/.snootobuf/deps/google/iam/v1/logging/audit_data.proto +34 -0
  124. package/schema/.snootobuf/deps/google/iam/v1/options.proto +41 -0
  125. package/schema/.snootobuf/deps/google/iam/v1/policy.proto +240 -0
  126. package/schema/.snootobuf/deps/google/logging/type/http_request.proto +92 -0
  127. package/schema/.snootobuf/deps/google/logging/type/log_severity.proto +72 -0
  128. package/schema/.snootobuf/deps/google/longrunning/operations.proto +247 -0
  129. package/schema/.snootobuf/deps/google/protobuf/any.proto +158 -0
  130. package/schema/.snootobuf/deps/google/protobuf/api.proto +208 -0
  131. package/schema/.snootobuf/deps/google/protobuf/compiler/plugin.proto +183 -0
  132. package/schema/.snootobuf/deps/google/protobuf/descriptor.proto +921 -0
  133. package/schema/.snootobuf/deps/google/protobuf/duration.proto +116 -0
  134. package/schema/.snootobuf/deps/google/protobuf/empty.proto +51 -0
  135. package/schema/.snootobuf/deps/google/protobuf/field_mask.proto +245 -0
  136. package/schema/.snootobuf/deps/google/protobuf/source_context.proto +48 -0
  137. package/schema/.snootobuf/deps/google/protobuf/struct.proto +95 -0
  138. package/schema/.snootobuf/deps/google/protobuf/timestamp.proto +147 -0
  139. package/schema/.snootobuf/deps/google/protobuf/type.proto +187 -0
  140. package/schema/.snootobuf/deps/google/protobuf/wrappers.proto +123 -0
  141. package/schema/.snootobuf/deps/google/rpc/code.proto +186 -0
  142. package/schema/.snootobuf/deps/google/rpc/context/attribute_context.proto +287 -0
  143. package/schema/.snootobuf/deps/google/rpc/error_details.proto +246 -0
  144. package/schema/.snootobuf/deps/google/rpc/status.proto +47 -0
  145. package/schema/.snootobuf/deps/google/type/calendar_period.proto +57 -0
  146. package/schema/.snootobuf/deps/google/type/color.proto +170 -0
  147. package/schema/.snootobuf/deps/google/type/date.proto +50 -0
  148. package/schema/.snootobuf/deps/google/type/datetime.proto +97 -0
  149. package/schema/.snootobuf/deps/google/type/dayofweek.proto +51 -0
  150. package/schema/.snootobuf/deps/google/type/expr.proto +51 -0
  151. package/schema/.snootobuf/deps/google/type/fraction.proto +34 -0
  152. package/schema/.snootobuf/deps/google/type/latlng.proto +37 -0
  153. package/schema/.snootobuf/deps/google/type/money.proto +43 -0
  154. package/schema/.snootobuf/deps/google/type/month.proto +66 -0
  155. package/schema/.snootobuf/deps/google/type/postal_address.proto +135 -0
  156. package/schema/.snootobuf/deps/google/type/quaternion.proto +95 -0
  157. package/schema/.snootobuf/deps/google/type/timeofday.proto +44 -0
  158. package/schema/.snootobuf/deps/openapi/helper.proto +20 -0
  159. package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +189 -0
  160. package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +118 -0
  161. package/schema/.snootobuf/deps/reddit/api/metadata/v1/metadata.proto +55 -0
  162. package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account.proto +579 -0
  163. package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account_relations.proto +43 -0
  164. package/schema/.snootobuf/deps/reddit/coreplatform/api/metadata/v1/metadata.proto +82 -0
  165. package/schema/.snootobuf/deps/reddit/coreplatform/blocking/v1/user_blocking_service.proto +221 -0
  166. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree.proto +78 -0
  167. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_service.proto +189 -0
  168. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_structure.proto +29 -0
  169. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments.proto +417 -0
  170. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments_service.proto +72 -0
  171. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/auth.proto +25 -0
  172. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/features.proto +52 -0
  173. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/lang.proto +16 -0
  174. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/legal.proto +20 -0
  175. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/media.proto +149 -0
  176. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/moderation.proto +197 -0
  177. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/safety.proto +116 -0
  178. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/time.proto +25 -0
  179. package/schema/.snootobuf/deps/reddit/coreplatform/domains/v1/domains_metadata_service.proto +101 -0
  180. package/schema/.snootobuf/deps/reddit/coreplatform/grpc_thrift/v1/grpc_thrift_options.proto +34 -0
  181. package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links.proto +798 -0
  182. package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links_service.proto +186 -0
  183. package/schema/.snootobuf/deps/reddit/coreplatform/messages/v1/messages.proto +110 -0
  184. package/schema/.snootobuf/deps/reddit/coreplatform/sensitive/v1/wrappers.proto +51 -0
  185. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit.proto +1202 -0
  186. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_member_relations.proto +85 -0
  187. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_moderator_service.proto +363 -0
  188. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_service.proto +301 -0
  189. package/schema/.snootobuf/deps/reddit/coreplatform/thing/v0/thing.proto +2869 -0
  190. package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/custom_post.proto +15 -0
  191. package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/service.proto +11 -0
  192. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/context_action.proto +48 -0
  193. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/manifest.proto +70 -0
  194. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/service.proto +11 -0
  195. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/acknowledge_order_delivery.proto +17 -0
  196. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/checkout.proto +89 -0
  197. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/common.proto +322 -0
  198. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/delete_products.proto +17 -0
  199. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/events.proto +14 -0
  200. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_batch_products.proto +15 -0
  201. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_gold_balances.proto +48 -0
  202. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_order.proto +31 -0
  203. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders.proto +26 -0
  204. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders_by_user.proto +15 -0
  205. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_payout_info_batch.proto +52 -0
  206. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_products.proto +23 -0
  207. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_user_profiles.proto +28 -0
  208. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/refund_order.proto +17 -0
  209. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service.proto +49 -0
  210. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service_data_compliance.proto +20 -0
  211. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/upsert_products.proto +17 -0
  212. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paygatewaypsps/v1/paygatewaypsps.proto +158 -0
  213. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payments_data_compliance.proto +18 -0
  214. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payorders.proto +195 -0
  215. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/admin.proto +44 -0
  216. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/ledger.proto +200 -0
  217. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/payments_data_compliance.proto +18 -0
  218. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/paypayments.proto +210 -0
  219. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +189 -0
  220. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +135 -0
  221. package/schema/.snootobuf/deps/snooron_sources/text_classification/text_classification.proto +29 -0
  222. package/schema/.snootobuf/deps/snooron_sources/v2_event/v2_event.proto +3292 -0
  223. package/schema/.snootobuf/deps/validate/validate.proto +862 -0
  224. package/schema/devvit/plugin/redditapi/linksandcomments/linksandcomments_msg.proto +3 -0
  225. package/schema/snootobuf.devenv.lock +444 -388
  226. package/schema/snootobuf.lock +444 -388
  227. package/schema/snootobuf.redditapi.lock +444 -388
  228. package/schema/snootobuf.ts.lock +444 -388
  229. package/types/devvit/plugin/redditapi/linksandcomments/linksandcomments_msg.d.ts +2 -0
  230. package/types/devvit/plugin/redditapi/linksandcomments/linksandcomments_msg.d.ts.map +1 -1
  231. package/types/devvit/plugin/redditapi/linksandcomments/linksandcomments_msg.js +16 -0
  232. package/types/devvit/plugin/redditapi/linksandcomments/linksandcomments_svc.d.ts +4 -0
  233. package/types/devvit/plugin/redditapi/linksandcomments/linksandcomments_svc.d.ts.map +1 -1
@@ -0,0 +1,135 @@
1
+ // Copyright 2019 Google LLC.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ //
15
+
16
+ syntax = "proto3";
17
+
18
+ package google.type;
19
+
20
+ option cc_enable_arenas = true;
21
+ option go_package = "google.golang.org/genproto/googleapis/type/postaladdress;postaladdress";
22
+ option java_multiple_files = true;
23
+ option java_outer_classname = "PostalAddressProto";
24
+ option java_package = "com.google.type";
25
+ option objc_class_prefix = "GTP";
26
+
27
+ // Represents a postal address, e.g. for postal delivery or payments addresses.
28
+ // Given a postal address, a postal service can deliver items to a premise, P.O.
29
+ // Box or similar.
30
+ // It is not intended to model geographical locations (roads, towns,
31
+ // mountains).
32
+ //
33
+ // In typical usage an address would be created via user input or from importing
34
+ // existing data, depending on the type of process.
35
+ //
36
+ // Advice on address input / editing:
37
+ // - Use an i18n-ready address widget such as
38
+ // https://github.com/google/libaddressinput)
39
+ // - Users should not be presented with UI elements for input or editing of
40
+ // fields outside countries where that field is used.
41
+ //
42
+ // For more guidance on how to use this schema, please see:
43
+ // https://support.google.com/business/answer/6397478
44
+ message PostalAddress {
45
+ // The schema revision of the `PostalAddress`. This must be set to 0, which is
46
+ // the latest revision.
47
+ //
48
+ // All new revisions **must** be backward compatible with old revisions.
49
+ int32 revision = 1;
50
+
51
+ // Required. CLDR region code of the country/region of the address. This
52
+ // is never inferred and it is up to the user to ensure the value is
53
+ // correct. See http://cldr.unicode.org/ and
54
+ // http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
55
+ // for details. Example: "CH" for Switzerland.
56
+ string region_code = 2;
57
+
58
+ // Optional. BCP-47 language code of the contents of this address (if
59
+ // known). This is often the UI language of the input form or is expected
60
+ // to match one of the languages used in the address' country/region, or their
61
+ // transliterated equivalents.
62
+ // This can affect formatting in certain countries, but is not critical
63
+ // to the correctness of the data and will never affect any validation or
64
+ // other non-formatting related operations.
65
+ //
66
+ // If this value is not known, it should be omitted (rather than specifying a
67
+ // possibly incorrect default).
68
+ //
69
+ // Examples: "zh-Hant", "ja", "ja-Latn", "en".
70
+ string language_code = 3;
71
+
72
+ // Optional. Postal code of the address. Not all countries use or require
73
+ // postal codes to be present, but where they are used, they may trigger
74
+ // additional validation with other parts of the address (e.g. state/zip
75
+ // validation in the U.S.A.).
76
+ string postal_code = 4;
77
+
78
+ // Optional. Additional, country-specific, sorting code. This is not used
79
+ // in most regions. Where it is used, the value is either a string like
80
+ // "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
81
+ // alone, representing the "sector code" (Jamaica), "delivery area indicator"
82
+ // (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
83
+ string sorting_code = 5;
84
+
85
+ // Optional. Highest administrative subdivision which is used for postal
86
+ // addresses of a country or region.
87
+ // For example, this can be a state, a province, an oblast, or a prefecture.
88
+ // Specifically, for Spain this is the province and not the autonomous
89
+ // community (e.g. "Barcelona" and not "Catalonia").
90
+ // Many countries don't use an administrative area in postal addresses. E.g.
91
+ // in Switzerland this should be left unpopulated.
92
+ string administrative_area = 6;
93
+
94
+ // Optional. Generally refers to the city/town portion of the address.
95
+ // Examples: US city, IT comune, UK post town.
96
+ // In regions of the world where localities are not well defined or do not fit
97
+ // into this structure well, leave locality empty and use address_lines.
98
+ string locality = 7;
99
+
100
+ // Optional. Sublocality of the address.
101
+ // For example, this can be neighborhoods, boroughs, districts.
102
+ string sublocality = 8;
103
+
104
+ // Unstructured address lines describing the lower levels of an address.
105
+ //
106
+ // Because values in address_lines do not have type information and may
107
+ // sometimes contain multiple values in a single field (e.g.
108
+ // "Austin, TX"), it is important that the line order is clear. The order of
109
+ // address lines should be "envelope order" for the country/region of the
110
+ // address. In places where this can vary (e.g. Japan), address_language is
111
+ // used to make it explicit (e.g. "ja" for large-to-small ordering and
112
+ // "ja-Latn" or "en" for small-to-large). This way, the most specific line of
113
+ // an address can be selected based on the language.
114
+ //
115
+ // The minimum permitted structural representation of an address consists
116
+ // of a region_code with all remaining information placed in the
117
+ // address_lines. It would be possible to format such an address very
118
+ // approximately without geocoding, but no semantic reasoning could be
119
+ // made about any of the address components until it was at least
120
+ // partially resolved.
121
+ //
122
+ // Creating an address only containing a region_code and address_lines, and
123
+ // then geocoding is the recommended way to handle completely unstructured
124
+ // addresses (as opposed to guessing which parts of the address should be
125
+ // localities or administrative areas).
126
+ repeated string address_lines = 9;
127
+
128
+ // Optional. The recipient at the address.
129
+ // This field may, under certain circumstances, contain multiline information.
130
+ // For example, it might contain "care of" information.
131
+ repeated string recipients = 10;
132
+
133
+ // Optional. The name of the organization at the address.
134
+ string organization = 11;
135
+ }
@@ -0,0 +1,95 @@
1
+ // Copyright 2019 Google LLC.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ //
15
+
16
+ syntax = "proto3";
17
+
18
+ package google.type;
19
+
20
+ option cc_enable_arenas = true;
21
+ option go_package = "google.golang.org/genproto/googleapis/type/quaternion;quaternion";
22
+ option java_multiple_files = true;
23
+ option java_outer_classname = "QuaternionProto";
24
+ option java_package = "com.google.type";
25
+ option objc_class_prefix = "GTP";
26
+
27
+ // A quaternion is defined as the quotient of two directed lines in a
28
+ // three-dimensional space or equivalently as the quotient of two Euclidean
29
+ // vectors (https://en.wikipedia.org/wiki/Quaternion).
30
+ //
31
+ // Quaternions are often used in calculations involving three-dimensional
32
+ // rotations (https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation),
33
+ // as they provide greater mathematical robustness by avoiding the gimbal lock
34
+ // problems that can be encountered when using Euler angles
35
+ // (https://en.wikipedia.org/wiki/Gimbal_lock).
36
+ //
37
+ // Quaternions are generally represented in this form:
38
+ //
39
+ // w + xi + yj + zk
40
+ //
41
+ // where x, y, z, and w are real numbers, and i, j, and k are three imaginary
42
+ // numbers.
43
+ //
44
+ // Our naming choice `(x, y, z, w)` comes from the desire to avoid confusion for
45
+ // those interested in the geometric properties of the quaternion in the 3D
46
+ // Cartesian space. Other texts often use alternative names or subscripts, such
47
+ // as `(a, b, c, d)`, `(1, i, j, k)`, or `(0, 1, 2, 3)`, which are perhaps
48
+ // better suited for mathematical interpretations.
49
+ //
50
+ // To avoid any confusion, as well as to maintain compatibility with a large
51
+ // number of software libraries, the quaternions represented using the protocol
52
+ // buffer below *must* follow the Hamilton convention, which defines `ij = k`
53
+ // (i.e. a right-handed algebra), and therefore:
54
+ //
55
+ // i^2 = j^2 = k^2 = ijk = −1
56
+ // ij = −ji = k
57
+ // jk = −kj = i
58
+ // ki = −ik = j
59
+ //
60
+ // Please DO NOT use this to represent quaternions that follow the JPL
61
+ // convention, or any of the other quaternion flavors out there.
62
+ //
63
+ // Definitions:
64
+ //
65
+ // - Quaternion norm (or magnitude): `sqrt(x^2 + y^2 + z^2 + w^2)`.
66
+ // - Unit (or normalized) quaternion: a quaternion whose norm is 1.
67
+ // - Pure quaternion: a quaternion whose scalar component (`w`) is 0.
68
+ // - Rotation quaternion: a unit quaternion used to represent rotation.
69
+ // - Orientation quaternion: a unit quaternion used to represent orientation.
70
+ //
71
+ // A quaternion can be normalized by dividing it by its norm. The resulting
72
+ // quaternion maintains the same direction, but has a norm of 1, i.e. it moves
73
+ // on the unit sphere. This is generally necessary for rotation and orientation
74
+ // quaternions, to avoid rounding errors:
75
+ // https://en.wikipedia.org/wiki/Rotation_formalisms_in_three_dimensions
76
+ //
77
+ // Note that `(x, y, z, w)` and `(-x, -y, -z, -w)` represent the same rotation,
78
+ // but normalization would be even more useful, e.g. for comparison purposes, if
79
+ // it would produce a unique representation. It is thus recommended that `w` be
80
+ // kept positive, which can be achieved by changing all the signs when `w` is
81
+ // negative.
82
+ //
83
+ message Quaternion {
84
+ // The x component.
85
+ double x = 1;
86
+
87
+ // The y component.
88
+ double y = 2;
89
+
90
+ // The z component.
91
+ double z = 3;
92
+
93
+ // The scalar component.
94
+ double w = 4;
95
+ }
@@ -0,0 +1,44 @@
1
+ // Copyright 2019 Google LLC.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ //
15
+
16
+ syntax = "proto3";
17
+
18
+ package google.type;
19
+
20
+ option cc_enable_arenas = true;
21
+ option go_package = "google.golang.org/genproto/googleapis/type/timeofday;timeofday";
22
+ option java_multiple_files = true;
23
+ option java_outer_classname = "TimeOfDayProto";
24
+ option java_package = "com.google.type";
25
+ option objc_class_prefix = "GTP";
26
+
27
+ // Represents a time of day. The date and time zone are either not significant
28
+ // or are specified elsewhere. An API may choose to allow leap seconds. Related
29
+ // types are [google.type.Date][google.type.Date] and `google.protobuf.Timestamp`.
30
+ message TimeOfDay {
31
+ // Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
32
+ // to allow the value "24:00:00" for scenarios like business closing time.
33
+ int32 hours = 1;
34
+
35
+ // Minutes of hour of day. Must be from 0 to 59.
36
+ int32 minutes = 2;
37
+
38
+ // Seconds of minutes of the time. Must normally be from 0 to 59. An API may
39
+ // allow the value 60 if it allows leap-seconds.
40
+ int32 seconds = 3;
41
+
42
+ // Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
43
+ int32 nanos = 4;
44
+ }
@@ -0,0 +1,20 @@
1
+ // From https://github.snooguts.net/reddit/protoc-gen-openapi/blob/main/openapi/helper.proto
2
+
3
+ syntax = "proto3";
4
+
5
+ package openapi;
6
+
7
+ import "google/protobuf/descriptor.proto";
8
+ import "google/protobuf/struct.proto";
9
+
10
+ option go_package = "github.snooguts.net/reddit/devplatform-api/go/grpc/openapi";
11
+
12
+ extend google.protobuf.MessageOptions {
13
+ //Add a json example
14
+ google.protobuf.Struct message_example = 66700;
15
+ }
16
+
17
+ extend google.protobuf.FieldOptions {
18
+ // Add an example to the field
19
+ optional string field_example = 66701;
20
+ }
@@ -0,0 +1,189 @@
1
+ syntax = "proto3";
2
+
3
+ package reddit.xpaymentsplatform.payproducts.v1;
4
+
5
+ option go_package = "github.snooguts.net/reddit/reddit-service-pay-products/products-api/api/xpaymentsplatform/payproductspb/v1;payproductspb";
6
+
7
+ enum Currency {
8
+ CURRENCY_UNSPECIFIED = 0;
9
+
10
+ AED = 1; // United Arab Emirates dirham
11
+ AFN = 2; // Afghan afghani
12
+ ALL = 3; // Albanian lek
13
+ AMD = 4; // Armenian dram
14
+ ANG = 5; // Netherlands Antillean guilder
15
+ AOA = 6; // Angolan kwanza
16
+ ARS = 7; // Argentine peso
17
+ AUD = 8; // Australian dollar
18
+ AWG = 9; // Aruban florin
19
+ AZN = 10; // Azerbaijani manat
20
+ BAM = 11; // Bosnia and Herzegovina convertible mark
21
+ BBD = 12; // Barbados dollar
22
+ BDT = 13; // Bangladeshi taka
23
+ BGN = 14; // Bulgarian lev
24
+ BHD = 15; // Bahraini dinar
25
+ BIF = 16; // Burundian franc
26
+ BMD = 17; // Bermudian dollar
27
+ BND = 18; // Brunei dollar
28
+ BOB = 19; // Boliviano
29
+ BOV = 20; // Bolivian Mvdol (funds code)
30
+ BRL = 21; // Brazilian real
31
+ BSD = 22; // Bahamian dollar
32
+ BTN = 23; // Bhutanese ngultrum
33
+ BWP = 24; // Botswana pula
34
+ BYN = 25; // Belarusian ruble
35
+ BZD = 26; // Belize dollar
36
+ CAD = 27; // Canadian dollar
37
+ CDF = 28; // Congolese franc
38
+ CHE = 29; // WIR euro (complementary currency)
39
+ CHF = 30; // Swiss franc
40
+ CHW = 31; // WIR franc (complementary currency)
41
+ CLF = 32; // Unidad de Fomento (funds code)
42
+ CLP = 33; // Chilean peso
43
+ CNY = 34; // Chinese yuan
44
+ COP = 35; // Colombian peso
45
+ COU = 36; // Unidad de Valor Real (UVR) (funds code)
46
+ CRC = 37; // Costa Rican colon
47
+ CUC = 38; // Cuban convertible peso
48
+ CUP = 39; // Cuban peso
49
+ CVE = 40; // Cape Verdean escudo
50
+ CZK = 41; // Czech koruna
51
+ DJF = 42; // Djiboutian franc
52
+ DKK = 43; // Danish krone
53
+ DOP = 44; // Dominican peso
54
+ DZD = 45; // Algerian dinar
55
+ EGP = 46; // Egyptian pound
56
+ ERN = 47; // Eritrean nakfa
57
+ ETB = 48; // Ethiopian birr
58
+ EUR = 49; // Euro
59
+ FJD = 50; // Fiji dollar
60
+ FKP = 51; // Falkland Islands pound
61
+ GBP = 52; // Pound sterling
62
+ GEL = 53; // Georgian lari
63
+ GHS = 54; // Ghanaian cedi
64
+ GIP = 55; // Gibraltar pound
65
+ GMD = 56; // Gambian dalasi
66
+ GNF = 57; // Guinean franc
67
+ GTQ = 58; // Guatemalan quetzal
68
+ GYD = 59; // Guyanese dollar
69
+ HKD = 60; // Hong Kong dollar
70
+ HNL = 61; // Honduran lempira
71
+ HRK = 62; // Croatian kuna
72
+ HTG = 63; // Haitian gourde
73
+ HUF = 64; // Hungarian forint
74
+ IDR = 65; // Indonesian rupiah
75
+ ILS = 66; // Israeli new shekel
76
+ INR = 67; // Indian rupee
77
+ IQD = 68; // Iraqi dinar
78
+ IRR = 69; // Iranian rial
79
+ ISK = 70; // Icelandic krona
80
+ JMD = 71; // Jamaican dollar
81
+ JOD = 72; // Jordanian dinar
82
+ JPY = 73; // Japanese yen
83
+ KES = 74; // Kenyan shilling
84
+ KGS = 75; // Kyrgyzstani som
85
+ KHR = 76; // Cambodian riel
86
+ KMF = 77; // Comoro franc
87
+ KPW = 78; // North Korean won
88
+ KRW = 79; // South Korean won
89
+ KWD = 80; // Kuwaiti dinar
90
+ KYD = 81; // Cayman Islands dollar
91
+ KZT = 82; // Kazakhstani tenge
92
+ LAK = 83; // Lao kip
93
+ LBP = 84; // Lebanese pound
94
+ LKR = 85; // Sri Lankan rupee
95
+ LRD = 86; // Liberian dollar
96
+ LSL = 87; // Lesotho loti
97
+ LYD = 88; // Libyan dinar
98
+ MAD = 89; // Moroccan dirham
99
+ MDL = 90; // Moldovan leu
100
+ MGA = 91; // Malagasy ariary
101
+ MKD = 92; // Macedonian denar
102
+ MMK = 93; // Myanmar kyat
103
+ MNT = 94; // Mongolian togrog
104
+ MOP = 95; // Macanese pataca
105
+ MRU = 96; // Mauritanian ouguiya
106
+ MUR = 97; // Mauritian rupee
107
+ MVR = 98; // Maldivian rufiyaa
108
+ MWK = 99; // Malawian kwacha
109
+ MXN = 100; // Mexican peso
110
+ MXV = 101; // Mexican Unidad de Inversion (UDI) (funds code)
111
+ MYR = 102; // Malaysian ringgit
112
+ MZN = 103; // Mozambican metical
113
+ NAD = 104; // Namibian dollar
114
+ NGN = 105; // Nigerian naira
115
+ NIO = 106; // Nicaraguan cordoba
116
+ NOK = 107; // Norwegian krone
117
+ NPR = 108; // Nepalese rupee
118
+ NZD = 109; // New Zealand dollar
119
+ OMR = 110; // Omani rial
120
+ PAB = 111; // Panamanian balboa
121
+ PEN = 112; // Peruvian sol
122
+ PGK = 113; // Papua New Guinean kina
123
+ PHP = 114; // Philippine peso
124
+ PKR = 115; // Pakistani rupee
125
+ PLN = 116; // Polish zloty
126
+ PYG = 117; // Paraguayan guarani
127
+ QAR = 118; // Qatari riyal
128
+ RON = 119; // Romanian leu
129
+ RSD = 120; // Serbian dinar
130
+ RUB = 121; // Russian ruble
131
+ RWF = 122; // Rwandan franc
132
+ SAR = 123; // Saudi riyal
133
+ SBD = 124; // Solomon Islands dollar
134
+ SCR = 125; // Seychelles rupee
135
+ SDG = 126; // Sudanese pound
136
+ SEK = 127; // Swedish krona/kronor
137
+ SGD = 128; // Singapore dollar
138
+ SHP = 129; // Saint Helena pound
139
+ SLL = 130; // Sierra Leonean leone
140
+ SOS = 131; // Somali shilling
141
+ SRD = 132; // Surinamese dollar
142
+ SSP = 133; // South Sudanese pound
143
+ STN = 134; // Sao Tome and Principe dobra
144
+ SVC = 135; // Salvadoran colon
145
+ SYP = 136; // Syrian pound
146
+ SZL = 137; // Swazi lilangeni
147
+ THB = 138; // Thai baht
148
+ TJS = 139; // Tajikistani somoni
149
+ TMT = 140; // Turkmenistan manat
150
+ TND = 141; // Tunisian dinar
151
+ TOP = 142; // Tongan pa anga
152
+ TRY = 143; // Turkish lira
153
+ TTD = 144; // Trinidad and Tobago dollar
154
+ TWD = 145; // New Taiwan dollar
155
+ TZS = 146; // Tanzanian shilling
156
+ UAH = 147; // Ukrainian hryvnia
157
+ UGX = 148; // Ugandan shilling
158
+ USD = 149; // United States dollar
159
+ USN = 150; // United States dollar (next day) (funds code)
160
+ UYI = 151; // Uruguay Peso en Unidades Indexadas (URUIURUI) (funds code)
161
+ UYU = 152; // Uruguayan peso
162
+ UYW = 153; // Unidad previsional
163
+ UZS = 154; // Uzbekistan som
164
+ VES = 155; // Venezuelan bolivar soberano
165
+ VND = 156; // Vietnamese dong
166
+ VUV = 157; // Vanuatu vatu
167
+ WST = 158; // Samoan tala
168
+ XAF = 159; // CFA franc BEAC
169
+ XAG = 160; // Silver (one troy ounce)
170
+ XAU = 161; // Gold (one troy ounce)
171
+ XBA = 162; // European Composite Unit (EURCO) (bond market unit)
172
+ XBB = 163; // European Monetary Unit (E.M.U.-6) (bond market unit)
173
+ XBC = 164; // European Unit of Account 9 (E.U.A.-9) (bond market unit)
174
+ XBD = 165; // European Unit of Account 17 (E.U.A.-17) (bond market unit)
175
+ XCD = 166; // East Caribbean dollar
176
+ XDR = 167; // Special drawing rights
177
+ XOF = 168; // CFA franc BCEAO
178
+ XPD = 169; // Palladium (one troy ounce)
179
+ XPF = 170; // CFP franc (franc Pacifique)
180
+ XPT = 171; // Platinum (one troy ounce)
181
+ XSU = 172; // SUCRE
182
+ XUA = 173; // ADB Unit of Account
183
+ YER = 174; // Yemeni rial
184
+ ZAR = 175; // South African rand
185
+ ZMW = 176; // Zambian kwacha
186
+ ZWL = 177; // Zimbabwean dollar
187
+
188
+ GOLD = 200; // Reddit internal currency
189
+ }
@@ -0,0 +1,118 @@
1
+ syntax = "proto3";
2
+
3
+ package reddit.xpaymentsplatform.payproducts.v1;
4
+
5
+ import "reddit/xpaymentsplatform/payproducts/v1/currencies.proto";
6
+
7
+ option go_package = "github.snooguts.net/reddit/reddit-service-pay-products/products-api/api/xpaymentsplatform/payproductspb/v1;payproductspb";
8
+
9
+ // DemoRequest should be replaced by the request message for your first RPC.
10
+ message DemoRequest {
11
+ // Add (and document) your request parameters here.
12
+ string parameter = 1;
13
+ }
14
+
15
+ // DemoResponse should be replaced by the response message for your first RPC.
16
+ message DemoResponse {
17
+ // Add (and document) your output fields here.
18
+ string output = 1;
19
+ }
20
+
21
+ // AuthDemoRequest should be replaced by the request message for your first RPC.
22
+ message AuthDemoRequest {
23
+ // Add (and document) your request parameters here.
24
+ string what = 1;
25
+ }
26
+
27
+ // AuthDemoResponse should be replaced by the response message for your first RPC.
28
+ message AuthDemoResponse {
29
+ // Add (and document) your output fields here.
30
+ string output = 1;
31
+ }
32
+
33
+ enum ProductType {
34
+ PRODUCT_TYPE_UNSPECIFIED = 0;
35
+ REDDIT_GOLD = 1;
36
+ AWARD = 2;
37
+ }
38
+
39
+ enum PaymentProvider {
40
+ PAYMENT_PROVIDER_UNSPECIFIED = 0;
41
+ STRIPE = 1;
42
+ PAYPAL = 2;
43
+ GOOGLE_INAPP = 3;
44
+ APPLE_INAPP = 4;
45
+ REDDIT_GOLD_PROVIDER = 5;
46
+ }
47
+
48
+ message Image {
49
+ string url = 1;
50
+ int32 width = 2;
51
+ int32 height = 3;
52
+ }
53
+
54
+ message Product {
55
+ string id = 1;
56
+ ProductType product_type = 2;
57
+ string name = 3; // internal name
58
+ PaymentProvider payment_provider = 4;
59
+ ProductPrice price = 5;
60
+ ProductPrice base_price = 6;
61
+ string external_id = 7;
62
+ map<string, Image> images = 8;
63
+ oneof metadata {
64
+ RedditGoldMetadata reddit_gold = 9;
65
+ }
66
+ }
67
+
68
+ message ProductPrice {
69
+ int32 amount = 1;
70
+ Currency currency = 2;
71
+ }
72
+
73
+ message RedditGoldMetadata {
74
+ int32 amount = 1;
75
+ }
76
+
77
+ message ClientInfo {
78
+ string app_name = 1;
79
+ string app_version = 2;
80
+ string request_ip = 3;
81
+ string country_code = 4;
82
+ string subdivision_code = 5;
83
+ string city_code = 6;
84
+ }
85
+
86
+ message GetProductsRequest {
87
+ ProductType product_type = 1;
88
+ repeated PaymentProvider payment_providers = 2;
89
+ Currency currency = 3;
90
+ ClientInfo client_info = 4;
91
+ }
92
+
93
+ message GetProductsResponse {
94
+ repeated Product products = 1;
95
+ }
96
+
97
+ message GetSpecificProductRequest {
98
+ string product_id = 1;
99
+ Currency currency = 2;
100
+ }
101
+
102
+ message GetSpecificProductResponse {
103
+ Product product = 1;
104
+ }
105
+
106
+ // Rename this RPC service and add your RPCs.
107
+ service PayProductsService {
108
+ // Replace this RPC and its request and response messages.
109
+ rpc Demo(DemoRequest) returns (DemoResponse) {}
110
+
111
+ // This is like the endpoint above but it enforces authentication.
112
+ // Again, this should be replaced or removed based on your service requirements.
113
+ rpc AuthDemo(AuthDemoRequest) returns (AuthDemoResponse) {}
114
+
115
+ rpc GetProducts(GetProductsRequest) returns (GetProductsResponse) {}
116
+
117
+ rpc GetSpecificProduct(GetSpecificProductRequest) returns (GetSpecificProductResponse) {}
118
+ }
@@ -0,0 +1,55 @@
1
+ syntax = "proto3";
2
+
3
+ package reddit.api.metadata.v1;
4
+
5
+ import "google/protobuf/descriptor.proto";
6
+ import "google/protobuf/duration.proto";
7
+
8
+ option go_package = "github.snooguts.net/reddit/reddit-api-metadata/api/go/metadata/v1;metadata";
9
+ option java_multiple_files = true;
10
+ option java_outer_classname = "MetadataProto";
11
+ option java_package = "com.reddit.api.metadata.v1";
12
+
13
+ extend google.protobuf.FieldOptions {
14
+ // Metadata describing the usage and behavior of API entity fields
15
+ EntityFieldMetadata entity_field_metadata = 79010000;
16
+ }
17
+
18
+ // The reddit metadata for an entity field. This message is used to encapsulate
19
+ // and document information about reddit entities. An "entity" refers to messages
20
+ // that represent permanent or semi-permanent resources, as opposed to ephemeral
21
+ // messages, such as ones that are used to pass request arguments and responses.
22
+ message EntityFieldMetadata {
23
+ // Level of sensitivity that the data stored in a field should be treated with.
24
+ enum SensitivityLevel {
25
+ // This is a default vault used to convey the absence of a value.
26
+ SENSITIVITY_LEVEL_UNSPECIFIED = 0;
27
+
28
+ // Value to denote fields that should be treated as user PII
29
+ SENSITIVITY_LEVEL_PII = 1;
30
+
31
+ // Value to describe fields that are visible to reddit administrators but not
32
+ // publicly visible to users.
33
+ SENSITIVITY_LEVEL_ADMIN = 2;
34
+
35
+ // Value to describe fields that are visible to all users regardless of authentication status.
36
+ SENSITIVITY_LEVEL_PUBLIC = 3;
37
+
38
+ // Value to describe fields that are visible only to the owner or owners of the entity
39
+ // the field is defined on. For example, a user is the owner of an account or link. Whereas
40
+ // a moderator with sufficient permissions is an owner of a subreddit. Private data should
41
+ // not be interpreted as PII, but PII is always private.
42
+ SENSITIVITY_LEVEL_PRIVATE = 4;
43
+ }
44
+
45
+ // The sensitivity level of the data stored in the annotated field
46
+ SensitivityLevel sensitivity_level = 1;
47
+
48
+ // An http url to the design doc which documents the purposed and introduction of this field to the API.
49
+ // New fields added by contributors must have this value populated
50
+ string design_doc_url = 2;
51
+
52
+ // The maximum duration the contents of this field can be cached or stored. After which, its value
53
+ // must be expunged. This is most commonly used to describe the retention period of fields which store PII.
54
+ google.protobuf.Duration max_retention = 3;
55
+ }