refactor: Migrate server to centralized happy-api-client package#2
Open
refactor: Migrate server to centralized happy-api-client package#2
Conversation
- Removed local shared-types.ts copy (742 lines of duplicated code) - Simplified types.ts to just map Prisma JSON types to shared package - Added update-account type to shared UpdateBody union
- Added happy-api-client as a dependency - Replaced @happy/shared-types imports with happy-api-client - Fixed import for encrypted SessionMessageContent type - Updated Prisma JSON type mappings to use correct types - All TypeScript compilation successful This change ensures the server uses the same type definitions as CLI and mobile app, maintaining consistency across the ecosystem. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Replaced file reference with npm package version ^0.1.0 - All TypeScript compilation and tests passing 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Added ConnectivityStatus enum (never_connected, online, offline) - Added connectivity fields to Session and Machine models - Update connectivity status when sockets connect/disconnect - Track connectivity reason and timestamp for debugging This allows real-time tracking of which sessions and machines are currently connected to the server.
|
Well, that seems like a nice change -- type safety ftw. Why didn't it happen? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
happy-api-clientpackage for type definitions@happy/shared-typespackageChanges
happy-api-clientas a dependencysources/storage/types.tsto import types fromhappy-api-clientSessionMessageContent(encrypted) instead ofDecryptedMessageContentNew Package
The centralized API client is now available at: https://github.com/slopus/happy-api-client
The server uses this package for:
Benefits
Test Results
✅ TypeScript compilation successful
✅ All server tests passing (24 tests passed)
✅ Prisma generation successful with new types
E2E Testing
The new API client package includes comprehensive E2E tests that validate:
This ensures the entire Happy ecosystem works together seamlessly.
🤖 Generated with Claude Code