syntax = "proto3";

package retrom;

import "google/protobuf/timestamp.proto";

enum StorageType {
  SINGLE_FILE_GAME = 0;
  MULTI_FILE_GAME = 1;
}

message Game {
  int32 id = 1;
  string path = 3;
  optional int32 platform_id = 4;
  google.protobuf.Timestamp created_at = 5;
  google.protobuf.Timestamp updated_at = 6;
  google.protobuf.Timestamp deleted_at = 7;
  bool is_deleted = 8;
  optional int32 default_file_id = 9;
  StorageType storage_type = 10;
}

message NewGame {
  string path = 1;
  optional int32 platform_id = 2;
  optional google.protobuf.Timestamp created_at = 3;
  optional google.protobuf.Timestamp updated_at = 4;
  optional google.protobuf.Timestamp deleted_at = 5;
  bool is_deleted = 6;
  optional int32 default_file_id = 7;
  optional StorageType storage_type = 8;
}

message UpdatedGame {
  int32 id = 1;
  optional string path = 2;
  optional int32 platform_id = 3;
  optional google.protobuf.Timestamp created_at = 4;
  optional google.protobuf.Timestamp updated_at = 5;
  optional google.protobuf.Timestamp deleted_at = 6;
  optional bool is_deleted = 7;
  optional int32 default_file_id = 8;
  optional StorageType storage_type = 9;
}
