b015f450c5
Add validation and error handling to NewClient
...
- NewClient now returns (*Client, error) instead of *Client
- Validate that BaseURL, TokenID, and TokenSecret are non-empty
- Strip trailing slash from BaseURL
- Add comprehensive unit tests for NewClient
2026-01-30 09:45:35 +01:00
62e299192d
Set up Go module and project structure
...
- Populated .gitignore with Go-specific patterns
- Created placeholder Go files with basic package structure:
- bookstack.go: Client and Config setup
- types.go: Data structures (Book, Page, Chapter, Shelf, SearchResult)
- errors.go: Error handling types with sentinel errors
- http.go: HTTP helper placeholder with ListOptions
- books.go, pages.go, chapters.go, shelves.go, search.go: Service placeholders
- Verified build succeeds with go build ./...
- No external dependencies added (stdlib only)
All files compile successfully and follow flat package structure.
2026-01-30 09:36:58 +01:00