52 lines
986 B
Go
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
|
|
} |