Documentation
¶
Overview ¶
Package db provides database access layer and repository implementations.
Index ¶
- Constants
- func CloseDB() error
- func GetDB() *sql.DB
- func InitDB(config Config) error
- type Activity
- type ActivityRepository
- func (r *ActivityRepository) Count() (int64, error)
- func (r *ActivityRepository) CountByUser(userID int64) (int64, error)
- func (r *ActivityRepository) Create(activity *Activity) error
- func (r *ActivityRepository) DeleteOlderThan(date time.Time) (int64, error)
- func (r *ActivityRepository) GetByID(id int64) (*Activity, error)
- func (r *ActivityRepository) List(limit, offset int) ([]*Activity, error)
- func (r *ActivityRepository) ListByAction(action string, limit, offset int) ([]*Activity, error)
- func (r *ActivityRepository) ListByDateRange(startDate, endDate time.Time, limit, offset int) ([]*Activity, error)
- func (r *ActivityRepository) ListByEntity(entityType string, entityID int64, limit, offset int) ([]*Activity, error)
- func (r *ActivityRepository) ListByUser(userID int64, limit, offset int) ([]*Activity, error)
- type Config
- type Connection
- type Gateway
- type GatewayMeta
- type GatewayMetaRepository
- func (r *GatewayMetaRepository) Create(gatewayID int64, key, value string) error
- func (r *GatewayMetaRepository) Delete(gatewayID int64, key string) error
- func (r *GatewayMetaRepository) Get(gatewayID int64, key string) (*GatewayMeta, error)
- func (r *GatewayMetaRepository) ListByGateway(gatewayID int64) ([]*GatewayMeta, error)
- func (r *GatewayMetaRepository) Update(gatewayID int64, key, value string) error
- func (r *GatewayMetaRepository) Upsert(gatewayID int64, key, value string) error
- type GatewayRepository
- type Option
- type OptionRepository
- type Prompt
- type PromptMeta
- type PromptMetaRepository
- func (r *PromptMetaRepository) Create(promptID int64, key, value string) error
- func (r *PromptMetaRepository) Delete(promptID int64, key string) error
- func (r *PromptMetaRepository) Get(promptID int64, key string) (*PromptMeta, error)
- func (r *PromptMetaRepository) ListByPrompt(promptID int64) ([]*PromptMeta, error)
- func (r *PromptMetaRepository) Update(promptID int64, key, value string) error
- func (r *PromptMetaRepository) Upsert(promptID int64, key, value string) error
- type PromptRepository
- type Resource
- type ResourceMeta
- type ResourceMetaRepository
- func (r *ResourceMetaRepository) Create(resourceID int64, key, value string) error
- func (r *ResourceMetaRepository) Delete(resourceID int64, key string) error
- func (r *ResourceMetaRepository) Get(resourceID int64, key string) (*ResourceMeta, error)
- func (r *ResourceMetaRepository) ListByResource(resourceID int64) ([]*ResourceMeta, error)
- func (r *ResourceMetaRepository) Update(resourceID int64, key, value string) error
- func (r *ResourceMetaRepository) Upsert(resourceID int64, key, value string) error
- type ResourceRepository
- type Server
- type ServerMeta
- type ServerMetaRepository
- func (r *ServerMetaRepository) Create(serverID int64, key, value string) error
- func (r *ServerMetaRepository) Delete(serverID int64, key string) error
- func (r *ServerMetaRepository) Get(serverID int64, key string) (*ServerMeta, error)
- func (r *ServerMetaRepository) ListByServer(serverID int64) ([]*ServerMeta, error)
- func (r *ServerMetaRepository) Update(serverID int64, key, value string) error
- func (r *ServerMetaRepository) Upsert(serverID int64, key, value string) error
- type ServerPrompt
- type ServerPromptRepository
- func (r *ServerPromptRepository) AddPrompt(serverID, promptID int64) error
- func (r *ServerPromptRepository) GetPromptsByServer(serverID int64) ([]int64, error)
- func (r *ServerPromptRepository) GetServersByPrompt(promptID int64) ([]int64, error)
- func (r *ServerPromptRepository) RemoveAllPromptsFromServer(serverID int64) error
- func (r *ServerPromptRepository) RemovePrompt(serverID, promptID int64) error
- type ServerRepository
- type ServerResource
- type ServerResourceRepository
- func (r *ServerResourceRepository) AddResource(serverID, resourceID int64) error
- func (r *ServerResourceRepository) GetResourcesByServer(serverID int64) ([]int64, error)
- func (r *ServerResourceRepository) GetServersByResource(resourceID int64) ([]int64, error)
- func (r *ServerResourceRepository) RemoveAllResourcesFromServer(serverID int64) error
- func (r *ServerResourceRepository) RemoveResource(serverID, resourceID int64) error
- type ServerTool
- type ServerToolRepository
- func (r *ServerToolRepository) AddTool(serverID, toolID int64) error
- func (r *ServerToolRepository) GetServersByTool(toolID int64) ([]int64, error)
- func (r *ServerToolRepository) GetToolsByServer(serverID int64) ([]int64, error)
- func (r *ServerToolRepository) RemoveAllToolsFromServer(serverID int64) error
- func (r *ServerToolRepository) RemoveTool(serverID, toolID int64) error
- type Session
- type SessionRepository
- func (r *SessionRepository) Count() (int64, error)
- func (r *SessionRepository) CountByUserID(userID int64) (int64, error)
- func (r *SessionRepository) Create(session *Session) error
- func (r *SessionRepository) Delete(id int64) error
- func (r *SessionRepository) DeleteByToken(token string) error
- func (r *SessionRepository) DeleteByUserID(userID int64) error
- func (r *SessionRepository) DeleteExpired() (int64, error)
- func (r *SessionRepository) GetByID(id int64) (*Session, error)
- func (r *SessionRepository) GetByToken(token string) (*Session, error)
- func (r *SessionRepository) GetByUserID(userID int64) ([]*Session, error)
- func (r *SessionRepository) IsValid(token string) (bool, error)
- func (r *SessionRepository) UpdateExpiration(id int64, expiresAt time.Time) error
- type Tool
- type ToolMeta
- type ToolMetaRepository
- func (r *ToolMetaRepository) Create(toolID int64, key, value string) error
- func (r *ToolMetaRepository) Delete(toolID int64, key string) error
- func (r *ToolMetaRepository) Get(toolID int64, key string) (*ToolMeta, error)
- func (r *ToolMetaRepository) ListByTool(toolID int64) ([]*ToolMeta, error)
- func (r *ToolMetaRepository) Update(toolID int64, key, value string) error
- func (r *ToolMetaRepository) Upsert(toolID int64, key, value string) error
- type ToolRepository
- type User
- type UserMeta
- type UserMetaRepository
- func (r *UserMetaRepository) Create(userID int64, key, value string) error
- func (r *UserMetaRepository) Delete(userID int64, key string) error
- func (r *UserMetaRepository) Get(userID int64, key string) (*UserMeta, error)
- func (r *UserMetaRepository) ListByUser(userID int64) ([]*UserMeta, error)
- func (r *UserMetaRepository) Update(userID int64, key, value string) error
- func (r *UserMetaRepository) Upsert(userID int64, key, value string) error
- type UserRepository
- func (r *UserRepository) Count() (int64, error)
- func (r *UserRepository) Create(user *User) error
- func (r *UserRepository) Delete(id int64) error
- func (r *UserRepository) GetByAPIKey(apiKey string) (*User, error)
- func (r *UserRepository) GetByEmail(email string) (*User, error)
- func (r *UserRepository) GetByID(id int64) (*User, error)
- func (r *UserRepository) List(limit, offset int) ([]*User, error)
- func (r *UserRepository) Update(user *User) error
- func (r *UserRepository) UpdateLastLogin(id int64) error
Constants ¶
const ( UserRoleAdmin = "admin" UserRoleUser = "user" UserRoleReadonly = "readonly" )
User role constants
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Activity ¶
type Activity struct {
ID int64
UserID *int64
UserEmail *string
Action string
EntityType string
EntityID *int64
Details *string
IPAddress *string
UserAgent *string
CreatedAt time.Time
}
Activity represents an activity log entry in the database.
type ActivityRepository ¶
type ActivityRepository struct {
// contains filtered or unexported fields
}
ActivityRepository handles database operations for activity logs.
func NewActivityRepository ¶
func NewActivityRepository(db *sql.DB) *ActivityRepository
NewActivityRepository creates a new activity repository.
func (*ActivityRepository) Count ¶
func (r *ActivityRepository) Count() (int64, error)
Count returns the total number of activity logs.
func (*ActivityRepository) CountByUser ¶
func (r *ActivityRepository) CountByUser(userID int64) (int64, error)
CountByUser returns the total number of activity logs for a specific user.
func (*ActivityRepository) Create ¶
func (r *ActivityRepository) Create(activity *Activity) error
Create inserts a new activity log entry into the database.
func (*ActivityRepository) DeleteOlderThan ¶
func (r *ActivityRepository) DeleteOlderThan(date time.Time) (int64, error)
DeleteOlderThan removes activity logs older than a specific date (for cleanup).
func (*ActivityRepository) GetByID ¶
func (r *ActivityRepository) GetByID(id int64) (*Activity, error)
GetByID retrieves an activity log entry by ID.
func (*ActivityRepository) List ¶
func (r *ActivityRepository) List(limit, offset int) ([]*Activity, error)
List retrieves all activity logs with pagination.
func (*ActivityRepository) ListByAction ¶
func (r *ActivityRepository) ListByAction(action string, limit, offset int) ([]*Activity, error)
ListByAction retrieves all activity logs for a specific action.
func (*ActivityRepository) ListByDateRange ¶
func (r *ActivityRepository) ListByDateRange(startDate, endDate time.Time, limit, offset int) ([]*Activity, error)
ListByDateRange retrieves activity logs within a date range.
func (*ActivityRepository) ListByEntity ¶
func (r *ActivityRepository) ListByEntity(entityType string, entityID int64, limit, offset int) ([]*Activity, error)
ListByEntity retrieves all activity logs for a specific entity.
func (*ActivityRepository) ListByUser ¶
func (r *ActivityRepository) ListByUser(userID int64, limit, offset int) ([]*Activity, error)
ListByUser retrieves all activity logs for a specific user.
type Config ¶
type Config struct {
Driver string
Host string
Port int
Username string
Password string
Database string
MaxOpenConns int
MaxIdleConns int
ConnMaxLifetime int
DataSource string
}
Config holds database configuration
type Connection ¶
Connection represents a database connection
func NewConnection ¶
func NewConnection(config Config) (*Connection, error)
NewConnection creates a new database connection based on the driver
func (*Connection) Ping ¶
func (c *Connection) Ping() error
Ping checks if the database connection is alive
type Gateway ¶
type Gateway struct {
ID int64
Name string
// TODO: Add fields for gateway
CreatedAt time.Time
UpdatedAt time.Time
}
Gateway represents a gateway in the database.
type GatewayMeta ¶
type GatewayMeta struct {
ID int64
Key string
Value string
GatewayID int64
CreatedAt time.Time
UpdatedAt time.Time
}
GatewayMeta represents metadata associated with a gateway.
type GatewayMetaRepository ¶
type GatewayMetaRepository struct {
// contains filtered or unexported fields
}
GatewayMetaRepository handles database operations for gateway metadata.
func NewGatewayMetaRepository ¶
func NewGatewayMetaRepository(db *sql.DB) *GatewayMetaRepository
NewGatewayMetaRepository creates a new gateway meta repository.
func (*GatewayMetaRepository) Create ¶
func (r *GatewayMetaRepository) Create(gatewayID int64, key, value string) error
Create inserts new metadata for a gateway.
func (*GatewayMetaRepository) Delete ¶
func (r *GatewayMetaRepository) Delete(gatewayID int64, key string) error
Delete removes metadata for a gateway.
func (*GatewayMetaRepository) Get ¶
func (r *GatewayMetaRepository) Get(gatewayID int64, key string) (*GatewayMeta, error)
Get retrieves metadata for a gateway by key.
func (*GatewayMetaRepository) ListByGateway ¶
func (r *GatewayMetaRepository) ListByGateway(gatewayID int64) ([]*GatewayMeta, error)
ListByGateway retrieves all metadata for a gateway.
type GatewayRepository ¶
type GatewayRepository struct {
// contains filtered or unexported fields
}
GatewayRepository handles database operations for gateways.
func NewGatewayRepository ¶
func NewGatewayRepository(db *sql.DB) *GatewayRepository
NewGatewayRepository creates a new gateway repository.
func (*GatewayRepository) Count ¶
func (r *GatewayRepository) Count() (int64, error)
Count returns the total number of gateways.
type OptionRepository ¶
type OptionRepository struct {
// contains filtered or unexported fields
}
OptionRepository handles database operations for options.
func NewOptionRepository ¶
func NewOptionRepository(db *sql.DB) *OptionRepository
NewOptionRepository creates a new option repository.
func (*OptionRepository) Create ¶
func (r *OptionRepository) Create(key, value string) error
Create inserts a new option into the database.
func (*OptionRepository) Delete ¶
func (r *OptionRepository) Delete(key string) error
Delete removes an option from the database.
func (*OptionRepository) Get ¶
func (r *OptionRepository) Get(key string) (*Option, error)
Get retrieves an option by key.
func (*OptionRepository) List ¶
func (r *OptionRepository) List() ([]*Option, error)
List retrieves all options from the database.
func (*OptionRepository) Update ¶
func (r *OptionRepository) Update(key, value string) error
Update updates an option value.
type Prompt ¶
type Prompt struct {
ID int64
Name string
// TODO: Add fields for prompt
CreatedAt time.Time
UpdatedAt time.Time
}
Prompt represents a prompt discovered from MCP servers.
type PromptMeta ¶
type PromptMeta struct {
ID int64
Key string
Value string
PromptID int64
CreatedAt time.Time
UpdatedAt time.Time
}
PromptMeta represents metadata associated with a prompt.
type PromptMetaRepository ¶
type PromptMetaRepository struct {
// contains filtered or unexported fields
}
PromptMetaRepository handles database operations for prompt metadata.
func NewPromptMetaRepository ¶
func NewPromptMetaRepository(db *sql.DB) *PromptMetaRepository
NewPromptMetaRepository creates a new prompt meta repository.
func (*PromptMetaRepository) Create ¶
func (r *PromptMetaRepository) Create(promptID int64, key, value string) error
Create inserts new metadata for a prompt.
func (*PromptMetaRepository) Delete ¶
func (r *PromptMetaRepository) Delete(promptID int64, key string) error
Delete removes metadata for a prompt.
func (*PromptMetaRepository) Get ¶
func (r *PromptMetaRepository) Get(promptID int64, key string) (*PromptMeta, error)
Get retrieves metadata for a prompt by key.
func (*PromptMetaRepository) ListByPrompt ¶
func (r *PromptMetaRepository) ListByPrompt(promptID int64) ([]*PromptMeta, error)
ListByPrompt retrieves all metadata for a prompt.
type PromptRepository ¶
type PromptRepository struct {
// contains filtered or unexported fields
}
PromptRepository handles database operations for prompts.
func NewPromptRepository ¶
func NewPromptRepository(db *sql.DB) *PromptRepository
NewPromptRepository creates a new prompt repository.
type Resource ¶
type Resource struct {
ID int64
Name string
// TODO: Add fields for resource
CreatedAt time.Time
UpdatedAt time.Time
}
Resource represents a resource discovered from MCP servers.
type ResourceMeta ¶
type ResourceMeta struct {
ID int64
Key string
Value string
ResourceID int64
CreatedAt time.Time
UpdatedAt time.Time
}
ResourceMeta represents metadata associated with a resource.
type ResourceMetaRepository ¶
type ResourceMetaRepository struct {
// contains filtered or unexported fields
}
ResourceMetaRepository handles database operations for resource metadata.
func NewResourceMetaRepository ¶
func NewResourceMetaRepository(db *sql.DB) *ResourceMetaRepository
NewResourceMetaRepository creates a new resource meta repository.
func (*ResourceMetaRepository) Create ¶
func (r *ResourceMetaRepository) Create(resourceID int64, key, value string) error
Create inserts new metadata for a resource.
func (*ResourceMetaRepository) Delete ¶
func (r *ResourceMetaRepository) Delete(resourceID int64, key string) error
Delete removes metadata for a resource.
func (*ResourceMetaRepository) Get ¶
func (r *ResourceMetaRepository) Get(resourceID int64, key string) (*ResourceMeta, error)
Get retrieves metadata for a resource by key.
func (*ResourceMetaRepository) ListByResource ¶
func (r *ResourceMetaRepository) ListByResource(resourceID int64) ([]*ResourceMeta, error)
ListByResource retrieves all metadata for a resource.
type ResourceRepository ¶
type ResourceRepository struct {
// contains filtered or unexported fields
}
ResourceRepository handles database operations for resources.
func NewResourceRepository ¶
func NewResourceRepository(db *sql.DB) *ResourceRepository
NewResourceRepository creates a new resource repository.
type Server ¶
type Server struct {
ID int64
Name string
// TODO: Add fields for server
CreatedAt time.Time
UpdatedAt time.Time
}
Server represents a virtual MCP server in the database.
type ServerMeta ¶
type ServerMeta struct {
ID int64
Key string
Value string
ServerID int64
CreatedAt time.Time
UpdatedAt time.Time
}
ServerMeta represents metadata associated with a server.
type ServerMetaRepository ¶
type ServerMetaRepository struct {
// contains filtered or unexported fields
}
ServerMetaRepository handles database operations for server metadata.
func NewServerMetaRepository ¶
func NewServerMetaRepository(db *sql.DB) *ServerMetaRepository
NewServerMetaRepository creates a new server meta repository.
func (*ServerMetaRepository) Create ¶
func (r *ServerMetaRepository) Create(serverID int64, key, value string) error
Create inserts new metadata for a server.
func (*ServerMetaRepository) Delete ¶
func (r *ServerMetaRepository) Delete(serverID int64, key string) error
Delete removes metadata for a server.
func (*ServerMetaRepository) Get ¶
func (r *ServerMetaRepository) Get(serverID int64, key string) (*ServerMeta, error)
Get retrieves metadata for a server by key.
func (*ServerMetaRepository) ListByServer ¶
func (r *ServerMetaRepository) ListByServer(serverID int64) ([]*ServerMeta, error)
ListByServer retrieves all metadata for a server.
type ServerPrompt ¶
ServerPrompt represents a many-to-many relationship between servers and prompts.
type ServerPromptRepository ¶
type ServerPromptRepository struct {
// contains filtered or unexported fields
}
ServerPromptRepository handles the server-prompt relationship operations.
func NewServerPromptRepository ¶
func NewServerPromptRepository(db *sql.DB) *ServerPromptRepository
NewServerPromptRepository creates a new server-prompt repository.
func (*ServerPromptRepository) AddPrompt ¶
func (r *ServerPromptRepository) AddPrompt(serverID, promptID int64) error
AddPrompt associates a prompt with a server.
func (*ServerPromptRepository) GetPromptsByServer ¶
func (r *ServerPromptRepository) GetPromptsByServer(serverID int64) ([]int64, error)
GetPromptsByServer retrieves all prompt IDs associated with a server.
func (*ServerPromptRepository) GetServersByPrompt ¶
func (r *ServerPromptRepository) GetServersByPrompt(promptID int64) ([]int64, error)
GetServersByPrompt retrieves all server IDs that use a specific prompt.
func (*ServerPromptRepository) RemoveAllPromptsFromServer ¶
func (r *ServerPromptRepository) RemoveAllPromptsFromServer(serverID int64) error
RemoveAllPromptsFromServer removes all prompt associations from a server.
func (*ServerPromptRepository) RemovePrompt ¶
func (r *ServerPromptRepository) RemovePrompt(serverID, promptID int64) error
RemovePrompt removes a prompt association from a server.
type ServerRepository ¶
type ServerRepository struct {
// contains filtered or unexported fields
}
ServerRepository handles database operations for servers.
func NewServerRepository ¶
func NewServerRepository(db *sql.DB) *ServerRepository
NewServerRepository creates a new server repository.
type ServerResource ¶
ServerResource represents a many-to-many relationship between servers and resources.
type ServerResourceRepository ¶
type ServerResourceRepository struct {
// contains filtered or unexported fields
}
ServerResourceRepository handles the server-resource relationship operations.
func NewServerResourceRepository ¶
func NewServerResourceRepository(db *sql.DB) *ServerResourceRepository
NewServerResourceRepository creates a new server-resource repository.
func (*ServerResourceRepository) AddResource ¶
func (r *ServerResourceRepository) AddResource(serverID, resourceID int64) error
AddResource associates a resource with a server.
func (*ServerResourceRepository) GetResourcesByServer ¶
func (r *ServerResourceRepository) GetResourcesByServer(serverID int64) ([]int64, error)
GetResourcesByServer retrieves all resource IDs associated with a server.
func (*ServerResourceRepository) GetServersByResource ¶
func (r *ServerResourceRepository) GetServersByResource(resourceID int64) ([]int64, error)
GetServersByResource retrieves all server IDs that use a specific resource.
func (*ServerResourceRepository) RemoveAllResourcesFromServer ¶
func (r *ServerResourceRepository) RemoveAllResourcesFromServer(serverID int64) error
RemoveAllResourcesFromServer removes all resource associations from a server.
func (*ServerResourceRepository) RemoveResource ¶
func (r *ServerResourceRepository) RemoveResource(serverID, resourceID int64) error
RemoveResource removes a resource association from a server.
type ServerTool ¶
ServerTool represents a many-to-many relationship between servers and tools.
type ServerToolRepository ¶
type ServerToolRepository struct {
// contains filtered or unexported fields
}
ServerToolRepository handles the server-tool relationship operations.
func NewServerToolRepository ¶
func NewServerToolRepository(db *sql.DB) *ServerToolRepository
NewServerToolRepository creates a new server-tool repository.
func (*ServerToolRepository) AddTool ¶
func (r *ServerToolRepository) AddTool(serverID, toolID int64) error
AddTool associates a tool with a server.
func (*ServerToolRepository) GetServersByTool ¶
func (r *ServerToolRepository) GetServersByTool(toolID int64) ([]int64, error)
GetServersByTool retrieves all server IDs that use a specific tool.
func (*ServerToolRepository) GetToolsByServer ¶
func (r *ServerToolRepository) GetToolsByServer(serverID int64) ([]int64, error)
GetToolsByServer retrieves all tool IDs associated with a server.
func (*ServerToolRepository) RemoveAllToolsFromServer ¶
func (r *ServerToolRepository) RemoveAllToolsFromServer(serverID int64) error
RemoveAllToolsFromServer removes all tool associations from a server.
func (*ServerToolRepository) RemoveTool ¶
func (r *ServerToolRepository) RemoveTool(serverID, toolID int64) error
RemoveTool removes a tool association from a server.
type Session ¶
type Session struct {
ID int64
Token string
UserID int64
IPAddress *string
UserAgent *string
ExpiresAt time.Time
CreatedAt time.Time
UpdatedAt time.Time
}
Session represents a user session in the database.
type SessionRepository ¶
type SessionRepository struct {
// contains filtered or unexported fields
}
SessionRepository handles database operations for sessions.
func NewSessionRepository ¶
func NewSessionRepository(db *sql.DB) *SessionRepository
NewSessionRepository creates a new session repository.
func (*SessionRepository) Count ¶
func (r *SessionRepository) Count() (int64, error)
Count returns the total number of active (non-expired) sessions.
func (*SessionRepository) CountByUserID ¶
func (r *SessionRepository) CountByUserID(userID int64) (int64, error)
CountByUserID returns the number of active sessions for a user.
func (*SessionRepository) Create ¶
func (r *SessionRepository) Create(session *Session) error
Create inserts a new session into the database.
func (*SessionRepository) Delete ¶
func (r *SessionRepository) Delete(id int64) error
Delete removes a session from the database.
func (*SessionRepository) DeleteByToken ¶
func (r *SessionRepository) DeleteByToken(token string) error
DeleteByToken removes a session by token.
func (*SessionRepository) DeleteByUserID ¶
func (r *SessionRepository) DeleteByUserID(userID int64) error
DeleteByUserID removes all sessions for a user.
func (*SessionRepository) DeleteExpired ¶
func (r *SessionRepository) DeleteExpired() (int64, error)
DeleteExpired removes all expired sessions.
func (*SessionRepository) GetByID ¶
func (r *SessionRepository) GetByID(id int64) (*Session, error)
GetByID retrieves a session by ID.
func (*SessionRepository) GetByToken ¶
func (r *SessionRepository) GetByToken(token string) (*Session, error)
GetByToken retrieves a session by token.
func (*SessionRepository) GetByUserID ¶
func (r *SessionRepository) GetByUserID(userID int64) ([]*Session, error)
GetByUserID retrieves all sessions for a user.
func (*SessionRepository) IsValid ¶
func (r *SessionRepository) IsValid(token string) (bool, error)
IsValid checks if a session exists and is not expired.
func (*SessionRepository) UpdateExpiration ¶
func (r *SessionRepository) UpdateExpiration(id int64, expiresAt time.Time) error
UpdateExpiration updates the expiration time of a session.
type Tool ¶
type Tool struct {
ID int64
Name string
// TODO: Add fields for tool
CreatedAt time.Time
UpdatedAt time.Time
}
Tool represents a tool discovered from MCP servers.
type ToolMeta ¶
type ToolMeta struct {
ID int64
Key string
Value string
ToolID int64
CreatedAt time.Time
UpdatedAt time.Time
}
ToolMeta represents metadata associated with a tool.
type ToolMetaRepository ¶
type ToolMetaRepository struct {
// contains filtered or unexported fields
}
ToolMetaRepository handles database operations for tool metadata.
func NewToolMetaRepository ¶
func NewToolMetaRepository(db *sql.DB) *ToolMetaRepository
NewToolMetaRepository creates a new tool meta repository.
func (*ToolMetaRepository) Create ¶
func (r *ToolMetaRepository) Create(toolID int64, key, value string) error
Create inserts new metadata for a tool.
func (*ToolMetaRepository) Delete ¶
func (r *ToolMetaRepository) Delete(toolID int64, key string) error
Delete removes metadata for a tool.
func (*ToolMetaRepository) Get ¶
func (r *ToolMetaRepository) Get(toolID int64, key string) (*ToolMeta, error)
Get retrieves metadata for a tool by key.
func (*ToolMetaRepository) ListByTool ¶
func (r *ToolMetaRepository) ListByTool(toolID int64) ([]*ToolMeta, error)
ListByTool retrieves all metadata for a tool.
type ToolRepository ¶
type ToolRepository struct {
// contains filtered or unexported fields
}
ToolRepository handles database operations for tools.
func NewToolRepository ¶
func NewToolRepository(db *sql.DB) *ToolRepository
NewToolRepository creates a new tool repository.
type User ¶
type User struct {
ID int64
Email string
Password string
Role string
APIKey string
IsActive bool
LastLoginAt time.Time
CreatedAt time.Time
UpdatedAt time.Time
}
User represents a user in the database.
type UserMeta ¶
type UserMeta struct {
ID int64
Key string
Value string
UserID int64
CreatedAt time.Time
UpdatedAt time.Time
}
UserMeta represents metadata associated with a user.
type UserMetaRepository ¶
type UserMetaRepository struct {
// contains filtered or unexported fields
}
UserMetaRepository handles database operations for user metadata.
func NewUserMetaRepository ¶
func NewUserMetaRepository(db *sql.DB) *UserMetaRepository
NewUserMetaRepository creates a new user meta repository.
func (*UserMetaRepository) Create ¶
func (r *UserMetaRepository) Create(userID int64, key, value string) error
Create inserts new metadata for a user.
func (*UserMetaRepository) Delete ¶
func (r *UserMetaRepository) Delete(userID int64, key string) error
Delete removes metadata for a user.
func (*UserMetaRepository) Get ¶
func (r *UserMetaRepository) Get(userID int64, key string) (*UserMeta, error)
Get retrieves metadata for a user by key.
func (*UserMetaRepository) ListByUser ¶
func (r *UserMetaRepository) ListByUser(userID int64) ([]*UserMeta, error)
ListByUser retrieves all metadata for a user.
type UserRepository ¶
type UserRepository struct {
// contains filtered or unexported fields
}
UserRepository handles database operations for users.
func NewUserRepository ¶
func NewUserRepository(db *sql.DB) *UserRepository
NewUserRepository creates a new user repository.
func (*UserRepository) Count ¶
func (r *UserRepository) Count() (int64, error)
Count returns the total number of users.
func (*UserRepository) Create ¶
func (r *UserRepository) Create(user *User) error
Create inserts a new user into the database.
func (*UserRepository) Delete ¶
func (r *UserRepository) Delete(id int64) error
Delete removes a user from the database.
func (*UserRepository) GetByAPIKey ¶
func (r *UserRepository) GetByAPIKey(apiKey string) (*User, error)
GetByAPIKey retrieves a user by API key.
func (*UserRepository) GetByEmail ¶
func (r *UserRepository) GetByEmail(email string) (*User, error)
GetByEmail retrieves a user by email.
func (*UserRepository) GetByID ¶
func (r *UserRepository) GetByID(id int64) (*User, error)
GetByID retrieves a user by ID.
func (*UserRepository) List ¶
func (r *UserRepository) List(limit, offset int) ([]*User, error)
List retrieves all users with pagination.
func (*UserRepository) Update ¶
func (r *UserRepository) Update(user *User) error
Update updates a user's information.
func (*UserRepository) UpdateLastLogin ¶
func (r *UserRepository) UpdateLastLogin(id int64) error
UpdateLastLogin updates the user's last login timestamp.