syntax = "proto3";

package auth;

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

import "auth/account.proto";
import "auth/session.proto";
import "auth/verification_token.proto";

// AuthService defines the gRPC service for authentication operations
// Note: These services are for internal use only and not exposed to external clients
service AuthService {
  // GetSession retrieves a session by token
  rpc GetSession(GetSessionRequest) returns (GetSessionResponse) {}
  
  // CreateSession creates a new session
  rpc CreateSession(CreateSessionRequest) returns (CreateSessionResponse) {}
  
  // DeleteSession deletes a session
  rpc DeleteSession(DeleteSessionRequest) returns (DeleteSessionResponse) {}
}

// GetSessionRequest is the request message for getting a session
message GetSessionRequest {
  // Session token
  string session_token = 1;
}

// GetSessionResponse is the response message for getting a session
message GetSessionResponse {
  // Session data
  Session session = 1;
}

// CreateSessionRequest is the request message for creating a session
message CreateSessionRequest {
  // Session data
  Session session = 1;
}

// CreateSessionResponse is the response message for creating a session
message CreateSessionResponse {
  // Created session data
  Session session = 1;
}

// DeleteSessionRequest is the request message for deleting a session
message DeleteSessionRequest {
  // Session token
  string session_token = 1;
}

// DeleteSessionResponse is the response message for deleting a session
message DeleteSessionResponse {
  // Success indicator
  bool success = 1;
}
