feat: add notification microservices and transactional outbox
فشلت بعض الفحوصات
Deploy To Ghaymah / quality (push) Has been cancelled
Deploy To Ghaymah / deploy (push) Has been cancelled

هذا الالتزام موجود في:
boutmoun123
2026-08-05 14:46:12 +03:00
الأصل 2fd5322ef7
التزام 8147f3b191
62 ملفات معدلة مع 2212 إضافات و126 حذوفات

عرض الملف

@@ -0,0 +1 @@
export * from './notifications.contract';

عرض الملف

@@ -0,0 +1,45 @@
export const NOTIFICATION_RMQ_QUEUE = 'oudelaa.notifications';
export const NOTIFICATION_RMQ_DLQ = 'oudelaa.notifications.dlq';
export const NOTIFICATION_RPC = {
list: 'notifications.list',
unreadCount: 'notifications.unread-count',
markRead: 'notifications.mark-read',
markAllRead: 'notifications.mark-all-read',
} as const;
export interface MessageContext {
correlationId: string;
requestId: string;
}
export interface NotificationListRequest {
recipientId: string;
query: Record<string, unknown>;
}
export interface NotificationUnreadCountRequest {
recipientId: string;
category?: string;
}
export interface NotificationMarkReadRequest {
recipientId: string;
notificationId: string;
}
export interface NotificationMarkAllReadRequest {
recipientId: string;
}
export interface NotificationRealtimeUpdate {
recipientId: string;
notification?: unknown;
unreadCount: number;
unreadCounts?: Record<string, number>;
}
export interface NotificationRpcResponse<T> {
result: T;
realtime?: NotificationRealtimeUpdate;
}

عرض الملف

@@ -0,0 +1,5 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": { "declaration": true, "outDir": "../../dist/libs/contracts" },
"include": ["src/**/*.ts"]
}