@devvit/protos 0.11.4 → 0.11.5-next-2024-12-09-8401a61d8.0
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.
- package/meta.min.json +7814 -0
- package/package.json +4 -4
- package/protos.min.js +2 -0
- package/protos.min.js.map +7 -0
- package/schema/.snootobuf/deps/buf/validate/expression.proto +92 -0
- package/schema/.snootobuf/deps/buf/validate/priv/private.proto +41 -0
- package/schema/.snootobuf/deps/buf/validate/validate.proto +4130 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/audit.proto +72 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/auth.proto +49 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/organization.proto +54 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/service.proto +46 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/subscription.proto +72 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/ui.proto +20 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/user.proto +45 -0
- package/schema/.snootobuf/deps/devvit/data/api/v1alpha/admin.proto +54 -0
- package/schema/.snootobuf/deps/devvit/data/api/v1alpha/delivery.proto +773 -0
- package/schema/.snootobuf/deps/devvit/data/api/v1alpha/filter.proto +66 -0
- package/schema/.snootobuf/deps/devvit/data/api/v1alpha/firehose.proto +100 -0
- package/schema/.snootobuf/deps/devvit/data/api/v1alpha/intake.proto +19 -0
- package/schema/.snootobuf/deps/devvit/events/v1alpha/events.proto +446 -0
- package/schema/.snootobuf/deps/devvit/gateway/v1alpha/payments.proto +24 -0
- package/schema/.snootobuf/deps/devvit/options/options.proto +98 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/commentv2.proto +29 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/flair.proto +25 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modaction.proto +53 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modmail.proto +56 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/postv2.proto +107 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/subredditv2.proto +41 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/userv2.proto +23 -0
- package/schema/.snootobuf/deps/devvit/triggers/v1alpha/triggers.proto +162 -0
- package/schema/.snootobuf/deps/enum/account_gender_category.proto +14 -0
- package/schema/.snootobuf/deps/enum/approval_status.proto +15 -0
- package/schema/.snootobuf/deps/enum/automated_reporting_level.proto +12 -0
- package/schema/.snootobuf/deps/enum/ban_evasion_threshold.proto +13 -0
- package/schema/.snootobuf/deps/enum/ban_info_action.proto +12 -0
- package/schema/.snootobuf/deps/enum/block_relation_type.proto +11 -0
- package/schema/.snootobuf/deps/enum/comment_sort.proto +18 -0
- package/schema/.snootobuf/deps/enum/comment_type.proto +11 -0
- package/schema/.snootobuf/deps/enum/crowd_control_level.proto +12 -0
- package/schema/.snootobuf/deps/enum/discussion_type.proto +10 -0
- package/schema/.snootobuf/deps/enum/distinguish_type.proto +14 -0
- package/schema/.snootobuf/deps/enum/flair_position.proto +11 -0
- package/schema/.snootobuf/deps/enum/hateful_content_threshold.proto +12 -0
- package/schema/.snootobuf/deps/enum/link_content_type.proto +11 -0
- package/schema/.snootobuf/deps/enum/link_type.proto +11 -0
- package/schema/.snootobuf/deps/enum/link_visibility.proto +11 -0
- package/schema/.snootobuf/deps/enum/prediction_leaderboard_entry_type.proto +11 -0
- package/schema/.snootobuf/deps/enum/promo_layout.proto +11 -0
- package/schema/.snootobuf/deps/enum/removed_by_type.proto +18 -0
- package/schema/.snootobuf/deps/enum/spam_level.proto +11 -0
- package/schema/.snootobuf/deps/enum/subreddit_type.proto +16 -0
- package/schema/.snootobuf/deps/enum/verdict.proto +14 -0
- package/schema/.snootobuf/deps/enum/vote.proto +12 -0
- package/schema/.snootobuf/deps/enum/whitelist_status.proto +17 -0
- package/schema/.snootobuf/deps/enum/wiki_edit_mode.proto +12 -0
- package/schema/.snootobuf/deps/evaluator/evaluator.proto +203 -0
- package/schema/.snootobuf/deps/google/api/annotations.proto +31 -0
- package/schema/.snootobuf/deps/google/api/apikeys/v2/apikeys.proto +288 -0
- package/schema/.snootobuf/deps/google/api/apikeys/v2/resources.proto +175 -0
- package/schema/.snootobuf/deps/google/api/auth.proto +237 -0
- package/schema/.snootobuf/deps/google/api/backend.proto +185 -0
- package/schema/.snootobuf/deps/google/api/billing.proto +77 -0
- package/schema/.snootobuf/deps/google/api/client.proto +431 -0
- package/schema/.snootobuf/deps/google/api/cloudquotas/v1/cloudquotas.proto +322 -0
- package/schema/.snootobuf/deps/google/api/cloudquotas/v1/resources.proto +315 -0
- package/schema/.snootobuf/deps/google/api/config_change.proto +84 -0
- package/schema/.snootobuf/deps/google/api/consumer.proto +82 -0
- package/schema/.snootobuf/deps/google/api/context.proto +92 -0
- package/schema/.snootobuf/deps/google/api/control.proto +41 -0
- package/schema/.snootobuf/deps/google/api/distribution.proto +213 -0
- package/schema/.snootobuf/deps/google/api/documentation.proto +168 -0
- package/schema/.snootobuf/deps/google/api/endpoint.proto +69 -0
- package/schema/.snootobuf/deps/google/api/error_reason.proto +589 -0
- package/schema/.snootobuf/deps/google/api/expr/conformance/v1alpha1/conformance_service.proto +183 -0
- package/schema/.snootobuf/deps/google/api/expr/v1alpha1/checked.proto +343 -0
- package/schema/.snootobuf/deps/google/api/expr/v1alpha1/eval.proto +118 -0
- package/schema/.snootobuf/deps/google/api/expr/v1alpha1/explain.proto +53 -0
- package/schema/.snootobuf/deps/google/api/expr/v1alpha1/syntax.proto +438 -0
- package/schema/.snootobuf/deps/google/api/expr/v1alpha1/value.proto +115 -0
- package/schema/.snootobuf/deps/google/api/expr/v1beta1/decl.proto +84 -0
- package/schema/.snootobuf/deps/google/api/expr/v1beta1/eval.proto +125 -0
- package/schema/.snootobuf/deps/google/api/expr/v1beta1/expr.proto +265 -0
- package/schema/.snootobuf/deps/google/api/expr/v1beta1/source.proto +62 -0
- package/schema/.snootobuf/deps/google/api/expr/v1beta1/value.proto +114 -0
- package/schema/.snootobuf/deps/google/api/field_behavior.proto +104 -0
- package/schema/.snootobuf/deps/google/api/field_info.proto +106 -0
- package/schema/.snootobuf/deps/google/api/http.proto +371 -0
- package/schema/.snootobuf/deps/google/api/httpbody.proto +81 -0
- package/schema/.snootobuf/deps/google/api/label.proto +48 -0
- package/schema/.snootobuf/deps/google/api/launch_stage.proto +72 -0
- package/schema/.snootobuf/deps/google/api/log.proto +54 -0
- package/schema/.snootobuf/deps/google/api/logging.proto +81 -0
- package/schema/.snootobuf/deps/google/api/metric.proto +268 -0
- package/schema/.snootobuf/deps/google/api/monitored_resource.proto +130 -0
- package/schema/.snootobuf/deps/google/api/monitoring.proto +107 -0
- package/schema/.snootobuf/deps/google/api/policy.proto +85 -0
- package/schema/.snootobuf/deps/google/api/quota.proto +184 -0
- package/schema/.snootobuf/deps/google/api/resource.proto +243 -0
- package/schema/.snootobuf/deps/google/api/routing.proto +461 -0
- package/schema/.snootobuf/deps/google/api/service.proto +191 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/check_error.proto +124 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/distribution.proto +166 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/http_request.proto +93 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/log_entry.proto +126 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/metric_value.proto +81 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/operation.proto +123 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/quota_controller.proto +245 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/service_controller.proto +260 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v2/service_controller.proto +196 -0
- package/schema/.snootobuf/deps/google/api/servicemanagement/v1/resources.proto +295 -0
- package/schema/.snootobuf/deps/google/api/servicemanagement/v1/servicemanager.proto +508 -0
- package/schema/.snootobuf/deps/google/api/serviceusage/v1/resources.proto +130 -0
- package/schema/.snootobuf/deps/google/api/serviceusage/v1/serviceusage.proto +305 -0
- package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/resources.proto +458 -0
- package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/serviceusage.proto +793 -0
- package/schema/.snootobuf/deps/google/api/source_info.proto +31 -0
- package/schema/.snootobuf/deps/google/api/system_parameter.proto +96 -0
- package/schema/.snootobuf/deps/google/api/usage.proto +96 -0
- package/schema/.snootobuf/deps/google/api/visibility.proto +113 -0
- package/schema/.snootobuf/deps/google/cloud/extended_operations.proto +150 -0
- package/schema/.snootobuf/deps/google/iam/admin/v1/iam.proto +1087 -0
- package/schema/.snootobuf/deps/google/iam/v1/iam_policy.proto +145 -0
- package/schema/.snootobuf/deps/google/iam/v1/logging/audit_data.proto +34 -0
- package/schema/.snootobuf/deps/google/iam/v1/options.proto +41 -0
- package/schema/.snootobuf/deps/google/iam/v1/policy.proto +240 -0
- package/schema/.snootobuf/deps/google/logging/type/http_request.proto +92 -0
- package/schema/.snootobuf/deps/google/logging/type/log_severity.proto +72 -0
- package/schema/.snootobuf/deps/google/longrunning/operations.proto +247 -0
- package/schema/.snootobuf/deps/google/protobuf/any.proto +158 -0
- package/schema/.snootobuf/deps/google/protobuf/api.proto +208 -0
- package/schema/.snootobuf/deps/google/protobuf/compiler/plugin.proto +183 -0
- package/schema/.snootobuf/deps/google/protobuf/descriptor.proto +921 -0
- package/schema/.snootobuf/deps/google/protobuf/duration.proto +116 -0
- package/schema/.snootobuf/deps/google/protobuf/empty.proto +51 -0
- package/schema/.snootobuf/deps/google/protobuf/field_mask.proto +245 -0
- package/schema/.snootobuf/deps/google/protobuf/source_context.proto +48 -0
- package/schema/.snootobuf/deps/google/protobuf/struct.proto +95 -0
- package/schema/.snootobuf/deps/google/protobuf/timestamp.proto +147 -0
- package/schema/.snootobuf/deps/google/protobuf/type.proto +187 -0
- package/schema/.snootobuf/deps/google/protobuf/wrappers.proto +123 -0
- package/schema/.snootobuf/deps/google/rpc/code.proto +186 -0
- package/schema/.snootobuf/deps/google/rpc/context/attribute_context.proto +287 -0
- package/schema/.snootobuf/deps/google/rpc/error_details.proto +246 -0
- package/schema/.snootobuf/deps/google/rpc/status.proto +47 -0
- package/schema/.snootobuf/deps/google/type/calendar_period.proto +57 -0
- package/schema/.snootobuf/deps/google/type/color.proto +170 -0
- package/schema/.snootobuf/deps/google/type/date.proto +50 -0
- package/schema/.snootobuf/deps/google/type/datetime.proto +97 -0
- package/schema/.snootobuf/deps/google/type/dayofweek.proto +51 -0
- package/schema/.snootobuf/deps/google/type/expr.proto +51 -0
- package/schema/.snootobuf/deps/google/type/fraction.proto +34 -0
- package/schema/.snootobuf/deps/google/type/latlng.proto +37 -0
- package/schema/.snootobuf/deps/google/type/money.proto +43 -0
- package/schema/.snootobuf/deps/google/type/month.proto +66 -0
- package/schema/.snootobuf/deps/google/type/postal_address.proto +135 -0
- package/schema/.snootobuf/deps/google/type/quaternion.proto +95 -0
- package/schema/.snootobuf/deps/google/type/timeofday.proto +44 -0
- package/schema/.snootobuf/deps/openapi/helper.proto +20 -0
- package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +189 -0
- package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +118 -0
- package/schema/.snootobuf/deps/reddit/api/metadata/v1/metadata.proto +55 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account.proto +579 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account_relations.proto +43 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/api/metadata/v1/metadata.proto +82 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/blocking/v1/user_blocking_service.proto +221 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree.proto +78 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_service.proto +189 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_structure.proto +29 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments.proto +417 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments_service.proto +72 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/auth.proto +25 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/features.proto +52 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/lang.proto +16 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/legal.proto +20 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/media.proto +149 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/moderation.proto +197 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/safety.proto +116 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/time.proto +25 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/domains/v1/domains_metadata_service.proto +101 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/grpc_thrift/v1/grpc_thrift_options.proto +34 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links.proto +798 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links_service.proto +186 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/messages/v1/messages.proto +110 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/sensitive/v1/wrappers.proto +51 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit.proto +1202 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_member_relations.proto +85 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_moderator_service.proto +363 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_service.proto +301 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/thing/v0/thing.proto +2869 -0
- package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/custom_post.proto +15 -0
- package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/service.proto +11 -0
- package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/context_action.proto +48 -0
- package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/manifest.proto +70 -0
- package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/service.proto +11 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/acknowledge_order_delivery.proto +17 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/checkout.proto +89 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/common.proto +322 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/delete_products.proto +17 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/events.proto +14 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_batch_products.proto +15 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_gold_balances.proto +48 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_order.proto +31 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders.proto +26 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders_by_user.proto +15 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_payout_info_batch.proto +52 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_products.proto +23 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_user_profiles.proto +28 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/refund_order.proto +17 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service.proto +49 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service_data_compliance.proto +20 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/upsert_products.proto +17 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paygatewaypsps/v1/paygatewaypsps.proto +158 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payments_data_compliance.proto +18 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payorders.proto +195 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/admin.proto +44 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/ledger.proto +200 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/payments_data_compliance.proto +18 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/paypayments.proto +210 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +189 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +135 -0
- package/schema/.snootobuf/deps/snooron_sources/text_classification/text_classification.proto +29 -0
- package/schema/.snootobuf/deps/snooron_sources/v2_event/v2_event.proto +3292 -0
- package/schema/.snootobuf/deps/validate/validate.proto +862 -0
- package/schema/devvit/dev_portal/app/app.proto +3 -0
- package/schema/devvit/dev_portal/app/info/app_info.proto +13 -1
- package/schema/devvit/dev_portal/dev_portal.proto +9 -0
- package/schema/devvit/dev_portal/payments/payments_verification.proto +31 -0
- package/schema/devvit/ui/block_kit/v1beta/ui.proto +1 -1
- package/schema/devvit/ui/effects/web_view/v1alpha/fullscreen.proto +7 -1
- package/schema/snootobuf.devenv.lock +1227 -662
- package/schema/snootobuf.lock +1228 -662
- package/schema/snootobuf.redditapi.lock +1226 -662
- package/schema/snootobuf.ts.lock +1227 -662
- package/types/devvit/dev_portal/app/app.d.ts +2 -0
- package/types/devvit/dev_portal/app/app.d.ts.map +1 -1
- package/types/devvit/dev_portal/app/app.js +17 -0
- package/types/devvit/dev_portal/app/info/app_info.d.ts +13 -0
- package/types/devvit/dev_portal/app/info/app_info.d.ts.map +1 -1
- package/types/devvit/dev_portal/app/info/app_info.js +17 -0
- package/types/devvit/dev_portal/dev_portal.d.ts +113 -3
- package/types/devvit/dev_portal/dev_portal.d.ts.map +1 -1
- package/types/devvit/dev_portal/dev_portal.js +32 -0
- package/types/devvit/dev_portal/dev_portal.twirp-client.d.ts +17 -0
- package/types/devvit/dev_portal/dev_portal.twirp-client.d.ts.map +1 -1
- package/types/devvit/dev_portal/dev_portal.twirp-client.js +23 -0
- package/types/devvit/dev_portal/dev_portal.twirp.d.ts +9 -0
- package/types/devvit/dev_portal/dev_portal.twirp.d.ts.map +1 -1
- package/types/devvit/dev_portal/dev_portal.twirp.js +89 -0
- package/types/devvit/dev_portal/payments/payments_verification.d.ts +59 -0
- package/types/devvit/dev_portal/payments/payments_verification.d.ts.map +1 -0
- package/types/devvit/dev_portal/payments/payments_verification.js +163 -0
- package/types/devvit/reddit/custom_post/v1alpha/custom_post.d.ts +4 -0
- package/types/devvit/reddit/custom_post/v1alpha/custom_post.d.ts.map +1 -1
- package/types/devvit/ui/effects/web_view/v1alpha/fullscreen.d.ts +8 -1
- package/types/devvit/ui/effects/web_view/v1alpha/fullscreen.d.ts.map +1 -1
- package/types/devvit/ui/effects/web_view/v1alpha/fullscreen.js +15 -1
package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_member_relations.proto
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
syntax = "proto3";
|
2
|
+
|
3
|
+
package reddit.coreplatform.subreddit.v1;
|
4
|
+
|
5
|
+
import "google/protobuf/descriptor.proto";
|
6
|
+
import "google/protobuf/timestamp.proto";
|
7
|
+
|
8
|
+
option go_package = "github.snooguts.net/reddit/thing-api/go/grpc/subreddit/v1;subreddit";
|
9
|
+
option java_multiple_files = true;
|
10
|
+
option java_outer_classname = "SubredditMemberRelationsProto";
|
11
|
+
option java_package = "com.reddit.coreplatform.api.subreddit.v1";
|
12
|
+
|
13
|
+
// This message describes the relationship between a subreddit and an account with permissions to moderate it.
|
14
|
+
message ModeratorRelation {
|
15
|
+
// A message representing the moderator permissions an account has on the moderating subreddit.
|
16
|
+
message Permissions {
|
17
|
+
// Superuser for the subreddit, when true the user has all moderator capabilities.
|
18
|
+
bool all = 1;
|
19
|
+
|
20
|
+
// Manage Users, when true, the moderator can approve submitters and ban and mute users.
|
21
|
+
bool manage_access = 2;
|
22
|
+
|
23
|
+
// Manage Settings, when true, the moderator can manage community settings, appearance, emojis, rules, and AutoMod.
|
24
|
+
bool manage_config = 3;
|
25
|
+
|
26
|
+
// Manage Flair, when true, the moderator can create and manage user and post flair.
|
27
|
+
bool manage_flair = 4;
|
28
|
+
|
29
|
+
// Manage Mail, when true, the moderator can read and respond to mod-mail and mute users.
|
30
|
+
bool manage_mail = 5;
|
31
|
+
|
32
|
+
// Manage Posts and Comments, when true, the moderator can access queues, take action on content,
|
33
|
+
// and manage collections and events.
|
34
|
+
bool manage_posts = 6;
|
35
|
+
|
36
|
+
// Manage Wiki Pages, when true, the moderator can create and manage wiki pages and AutoMod.
|
37
|
+
bool manage_wiki = 7;
|
38
|
+
|
39
|
+
// Manage Chats, when true, the moderator can create and manage chats, set up filters and rate limits, and block domains.
|
40
|
+
bool manage_chat_config = 8;
|
41
|
+
|
42
|
+
// Monitor Chats, when true, the moderator can remove messages, remove users, and lock chats.
|
43
|
+
bool monitor_chat = 9;
|
44
|
+
|
45
|
+
// Manage Channels, when true, a moderator can add, edit and remove subreddit channels.
|
46
|
+
bool manage_channels = 10;
|
47
|
+
|
48
|
+
// Manage Community Chat, when set to true, the moderator can moderate community chat channels.
|
49
|
+
bool manage_community_chat = 11;
|
50
|
+
}
|
51
|
+
|
52
|
+
// The base36 identifier of the subreddit moderator relationship prefixed with rb_.
|
53
|
+
string id = 1;
|
54
|
+
|
55
|
+
// The t5 id of the subreddit that the moderator relation is for.
|
56
|
+
string subreddit_id = 2;
|
57
|
+
|
58
|
+
// The t2 id of the account moderating the subreddit.
|
59
|
+
string account_id = 3;
|
60
|
+
|
61
|
+
// The date the moderator joined the mod team in UTC.
|
62
|
+
google.protobuf.Timestamp join_date = 4;
|
63
|
+
|
64
|
+
// The rank of this moderator vs other moderators. Lower outranks higher.
|
65
|
+
// Ranks across moderators of a subreddit aren't sequential.
|
66
|
+
int64 rank = 5;
|
67
|
+
|
68
|
+
// An set of moderator permission and restrictions.
|
69
|
+
Permissions permissions = 6;
|
70
|
+
}
|
71
|
+
|
72
|
+
// This message describes the relationship between a subreddit and a contributor to the subreddit.
|
73
|
+
message ContributorRelation {
|
74
|
+
// The base36 identifier of the subreddit contributor relationship prefixed with rb_.
|
75
|
+
string id = 1;
|
76
|
+
|
77
|
+
// The t5 id of the subreddit that the account is a contributor for.
|
78
|
+
string subreddit_id = 2;
|
79
|
+
|
80
|
+
// The t2 id of the account contributing to the subreddit.
|
81
|
+
string account_id = 3;
|
82
|
+
|
83
|
+
// The date the account was added as a contributor to the subreddit in UTC.
|
84
|
+
google.protobuf.Timestamp join_date = 4;
|
85
|
+
}
|
package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_moderator_service.proto
ADDED
@@ -0,0 +1,363 @@
|
|
1
|
+
syntax = "proto3";
|
2
|
+
|
3
|
+
package reddit.coreplatform.subreddit.v1;
|
4
|
+
|
5
|
+
import "reddit/coreplatform/subreddit/v1/subreddit.proto";
|
6
|
+
import "validate/validate.proto";
|
7
|
+
|
8
|
+
option go_package = "github.snooguts.net/reddit/thing-api/go/grpc/subreddit/v1;subreddit";
|
9
|
+
option java_multiple_files = true;
|
10
|
+
option java_outer_classname = "SubredditModeratorServiceProto";
|
11
|
+
option java_package = "com.reddit.coreplatform.api.subreddit.v1";
|
12
|
+
|
13
|
+
// RPC Service for working with Subreddit moderators
|
14
|
+
service SubredditModeratorService {
|
15
|
+
// Retrieve moderated subreddits for a given account
|
16
|
+
rpc GetModeratedSubreddits(GetModeratedSubredditsRequest) returns (GetModeratedSubredditsResponse) {
|
17
|
+
option idempotency_level = NO_SIDE_EFFECTS;
|
18
|
+
}
|
19
|
+
|
20
|
+
// Retrieve moderators for a given subreddit
|
21
|
+
rpc GetModeratorsBySubreddit(GetModeratorsBySubredditRequest) returns (GetModeratorsBySubredditResponse) {
|
22
|
+
option idempotency_level = NO_SIDE_EFFECTS;
|
23
|
+
}
|
24
|
+
|
25
|
+
// Retrieve visible moderators for a given subreddit that filters out any mods on the list of invisible mods
|
26
|
+
// https://github.snooguts.net/reddit/reddit-private/blob/ee159f8e2a9d9235c48001c9dcd8fc32b0628339/production.ini#L1778-L1792
|
27
|
+
rpc GetVisibleModeratorsBySubreddit(GetVisibleModeratorsBySubredditRequest) returns (GetVisibleModeratorsBySubredditResponse) {
|
28
|
+
option idempotency_level = IDEMPOTENT;
|
29
|
+
}
|
30
|
+
|
31
|
+
// Apply a new order of moderators for a given subreddit
|
32
|
+
rpc ReorderModerators(ReorderModeratorsRequest) returns (ReorderModeratorsResponse) {
|
33
|
+
option idempotency_level = IDEMPOTENT;
|
34
|
+
}
|
35
|
+
|
36
|
+
// CreateModerator adds a new user as subreddit moderator.
|
37
|
+
// The moderator has all permissions by default; to add specific permissions, use UpdateModeratorPermissions.
|
38
|
+
// Returns an AlreadyExists error if the moderator relation already exists.
|
39
|
+
//
|
40
|
+
// This method is asynchronous, and ordering is guaranteed by subreddit ID. The status of this operation
|
41
|
+
// can be checked by calling Cloudroutine's PollOperationStatus with the returned operation ID.
|
42
|
+
//
|
43
|
+
// Note: this only creates the relation record itself and does not perform any verification.
|
44
|
+
rpc CreateModerator(CreateModeratorRequest) returns (CreateModeratorResponse) {
|
45
|
+
option idempotency_level = IDEMPOTENT;
|
46
|
+
}
|
47
|
+
|
48
|
+
// DeleteModerator removes a user as subreddit moderator.
|
49
|
+
// Returns a NotFound error if the moderator relation does not exist.
|
50
|
+
//
|
51
|
+
// This method is asynchronous, and ordering is guaranteed by subreddit ID. The status of this operation
|
52
|
+
// can be checked by calling Cloudroutine's PollOperationStatus with the returned operation ID.
|
53
|
+
//
|
54
|
+
// Note: this only removes the relation record itself and does not perform any verification.
|
55
|
+
rpc DeleteModerator(DeleteModeratorRequest) returns (DeleteModeratorResponse) {
|
56
|
+
option idempotency_level = IDEMPOTENT;
|
57
|
+
}
|
58
|
+
|
59
|
+
// UpdateModeratorPermissions restricts a given moderator to the specified moderator permissions.
|
60
|
+
// Returns a NotFound error if the moderator relation does not exist.
|
61
|
+
//
|
62
|
+
// This method is asynchronous, and ordering is guaranteed by subreddit ID. The status of this operation
|
63
|
+
// can be checked by calling Cloudroutine's PollOperationStatus with the returned operation ID.
|
64
|
+
//
|
65
|
+
// Note: this only updates the permissions record itself and does not perform any verification.
|
66
|
+
rpc UpdateModeratorPermissions(UpdateModeratorPermissionsRequest) returns (UpdateModeratorPermissionsResponse) {
|
67
|
+
option idempotency_level = IDEMPOTENT;
|
68
|
+
}
|
69
|
+
|
70
|
+
// CreateModeratorInvite adds a new user as being invited to be a subreddit moderator.
|
71
|
+
// If the invite is accepted, the invite record is deleted and a moderator relation is created in its place.
|
72
|
+
// Returns an AlreadyExists error if the moderator invite relation already exists.
|
73
|
+
//
|
74
|
+
// This method is asynchronous and ordering is guaranteed by subreddit ID. The status of this operation
|
75
|
+
// can be checked by calling Cloudroutine's PollOperationStatus with the returned operation ID.
|
76
|
+
//
|
77
|
+
// Note: this only creates the relation record itself and does not perform any verification or sending out of invites.
|
78
|
+
rpc CreateModeratorInvite(CreateModeratorInviteRequest) returns (CreateModeratorInviteResponse) {
|
79
|
+
option idempotency_level = IDEMPOTENT;
|
80
|
+
}
|
81
|
+
|
82
|
+
// DeleteModeratorInvite removes a user from being invited to be a subreddit moderator.
|
83
|
+
// Returns a NotFound error if no moderator invite relation exists.
|
84
|
+
//
|
85
|
+
// This method is asynchronous, and ordering is guaranteed by subreddit ID. The status of this operation
|
86
|
+
// can be checked by calling Cloudroutine's PollOperationStatus with the returned operator ID.
|
87
|
+
//
|
88
|
+
// Note: this only creates the relation record itself and does not perform any verification.
|
89
|
+
rpc DeleteModeratorInvite(DeleteModeratorInviteRequest) returns (DeleteModeratorInviteResponse) {
|
90
|
+
option idempotency_level = IDEMPOTENT;
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
94
|
+
// Request to get moderated subreddits for a given account
|
95
|
+
// The request must be made with a service account edge context or a user edge context matching the provided account.
|
96
|
+
message GetModeratedSubredditsRequest {
|
97
|
+
// Account identifier to request list of moderators for. Not necessary when requesting as a service.
|
98
|
+
// Specified account id should be a valid thing identifier with t2 prefix.
|
99
|
+
string account_id = 1 [(validate.rules).string = {pattern: "^t2_[a-zA-Z0-9]+$"}];
|
100
|
+
|
101
|
+
// Optional flag to hydrate the response subreddits with permissions.
|
102
|
+
bool include_permissions = 2;
|
103
|
+
|
104
|
+
// Cursor for the start index of the result set. When empty, the results start from the first page.
|
105
|
+
// The sort order is descending, so the first page will be the most recently added moderated subreddits.
|
106
|
+
// This API may be updated to allow that sort order to be specified, but the default will remain as descending.
|
107
|
+
string cursor = 3 [(validate.rules).string = {
|
108
|
+
ignore_empty: true,
|
109
|
+
min_len: 1,
|
110
|
+
}];
|
111
|
+
|
112
|
+
// Maximum page size limit (defaults to and capped at 1000).
|
113
|
+
int32 limit = 4 [(validate.rules).int32 = {
|
114
|
+
ignore_empty: true,
|
115
|
+
gte: 1,
|
116
|
+
lte: 1000,
|
117
|
+
}];
|
118
|
+
}
|
119
|
+
|
120
|
+
// Response of moderated subreddits for a given account
|
121
|
+
// If the provided account is not a moderator of any subreddits, including if it is not a valid account,
|
122
|
+
// an empty map will be returned in the response.
|
123
|
+
message GetModeratedSubredditsResponse {
|
124
|
+
// A map of moderated subreddits to permissions for the given account. Permissions will not be hydrated unless requested.
|
125
|
+
map<string, ModeratorPermissions> subreddit_id_to_permissions = 1;
|
126
|
+
|
127
|
+
// The cursor for the next page of results. If empty, then the end of the result set has been reached.
|
128
|
+
// Cursor format is subject to change.
|
129
|
+
string cursor = 2;
|
130
|
+
}
|
131
|
+
|
132
|
+
// Request to get moderators for a given subreddit
|
133
|
+
// If the request is made on behalf of a user, only subreddits viewable by the user will be returned in the response.
|
134
|
+
message GetModeratorsBySubredditRequest {
|
135
|
+
// Account identifier to request list of moderators from. Not necessary when requesting as a service.
|
136
|
+
// Specified account id should be a valid thing identifier with t2 prefix.
|
137
|
+
string account_id = 1 [(validate.rules).string = {pattern: "^t2_[a-zA-Z0-9]+$"}];
|
138
|
+
|
139
|
+
// Subreddit identifier to request list of moderators from.
|
140
|
+
// Specified subreddit id should be a valid thing identifier with t5 prefix.
|
141
|
+
string subreddit_id = 2 [(validate.rules).string = {pattern: "^t5_[a-zA-Z0-9]+$"}];
|
142
|
+
|
143
|
+
// Optional flag to hydrate the response moderators with permissions.
|
144
|
+
bool include_permissions = 3;
|
145
|
+
|
146
|
+
// Cursor for the start index of the result set. When empty, the results start from the first page.
|
147
|
+
// The sort order is descending, so the first page will be the most recently added moderators.
|
148
|
+
// This API may be updated to allow that sort order to be specified, but the default will remain as descending.
|
149
|
+
string cursor = 4 [(validate.rules).string = {
|
150
|
+
ignore_empty: true,
|
151
|
+
min_len: 1,
|
152
|
+
}];
|
153
|
+
|
154
|
+
// Maximum page size limit (defaults to and capped at 1000).
|
155
|
+
int32 limit = 5 [(validate.rules).int32 = {
|
156
|
+
ignore_empty: true,
|
157
|
+
gte: 1,
|
158
|
+
lte: 1000,
|
159
|
+
}];
|
160
|
+
}
|
161
|
+
|
162
|
+
// Response of moderators for a given subreddit
|
163
|
+
// If the provided subreddit has no moderators, including if it is not a valid subreddit,
|
164
|
+
// an empty array and map will be returned in the response.
|
165
|
+
message GetModeratorsBySubredditResponse {
|
166
|
+
// A list of moderators for the given subreddit.
|
167
|
+
repeated Moderator moderators = 1;
|
168
|
+
|
169
|
+
// A map of moderator id to permissions for the given subreddit. Every moderator in the original list
|
170
|
+
// will have an entry in this map. Permissions will not be hydrated unless requested.
|
171
|
+
map<string, ModeratorPermissions> moderator_id_to_permissions = 2;
|
172
|
+
|
173
|
+
// The cursor for the next page of results. If empty, then the end of the result set has been reached.
|
174
|
+
// Cursor format is subject to change.
|
175
|
+
string cursor = 3;
|
176
|
+
}
|
177
|
+
|
178
|
+
// Request to get moderators for a given subreddit that filters out any mods on the list of invisible mods
|
179
|
+
// https://github.snooguts.net/reddit/reddit-private/blob/ee159f8e2a9d9235c48001c9dcd8fc32b0628339/production.ini#L1778-L1792
|
180
|
+
//
|
181
|
+
// If the request is made on behalf of a user, only subreddits viewable by the user will be returned in the response.
|
182
|
+
message GetVisibleModeratorsBySubredditRequest {
|
183
|
+
// Account identifier to request list of moderators from. Not necessary when requesting as a service.
|
184
|
+
// Specified account id should be a valid thing identifier with t2 prefix.
|
185
|
+
string account_id = 1 [(validate.rules).string = {
|
186
|
+
pattern: "^t2_[a-zA-Z0-9]+$",
|
187
|
+
ignore_empty: true,
|
188
|
+
}];
|
189
|
+
|
190
|
+
// Subreddit identifier to request list of moderators from.
|
191
|
+
// Specified subreddit id should be a valid thing identifier with t5 prefix.
|
192
|
+
string subreddit_id = 2 [(validate.rules).string = {pattern: "^t5_[a-zA-Z0-9]+$"}];
|
193
|
+
|
194
|
+
// Cursor for the start index of the result set. When empty, the results start from the first page.
|
195
|
+
// The sort order is descending, so the first page will be the most recently added moderators.
|
196
|
+
// This API may be updated to allow that sort order to be specified, but the default will remain as descending.
|
197
|
+
string cursor = 3 [(validate.rules).string = {
|
198
|
+
ignore_empty: true,
|
199
|
+
min_len: 1,
|
200
|
+
}];
|
201
|
+
|
202
|
+
// Maximum page size limit (defaults to and capped at 1000).
|
203
|
+
int32 limit = 4 [(validate.rules).int32 = {
|
204
|
+
ignore_empty: true,
|
205
|
+
gte: 1,
|
206
|
+
lte: 1000,
|
207
|
+
}];
|
208
|
+
}
|
209
|
+
|
210
|
+
// Response of moderators for a given subreddit that filters out any mods on the list invisible mods
|
211
|
+
// https://github.snooguts.net/reddit/reddit-private/blob/ee159f8e2a9d9235c48001c9dcd8fc32b0628339/production.ini#L1778-L1792
|
212
|
+
//
|
213
|
+
// If the provided subreddit has no moderators, including if it is not a valid subreddit,
|
214
|
+
// an empty array will be returned in the response.
|
215
|
+
message GetVisibleModeratorsBySubredditResponse {
|
216
|
+
// A list of moderators for the given subreddit.
|
217
|
+
repeated Moderator moderators = 1;
|
218
|
+
|
219
|
+
// The cursor for the next page of results. If empty, then the end of the result set has been reached.
|
220
|
+
// Cursor format is subject to change.
|
221
|
+
string cursor = 2;
|
222
|
+
}
|
223
|
+
|
224
|
+
// Request to reorder moderators for a given subreddit with a limit of 100 moderators to reorder at a time.
|
225
|
+
// The requester must have sufficient permissions (be a moderator with ALL permissions of the given subreddit)
|
226
|
+
// and can only reorder starting from their position or below in the moderator ranking.
|
227
|
+
message ReorderModeratorsRequest {
|
228
|
+
// Account identifier of the moderator reordering the list of moderators.
|
229
|
+
// Specified account id should be a valid thing identifier with t2 prefix.
|
230
|
+
string account_id = 1 [(validate.rules).string = {pattern: "^t2_[a-zA-Z0-9]+$"}];
|
231
|
+
|
232
|
+
// Subreddit identifier of subreddit to reorder moderators for.
|
233
|
+
// Specified subreddit id should be a valid thing identifier with t5 prefix.
|
234
|
+
string subreddit_id = 2 [(validate.rules).string = {pattern: "^t5_[a-zA-Z0-9]+$"}];
|
235
|
+
|
236
|
+
// Existing moderator ranking on the given subreddit and will be validated against.
|
237
|
+
// This must be the full ranking of moderators.
|
238
|
+
// All moderators in the provided list must appear exactly in sequence in the existing moderator list.
|
239
|
+
repeated Moderator existing_mod_ranking = 3 [(validate.rules).repeated = {
|
240
|
+
min_items: 2,
|
241
|
+
max_items: 100
|
242
|
+
}];
|
243
|
+
|
244
|
+
// New moderator ranking to apply for the given subreddit. This must be a permutation of the
|
245
|
+
// existing full ranking of moderators on the request and at the time the request is processed.
|
246
|
+
// The order of moderators is important as it determines which mods are able act on mods below them in the hierarchy.
|
247
|
+
repeated Moderator new_mod_ranking = 4 [(validate.rules).repeated = {
|
248
|
+
min_items: 2,
|
249
|
+
max_items: 100
|
250
|
+
}];
|
251
|
+
}
|
252
|
+
|
253
|
+
// Response of reordering moderators for a given subreddit. An empty response with no error
|
254
|
+
// will be returned on a successful reorder.
|
255
|
+
message ReorderModeratorsResponse {}
|
256
|
+
|
257
|
+
// Request payload for creating a subreddit moderator
|
258
|
+
message CreateModeratorRequest {
|
259
|
+
// The account id of the user we want to add as moderator.
|
260
|
+
// The id should be a valid thing identifier with t2 prefix.
|
261
|
+
string account_id = 1 [(validate.rules).string = {
|
262
|
+
pattern: "^t2_[a-zA-Z0-9]+$",
|
263
|
+
ignore_empty: true,
|
264
|
+
}];
|
265
|
+
|
266
|
+
// Subreddit identifier requested user will be a moderator of.
|
267
|
+
// Specified subreddit id should be a valid thing identifier with t5 prefix.
|
268
|
+
string subreddit_id = 2 [(validate.rules).string = {pattern: "^t5_[a-zA-Z0-9]+$"}];
|
269
|
+
}
|
270
|
+
|
271
|
+
// The response message for creating a subreddit moderator
|
272
|
+
message CreateModeratorResponse {
|
273
|
+
// The operation URI, a unique identifier of the create request that the client can use to track progress.
|
274
|
+
// Calling Cloudroutine's PollOperationStatus endpoint with this URI will return the current status.
|
275
|
+
string operation_uri = 1;
|
276
|
+
}
|
277
|
+
|
278
|
+
// Request payload for removing a subreddit moderator
|
279
|
+
message DeleteModeratorRequest {
|
280
|
+
// The account id of the user we want to remove as moderator.
|
281
|
+
// The id should be a valid thing identifier with t2 prefix.
|
282
|
+
string account_id = 1 [(validate.rules).string = {
|
283
|
+
pattern: "^t2_[a-zA-Z0-9]+$",
|
284
|
+
ignore_empty: true,
|
285
|
+
}];
|
286
|
+
|
287
|
+
// Subreddit requested user will be removed from.
|
288
|
+
// Specified subreddit id should be a valid thing identifier with t5 prefix.
|
289
|
+
string subreddit_id = 2 [(validate.rules).string = {pattern: "^t5_[a-zA-Z0-9]+$"}];
|
290
|
+
}
|
291
|
+
|
292
|
+
// The response message for removing a subreddit moderator
|
293
|
+
message DeleteModeratorResponse {
|
294
|
+
// The operation URI, a unique identifier of the create request that the client can use to track progress.
|
295
|
+
// Calling Cloudroutine's PollOperationStatus endpoint with this URI will return the current status.
|
296
|
+
string operation_uri = 1;
|
297
|
+
}
|
298
|
+
|
299
|
+
// Request payload for updating moderator permissions
|
300
|
+
message UpdateModeratorPermissionsRequest {
|
301
|
+
// The account id of the user we want to update moderator permissions for.
|
302
|
+
// The id should be a valid thing identifier with t2 prefix.
|
303
|
+
string account_id = 1 [(validate.rules).string = {
|
304
|
+
pattern: "^t2_[a-zA-Z0-9]+$",
|
305
|
+
ignore_empty: true,
|
306
|
+
}];
|
307
|
+
|
308
|
+
// Subreddit requested user will have their moderator permissions updated for.
|
309
|
+
// Specified subreddit id should be a valid thing identifier with t5 prefix.
|
310
|
+
string subreddit_id = 2 [(validate.rules).string = {pattern: "^t5_[a-zA-Z0-9]+$"}];
|
311
|
+
|
312
|
+
// Permissions that the user should be granted for the current subreddit.
|
313
|
+
ModeratorPermissions permissions = 3;
|
314
|
+
}
|
315
|
+
|
316
|
+
// The response message for updating moderator permissions
|
317
|
+
message UpdateModeratorPermissionsResponse {
|
318
|
+
// The operation URI, a unique identifier of the create request that the client can use to track progress.
|
319
|
+
// Calling Cloudroutine's PollOperationStatus endpoint with this URI will return the current status.
|
320
|
+
string operation_uri = 1;
|
321
|
+
}
|
322
|
+
|
323
|
+
// Request payload for creating a subreddit moderator invite
|
324
|
+
message CreateModeratorInviteRequest {
|
325
|
+
// The account id of the user we want to invite as moderator.
|
326
|
+
// The id should be a valid thing identifier with t2 prefix.
|
327
|
+
string account_id = 1 [(validate.rules).string = {
|
328
|
+
pattern: "^t2_[a-zA-Z0-9]+$",
|
329
|
+
ignore_empty: true,
|
330
|
+
}];
|
331
|
+
|
332
|
+
// Subreddit requested user will be invited to be moderator of.
|
333
|
+
// Specified subreddit id should be a valid thing identifier with t5 prefix.
|
334
|
+
string subreddit_id = 2 [(validate.rules).string = {pattern: "^t5_[a-zA-Z0-9]+$"}];
|
335
|
+
}
|
336
|
+
|
337
|
+
// The response message for creating a subreddit moderator invite
|
338
|
+
message CreateModeratorInviteResponse {
|
339
|
+
// The operation URI, a unique identifier of the create request that the client can use to track progress.
|
340
|
+
// Calling Cloudroutine's PollOperationStatus endpoint with this URI will return the current status.
|
341
|
+
string operation_uri = 1;
|
342
|
+
}
|
343
|
+
|
344
|
+
// Request payload for removing a subreddit moderator invite
|
345
|
+
message DeleteModeratorInviteRequest {
|
346
|
+
// The account id of the user we want to remove a moderator invite from.
|
347
|
+
// The id should be a valid thing identifier with t2 prefix.
|
348
|
+
string account_id = 1 [(validate.rules).string = {
|
349
|
+
pattern: "^t2_[a-zA-Z0-9]+$",
|
350
|
+
ignore_empty: true,
|
351
|
+
}];
|
352
|
+
|
353
|
+
// Subreddit requested user will have their moderator invite removed from.
|
354
|
+
// Specified subreddit id should be a valid thing identifier with t5 prefix.
|
355
|
+
string subreddit_id = 2 [(validate.rules).string = {pattern: "^t5_[a-zA-Z0-9]+$"}];
|
356
|
+
}
|
357
|
+
|
358
|
+
// The response message for removing a subreddit moderator invite
|
359
|
+
message DeleteModeratorInviteResponse {
|
360
|
+
// The operation URI, a unique identifier of the create request that the client can use to track progress.
|
361
|
+
// Calling Cloudroutine's PollOperationStatus endpoint with this URI will return the current status.
|
362
|
+
string operation_uri = 1;
|
363
|
+
}
|