Shared types, interfaces, and message patterns for Tiryaq healthcare microservices
npm install tiryaq-sharedbash
npm install @tiryaq/shared
`
📖 Usage
$3
`typescript
import {
User,
Pharmacy,
Appointment,
ApiResponse
} from '@tiryaq/shared';
const user: User = {
id: '123',
email: 'patient@example.com',
firstName: 'John',
lastName: 'Doe',
// ... other properties
};
`
$3
`typescript
import { AUTH_PATTERNS, PHARMACY_PATTERNS } from '@tiryaq/shared';
// In your NestJS microservice
@MessagePattern(AUTH_PATTERNS.USER_REGISTER)
async handleUserRegister(@Payload() data: RegisterUserDto) {
// Handle user registration
}
`
$3
`typescript
import {
UserRegisteredEvent,
OrderCreatedEvent,
EVENT_PATTERNS
} from '@tiryaq/shared';
// Emit events
const event: UserRegisteredEvent = {
userId: user.id,
email: user.email,
firstName: user.firstName,
lastName: user.lastName,
timestamp: new Date()
};
`
📋 Available Exports
$3
- User, UserAddress
- Pharmacy, Medicine, PharmacyOrder
- Doctor, Appointment, Prescription
- Lab, LabTest, LabReport
- Wallet, Transaction, PaymentCard
$3
- RegisterUserDto, LoginDto
- CreateAddressDto
- SearchQuery, SearchFilters
$3
- AUTH_PATTERNS - Authentication service patterns
- PHARMACY_PATTERNS - Pharmacy service patterns
- CONSULTATION_PATTERNS - Consultation service patterns
- PAYMENT_PATTERNS - Payment service patterns
- NOTIFICATION_PATTERNS - Notification service patterns
$3
- UserRegisteredEvent
- OrderCreatedEvent
- AppointmentBookedEvent
- PaymentProcessedEvent
$3
- ApiResponse - Standard API response wrapper
- PaginatedResponse - Paginated response wrapper
- KAFKA_CONFIG - Default Kafka configuration
- SERVICE_PORTS - Service port mappings
🏗️ Architecture
This package is designed for event-driven microservices architecture using:
- NestJS - Node.js framework
- Kafka - Event streaming platform
- TypeScript - Type safety
- TypeORM - Database ORM
🔄 Versioning
We follow Semantic Versioning:
- MAJOR.MINOR.PATCH`