syntax = "proto3";

package devvit.actor.automation.v1alpha;

import "devvit/events/v1alpha/events.proto";
import "devvit/reddit/v2alpha/modaction.proto";
import "devvit/reddit/v2alpha/modmail.proto";

option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/actor/automation";
option java_package = "com.reddit.devvit.actor.automation";

// This needs to rectified with StepResult at some point
message HandlerResult {}

service OnPostSubmit {
  rpc OnPostSubmit(devvit.events.v1alpha.PostSubmit) returns (HandlerResult);
}

service OnPostCreate {
  rpc OnPostCreate(devvit.events.v1alpha.PostCreate) returns (HandlerResult);
}

service OnPostUpdate {
  rpc OnPostUpdate(devvit.events.v1alpha.PostUpdate) returns (HandlerResult);
}

service OnPostReport {
  rpc OnPostReport(devvit.events.v1alpha.PostReport) returns (HandlerResult);
}

service OnPostFlairUpdate {
  rpc OnPostFlairUpdate(devvit.events.v1alpha.PostFlairUpdate) returns (HandlerResult);
}

service OnPostDelete {
  rpc OnPostDelete(devvit.events.v1alpha.PostDelete) returns (HandlerResult);
}

service OnPostApprove {
  rpc OnPostApprove(devvit.events.v1alpha.PostApprove) returns (HandlerResult);
}

service OnCommentSubmit {
  rpc OnCommentSubmit(devvit.events.v1alpha.CommentSubmit) returns (HandlerResult);
}

service OnCommentCreate {
  rpc OnCommentCreate(devvit.events.v1alpha.CommentCreate) returns (HandlerResult);
}

service OnCommentUpdate {
  rpc OnCommentUpdate(devvit.events.v1alpha.CommentUpdate) returns (HandlerResult);
}

service OnCommentReport {
  rpc OnCommentReport(devvit.events.v1alpha.CommentReport) returns (HandlerResult);
}

service OnCommentDelete {
  rpc OnCommentDelete(devvit.events.v1alpha.CommentDelete) returns (HandlerResult);
}

service OnCommentApprove {
  rpc OnCommentApprove(devvit.events.v1alpha.CommentApprove) returns (HandlerResult);
}

service OnSubredditSubscribe {
  rpc OnSubredditSubscribe(devvit.events.v1alpha.SubredditSubscribe) returns (HandlerResult);
}

service OnAppInstall {
  rpc OnAppInstall(devvit.events.v1alpha.AppInstall) returns (HandlerResult);
}

service OnAppUpgrade {
  rpc OnAppUpgrade(devvit.events.v1alpha.AppUpgrade) returns (HandlerResult);
}

service OnModAction {
  rpc OnModAction(devvit.reddit.v2alpha.ModAction) returns (HandlerResult);
}

service OnModMail {
  rpc OnModMail(devvit.reddit.v2alpha.ModMail) returns (HandlerResult);
}

service OnAccountDelete {
  rpc OnAccountDelete(devvit.events.v1alpha.AccountDelete) returns (HandlerResult);
}

service OnPostNsfwUpdate {
  rpc OnPostNsfwUpdate(devvit.events.v1alpha.PostNsfwUpdate) returns (HandlerResult);
}

service OnPostSpoilerUpdate {
  rpc OnPostSpoilerUpdate(devvit.events.v1alpha.PostSpoilerUpdate) returns (HandlerResult);
}

service OnAutomoderatorFilterPost {
  rpc OnAutomoderatorFilterPost(devvit.events.v1alpha.AutomoderatorFilterPost) returns (HandlerResult);
}

service OnAutomoderatorFilterComment {
  rpc OnAutomoderatorFilterComment(devvit.events.v1alpha.AutomoderatorFilterComment) returns (HandlerResult);
}
