syntax = "proto3"; package devvit.plugin.redditapi.modnote; import "devvit/plugin/redditapi/common/common_msg.proto"; import "devvit/plugin/redditapi/modnote/modnote_msg.proto"; import "google/protobuf/empty.proto"; option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/plugin/redditapi"; option java_package = "com.reddit.devvit.plugin.redditapi.modnote"; // MODNOTE - https://www.reddit.com/dev/api#section_modnote service ModNote { // @see {@link https://www.reddit.com/dev/api#GET_api_mod_notes} rpc GetNotes(GetNotesRequest) returns (ModNotesResponse) { option (devvit.plugin.redditapi.common.api_client_config).method = 'GET'; option (devvit.plugin.redditapi.common.api_client_config).path = '/api/mod/notes?before={before}&filter={filter}&limit={limit}&subreddit={subreddit}&user={user}'; option (devvit.plugin.redditapi.common.api_client_config).validate_subreddit_context = 'subreddit'; option (devvit.plugin.redditapi.common.api_client_config).validate_without_enforcement = true; } // @see {@link https://www.reddit.com/dev/api/#DELETE_api_mod_notes} rpc DeleteNotes(DeleteNotesRequest) returns (DeleteNotesResponse) { option (devvit.plugin.redditapi.common.api_client_config).method = 'DELETE'; option (devvit.plugin.redditapi.common.api_client_config).path = '/api/mod/notes?note_id={note_id}&subreddit={subreddit}&user={user}'; option (devvit.plugin.redditapi.common.api_client_config).validate_subreddit_context = 'subreddit'; option (devvit.plugin.redditapi.common.api_client_config).validate_without_enforcement = true; } // @see {@link https://www.reddit.com/dev/api#POST_api_mod_notes} rpc PostNotes(PostNotesRequest) returns (PostModNotesResponse) { option (devvit.plugin.redditapi.common.api_client_config).method = 'POST'; option (devvit.plugin.redditapi.common.api_client_config).path = '/api/mod/notes'; option (devvit.plugin.redditapi.common.api_client_config).request_body_type = FORM_SNAKE; option (devvit.plugin.redditapi.common.api_client_config).validate_subreddit_context = 'subreddit'; option (devvit.plugin.redditapi.common.api_client_config).validate_without_enforcement = true; } // Add a mod note for why a post or comment was removed rpc PostRemovalNote(PostRemovalNoteRequest) returns (google.protobuf.Empty) { option (devvit.plugin.redditapi.common.api_client_config).method = 'POST'; option (devvit.plugin.redditapi.common.api_client_config).path = '/api/v1/modactions/removal_reasons'; option (devvit.plugin.redditapi.common.api_client_config).request_body_type = JSON_SNAKE; } // @see {@link https://www.reddit.com/dev/api#GET_api_mod_notes_recent} rpc RecentNotes(RecentNotesRequest) returns (ModNotesResponse) { option (devvit.plugin.redditapi.common.api_client_config).method = 'GET'; option (devvit.plugin.redditapi.common.api_client_config).path = '/api/mod/notes/recent?subreddits={subreddits}&users={users}'; option (devvit.plugin.redditapi.common.api_client_config).validate_subreddit_context = 'subreddits'; option (devvit.plugin.redditapi.common.api_client_config).validate_without_enforcement = true; } }