@zssz-soft/firebase-functions-shared 1.2.16 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/lib/config/app.config.d.ts +6 -0
  2. package/lib/config/app.config.d.ts.map +1 -1
  3. package/lib/config/app.config.js.map +1 -1
  4. package/lib/index.d.ts +3 -0
  5. package/lib/index.d.ts.map +1 -1
  6. package/lib/index.js +3 -0
  7. package/lib/index.js.map +1 -1
  8. package/lib/modules/booking/booking-email.templates.d.ts +52 -0
  9. package/lib/modules/booking/booking-email.templates.d.ts.map +1 -1
  10. package/lib/modules/booking/booking-email.templates.js +768 -0
  11. package/lib/modules/booking/booking-email.templates.js.map +1 -1
  12. package/lib/modules/booking/booking-email.triggers.d.ts.map +1 -1
  13. package/lib/modules/booking/booking-email.triggers.js +22 -5
  14. package/lib/modules/booking/booking-email.triggers.js.map +1 -1
  15. package/lib/modules/email/email.d.ts.map +1 -1
  16. package/lib/modules/email/email.js +11 -2
  17. package/lib/modules/email/email.js.map +1 -1
  18. package/lib/modules/error-reporting/error-reporter.d.ts +97 -0
  19. package/lib/modules/error-reporting/error-reporter.d.ts.map +1 -0
  20. package/lib/modules/error-reporting/error-reporter.js +156 -0
  21. package/lib/modules/error-reporting/error-reporter.js.map +1 -0
  22. package/lib/modules/error-reporting/index.d.ts +7 -0
  23. package/lib/modules/error-reporting/index.d.ts.map +1 -0
  24. package/lib/modules/error-reporting/index.js +23 -0
  25. package/lib/modules/error-reporting/index.js.map +1 -0
  26. package/lib/modules/events/booking-event.handlers.d.ts +44 -0
  27. package/lib/modules/events/booking-event.handlers.d.ts.map +1 -0
  28. package/lib/modules/events/booking-event.handlers.js +274 -0
  29. package/lib/modules/events/booking-event.handlers.js.map +1 -0
  30. package/lib/modules/events/booking-event.models.d.ts +109 -0
  31. package/lib/modules/events/booking-event.models.d.ts.map +1 -0
  32. package/lib/modules/events/booking-event.models.js +110 -0
  33. package/lib/modules/events/booking-event.models.js.map +1 -0
  34. package/lib/modules/events/booking-event.triggers.d.ts +46 -0
  35. package/lib/modules/events/booking-event.triggers.d.ts.map +1 -0
  36. package/lib/modules/events/booking-event.triggers.js +178 -0
  37. package/lib/modules/events/booking-event.triggers.js.map +1 -0
  38. package/lib/modules/events/event.models.d.ts +53 -0
  39. package/lib/modules/events/event.models.d.ts.map +1 -0
  40. package/lib/modules/events/event.models.js +18 -0
  41. package/lib/modules/events/event.models.js.map +1 -0
  42. package/lib/modules/events/index.d.ts +29 -0
  43. package/lib/modules/events/index.d.ts.map +1 -0
  44. package/lib/modules/events/index.js +49 -0
  45. package/lib/modules/events/index.js.map +1 -0
  46. package/lib/modules/health/health-check.d.ts +33 -0
  47. package/lib/modules/health/health-check.d.ts.map +1 -0
  48. package/lib/modules/health/health-check.js +142 -0
  49. package/lib/modules/health/health-check.js.map +1 -0
  50. package/lib/modules/health/index.d.ts +7 -0
  51. package/lib/modules/health/index.d.ts.map +1 -0
  52. package/lib/modules/health/index.js +23 -0
  53. package/lib/modules/health/index.js.map +1 -0
  54. package/lib/modules/user/user-auth.triggers.d.ts.map +1 -1
  55. package/lib/modules/user/user-auth.triggers.js.map +1 -1
  56. package/package.json +1 -1
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ /**
3
+ * Booking Event Publisher Triggers
4
+ *
5
+ * Publishes CloudEvents to Eventarc when booking documents are created or updated.
6
+ * These events are consumed by subscriber handlers (email, audit, analytics).
7
+ *
8
+ * Architecture:
9
+ * - onDocumentCreated: Publishes BOOKING_SUBMITTED or BOOKING_INSTANT_CONFIRMED
10
+ * - onDocumentUpdated: Publishes events based on workflow state transitions
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.createBookingEventTriggers = createBookingEventTriggers;
14
+ const firebase_functions_1 = require("firebase-functions");
15
+ const firestore_1 = require("firebase-functions/v2/firestore");
16
+ const eventarc_1 = require("firebase-admin/eventarc");
17
+ const error_reporting_1 = require("../error-reporting");
18
+ const booking_event_models_1 = require("./booking-event.models");
19
+ /**
20
+ * Create booking event publisher triggers
21
+ *
22
+ * @param config - Configuration options
23
+ * @returns Object containing trigger functions
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const triggers = createBookingEventTriggers({ region: 'europe-west1' });
28
+ * export const onBookingCreatedEvent = triggers.onBookingCreatedEvent;
29
+ * export const onBookingUpdatedEvent = triggers.onBookingUpdatedEvent;
30
+ * ```
31
+ */
32
+ function createBookingEventTriggers(config = {}) {
33
+ const cfg = Object.assign(Object.assign({}, booking_event_models_1.DEFAULT_BOOKING_EVENT_CONFIG), config);
34
+ const errorReporter = (0, error_reporting_1.createErrorReporter)('BookingEventPublisher');
35
+ /**
36
+ * Publish a booking event to Eventarc
37
+ */
38
+ async function publishBookingEvent(eventType, payload) {
39
+ try {
40
+ const channel = (0, eventarc_1.getEventarc)().channel(cfg.eventChannel);
41
+ await channel.publish({
42
+ type: eventType,
43
+ subject: `booking/${payload.bookingId}`,
44
+ data: payload,
45
+ });
46
+ firebase_functions_1.logger.info(`[BookingEvent] Published ${eventType} for booking ${payload.bookingId}`, {
47
+ transitionId: payload.transition.transitionId,
48
+ from: payload.transition.from,
49
+ to: payload.transition.to,
50
+ });
51
+ }
52
+ catch (error) {
53
+ // Log but don't throw - we don't want to fail the Firestore operation
54
+ errorReporter.report(error, {
55
+ requestId: payload.bookingId,
56
+ metadata: {
57
+ type: 'event_publish_error',
58
+ eventType,
59
+ transitionId: payload.transition.transitionId,
60
+ },
61
+ });
62
+ throw error; // Re-throw to trigger retry
63
+ }
64
+ }
65
+ /**
66
+ * Create event payload from booking data
67
+ */
68
+ function createPayload(bookingId, booking, transitionId, from, to) {
69
+ var _a, _b, _c;
70
+ return {
71
+ bookingId,
72
+ booking: Object.assign(Object.assign({}, booking), { uid: bookingId }),
73
+ transition: {
74
+ transitionId,
75
+ from,
76
+ to,
77
+ triggeredBy: ((_a = booking.workflow) === null || _a === void 0 ? void 0 : _a.lastTransitionBy) ||
78
+ ((_b = booking.meta) === null || _b === void 0 ? void 0 : _b.createdBy) ||
79
+ 'system',
80
+ triggeredAt: ((_c = booking.workflow) === null || _c === void 0 ? void 0 : _c.lastTransitionAt) || new Date().toISOString(),
81
+ },
82
+ };
83
+ }
84
+ return {
85
+ /**
86
+ * Trigger when a new booking is created
87
+ *
88
+ * Publishes:
89
+ * - BOOKING_SUBMITTED: When workflow state is 'pending_approval' (user booking)
90
+ * - BOOKING_INSTANT_CONFIRMED: When workflow state is 'confirmed' (admin/VIP booking)
91
+ */
92
+ onBookingCreatedEvent: (0, firestore_1.onDocumentCreated)({
93
+ document: `${cfg.bookingCollection}/{bookingId}`,
94
+ region: cfg.region,
95
+ maxInstances: cfg.maxInstances,
96
+ }, async (event) => {
97
+ var _a, _b;
98
+ const bookingId = event.params.bookingId;
99
+ const bookingData = (_a = event.data) === null || _a === void 0 ? void 0 : _a.data();
100
+ if (!bookingData) {
101
+ firebase_functions_1.logger.warn(`[BookingEvent] No data for new booking ${bookingId}`);
102
+ return;
103
+ }
104
+ const workflowState = (_b = bookingData.workflow) === null || _b === void 0 ? void 0 : _b.currentState;
105
+ // Determine event type based on initial workflow state
106
+ let eventType = null;
107
+ let transitionId;
108
+ if (workflowState === 'pending_approval') {
109
+ eventType = booking_event_models_1.BookingEventTypes.BOOKING_SUBMITTED;
110
+ transitionId = 'submit_for_approval';
111
+ }
112
+ else if (workflowState === 'confirmed') {
113
+ // Express workflow or admin-created booking
114
+ eventType = booking_event_models_1.BookingEventTypes.BOOKING_INSTANT_CONFIRMED;
115
+ transitionId = 'instant_confirm';
116
+ }
117
+ else if (workflowState === 'draft') {
118
+ // Draft state - no event needed until submitted
119
+ firebase_functions_1.logger.info(`[BookingEvent] Skipping draft booking ${bookingId}`);
120
+ return;
121
+ }
122
+ else {
123
+ firebase_functions_1.logger.info(`[BookingEvent] Skipping booking ${bookingId} with state: ${workflowState}`);
124
+ return;
125
+ }
126
+ const payload = createPayload(bookingId, bookingData, transitionId, 'draft', workflowState);
127
+ await publishBookingEvent(eventType, payload);
128
+ }),
129
+ /**
130
+ * Trigger when a booking is updated
131
+ *
132
+ * Publishes events based on workflow state transitions.
133
+ * Only triggers when workflow.currentState changes.
134
+ */
135
+ onBookingUpdatedEvent: (0, firestore_1.onDocumentUpdated)({
136
+ document: `${cfg.bookingCollection}/{bookingId}`,
137
+ region: cfg.region,
138
+ maxInstances: cfg.maxInstances,
139
+ }, async (event) => {
140
+ var _a, _b, _c, _d;
141
+ const bookingId = event.params.bookingId;
142
+ const before = (_a = event.data) === null || _a === void 0 ? void 0 : _a.before.data();
143
+ const after = (_b = event.data) === null || _b === void 0 ? void 0 : _b.after.data();
144
+ if (!before || !after) {
145
+ firebase_functions_1.logger.warn(`[BookingEvent] Missing before/after data for booking ${bookingId}`);
146
+ return;
147
+ }
148
+ // Check for workflow state change
149
+ const stateBefore = (_c = before.workflow) === null || _c === void 0 ? void 0 : _c.currentState;
150
+ const stateAfter = (_d = after.workflow) === null || _d === void 0 ? void 0 : _d.currentState;
151
+ if (!stateBefore || !stateAfter || stateBefore === stateAfter) {
152
+ // No workflow state change - skip
153
+ return;
154
+ }
155
+ firebase_functions_1.logger.info(`[BookingEvent] State change detected for ${bookingId}: ${stateBefore} → ${stateAfter}`);
156
+ // Infer transition ID from state change
157
+ const transitionId = (0, booking_event_models_1.inferTransitionId)(stateBefore, stateAfter);
158
+ if (!transitionId) {
159
+ firebase_functions_1.logger.warn(`[BookingEvent] Unknown transition: ${stateBefore} → ${stateAfter}`);
160
+ return;
161
+ }
162
+ // Check if this transition should send notifications
163
+ if (!(0, booking_event_models_1.shouldNotify)(transitionId)) {
164
+ firebase_functions_1.logger.info(`[BookingEvent] Silent transition ${transitionId}, skipping event`);
165
+ return;
166
+ }
167
+ // Get event type for this transition
168
+ const eventType = booking_event_models_1.TransitionToEventMap[transitionId];
169
+ if (!eventType) {
170
+ firebase_functions_1.logger.warn(`[BookingEvent] No event mapping for transition: ${transitionId}`);
171
+ return;
172
+ }
173
+ const payload = createPayload(bookingId, after, transitionId, stateBefore, stateAfter);
174
+ await publishBookingEvent(eventType, payload);
175
+ }),
176
+ };
177
+ }
178
+ //# sourceMappingURL=booking-event.triggers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booking-event.triggers.js","sourceRoot":"","sources":["../../../src/modules/events/booking-event.triggers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Base Event Models for LodgeFlow Eventarc Integration
3
+ *
4
+ * CloudEvents specification v1.0 compliant event types for
5
+ * the event-driven notification architecture.
6
+ */
7
+ /**
8
+ * Base CloudEvent structure for LodgeFlow events
9
+ * Follows CloudEvents specification v1.0
10
+ * @see https://cloudevents.io/
11
+ */
12
+ export interface LodgeFlowCloudEvent<T = unknown> {
13
+ /** CloudEvents specification version */
14
+ specversion: '1.0';
15
+ /** Event type identifier (e.g., 'com.lodgeflow.booking.approved') */
16
+ type: string;
17
+ /** Event source identifier */
18
+ source: string;
19
+ /** Unique event ID */
20
+ id: string;
21
+ /** Event timestamp in ISO 8601 format */
22
+ time?: string;
23
+ /** Subject of the event (e.g., 'booking/abc123') */
24
+ subject?: string;
25
+ /** Content type of the data field */
26
+ datacontenttype?: 'application/json';
27
+ /** Event payload */
28
+ data: T;
29
+ }
30
+ /**
31
+ * Event categories for routing and filtering
32
+ */
33
+ export type EventCategory = 'booking' | 'user' | 'payment' | 'system';
34
+ /**
35
+ * Event severity levels for alerting
36
+ */
37
+ export type EventSeverity = 'info' | 'warning' | 'critical';
38
+ /**
39
+ * Base configuration for event triggers
40
+ */
41
+ export interface EventTriggerConfig {
42
+ /** Cloud Functions deployment region */
43
+ region: string;
44
+ /** Eventarc channel name (default: 'firebase') */
45
+ eventChannel: string;
46
+ /** Maximum number of concurrent function instances */
47
+ maxInstances?: number;
48
+ }
49
+ /**
50
+ * Default event trigger configuration
51
+ */
52
+ export declare const DEFAULT_EVENT_TRIGGER_CONFIG: EventTriggerConfig;
53
+ //# sourceMappingURL=event.models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.models.d.ts","sourceRoot":"","sources":["../../../src/modules/events/event.models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,OAAO;IAC9C,wCAAwC;IACxC,WAAW,EAAE,KAAK,CAAC;IAEnB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IAEf,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAC;IAEX,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qCAAqC;IACrC,eAAe,CAAC,EAAE,kBAAkB,CAAC;IAErC,oBAAoB;IACpB,IAAI,EAAE,CAAC,CAAC;CACT;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IAEf,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IAErB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,kBAI1C,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Base Event Models for LodgeFlow Eventarc Integration
4
+ *
5
+ * CloudEvents specification v1.0 compliant event types for
6
+ * the event-driven notification architecture.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.DEFAULT_EVENT_TRIGGER_CONFIG = void 0;
10
+ /**
11
+ * Default event trigger configuration
12
+ */
13
+ exports.DEFAULT_EVENT_TRIGGER_CONFIG = {
14
+ region: 'europe-west1',
15
+ eventChannel: 'firebase',
16
+ maxInstances: 10,
17
+ };
18
+ //# sourceMappingURL=event.models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.models.js","sourceRoot":"","sources":["../../../src/modules/events/event.models.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAyDH;;GAEG;AACU,QAAA,4BAA4B,GAAuB;IAC9D,MAAM,EAAE,cAAc;IACtB,YAAY,EAAE,UAAU;IACxB,YAAY,EAAE,EAAE;CACjB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Events Module
3
+ *
4
+ * Provides Eventarc-based event-driven architecture for the booking system.
5
+ *
6
+ * Architecture:
7
+ * - Publishers: Firestore triggers that emit CloudEvents to Eventarc
8
+ * - Subscribers: Event handlers that process events (email, audit, etc.)
9
+ *
10
+ * Usage:
11
+ * ```typescript
12
+ * import {
13
+ * createBookingEventTriggers,
14
+ * createBookingEmailHandlers,
15
+ * } from '@zssz-soft/firebase-functions-shared';
16
+ *
17
+ * const triggers = createBookingEventTriggers({ region: 'europe-west1' });
18
+ * const handlers = createBookingEmailHandlers({ region: 'europe-west1' });
19
+ *
20
+ * export const onBookingCreatedEvent = triggers.onBookingCreatedEvent;
21
+ * export const onBookingUpdatedEvent = triggers.onBookingUpdatedEvent;
22
+ * export const onBookingEmailHandler = handlers.onBookingEvent;
23
+ * ```
24
+ */
25
+ export * from './event.models';
26
+ export * from './booking-event.models';
27
+ export * from './booking-event.triggers';
28
+ export * from './booking-event.handlers';
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/events/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,cAAc,gBAAgB,CAAC;AAG/B,cAAc,wBAAwB,CAAC;AAGvC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /**
3
+ * Events Module
4
+ *
5
+ * Provides Eventarc-based event-driven architecture for the booking system.
6
+ *
7
+ * Architecture:
8
+ * - Publishers: Firestore triggers that emit CloudEvents to Eventarc
9
+ * - Subscribers: Event handlers that process events (email, audit, etc.)
10
+ *
11
+ * Usage:
12
+ * ```typescript
13
+ * import {
14
+ * createBookingEventTriggers,
15
+ * createBookingEmailHandlers,
16
+ * } from '@zssz-soft/firebase-functions-shared';
17
+ *
18
+ * const triggers = createBookingEventTriggers({ region: 'europe-west1' });
19
+ * const handlers = createBookingEmailHandlers({ region: 'europe-west1' });
20
+ *
21
+ * export const onBookingCreatedEvent = triggers.onBookingCreatedEvent;
22
+ * export const onBookingUpdatedEvent = triggers.onBookingUpdatedEvent;
23
+ * export const onBookingEmailHandler = handlers.onBookingEvent;
24
+ * ```
25
+ */
26
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
27
+ if (k2 === undefined) k2 = k;
28
+ var desc = Object.getOwnPropertyDescriptor(m, k);
29
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
30
+ desc = { enumerable: true, get: function() { return m[k]; } };
31
+ }
32
+ Object.defineProperty(o, k2, desc);
33
+ }) : (function(o, m, k, k2) {
34
+ if (k2 === undefined) k2 = k;
35
+ o[k2] = m[k];
36
+ }));
37
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
38
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ // Base event models
42
+ __exportStar(require("./event.models"), exports);
43
+ // Booking event models and types
44
+ __exportStar(require("./booking-event.models"), exports);
45
+ // Booking event publishers (Firestore → Eventarc)
46
+ __exportStar(require("./booking-event.triggers"), exports);
47
+ // Booking event handlers (Eventarc → Email)
48
+ __exportStar(require("./booking-event.handlers"), exports);
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/events/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;;;;;;;;;;;AAEH,oBAAoB;AACpB,iDAA+B;AAE/B,iCAAiC;AACjC,yDAAuC;AAEvC,kDAAkD;AAClD,2DAAyC;AAEzC,4CAA4C;AAC5C,2DAAyC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Health Check Functions
3
+ *
4
+ * Provides endpoints to verify Firebase Functions availability.
5
+ * Used with Cloud Monitoring Uptime Checks for alerting.
6
+ */
7
+ export interface HealthCheckResponse {
8
+ status: 'ok' | 'degraded' | 'error';
9
+ timestamp: string;
10
+ region: string;
11
+ version: string;
12
+ checks?: {
13
+ name: string;
14
+ status: 'ok' | 'error';
15
+ latencyMs?: number;
16
+ error?: string;
17
+ }[];
18
+ }
19
+ /**
20
+ * Create a simple health check endpoint
21
+ *
22
+ * This is a lightweight HTTP function that Cloud Monitoring can ping.
23
+ * Returns 200 if functions are running, which triggers alerts if unreachable.
24
+ */
25
+ export declare function createHealthCheckFunction(): import("firebase-functions/v2/https").HttpsFunction;
26
+ /**
27
+ * Create a detailed health check with dependency checks
28
+ *
29
+ * Checks Firestore connectivity and other dependencies.
30
+ * Useful for debugging but more expensive to run.
31
+ */
32
+ export declare function createDetailedHealthCheckFunction(): import("firebase-functions/v2/https").HttpsFunction;
33
+ //# sourceMappingURL=health-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-check.d.ts","sourceRoot":"","sources":["../../../src/modules/health/health-check.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,IAAI,GAAG,UAAU,GAAG,OAAO,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;CACL;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,wDAwBxC;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,wDAyEhD"}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ /**
3
+ * Health Check Functions
4
+ *
5
+ * Provides endpoints to verify Firebase Functions availability.
6
+ * Used with Cloud Monitoring Uptime Checks for alerting.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.createHealthCheckFunction = createHealthCheckFunction;
43
+ exports.createDetailedHealthCheckFunction = createDetailedHealthCheckFunction;
44
+ const https_1 = require("firebase-functions/v2/https");
45
+ const config_1 = require("../../config");
46
+ /**
47
+ * Create a simple health check endpoint
48
+ *
49
+ * This is a lightweight HTTP function that Cloud Monitoring can ping.
50
+ * Returns 200 if functions are running, which triggers alerts if unreachable.
51
+ */
52
+ function createHealthCheckFunction() {
53
+ const config = (0, config_1.getConfig)();
54
+ return (0, https_1.onRequest)({
55
+ region: config.region,
56
+ // No auth required - this is a public health endpoint
57
+ invoker: 'public',
58
+ // Minimal resources
59
+ memory: '128MiB',
60
+ timeoutSeconds: 10,
61
+ maxInstances: 2,
62
+ }, async (req, res) => {
63
+ const response = {
64
+ status: 'ok',
65
+ timestamp: new Date().toISOString(),
66
+ region: config.region,
67
+ version: process.env.K_REVISION || 'unknown',
68
+ };
69
+ res.status(200).json(response);
70
+ });
71
+ }
72
+ /**
73
+ * Create a detailed health check with dependency checks
74
+ *
75
+ * Checks Firestore connectivity and other dependencies.
76
+ * Useful for debugging but more expensive to run.
77
+ */
78
+ function createDetailedHealthCheckFunction() {
79
+ const config = (0, config_1.getConfig)();
80
+ return (0, https_1.onRequest)({
81
+ region: config.region,
82
+ invoker: 'public',
83
+ memory: '256MiB',
84
+ timeoutSeconds: 30,
85
+ maxInstances: 2,
86
+ }, async (req, res) => {
87
+ const checks = [];
88
+ let overallStatus = 'ok';
89
+ // Check Firestore connectivity
90
+ try {
91
+ const start = Date.now();
92
+ const { getFirestore } = await Promise.resolve().then(() => __importStar(require('firebase-admin/firestore')));
93
+ const db = getFirestore();
94
+ // Simple read to verify connectivity
95
+ await db.collection('_health').doc('check').get();
96
+ checks.push({
97
+ name: 'firestore',
98
+ status: 'ok',
99
+ latencyMs: Date.now() - start,
100
+ });
101
+ }
102
+ catch (error) {
103
+ overallStatus = 'degraded';
104
+ checks.push({
105
+ name: 'firestore',
106
+ status: 'error',
107
+ error: error instanceof Error ? error.message : 'Unknown error',
108
+ });
109
+ }
110
+ // Check Auth service
111
+ try {
112
+ const start = Date.now();
113
+ const { getAuth } = await Promise.resolve().then(() => __importStar(require('firebase-admin/auth')));
114
+ const auth = getAuth();
115
+ // Verify auth is initialized (doesn't make external call)
116
+ auth.tenantManager();
117
+ checks.push({
118
+ name: 'auth',
119
+ status: 'ok',
120
+ latencyMs: Date.now() - start,
121
+ });
122
+ }
123
+ catch (error) {
124
+ overallStatus = 'degraded';
125
+ checks.push({
126
+ name: 'auth',
127
+ status: 'error',
128
+ error: error instanceof Error ? error.message : 'Unknown error',
129
+ });
130
+ }
131
+ const response = {
132
+ status: overallStatus,
133
+ timestamp: new Date().toISOString(),
134
+ region: config.region,
135
+ version: process.env.K_REVISION || 'unknown',
136
+ checks,
137
+ };
138
+ const statusCode = overallStatus === 'ok' ? 200 : overallStatus === 'degraded' ? 200 : 503;
139
+ res.status(statusCode).json(response);
140
+ });
141
+ }
142
+ //# sourceMappingURL=health-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-check.js","sourceRoot":"","sources":["../../../src/modules/health/health-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Health Check Module
3
+ *
4
+ * Provides health check endpoints for monitoring Firebase Functions availability.
5
+ */
6
+ export * from './health-check';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/health/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * Health Check Module
4
+ *
5
+ * Provides health check endpoints for monitoring Firebase Functions availability.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ __exportStar(require("./health-check"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/health/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,iDAA+B"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-auth.triggers.d.ts","sourceRoot":"","sources":["../../../src/modules/user/user-auth.triggers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAE/B,iBAAiB,EAAE,GAAG,CAAC;CACxB;AAiBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,qBAA0B,GAAG,gBAAgB,CA4E3F"}
1
+ {"version":3,"file":"user-auth.triggers.d.ts","sourceRoot":"","sources":["../../../src/modules/user/user-auth.triggers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAE/B,iBAAiB,EAAE,GAAG,CAAC;CACxB;AAiBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,qBAA0B,GAAG,gBAAgB,CAyE3F"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-auth.triggers.js","sourceRoot":"","sources":["../../../src/modules/user/user-auth.triggers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-auth.triggers.js","sourceRoot":"","sources":["../../../src/modules/user/user-auth.triggers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zssz-soft/firebase-functions-shared",
3
- "version": "1.2.16",
3
+ "version": "1.4.0",
4
4
  "description": "Shared Firebase Cloud Functions modules for LodgeFlow applications",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",