syntax = "proto3"; package devvit.plugin.redditapi.wiki; import "devvit/plugin/redditapi/common/common_msg.proto"; import "devvit/plugin/redditapi/wiki/wiki_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.wiki"; // WIKI - https://www.reddit.com/dev/api#section_wiki service Wiki { // Check whether a wiki version is enabled for a subreddit. rpc IsWikiVersionEnabledInSubreddit(IsWikiVersionEnabledInSubredditRequest) returns (IsWikiVersionEnabledInSubredditResponse); // Get a list of wiki pages for a subreddit // // @see {@link https://www.reddit.com/dev/api#GET_wiki_pages} rpc GetWikiPages(GetWikiPagesRequest) returns (GetWikiPagesResponse); // Get a wiki page // // @see {@link https://www.reddit.com/dev/api#GET_wiki_\{page\}} rpc GetWikiPage(GetWikiPageRequest) returns (GetWikiPageResponse); // Edit wiki page // // @see {@link https://www.reddit.com/dev/api#POST_api_wiki_edit} rpc EditWikiPage(EditWikiPageRequest) returns (google.protobuf.Empty); // Hide a wiki page revision // // @see {@link https://www.reddit.com/dev/api#POST_api_wiki_hide} rpc HideWikiPageRevision(HideWikiPageRevisionRequest) returns (HideWikiPageRevisionResponse); // Get a list of revisions of a wiki page // // @see {@link https://www.reddit.com/dev/api#GET_wiki_revisions_\{page\}} rpc GetWikiPageRevisions(GetWikiPageRevisionsRequest) returns (WikiPageRevisionListing); // Retrieve a list of recently changed wiki pages in this subreddit // // @see {@link https://www.reddit.com/dev/api#GET_wiki_revisions} rpc GetWikiRevisions(GetWikiRevisionsRequest) returns (WikiPageRevisionListing) { option (devvit.plugin.redditapi.common.api_client_config).method = 'GET'; option (devvit.plugin.redditapi.common.api_client_config).path = '/r/{subreddit}/wiki/revisions?after={after}&before={before}&count={count}&limit={limit}&show={show}&sr_detail={sr_detail}'; option (devvit.plugin.redditapi.common.api_client_config).validate_subreddit_context = 'subreddit'; option (devvit.plugin.redditapi.common.api_client_config).validate_without_enforcement = true; } // Revert a wiki page to revision // // @see {@link https://www.reddit.com/dev/api#POST_api_wiki_revert} rpc RevertWikiPage(RevertWikiPageRequest) returns (google.protobuf.Empty); // Retrieve the current permission settings for page // // @see {@link https://www.reddit.com/dev/api#GET_wiki_settings_\{page\}} rpc GetWikiPageSettings(GetWikiPageSettingsRequest) returns (WikiPageSettings); // Update the permissions and visibility of wiki page // // @see {@link https://www.reddit.com/dev/api#POST_wiki_settings_\{page\}} rpc UpdateWikiPageSettings(UpdateWikiPageSettingsRequest) returns (WikiPageSettings); // Allow/deny username to edit this wiki page // Note act must be either "add" or "del" // // @see {@link https://www.reddit.com/dev/api#POST_api_wiki_alloweditor_\{act\}} rpc AllowEditor(AllowEditorRequest) returns (google.protobuf.Empty); }