42 lines
797 B
Markdown
42 lines
797 B
Markdown
# List Devices - Zig Port
|
|
|
|
This is a direct port of `../list-devices.js` to Zig.
|
|
|
|
## Features
|
|
|
|
- Authenticates with AWS Cognito
|
|
- Fetches device list via GraphQL (AppSync)
|
|
- Displays device information
|
|
- Checks recirculation status for the first device
|
|
- Includes `startRecirculation` function (not called during testing as requested)
|
|
|
|
## Building
|
|
|
|
```bash
|
|
zig build
|
|
```
|
|
|
|
## Running
|
|
|
|
```bash
|
|
./zig-out/bin/list-devices
|
|
```
|
|
|
|
## Testing
|
|
|
|
```bash
|
|
zig build test
|
|
```
|
|
|
|
## Requirements
|
|
|
|
- Zig 0.15.2
|
|
- `.credentials` file in parent directory with username and password (one per line)
|
|
|
|
## Implementation Notes
|
|
|
|
- Uses Zig's standard library HTTP client
|
|
- JSON parsing with `std.json`
|
|
- Base64url decoding for JWT tokens
|
|
- Proper memory management with allocators
|
|
- Error handling with Zig's error unions
|