// Copyright IBM Corp. 2020, 2026
// SPDX-License-Identifier: BUSL-1.1

syntax = "proto3";

// define a test proto package
package controller.storage.oplog.test.v1;

option go_package = "github.com/hashicorp/boundary/internal/oplog/oplog_test;oplog_test";

// TestUser for gorm test user model
message TestUser {
  // @inject_tag: gorm:"primary_key"
  uint32 id = 1;
  string name = 4;
  string phone_number = 5;
  string email = 6;
  // @inject_tag: gorm:"default:null"
  uint32 version = 9;
  // @inject_tag: gorm:"-" json:"-"
  string table = 7;
}

// TestCar for gorm test car model
message TestCar {
  // @inject_tag: gorm:"primary_key"
  uint32 id = 1;
  string model = 4;
  int32 mpg = 5;
  // @inject_tag: gorm:"-" json:"-"
  string table = 6;
}

// TestRental for gorm test rental model
message TestRental {
  uint32 user_id = 1;
  uint32 car_id = 2;
  // @inject_tag: gorm:"-" json:"-"
  string table = 3;
}

// TestNonReplayableUser for negative test
message TestNonReplayableUser {
  // @inject_tag: gorm:"primary_key"
  uint32 id = 1;
  string name = 4;
  string phone_number = 5;
  string email = 6;
}
