@devvit/protos 0.11.6 → 0.11.7-next-2025-01-28-9b10510e8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (241) hide show
  1. package/meta.min.json +7820 -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/buildpack/buildpack_common.proto +6 -1
  225. package/schema/snootobuf.devenv.lock +210 -102
  226. package/schema/snootobuf.lock +210 -102
  227. package/schema/snootobuf.redditapi.lock +210 -102
  228. package/schema/snootobuf.ts.lock +210 -102
  229. package/types/devvit/dev_portal/dev_portal.d.ts +2 -0
  230. package/types/devvit/dev_portal/dev_portal.d.ts.map +1 -1
  231. package/types/devvit/plugin/builder/builder.d.ts +4 -0
  232. package/types/devvit/plugin/builder/builder.d.ts.map +1 -1
  233. package/types/devvit/plugin/buildpack/buildpack.d.ts +8 -0
  234. package/types/devvit/plugin/buildpack/buildpack.d.ts.map +1 -1
  235. package/types/devvit/plugin/buildpack/buildpack_common.d.ts +3 -0
  236. package/types/devvit/plugin/buildpack/buildpack_common.d.ts.map +1 -1
  237. package/types/devvit/plugin/buildpack/buildpack_common.js +37 -1
  238. package/types/devvit/plugin/linker/linker.d.ts +2 -0
  239. package/types/devvit/plugin/linker/linker.d.ts.map +1 -1
  240. package/types/devvit/plugin/linker/resolver.d.ts +2 -0
  241. package/types/devvit/plugin/linker/resolver.d.ts.map +1 -1
