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 }