syntax = "proto3";
package todo.v1;

option go_package = "<@var(context.project.goprefix)>/<@var(context.project.name)>/gen/todo/v1;todov1";

service TodoService {
  rpc CreateTodo (CreateTodoRequest) returns (CreateTodoResponse);
  rpc ListTodos (ListTodosRequest) returns (ListTodosResponse);
  rpc UpdateTodo (UpdateTodoRequest) returns (UpdateTodoResponse);
  rpc DeleteTodo (DeleteTodoRequest) returns (DeleteTodoResponse);
}

message Todo {
  optional string id = 1;
  string task = 2;
  optional string created_at = 3;
  optional string updates_at = 4;
  optional bool done = 5;
  
}

message DeleteTodoRequest {
  Todo todo = 1;
}

message DeleteTodoResponse {}

message CreateTodoRequest {
  Todo todo = 1;
}

message CreateTodoResponse {
  Todo todo = 1;
}
message ListTodosRequest {
}

message ListTodosResponse {
  repeated Todo todos = 1;
}

message UpdateTodoRequest {
  Todo todo = 1;
}

message UpdateTodoResponse {
  Todo todo = 1;
}

