syntax = "proto3";

package user;

option go_package = "github.com/echofi-ai/backend/types/user";

import "user/user.proto";

// UserService defines the gRPC service for user operations
service UserService {
  // GetUser retrieves a user by ID
  rpc GetUser(GetUserRequest) returns (GetUserResponse) {}
  
  // ListUsers retrieves users with pagination
  rpc ListUsers(ListUsersRequest) returns (ListUsersResponse) {}
}

// GetUserRequest is the request message for getting a user
message GetUserRequest {
  // User ID
  string id = 1;
}

// GetUserResponse is the response message for getting a user
message GetUserResponse {
  // User data
  User user = 1;
}

// ListUsersRequest is the request message for listing users
message ListUsersRequest {
  // Offset for pagination
  int32 offset = 1;
  
  // Limit for pagination (max 100)
  int32 limit = 2;
}

// ListUsersResponse is the response message for listing users
message ListUsersResponse {
  // List of users
  repeated User users = 1;
  
  // Total count of users
  int64 total = 2;
  
  // Current offset
  int32 offset = 3;
  
  // Current limit
  int32 limit = 4;
}
