syntax = "proto3";

package devvit.dev_portal.internal.media;

import "google/protobuf/empty.proto";

option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/devportal/int/media";

enum AssetStatus {
  MISSING = 0;
  PROCESSING = 1;
  READY = 2;
  REJECTED = 3;
  ERROR = 4;
}

message UpdateAssetStatusRequest {
  // The media_id for the asset, as provided by media service
  string media_id = 1;
  // The new status to put this asset in
  AssetStatus new_status = 2;
  // The publicly accessible URL of the asset.
  string url = 3;
}

message UpdateAssetStatusResponse {
  // empty
}

message CheckForV1AssetAndBackfillRequest {
  // app UUID
  string app_id = 1;
  // app version number (i.e. "0.0.1")
  string app_version_number = 2;
  // asset path, i.e. "path/to/index.html"
  string asset_path = 3;
}

service DevPortalMedia {
  // Updates a media asset's status, if it's an asset dev-portal cares about
  rpc UpdateAssetStatus(UpdateAssetStatusRequest) returns (UpdateAssetStatusResponse);
  rpc CheckForV1AssetAndBackfill(CheckForV1AssetAndBackfillRequest) returns (google.protobuf.Empty);
}
