Commit graph

2 commits

Author SHA1 Message Date
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