syntax = "proto3";

package memos.api.v2;

import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/protobuf/timestamp.proto";

option go_package = "gen/api/v2";

service ActivityService {
  // GetActivity returns the activity with the given id.
  rpc GetActivity(GetActivityRequest) returns (GetActivityResponse) {
    option (google.api.http) = {get: "/v2/activities/{id}"};
    option (google.api.method_signature) = "id";
  }
}

message Activity {
  int32 id = 1;

  int32 creator_id = 2;

  string type = 3;

  string level = 4;

  google.protobuf.Timestamp create_time = 5;

  ActivityPayload payload = 6;
}

message ActivityMemoCommentPayload {
  int32 memo_id = 1;
  int32 related_memo_id = 2;
}

message ActivityVersionUpdatePayload {
  string version = 1;
}

message ActivityPayload {
  ActivityMemoCommentPayload memo_comment = 1;
  ActivityVersionUpdatePayload version_update = 2;
}

message GetActivityRequest {
  int32 id = 1;
}

message GetActivityResponse {
  Activity activity = 1;
}
