Files
2026-07-13 12:31:02 +08:00

52 lines
986 B
Go

package pocketbase
import (
"fmt"
"net/http"
"time"
)
type PocketBaseClient struct {
baseURL string
httpClient *http.Client
}
func NewPocketBaseClient(baseURL string) (*PocketBaseClient, error) {
// Use provided baseURL or default to localhost
if baseURL == "" {
baseURL = "http://localhost:8090"
}
client := &PocketBaseClient{
baseURL: baseURL,
httpClient: &http.Client{
Timeout: 30 * time.Second,
},
}
return client, nil
}
func (c *PocketBaseClient) GetBaseURL() string {
return c.baseURL
}
func (c *PocketBaseClient) TestConnection() error {
resp, err := c.httpClient.Get(fmt.Sprintf("%s/api/health", c.baseURL))
if err != nil {
return err
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
return fmt.Errorf("PocketBase health check failed with status: %d", resp.StatusCode)
}
return nil
}
func (c *PocketBaseClient) IsAuthenticated() bool {
// Since we're using public access mode, always return true
return true
}