tiryaq-shared
v1.1.144
Published
Shared types, interfaces, and message patterns for Tiryaq healthcare microservices
Maintainers
Readme
@tiryaq/shared
Shared TypeScript types, interfaces, and message patterns for Tiryaq healthcare microservices platform.
🚀 Installation
npm install @tiryaq/shared📖 Usage
Import Types and Interfaces
import {
User,
Pharmacy,
Appointment,
ApiResponse
} from '@tiryaq/shared';
const user: User = {
id: '123',
email: '[email protected]',
firstName: 'John',
lastName: 'Doe',
// ... other properties
};Import Kafka Message Patterns
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
}Import Event Types
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
Core Entities
User,UserAddressPharmacy,Medicine,PharmacyOrderDoctor,Appointment,PrescriptionLab,LabTest,LabReportWallet,Transaction,PaymentCard
DTOs
RegisterUserDto,LoginDtoCreateAddressDtoSearchQuery,SearchFilters
Message Patterns
AUTH_PATTERNS- Authentication service patternsPHARMACY_PATTERNS- Pharmacy service patternsCONSULTATION_PATTERNS- Consultation service patternsPAYMENT_PATTERNS- Payment service patternsNOTIFICATION_PATTERNS- Notification service patterns
Event Types
UserRegisteredEventOrderCreatedEventAppointmentBookedEventPaymentProcessedEvent
Utilities
ApiResponse<T>- Standard API response wrapperPaginatedResponse<T>- Paginated response wrapperKAFKA_CONFIG- Default Kafka configurationSERVICE_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- Breaking changes increment MAJOR
- New features increment MINOR
- Bug fixes increment PATCH
📄 License
This project is licensed under the MIT License.
🆘 Support
- 📧 Email: [email protected]
- 🐛 Issues: GitHub Issues
- 📖 Docs: Documentation