@@ -0,0 +1,186 @@
1
+ syntax = "proto3";
2
+
3
+ package reddit.coreplatform.links.v1;
4
+
5
+ import "validate/validate.proto";
6
+
7
+ option go_package = "github.snooguts.net/reddit/thing-api/go/grpc/links/v1;links";
8
+ option java_multiple_files = true;
9
+ option java_outer_classname = "LinksServiceProto";
10
+ option java_package = "com.reddit.coreplatform.api.links.v1";
11
+
12
+ // RPC Service for working with core Links/Post model.
13
+ service LinksService {
14
+ // Get all links (link ids) posted by an account. This includes all links including deleted ones.
15
+ rpc GetLinkIdsByAuthor(GetLinkIdsByAuthorRequest) returns (GetLinkIdsByAuthorResponse) {
16
+ option idempotency_level = NO_SIDE_EFFECTS;
17
+ }
18
+
19
+ // Checks whether or not an account has access to view a link/post
20
+ rpc CanAccountViewLink(CanAccountViewLinkRequest) returns (CanAccountViewLinkResponse) {
21
+ option idempotency_level = NO_SIDE_EFFECTS;
22
+ }
23
+
24
+ // Get all link ids of links voted or down voted by user.
25
+ rpc GetUserVotedLinkIds(GetUserVotedLinkIdsRequest) returns (GetUserVotedLinkIdsResponse) {
26
+ option idempotency_level = NO_SIDE_EFFECTS;
27
+ }
28
+
29
+ // Return all crossposts except current
30
+ rpc GetCrosspost(GetCrosspostRequest) returns (GetCrosspostResponse) {
31
+ option idempotency_level = NO_SIDE_EFFECTS;
32
+ }
33
+
34
+ //Add a crosspost to the Crosspost table
35
+ rpc AddCrosspost(AddCrosspostRequest) returns (AddCrosspostResponse) {
36
+ option idempotency_level = IDEMPOTENT;
37
+ }
38
+ }
39
+
40
+ // Request to get all links by author.
41
+ // This endpoint was added for Reddar to fetch all LinkIds by a given author.
42
+ // The sort order for the LinkIs by author is sorted in DESC by default.
43
+ // When this endpoint is invoked with direction as DIRECTION_PREV and a cursor, then sort order is ASC.
44
+ message GetLinkIdsByAuthorRequest {
45
+ // Direction enum represents whether to move forward or backward while fetching records
46
+ enum Direction {
47
+ // This is default value of direction.
48
+ DIRECTION_UNSPECIFIED = 0;
49
+ // Next fetches records specified by the limit after the current cursor ID.
50
+ // Calling Next at the end of records will return empty.
51
+ DIRECTION_NEXT = 1;
52
+ // Prev fetches records specified by the limit before the current cursor ID.
53
+ // Calling Prev at the start of records will return empty.
54
+ DIRECTION_PREV = 2;
55
+ }
56
+
57
+ // Account identifier to request links for. Specified account id should be a valid thing
58
+ // identifier with t2 prefix.
59
+ string account_id = 1 [(validate.rules).string = {pattern: "^t2_[a-zA-Z0-9]+$"}];
60
+
61
+ // Optional cursor for pagination. When absent returns the first page.
62
+ optional string cursor = 2;
63
+
64
+ // Optional maximum page size limit (defaulted to and capped at 1000).
65
+ optional int32 limit = 3 [(validate.rules).int32.lte = 1000];
66
+
67
+ // Direction to indicate whether to fetch records forwards or backwards from the cursor.
68
+ Direction direction = 4 [(validate.rules).enum = {
69
+ not_in: [0]
70
+ }];
71
+ }
72
+
73
+ // Response with all the links posted by an author.
74
+ message GetLinkIdsByAuthorResponse {
75
+ // Link ids authored by the user.
76
+ repeated string link_id = 1;
77
+
78
+ // Cursor for the next page (empty if exhausted).
79
+ optional string cursor = 2;
80
+ }
81
+
82
+ // Request arguments for Link/Post visibility check.
83
+ message CanAccountViewLinkRequest {
84
+ // The account id of the user we are checking visibility permissions against.
85
+ // The id must be in a valid `t2_{}` thing id format.
86
+ string account_id = 1 [(validate.rules).string = {
87
+ pattern: "^t2_[a-zA-Z0-9]+$",
88
+ ignore_empty: true,
89
+ }];
90
+
91
+ // A list of link ids to check if the supplied account id has permission to view
92
+ // Each link id must be in a valid `t3_{}` thing id format.
93
+ repeated string link_ids = 2 [(validate.rules).repeated = {
94
+ min_items: 1,
95
+ max_items: 100,
96
+ items: {
97
+ string: {pattern: "^t3_[a-zA-Z0-9]+$"}
98
+ }
99
+ }];
100
+ }
101
+
102
+ // Response payload for a Link visibility check.
103
+ message CanAccountViewLinkResponse {
104
+ // A list which is a subset of links the requested account has permission to view.
105
+ repeated string visible_link_ids = 1;
106
+ }
107
+
108
+ // query type informs which type of link ids to fetch
109
+ enum UserVotedLinkType {
110
+ // default value of link type. This value is not allowed in the request.
111
+ USER_VOTED_LINK_TYPE_UNSPECIFIED = 0;
112
+ // indicated to fetch up voted links by user.
113
+ USER_VOTED_LINK_TYPE_UP_VOTED = 1;
114
+ // indicated to fetch down voted links by user.
115
+ USER_VOTED_LINK_TYPE_DOWN_VOTED = 2;
116
+ }
117
+
118
+ // Request to get all up voted or down voted link ids by user.
119
+ // This endpoint was added for Investigation to fetch all LinkIds up voted or down voted by user.
120
+ // The sort order for the LinkIs by user is sorted in DESC by default.
121
+ // When this endpoint is invoked with direction as DIRECTION_PREV and a cursor, then sort order is ASC.
122
+ message GetUserVotedLinkIdsRequest {
123
+ // Direction enum represents whether to move forward or backward while fetching records
124
+ enum Direction {
125
+ // This is default value of direction.
126
+ DIRECTION_UNSPECIFIED = 0;
127
+ // Next fetches records specified by the limit after the current cursor ID.
128
+ // Calling Next at the end of records will return empty.
129
+ DIRECTION_NEXT = 1;
130
+ // Prev fetches records specified by the limit before the current cursor ID.
131
+ // Calling Prev at the start of records will return empty.
132
+ DIRECTION_PREV = 2;
133
+ }
134
+
135
+ // Account identifier to request link ids for. Specified account id should be a valid thing
136
+ // identifier with t2 prefix.
137
+ string account_id = 1 [(validate.rules).string.pattern = "^t2_[a-zA-Z0-9]+$"];
138
+
139
+ // query type distinguishes fetching up voted or down voted link ids
140
+ UserVotedLinkType user_voted_link_type = 2 [(validate.rules).enum = {
141
+ not_in: [0]
142
+ }];
143
+
144
+ // Optional cursor for pagination. When absent returns the first page.
145
+ optional string cursor = 3;
146
+
147
+ // Optional maximum page size limit (defaulted to and capped at 1000).
148
+ optional int32 limit = 4 [(validate.rules).int32.lte = 1000];
149
+
150
+ // Direction to indicate whether to fetch records forwards or backwards from the cursor.
151
+ Direction direction = 5 [(validate.rules).enum = {
152
+ not_in: [0]
153
+ }];
154
+ }
155
+
156
+ // Response with all the link ids up voted or down voted by an user.
157
+ message GetUserVotedLinkIdsResponse {
158
+ // link ids up voted or down voted by user
159
+ repeated string link_ids = 1;
160
+
161
+ // Cursor for the next page (empty if exhausted).
162
+ optional string cursor = 2;
163
+ }
164
+
165
+ // Request to get all the children links of the current crosspost
166
+ message GetCrosspostRequest {
167
+ // link_id to get children crossposts on
168
+ string link_id = 1 [(validate.rules).string.pattern = "^t3_[a-zA-Z0-9]+$"];
169
+ }
170
+
171
+ // Response with link ids of all the given post's crosspost children
172
+ message GetCrosspostResponse {
173
+ // a list of link_ids of the crosspost's children
174
+ repeated string crosspost_children = 1;
175
+ }
176
+
177
+ // Link and crosspost to add to Crosspost table
178
+ message AddCrosspostRequest {
179
+ // link id of the root
180
+ string link_id = 1 [(validate.rules).string.pattern = "^t3_[a-zA-Z0-9]+$"];
181
+ // link id of the crosspost
182
+ string crosspost_id = 2 [(validate.rules).string.pattern = "^t3_[a-zA-Z0-9]+$"];
183
+ }
184
+
185
+ // return nothing
186
+ message AddCrosspostResponse {}
@@ -0,0 +1,110 @@
1
+ syntax = "proto3";
2
+
3
+ package reddit.coreplatform.messages.v1;
4
+
5
+ import "reddit/api/metadata/v1/metadata.proto";
6
+ import "reddit/coreplatform/common/v1/features.proto";
7
+ import "reddit/coreplatform/common/v1/moderation.proto";
8
+
9
+ option go_package = "github.snooguts.net/reddit/thing-api/go/grpc/messages/v1;messages";
10
+ option java_multiple_files = true;
11
+ option java_outer_classname = "MessagesProto";
12
+ option java_package = "com.reddit.coreplatform.api.messages.v1";
13
+
14
+ /* @exclude No documentation present when converted from Thrift to Proto */
15
+ message Message {
16
+ /* @exclude No documentation present when converted from Thrift to Proto */
17
+ string id = 1;
18
+
19
+ /* @exclude No documentation present when converted from Thrift to Proto */
20
+ int64 date = 2;
21
+
22
+ /* @exclude No documentation present when converted from Thrift to Proto */
23
+ bool deleted = 3;
24
+
25
+ /* @exclude No documentation present when converted from Thrift to Proto */
26
+ bool spam = 4;
27
+
28
+ /* @exclude No documentation present when converted from Thrift to Proto */
29
+ string author_id = 5;
30
+
31
+ /* @exclude No documentation present when converted from Thrift to Proto */
32
+ string body = 6;
33
+
34
+ /* @exclude No documentation present when converted from Thrift to Proto */
35
+ string subject = 7;
36
+
37
+ /* @exclude No documentation present when converted from Thrift to Proto */
38
+ bool collapse_for_author = 8;
39
+
40
+ /* @exclude No documentation present when converted from Thrift to Proto */
41
+ bool deleted_by_recipient = 9;
42
+
43
+ /* @exclude No documentation present when converted from Thrift to Proto */
44
+ string display_author_id = 10;
45
+
46
+ /* @exclude No documentation present when converted from Thrift to Proto */
47
+ string display_recipient_id = 11;
48
+
49
+ /* @exclude No documentation present when converted from Thrift to Proto */
50
+ reddit.coreplatform.common.v1.DistinguishType distinguished = 12;
51
+
52
+ /* @exclude No documentation present when converted from Thrift to Proto */
53
+ string first_message_id = 13;
54
+
55
+ /* @exclude No documentation present when converted from Thrift to Proto */
56
+ bool sent_by_subreddit = 14;
57
+
58
+ /* @exclude No documentation present when converted from Thrift to Proto */
59
+ string parent_id = 15;
60
+
61
+ /* @exclude No documentation present when converted from Thrift to Proto */
62
+ string subreddit_id = 16;
63
+
64
+ /* @exclude No documentation present when converted from Thrift to Proto */
65
+ string recipient_id = 17;
66
+
67
+ /* @exclude No documentation present when converted from Thrift to Proto */
68
+ bool collapse_for_recipient = 18;
69
+
70
+ /* @exclude No documentation present when converted from Thrift to Proto */
71
+ bool is_repliable = 19;
72
+
73
+ /* @exclude No documentation present when converted from Thrift to Proto */
74
+ string ip = 20 [(reddit.api.metadata.v1.entity_field_metadata) = {
75
+ sensitivity_level: SENSITIVITY_LEVEL_PII
76
+ max_retention: {
77
+ seconds: 7776000 // 90 Days
78
+ }
79
+ }];
80
+
81
+ /* @exclude No documentation present when converted from Thrift to Proto */
82
+ bool is_signed = 21;
83
+
84
+ /* @exclude No documentation present when converted from Thrift to Proto */
85
+ reddit.coreplatform.common.v1.BanInfo ban_info = 22;
86
+
87
+ /* @exclude No documentation present when converted from Thrift to Proto */
88
+ reddit.coreplatform.common.v1.Verdict verdict = 23;
89
+
90
+ /* @exclude No documentation present when converted from Thrift to Proto */
91
+ string email_id = 24;
92
+
93
+ /* @exclude No documentation present when converted from Thrift to Proto */
94
+ int32 report_count = 25;
95
+
96
+ /* @exclude No documentation present when converted from Thrift to Proto */
97
+ bool sent_via_email = 26;
98
+
99
+ /* @exclude No documentation present when converted from Thrift to Proto */
100
+ bool approve_disabled = 27;
101
+
102
+ /* @exclude No documentation present when converted from Thrift to Proto */
103
+ map<string, double> perspective_scores_subject = 28;
104
+
105
+ /* @exclude No documentation present when converted from Thrift to Proto */
106
+ map<string, double> perspective_scores_body = 29;
107
+
108
+ /* @exclude No documentation present when converted from Thrift to Proto */
109
+ string associated_awarding_id = 30;
110
+ }
@@ -0,0 +1,51 @@
1
+ syntax = "proto3";
2
+
3
+ package reddit.coreplatform.sensitive.v1;
4
+
5
+ import "google/protobuf/any.proto";
6
+
7
+ option go_package = "github.snooguts.net/reddit/thing-api/go/grpc/sensitive/v1;sensitive";
8
+ option java_multiple_files = true;
9
+ option java_outer_classname = "WrappersProto";
10
+ option java_package = "com.reddit.coreplatform.api.sensitive.v1";
11
+
12
+ // This message represents an encrypted payload. This message is intended to be supplied to the private-storage
13
+ // service for decryption. If the encryption of this value is time bound, then it can no longer be decrypted after its key expires.
14
+ // Callers attempting to decrypt a value must have sufficient permission for the namespace this value belongs to.
15
+ message EncryptedBytes {
16
+ // The ID of the key that is able to decrypt this value.
17
+ string key_id = 1;
18
+
19
+ // The ACL namespace of the value. This is used to scope values to specific domains and enforce authorization constraints.
20
+ string namespace = 2;
21
+
22
+ // The encrypted bytes of the value.
23
+ bytes value = 3;
24
+ }
25
+
26
+ // This message is used to represent a string whose contents may be contextually sensitive. It is meant to allow
27
+ // transferring a value across trust boundaries in a secure manner.
28
+ message SensitiveString {
29
+ // Value can be either the plain decrypted string value, or a secured encrypted bytes message.
30
+ oneof value {
31
+ // The raw, decrypted string value.
32
+ string decrypted = 1;
33
+ // The encrypted representation of the string. If the encryption of this value is time bound, then this
34
+ // value will become unreadable after its encryption key expires.
35
+ EncryptedBytes encrypted = 2;
36
+ }
37
+ }
38
+
39
+ // This message is used to represent a protobuf message whose contents may be contextually sensitive. It is meant to allow
40
+ // transferring a value across trust boundaries in a secure manner.
41
+ message SensitiveMessage {
42
+ // Value can be either the plain decrypted anypb value, or a secured encrypted bytes message.
43
+ oneof value {
44
+ // The raw, decrypted anypb value.
45
+ google.protobuf.Any decrypted = 1;
46
+
47
+ // The encrypted representation of the anypb. If the encryption of this value is time bound, then this
48
+ // value will become unreadable after its encryption key expires.
49
+ EncryptedBytes encrypted = 2;
50
+ }
51
+ }