Documentation
¶
Index ¶
- func CreateChat(w http.ResponseWriter, r *http.Request)
- func CreateUser(w http.ResponseWriter, r *http.Request)
- func DeleteAPIKey(w http.ResponseWriter, r *http.Request)
- func DeleteChat(w http.ResponseWriter, r *http.Request)
- func DeleteUser(w http.ResponseWriter, r *http.Request)
- func GenerateAPIKey(w http.ResponseWriter, r *http.Request)
- func GetAdminSettings(w http.ResponseWriter, r *http.Request)
- func GetChats(w http.ResponseWriter, r *http.Request)
- func GetCurrentUser(w http.ResponseWriter, r *http.Request)
- func InitHandlers(db *db.DB)
- func ListUsers(w http.ResponseWriter, r *http.Request)
- func Login(w http.ResponseWriter, r *http.Request)
- func Logout(w http.ResponseWriter, r *http.Request)
- func RefreshToken(w http.ResponseWriter, r *http.Request)
- func Signup(w http.ResponseWriter, r *http.Request)
- func UpdateAdminSettings(w http.ResponseWriter, r *http.Request)
- func UpdateUser(w http.ResponseWriter, r *http.Request)
- func UpdateUserSettings(w http.ResponseWriter, r *http.Request)
- type APIKeyResponse
- type ChatSummary
- type CreateUserRequest
- type LoginRequest
- type LoginResponse
- type SignupRequest
- type UpdateUserSettingsRequest
- type UserResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateChat ¶
func CreateChat(w http.ResponseWriter, r *http.Request)
CreateChat creates a new chat for the current user
func CreateUser ¶
func CreateUser(w http.ResponseWriter, r *http.Request)
CreateUser creates a new user (admin only)
func DeleteAPIKey ¶
func DeleteAPIKey(w http.ResponseWriter, r *http.Request)
func DeleteChat ¶
func DeleteChat(w http.ResponseWriter, r *http.Request)
DeleteChat deletes a chat for the current user
func DeleteUser ¶
func DeleteUser(w http.ResponseWriter, r *http.Request)
func GenerateAPIKey ¶
func GenerateAPIKey(w http.ResponseWriter, r *http.Request)
GenerateAPIKey creates a new API key for the authenticated user
func GetAdminSettings ¶
func GetAdminSettings(w http.ResponseWriter, r *http.Request)
func GetChats ¶
func GetChats(w http.ResponseWriter, r *http.Request)
GetChats returns all chats for the current user
func GetCurrentUser ¶
func GetCurrentUser(w http.ResponseWriter, r *http.Request)
GetCurrentUser returns the current authenticated user's information
func InitHandlers ¶
InitHandlers initializes the handlers with a database connection
func ListUsers ¶
func ListUsers(w http.ResponseWriter, r *http.Request)
ListUsers returns a list of all users (admin only)
func RefreshToken ¶
func RefreshToken(w http.ResponseWriter, r *http.Request)
RefreshToken handles token refresh requests
func UpdateAdminSettings ¶
func UpdateAdminSettings(w http.ResponseWriter, r *http.Request)
func UpdateUser ¶
func UpdateUser(w http.ResponseWriter, r *http.Request)
func UpdateUserSettings ¶
func UpdateUserSettings(w http.ResponseWriter, r *http.Request)
Types ¶
type APIKeyResponse ¶
type APIKeyResponse struct {
APIKey string `json:"api_key"`
}
APIKeyResponse represents an API key response
type ChatSummary ¶
ChatSummary represents a summary of a chat
type CreateUserRequest ¶
type CreateUserRequest struct { Email string `json:"email"` Password string `json:"password"` IsAdmin bool `json:"is_admin"` }
CreateUserRequest represents a request to create a new user
type LoginRequest ¶
type LoginRequest struct { Email string `json:"email"` Password string `json:"password"` RememberMe bool `json:"remember_me"` }
LoginRequest represents a login request
type LoginResponse ¶
type LoginResponse struct { Token string `json:"token"` RefreshToken string `json:"refresh_token,omitempty"` UserID int `json:"user_id"` IsAdmin bool `json:"is_admin"` Settings settings.UserSettings `json:"settings"` }
LoginResponse represents a login response
type SignupRequest ¶
SignupRequest represents a signup request
type UpdateUserSettingsRequest ¶
type UpdateUserSettingsRequest struct {
Settings settings.UserSettings `json:"settings"`
}
UpdateUserSettingsRequest represents the request body for updating user settings
type UserResponse ¶
type UserResponse struct { ID int `json:"id"` Email string `json:"email"` IsAdmin bool `json:"is_admin"` IsSso bool `json:"is_sso"` Settings settings.UserSettings `json:"settings"` }
UserResponse represents a user response with sensitive fields removed