@dereekb/firebase-server 13.12.8 → 13.13.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 (31) hide show
  1. package/mailgun/package.json +9 -9
  2. package/mcp/index.cjs.js +3 -3
  3. package/mcp/index.esm.js +3 -3
  4. package/mcp/package.json +11 -11
  5. package/model/index.cjs.js +209 -0
  6. package/model/index.esm.js +208 -2
  7. package/model/package.json +9 -9
  8. package/model/src/lib/storagefile/storagefile.action.server.d.ts +61 -1
  9. package/oidc/index.cjs.js +1025 -283
  10. package/oidc/index.esm.js +1016 -285
  11. package/oidc/package.json +10 -10
  12. package/oidc/src/lib/controller/oidc.interaction.controller.d.ts +4 -1
  13. package/oidc/src/lib/controller/oidc.provider.controller.d.ts +17 -0
  14. package/oidc/src/lib/oidc.config.d.ts +60 -0
  15. package/oidc/src/lib/service/analytics/index.d.ts +4 -0
  16. package/oidc/src/lib/service/analytics/oidc.analytics.config.d.ts +46 -0
  17. package/oidc/src/lib/service/analytics/oidc.analytics.handler.d.ts +116 -0
  18. package/oidc/src/lib/service/analytics/oidc.analytics.module.d.ts +35 -0
  19. package/oidc/src/lib/service/analytics/oidc.analytics.service.d.ts +23 -0
  20. package/oidc/src/lib/service/index.d.ts +1 -0
  21. package/oidc/src/lib/service/oidc.account.service.d.ts +15 -0
  22. package/oidc/src/lib/service/oidc.client.service.d.ts +4 -0
  23. package/oidc/src/lib/service/oidc.interaction.service.d.ts +2 -2
  24. package/oidc/src/lib/service/oidc.service.d.ts +23 -1
  25. package/oidc/src/lib/service/oidc.session-ttl.d.ts +114 -0
  26. package/package.json +10 -10
  27. package/test/index.cjs.js +11 -3
  28. package/test/index.esm.js +11 -3
  29. package/test/package.json +11 -11
  30. package/twilio/package.json +8 -8
  31. package/zoho/package.json +9 -9
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/mailgun",
3
- "version": "13.12.8",
3
+ "version": "13.13.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.12.8",
6
- "@dereekb/firebase": "13.12.8",
7
- "@dereekb/firebase-server": "13.12.8",
8
- "@dereekb/date": "13.12.8",
9
- "@dereekb/nestjs": "13.12.8",
10
- "@dereekb/model": "13.12.8",
11
- "@dereekb/rxjs": "13.12.8",
12
- "@dereekb/util": "13.12.8"
5
+ "@dereekb/analytics": "13.13.0",
6
+ "@dereekb/firebase": "13.13.0",
7
+ "@dereekb/firebase-server": "13.13.0",
8
+ "@dereekb/date": "13.13.0",
9
+ "@dereekb/nestjs": "13.13.0",
10
+ "@dereekb/model": "13.13.0",
11
+ "@dereekb/rxjs": "13.13.0",
12
+ "@dereekb/util": "13.13.0"
13
13
  },
14
14
  "exports": {
15
15
  "./package.json": "./package.json",
package/mcp/index.cjs.js CHANGED
@@ -1428,12 +1428,12 @@ function buildGroupFilterOutput(config) {
1428
1428
  }
1429
1429
  return result;
1430
1430
  }
1431
- function buildAllOutput(manifest, fields) {
1432
- var detailed = fields !== null && fields !== void 0 ? fields : false;
1431
+ function buildAllOutput(manifest) {
1432
+ var fields = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
1433
1433
  return {
1434
1434
  mode: 'list',
1435
1435
  models: manifest.map(function(entry) {
1436
- return toModelRow(entry, detailed);
1436
+ return toModelRow(entry, fields);
1437
1437
  })
1438
1438
  };
1439
1439
  }
package/mcp/index.esm.js CHANGED
@@ -1426,12 +1426,12 @@ function buildGroupFilterOutput(config) {
1426
1426
  }
1427
1427
  return result;
1428
1428
  }
1429
- function buildAllOutput(manifest, fields) {
1430
- var detailed = fields !== null && fields !== void 0 ? fields : false;
1429
+ function buildAllOutput(manifest) {
1430
+ var fields = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
1431
1431
  return {
1432
1432
  mode: 'list',
1433
1433
  models: manifest.map(function(entry) {
1434
- return toModelRow(entry, detailed);
1434
+ return toModelRow(entry, fields);
1435
1435
  })
1436
1436
  };
1437
1437
  }
package/mcp/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/mcp",
3
- "version": "13.12.8",
3
+ "version": "13.13.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.12.8",
6
- "@dereekb/date": "13.12.8",
7
- "@dereekb/firebase": "13.12.8",
8
- "@dereekb/firebase-server": "13.12.8",
9
- "@dereekb/firebase-server/oidc": "13.12.8",
10
- "@dereekb/model": "13.12.8",
11
- "@dereekb/nestjs": "13.12.8",
12
- "@dereekb/rxjs": "13.12.8",
13
- "@dereekb/util": "13.12.8",
14
- "@dereekb/zoho": "13.12.8",
5
+ "@dereekb/analytics": "13.13.0",
6
+ "@dereekb/date": "13.13.0",
7
+ "@dereekb/firebase": "13.13.0",
8
+ "@dereekb/firebase-server": "13.13.0",
9
+ "@dereekb/firebase-server/oidc": "13.13.0",
10
+ "@dereekb/model": "13.13.0",
11
+ "@dereekb/nestjs": "13.13.0",
12
+ "@dereekb/rxjs": "13.13.0",
13
+ "@dereekb/util": "13.13.0",
14
+ "@dereekb/zoho": "13.13.0",
15
15
  "@modelcontextprotocol/sdk": "1.29.0",
16
16
  "@nestjs/common": "^11.1.19",
17
17
  "@nestjs/core": "^11.1.19",
@@ -9425,6 +9425,8 @@ function _ts_generator$4(thisArg, body) {
9425
9425
  deleteStorageFile: deleteStorageFileFactory(context),
9426
9426
  downloadStorageFile: downloadStorageFileFactory(context),
9427
9427
  downloadMultipleStorageFiles: downloadMultipleStorageFilesFactory(context),
9428
+ readStorageFileMetadata: readStorageFileMetadataFactory(context),
9429
+ readMultipleStorageFilesMetadata: readMultipleStorageFilesMetadataFactory(context),
9428
9430
  createStorageFileGroup: createStorageFileGroupFactory(context),
9429
9431
  updateStorageFileGroup: updateStorageFileGroupFactory(context),
9430
9432
  syncStorageFileWithGroups: syncStorageFileWithGroupsFactory(context),
@@ -11027,6 +11029,210 @@ function _resolveSignedUploadUrlFilenameOrThrow(policy, filename) {
11027
11029
  })();
11028
11030
  });
11029
11031
  }
11032
+ /**
11033
+ * Default maximum number of concurrent metadata read operations when batch-reading StorageFile metadata.
11034
+ */ var DEFAULT_READ_MULTIPLE_STORAGE_FILES_METADATA_MAX_PARALLEL_TASKS = 5;
11035
+ /**
11036
+ * Internal factory that reads the underlying Cloud Storage object metadata for one or more StorageFiles.
11037
+ *
11038
+ * Uses {@link performAsyncTasks} with concurrency limiting to avoid overwhelming Cloud Storage.
11039
+ * When the underlying object does not exist, the item resolves with `exists: false` rather than failing.
11040
+ * When `throwOnFirstError` is true, the first failure throws immediately (single-read behavior).
11041
+ * When false, failures are collected in the errors array (batch behavior).
11042
+ *
11043
+ * @param context - The storage file server actions context.
11044
+ * @returns An async function that processes a {@link ReadMultipleStorageFilesMetadataFactoryInput} and returns a {@link ReadMultipleStorageFilesMetadataResult}
11045
+ */ function _readMultipleStorageFilesMetadataFactory(context) {
11046
+ var storageService = context.storageService, storageFileCollection = context.storageFileCollection;
11047
+ return function(input) {
11048
+ return _async_to_generator$4(function() {
11049
+ var items, throwOnFirstError, inputMaxParallelTasks, taskResult, success, errors;
11050
+ return _ts_generator$4(this, function(_state) {
11051
+ switch(_state.label){
11052
+ case 0:
11053
+ items = input.items, throwOnFirstError = input.throwOnFirstError, inputMaxParallelTasks = input.maxParallelTasks;
11054
+ return [
11055
+ 4,
11056
+ util.performAsyncTasks(items, function(item) {
11057
+ return _async_to_generator$4(function() {
11058
+ var _item_storageFileDocument, storageFileDocument, storageFile, fileAccessor, exists, result, metadata;
11059
+ return _ts_generator$4(this, function(_state) {
11060
+ switch(_state.label){
11061
+ case 0:
11062
+ // Load document from key if not provided
11063
+ storageFileDocument = (_item_storageFileDocument = item.storageFileDocument) !== null && _item_storageFileDocument !== void 0 ? _item_storageFileDocument : storageFileCollection.documentAccessor().loadDocumentForKey(item.key);
11064
+ return [
11065
+ 4,
11066
+ firebaseServer.assertSnapshotData(storageFileDocument)
11067
+ ];
11068
+ case 1:
11069
+ storageFile = _state.sent();
11070
+ fileAccessor = storageService.file(storageFile);
11071
+ return [
11072
+ 4,
11073
+ fileAccessor.exists()
11074
+ ];
11075
+ case 2:
11076
+ exists = _state.sent();
11077
+ if (!exists) return [
11078
+ 3,
11079
+ 4
11080
+ ];
11081
+ return [
11082
+ 4,
11083
+ fileAccessor.getMetadata()
11084
+ ];
11085
+ case 3:
11086
+ metadata = _state.sent();
11087
+ result = {
11088
+ key: item.key,
11089
+ exists: true,
11090
+ metadata: metadata
11091
+ };
11092
+ return [
11093
+ 3,
11094
+ 5
11095
+ ];
11096
+ case 4:
11097
+ result = {
11098
+ key: item.key,
11099
+ exists: false
11100
+ };
11101
+ _state.label = 5;
11102
+ case 5:
11103
+ return [
11104
+ 2,
11105
+ result
11106
+ ];
11107
+ }
11108
+ });
11109
+ })();
11110
+ }, {
11111
+ throwError: throwOnFirstError !== null && throwOnFirstError !== void 0 ? throwOnFirstError : false,
11112
+ maxParallelTasks: inputMaxParallelTasks !== null && inputMaxParallelTasks !== void 0 ? inputMaxParallelTasks : DEFAULT_READ_MULTIPLE_STORAGE_FILES_METADATA_MAX_PARALLEL_TASKS
11113
+ })
11114
+ ];
11115
+ case 1:
11116
+ taskResult = _state.sent();
11117
+ success = taskResult.results.map(function(param) {
11118
+ var _param = _sliced_to_array(param, 2), result = _param[1];
11119
+ return result;
11120
+ });
11121
+ errors = taskResult.errors.map(function(param) {
11122
+ var _param = _sliced_to_array(param, 2), item = _param[0], error = _param[1];
11123
+ return {
11124
+ key: item.key,
11125
+ error: _instanceof(error, Error) ? error.message : 'Metadata read failed'
11126
+ };
11127
+ });
11128
+ return [
11129
+ 2,
11130
+ {
11131
+ success: success,
11132
+ errors: errors
11133
+ }
11134
+ ];
11135
+ }
11136
+ });
11137
+ })();
11138
+ };
11139
+ }
11140
+ /**
11141
+ * Factory for the `readStorageFileMetadata` action.
11142
+ *
11143
+ * Reads the underlying Cloud Storage object metadata for a single {@link StorageFile}.
11144
+ * Delegates to {@link _readMultipleStorageFilesMetadataFactory} with a single item and `throwOnFirstError: true`.
11145
+ *
11146
+ * @param context - The storage file server actions context.
11147
+ * @returns An async transform-and-validate function that reads a StorageFile's Cloud Storage metadata.
11148
+ */ function readStorageFileMetadataFactory(context) {
11149
+ var firebaseServerActionTransformFunctionFactory = context.firebaseServerActionTransformFunctionFactory;
11150
+ var readMultipleStorageFilesMetadata = _readMultipleStorageFilesMetadataFactory(context);
11151
+ return firebaseServerActionTransformFunctionFactory(firebase.readStorageFileMetadataParamsType, function(params) {
11152
+ return _async_to_generator$4(function() {
11153
+ var key;
11154
+ return _ts_generator$4(this, function(_state) {
11155
+ key = params.key;
11156
+ return [
11157
+ 2,
11158
+ function(storageFileDocument) {
11159
+ return _async_to_generator$4(function() {
11160
+ var result;
11161
+ return _ts_generator$4(this, function(_state) {
11162
+ switch(_state.label){
11163
+ case 0:
11164
+ return [
11165
+ 4,
11166
+ readMultipleStorageFilesMetadata({
11167
+ items: [
11168
+ {
11169
+ key: key,
11170
+ storageFileDocument: storageFileDocument
11171
+ }
11172
+ ],
11173
+ throwOnFirstError: true
11174
+ })
11175
+ ];
11176
+ case 1:
11177
+ result = _state.sent();
11178
+ // success item structurally satisfies ReadStorageFileMetadataResult (extra `key` is ignored)
11179
+ return [
11180
+ 2,
11181
+ result.success[0]
11182
+ ];
11183
+ }
11184
+ });
11185
+ })();
11186
+ }
11187
+ ];
11188
+ });
11189
+ })();
11190
+ });
11191
+ }
11192
+ /**
11193
+ * Factory for the `readMultipleStorageFilesMetadata` action.
11194
+ *
11195
+ * Reads the underlying Cloud Storage object metadata for multiple {@link StorageFile} documents in a single call.
11196
+ * By default, individual failures are collected in the errors array rather than failing the entire batch.
11197
+ * Set `throwOnFirstError` in params to throw on the first failure instead.
11198
+ *
11199
+ * @param context - The storage file server actions context.
11200
+ * @returns An async transform-and-validate function that reads Cloud Storage metadata for multiple files.
11201
+ */ function readMultipleStorageFilesMetadataFactory(context) {
11202
+ var firebaseServerActionTransformFunctionFactory = context.firebaseServerActionTransformFunctionFactory;
11203
+ var readMultipleStorageFilesMetadata = _readMultipleStorageFilesMetadataFactory(context);
11204
+ return firebaseServerActionTransformFunctionFactory(firebase.readMultipleStorageFilesMetadataParamsType, function(params) {
11205
+ return _async_to_generator$4(function() {
11206
+ var files, throwOnFirstError;
11207
+ return _ts_generator$4(this, function(_state) {
11208
+ files = params.files, throwOnFirstError = params.throwOnFirstError;
11209
+ return [
11210
+ 2,
11211
+ function(storageFileDocuments) {
11212
+ return _async_to_generator$4(function() {
11213
+ var items;
11214
+ return _ts_generator$4(this, function(_state) {
11215
+ items = files.map(function(file, i) {
11216
+ return {
11217
+ key: file.key,
11218
+ storageFileDocument: storageFileDocuments === null || storageFileDocuments === void 0 ? void 0 : storageFileDocuments[i]
11219
+ };
11220
+ });
11221
+ return [
11222
+ 2,
11223
+ readMultipleStorageFilesMetadata({
11224
+ items: items,
11225
+ throwOnFirstError: throwOnFirstError !== null && throwOnFirstError !== void 0 ? throwOnFirstError : false
11226
+ })
11227
+ ];
11228
+ });
11229
+ })();
11230
+ }
11231
+ ];
11232
+ });
11233
+ })();
11234
+ });
11235
+ }
11030
11236
  /**
11031
11237
  * Internal factory that creates a function for creating a {@link StorageFileGroup} document
11032
11238
  * within a Firestore transaction.
@@ -14050,6 +14256,7 @@ exports.DEFAULT_COMPRESS_PDF_IMAGE_QUALITY = DEFAULT_COMPRESS_PDF_IMAGE_QUALITY;
14050
14256
  exports.DEFAULT_COMPRESS_PDF_IMAGE_SIZE_THRESHOLD_BYTES = DEFAULT_COMPRESS_PDF_IMAGE_SIZE_THRESHOLD_BYTES;
14051
14257
  exports.DEFAULT_DOWNLOAD_MULTIPLE_STORAGE_FILES_MAX_PARALLEL_TASKS = DEFAULT_DOWNLOAD_MULTIPLE_STORAGE_FILES_MAX_PARALLEL_TASKS;
14052
14258
  exports.DEFAULT_MAILGUN_NOTIFICATION_EMAIL_SEND_SERVICE_MAX_BATCH_SIZE_PER_REQUEST = DEFAULT_MAILGUN_NOTIFICATION_EMAIL_SEND_SERVICE_MAX_BATCH_SIZE_PER_REQUEST;
14259
+ exports.DEFAULT_READ_MULTIPLE_STORAGE_FILES_METADATA_MAX_PARALLEL_TASKS = DEFAULT_READ_MULTIPLE_STORAGE_FILES_METADATA_MAX_PARALLEL_TASKS;
14053
14260
  exports.KNOWN_BUT_UNCONFIGURED_NOTIFICATION_TEMPLATE_TYPE_DELETE_AFTER_RETRY_ATTEMPTS = KNOWN_BUT_UNCONFIGURED_NOTIFICATION_TEMPLATE_TYPE_DELETE_AFTER_RETRY_ATTEMPTS;
14054
14261
  exports.KNOWN_BUT_UNCONFIGURED_NOTIFICATION_TEMPLATE_TYPE_HOURS_DELAY = KNOWN_BUT_UNCONFIGURED_NOTIFICATION_TEMPLATE_TYPE_HOURS_DELAY;
14055
14262
  exports.MAKE_TEMPLATE_FOR_NOTIFICATION_RELATED_MODEL_INITIALIZATION_FUNCTION_DELETE_RESPONSE = MAKE_TEMPLATE_FOR_NOTIFICATION_RELATED_MODEL_INITIALIZATION_FUNCTION_DELETE_RESPONSE;
@@ -14149,6 +14356,8 @@ exports.processAllQueuedStorageFilesFactory = processAllQueuedStorageFilesFactor
14149
14356
  exports.processStorageFileFactory = processStorageFileFactory;
14150
14357
  exports.provideMutableNotificationExpediteService = provideMutableNotificationExpediteService;
14151
14358
  exports.queryAndFlagStorageFilesForDelete = queryAndFlagStorageFilesForDelete;
14359
+ exports.readMultipleStorageFilesMetadataFactory = readMultipleStorageFilesMetadataFactory;
14360
+ exports.readStorageFileMetadataFactory = readStorageFileMetadataFactory;
14152
14361
  exports.regenerateAllFlaggedStorageFileGroupsContentFactory = regenerateAllFlaggedStorageFileGroupsContentFactory;
14153
14362
  exports.regenerateStorageFileGroupContentFactory = regenerateStorageFileGroupContentFactory;
14154
14363
  exports.resyncAllNotificationUsersFactory = resyncAllNotificationUsersFactory;
@@ -1,6 +1,6 @@
1
1
  import { mapObjectKeysToLowercase, multiValueMapBuilder, batch, runAsyncTasksForValues, asArray, pushArrayItemsIntoArray, UNSET_INDEX_NUMBER, areEqualPOJOValues, performAsyncTasks, removeValuesAtIndexesFromArrayCopy, takeFront, makeModelMap, computeNextFreeIndexOnSortedValuesFunction, readIndexNumber, asPromise, dateOrMillisecondsToDate, filterOnlyUndefinedValues, iterablesAreSetEquivalent, mapIdentityFunction, makeValuesGroupMap, filterMaybeArrayValues, cutStringFunction, takeLast, separateValues, unique, addMilliseconds, mergeSlashPaths, ModelRelationUtility, isThrottled, isPast, unixDateTimeSecondsNumberFromDate, slashPathDetails, MS_IN_MINUTE, expirationDetails, dateFromDateOrTimeMillisecondsNumber, cachedGetter, MS_IN_HOUR, documentFileExtensionForMimeType, useCallback, ZIP_FILE_MIME_TYPE, MAP_IDENTITY, pushItemOrArrayItemsIntoArray, asDecisionFunction } from '@dereekb/util';
2
2
  import { yearWeekCode, isSameDate, findMaxDate, findMinDate } from '@dereekb/date';
3
- import { CREATE_NOTIFICATION_ID_REQUIRED_ERROR_CODE, NOTIFICATION_BOX_DOES_NOT_EXIST_ERROR_CODE, NOTIFICATION_BOX_EXCLUSION_TARGET_INVALID_ERROR_CODE, NOTIFICATION_BOX_EXISTS_FOR_MODEL_ERROR_CODE, NOTIFICATION_BOX_RECIPIENT_DOES_NOT_EXIST_ERROR_CODE, NOTIFICATION_MODEL_ALREADY_INITIALIZED_ERROR_CODE, NOTIFICATION_USER_BLOCKED_FROM_BEING_ADD_TO_RECIPIENTS_ERROR_CODE, NOTIFICATION_USER_INVALID_UID_FOR_CREATE_ERROR_CODE, NOTIFICATION_USER_LOCKED_CONFIG_FROM_BEING_UPDATED_ERROR_CODE, firestoreDummyKey, mergeNotificationBoxRecipients, mergeNotificationUserNotificationBoxRecipientConfigs, applyExclusionsToNotificationUserNotificationBoxRecipientConfigs, mergeNotificationBoxRecipientTemplateConfigs, effectiveNotificationBoxRecipientTemplateConfig, notificationSendExclusionCanSendFunction, mergeNotificationUserDefaultNotificationBoxRecipientConfig, DEFAULT_NOTIFICATION_TEMPLATE_TYPE, NotificationRecipientSendFlag, allowedNotificationRecipients, loadDocumentsForIds, getDocumentSnapshotDataPairsWithData, cleanupOldNotificationLoggedEventDaysParamsType, cleanupSentNotificationsParamsType, createNotificationBoxParamsType, createNotificationSummaryParamsType, createNotificationUserParamsType, resyncNotificationUserParamsType, sendNotificationParamsType, sendQueuedNotificationsParamsType, updateNotificationBoxParamsType, updateNotificationBoxRecipientParamsType, updateNotificationSummaryParamsType, updateNotificationUserParamsType, updateNotificationUserDefaultNotificationBoxRecipientConfig, effectiveNotificationBoxRecipientConfig, updateNotificationUserNotificationBoxRecipientConfigs, calculateNsForNotificationUserNotificationBoxRecipientConfigs, getDocumentSnapshotDataPairs, iterateFirestoreDocumentSnapshotPairs, notificationUsersFlaggedForNeedsSyncQuery, notificationSummaryIdForModel, loadNotificationBoxDocumentForReferencePair, updateNotificationUserNotificationSendExclusions, notificationBoxRecipientTemplateConfigArrayToRecord, updateNotificationRecipient, setIdAndKeyFromKeyIdRefOnDocumentData, inferKeyFromTwoWayFlatFirestoreModelKey, NotificationSendType, getDocumentSnapshotData, notificationSendFlagsImplyIsComplete, NotificationSendState, mergeNotificationSendMessagesResult, notificationsPastSendAtTimeQuery, loadDocumentsForDocumentReferencesFromValues, notificationLoggedEventDayId, shouldSaveNotificationToNotificationWeek, notificationsReadyForCleanupQuery, notificationLoggedEventDaysOlderThanQuery, initializeAllApplicableNotificationBoxesParamsType, initializeAllApplicableNotificationSummariesParamsType, initializeNotificationModelParamsType, firestoreModelKeyCollectionName, notificationBoxesFlaggedForNeedsInitializationQuery, notificationSummariesFlaggedForNeedsInitializationQuery, noContentNotificationMessageFunctionFactory, _createNotificationDocumentFromPair, createNotificationDocumentPair, NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_SUBJECT_MAX_LENGTH, NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_MESSAGE_MAX_LENGTH, sortNotificationItemsFunction, NOTIFICATION_SUMMARY_ITEM_LIMIT, NOTIFICATION_TASK_SUBTASK_CHECKPOINT_PROCESSING, NOTIFICATION_TASK_SUBTASK_CHECKPOINT_CLEANUP, completeSubtaskProcessingAndScheduleCleanupTaskResult, delayCompletion, notificationTaskComplete, notificationTaskDelayRetry, DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_DELAY, DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_ATTEMPTS, STORAGE_FILE_GROUP_CREATE_INPUT_ERROR_CODE, STORAGE_FILE_ALREADY_PROCESSED_ERROR_CODE, STORAGE_FILE_CANNOT_BE_DELETED_YET_ERROR_CODE, STORAGE_FILE_GROUP_QUEUED_FOR_INITIALIZATION_ERROR_CODE, STORAGE_FILE_MODEL_ALREADY_INITIALIZED_ERROR_CODE, STORAGE_FILE_NOT_FLAGGED_FOR_DELETION_ERROR_CODE, STORAGE_FILE_NOT_FLAGGED_FOR_GROUPS_SYNC_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_ALLOWED_FOR_INVALID_STATE_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_AVAILABLE_FOR_TYPE_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_QUEUED_FOR_PROCESSING_ERROR_CODE, UPLOADED_FILE_DOES_NOT_EXIST_ERROR_CODE, UPLOADED_FILE_INITIALIZATION_DISCARDED_ERROR_CODE, UPLOADED_FILE_INITIALIZATION_FAILED_ERROR_CODE, UPLOADED_FILE_NOT_ALLOWED_TO_BE_INITIALIZED_ERROR_CODE, createStorageFileParamsType, createStorageFileGroupParamsType, createStorageFileSignedUploadUrlParamsType, deleteAllQueuedStorageFilesParamsType, deleteStorageFileParamsType, downloadMultipleStorageFilesParamsType, downloadStorageFileParamsType, initializeAllStorageFilesFromUploadsParamsType, initializeStorageFileFromUploadParamsType, processAllQueuedStorageFilesParamsType, processStorageFileParamsType, regenerateAllFlaggedStorageFileGroupsContentParamsType, regenerateStorageFileGroupContentParamsType, syncAllFlaggedStorageFilesWithGroupsParamsType, syncStorageFileWithGroupsParamsType, updateStorageFileParamsType, updateStorageFileGroupParamsType, UPLOADS_FOLDER_PATH, iterateStorageListFilesByEachFile, StorageFileProcessingState, storageFilesQueuedForProcessingQuery, STORAGE_FILE_PROCESSING_STUCK_THROTTLE_CHECK_MS, StorageFileState, createNotificationDocument, storageFileProcessingNotificationTaskTemplate, storageFilesQueuedForDeleteQuery, loadStorageFileGroupDocumentForReferencePair, calculateStorageFileGroupEmbeddedFileUpdate, iterateFirestoreDocumentSnapshotPairBatches, storageFileFlaggedForSyncWithGroupsQuery, createStorageFileDocumentPairFactory, StorageFileCreationType, calculateStorageFileGroupRegeneration, storageFileGroupZipFileStoragePath, STORAGE_FILE_GROUP_ZIP_STORAGE_FILE_PURPOSE, getDocumentSnapshotDataPair, storageFileGroupsFlaggedForContentRegenerationQuery, DEFAULT_CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_EXPIRES_IN_MS, CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MIN_EXPIRES_IN_MS, CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_EXPIRES_IN_MS, CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_FILENAME_LENGTH, initializeAllApplicableStorageFileGroupsParamsType, initializeStorageFileModelParamsType, storageFileGroupsFlaggedForNeedsInitializationQuery, STORAGE_FILE_GROUP_ZIP_STORAGE_FILE_PURPOSE_CREATE_ZIP_SUBTASK, storedFileReaderFactory, STORAGE_FILE_PROCESSING_NOTIFICATION_TASK_TYPE, copyStoragePath, notificationSubtaskComplete, STORAGE_FILE_GROUP_ZIP_INFO_JSON_FILE_NAME, limitUploadFileTypeDeterminer, combineUploadFileTypeDeterminers, STORAGEFILE_RELATED_FILE_METADATA_KEY, storageFilePurposeAndUserQuery } from '@dereekb/firebase';
3
+ import { CREATE_NOTIFICATION_ID_REQUIRED_ERROR_CODE, NOTIFICATION_BOX_DOES_NOT_EXIST_ERROR_CODE, NOTIFICATION_BOX_EXCLUSION_TARGET_INVALID_ERROR_CODE, NOTIFICATION_BOX_EXISTS_FOR_MODEL_ERROR_CODE, NOTIFICATION_BOX_RECIPIENT_DOES_NOT_EXIST_ERROR_CODE, NOTIFICATION_MODEL_ALREADY_INITIALIZED_ERROR_CODE, NOTIFICATION_USER_BLOCKED_FROM_BEING_ADD_TO_RECIPIENTS_ERROR_CODE, NOTIFICATION_USER_INVALID_UID_FOR_CREATE_ERROR_CODE, NOTIFICATION_USER_LOCKED_CONFIG_FROM_BEING_UPDATED_ERROR_CODE, firestoreDummyKey, mergeNotificationBoxRecipients, mergeNotificationUserNotificationBoxRecipientConfigs, applyExclusionsToNotificationUserNotificationBoxRecipientConfigs, mergeNotificationBoxRecipientTemplateConfigs, effectiveNotificationBoxRecipientTemplateConfig, notificationSendExclusionCanSendFunction, mergeNotificationUserDefaultNotificationBoxRecipientConfig, DEFAULT_NOTIFICATION_TEMPLATE_TYPE, NotificationRecipientSendFlag, allowedNotificationRecipients, loadDocumentsForIds, getDocumentSnapshotDataPairsWithData, cleanupOldNotificationLoggedEventDaysParamsType, cleanupSentNotificationsParamsType, createNotificationBoxParamsType, createNotificationSummaryParamsType, createNotificationUserParamsType, resyncNotificationUserParamsType, sendNotificationParamsType, sendQueuedNotificationsParamsType, updateNotificationBoxParamsType, updateNotificationBoxRecipientParamsType, updateNotificationSummaryParamsType, updateNotificationUserParamsType, updateNotificationUserDefaultNotificationBoxRecipientConfig, effectiveNotificationBoxRecipientConfig, updateNotificationUserNotificationBoxRecipientConfigs, calculateNsForNotificationUserNotificationBoxRecipientConfigs, getDocumentSnapshotDataPairs, iterateFirestoreDocumentSnapshotPairs, notificationUsersFlaggedForNeedsSyncQuery, notificationSummaryIdForModel, loadNotificationBoxDocumentForReferencePair, updateNotificationUserNotificationSendExclusions, notificationBoxRecipientTemplateConfigArrayToRecord, updateNotificationRecipient, setIdAndKeyFromKeyIdRefOnDocumentData, inferKeyFromTwoWayFlatFirestoreModelKey, NotificationSendType, getDocumentSnapshotData, notificationSendFlagsImplyIsComplete, NotificationSendState, mergeNotificationSendMessagesResult, notificationsPastSendAtTimeQuery, loadDocumentsForDocumentReferencesFromValues, notificationLoggedEventDayId, shouldSaveNotificationToNotificationWeek, notificationsReadyForCleanupQuery, notificationLoggedEventDaysOlderThanQuery, initializeAllApplicableNotificationBoxesParamsType, initializeAllApplicableNotificationSummariesParamsType, initializeNotificationModelParamsType, firestoreModelKeyCollectionName, notificationBoxesFlaggedForNeedsInitializationQuery, notificationSummariesFlaggedForNeedsInitializationQuery, noContentNotificationMessageFunctionFactory, _createNotificationDocumentFromPair, createNotificationDocumentPair, NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_SUBJECT_MAX_LENGTH, NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_MESSAGE_MAX_LENGTH, sortNotificationItemsFunction, NOTIFICATION_SUMMARY_ITEM_LIMIT, NOTIFICATION_TASK_SUBTASK_CHECKPOINT_PROCESSING, NOTIFICATION_TASK_SUBTASK_CHECKPOINT_CLEANUP, completeSubtaskProcessingAndScheduleCleanupTaskResult, delayCompletion, notificationTaskComplete, notificationTaskDelayRetry, DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_DELAY, DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_ATTEMPTS, STORAGE_FILE_GROUP_CREATE_INPUT_ERROR_CODE, STORAGE_FILE_ALREADY_PROCESSED_ERROR_CODE, STORAGE_FILE_CANNOT_BE_DELETED_YET_ERROR_CODE, STORAGE_FILE_GROUP_QUEUED_FOR_INITIALIZATION_ERROR_CODE, STORAGE_FILE_MODEL_ALREADY_INITIALIZED_ERROR_CODE, STORAGE_FILE_NOT_FLAGGED_FOR_DELETION_ERROR_CODE, STORAGE_FILE_NOT_FLAGGED_FOR_GROUPS_SYNC_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_ALLOWED_FOR_INVALID_STATE_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_AVAILABLE_FOR_TYPE_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_QUEUED_FOR_PROCESSING_ERROR_CODE, UPLOADED_FILE_DOES_NOT_EXIST_ERROR_CODE, UPLOADED_FILE_INITIALIZATION_DISCARDED_ERROR_CODE, UPLOADED_FILE_INITIALIZATION_FAILED_ERROR_CODE, UPLOADED_FILE_NOT_ALLOWED_TO_BE_INITIALIZED_ERROR_CODE, createStorageFileParamsType, createStorageFileGroupParamsType, createStorageFileSignedUploadUrlParamsType, deleteAllQueuedStorageFilesParamsType, deleteStorageFileParamsType, downloadMultipleStorageFilesParamsType, downloadStorageFileParamsType, initializeAllStorageFilesFromUploadsParamsType, initializeStorageFileFromUploadParamsType, processAllQueuedStorageFilesParamsType, processStorageFileParamsType, readMultipleStorageFilesMetadataParamsType, readStorageFileMetadataParamsType, regenerateAllFlaggedStorageFileGroupsContentParamsType, regenerateStorageFileGroupContentParamsType, syncAllFlaggedStorageFilesWithGroupsParamsType, syncStorageFileWithGroupsParamsType, updateStorageFileParamsType, updateStorageFileGroupParamsType, UPLOADS_FOLDER_PATH, iterateStorageListFilesByEachFile, StorageFileProcessingState, storageFilesQueuedForProcessingQuery, STORAGE_FILE_PROCESSING_STUCK_THROTTLE_CHECK_MS, StorageFileState, createNotificationDocument, storageFileProcessingNotificationTaskTemplate, storageFilesQueuedForDeleteQuery, loadStorageFileGroupDocumentForReferencePair, calculateStorageFileGroupEmbeddedFileUpdate, iterateFirestoreDocumentSnapshotPairBatches, storageFileFlaggedForSyncWithGroupsQuery, createStorageFileDocumentPairFactory, StorageFileCreationType, calculateStorageFileGroupRegeneration, storageFileGroupZipFileStoragePath, STORAGE_FILE_GROUP_ZIP_STORAGE_FILE_PURPOSE, getDocumentSnapshotDataPair, storageFileGroupsFlaggedForContentRegenerationQuery, DEFAULT_CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_EXPIRES_IN_MS, CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MIN_EXPIRES_IN_MS, CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_EXPIRES_IN_MS, CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_FILENAME_LENGTH, initializeAllApplicableStorageFileGroupsParamsType, initializeStorageFileModelParamsType, storageFileGroupsFlaggedForNeedsInitializationQuery, STORAGE_FILE_GROUP_ZIP_STORAGE_FILE_PURPOSE_CREATE_ZIP_SUBTASK, storedFileReaderFactory, STORAGE_FILE_PROCESSING_NOTIFICATION_TASK_TYPE, copyStoragePath, notificationSubtaskComplete, STORAGE_FILE_GROUP_ZIP_INFO_JSON_FILE_NAME, limitUploadFileTypeDeterminer, combineUploadFileTypeDeterminers, STORAGEFILE_RELATED_FILE_METADATA_KEY, storageFilePurposeAndUserQuery } from '@dereekb/firebase';
4
4
  import { preconditionConflictError, assertSnapshotData, internalServerError, badRequestError } from '@dereekb/firebase-server';
5
5
  import { hoursToMilliseconds, addHours, isFuture, addMinutes, addSeconds, addDays } from 'date-fns';
6
6
  import { Optional, Inject, Injectable, Module, Global } from '@nestjs/common';
@@ -9423,6 +9423,8 @@ function _ts_generator$4(thisArg, body) {
9423
9423
  deleteStorageFile: deleteStorageFileFactory(context),
9424
9424
  downloadStorageFile: downloadStorageFileFactory(context),
9425
9425
  downloadMultipleStorageFiles: downloadMultipleStorageFilesFactory(context),
9426
+ readStorageFileMetadata: readStorageFileMetadataFactory(context),
9427
+ readMultipleStorageFilesMetadata: readMultipleStorageFilesMetadataFactory(context),
9426
9428
  createStorageFileGroup: createStorageFileGroupFactory(context),
9427
9429
  updateStorageFileGroup: updateStorageFileGroupFactory(context),
9428
9430
  syncStorageFileWithGroups: syncStorageFileWithGroupsFactory(context),
@@ -11025,6 +11027,210 @@ function _resolveSignedUploadUrlFilenameOrThrow(policy, filename) {
11025
11027
  })();
11026
11028
  });
11027
11029
  }
11030
+ /**
11031
+ * Default maximum number of concurrent metadata read operations when batch-reading StorageFile metadata.
11032
+ */ var DEFAULT_READ_MULTIPLE_STORAGE_FILES_METADATA_MAX_PARALLEL_TASKS = 5;
11033
+ /**
11034
+ * Internal factory that reads the underlying Cloud Storage object metadata for one or more StorageFiles.
11035
+ *
11036
+ * Uses {@link performAsyncTasks} with concurrency limiting to avoid overwhelming Cloud Storage.
11037
+ * When the underlying object does not exist, the item resolves with `exists: false` rather than failing.
11038
+ * When `throwOnFirstError` is true, the first failure throws immediately (single-read behavior).
11039
+ * When false, failures are collected in the errors array (batch behavior).
11040
+ *
11041
+ * @param context - The storage file server actions context.
11042
+ * @returns An async function that processes a {@link ReadMultipleStorageFilesMetadataFactoryInput} and returns a {@link ReadMultipleStorageFilesMetadataResult}
11043
+ */ function _readMultipleStorageFilesMetadataFactory(context) {
11044
+ var storageService = context.storageService, storageFileCollection = context.storageFileCollection;
11045
+ return function(input) {
11046
+ return _async_to_generator$4(function() {
11047
+ var items, throwOnFirstError, inputMaxParallelTasks, taskResult, success, errors;
11048
+ return _ts_generator$4(this, function(_state) {
11049
+ switch(_state.label){
11050
+ case 0:
11051
+ items = input.items, throwOnFirstError = input.throwOnFirstError, inputMaxParallelTasks = input.maxParallelTasks;
11052
+ return [
11053
+ 4,
11054
+ performAsyncTasks(items, function(item) {
11055
+ return _async_to_generator$4(function() {
11056
+ var _item_storageFileDocument, storageFileDocument, storageFile, fileAccessor, exists, result, metadata;
11057
+ return _ts_generator$4(this, function(_state) {
11058
+ switch(_state.label){
11059
+ case 0:
11060
+ // Load document from key if not provided
11061
+ storageFileDocument = (_item_storageFileDocument = item.storageFileDocument) !== null && _item_storageFileDocument !== void 0 ? _item_storageFileDocument : storageFileCollection.documentAccessor().loadDocumentForKey(item.key);
11062
+ return [
11063
+ 4,
11064
+ assertSnapshotData(storageFileDocument)
11065
+ ];
11066
+ case 1:
11067
+ storageFile = _state.sent();
11068
+ fileAccessor = storageService.file(storageFile);
11069
+ return [
11070
+ 4,
11071
+ fileAccessor.exists()
11072
+ ];
11073
+ case 2:
11074
+ exists = _state.sent();
11075
+ if (!exists) return [
11076
+ 3,
11077
+ 4
11078
+ ];
11079
+ return [
11080
+ 4,
11081
+ fileAccessor.getMetadata()
11082
+ ];
11083
+ case 3:
11084
+ metadata = _state.sent();
11085
+ result = {
11086
+ key: item.key,
11087
+ exists: true,
11088
+ metadata: metadata
11089
+ };
11090
+ return [
11091
+ 3,
11092
+ 5
11093
+ ];
11094
+ case 4:
11095
+ result = {
11096
+ key: item.key,
11097
+ exists: false
11098
+ };
11099
+ _state.label = 5;
11100
+ case 5:
11101
+ return [
11102
+ 2,
11103
+ result
11104
+ ];
11105
+ }
11106
+ });
11107
+ })();
11108
+ }, {
11109
+ throwError: throwOnFirstError !== null && throwOnFirstError !== void 0 ? throwOnFirstError : false,
11110
+ maxParallelTasks: inputMaxParallelTasks !== null && inputMaxParallelTasks !== void 0 ? inputMaxParallelTasks : DEFAULT_READ_MULTIPLE_STORAGE_FILES_METADATA_MAX_PARALLEL_TASKS
11111
+ })
11112
+ ];
11113
+ case 1:
11114
+ taskResult = _state.sent();
11115
+ success = taskResult.results.map(function(param) {
11116
+ var _param = _sliced_to_array(param, 2), result = _param[1];
11117
+ return result;
11118
+ });
11119
+ errors = taskResult.errors.map(function(param) {
11120
+ var _param = _sliced_to_array(param, 2), item = _param[0], error = _param[1];
11121
+ return {
11122
+ key: item.key,
11123
+ error: _instanceof(error, Error) ? error.message : 'Metadata read failed'
11124
+ };
11125
+ });
11126
+ return [
11127
+ 2,
11128
+ {
11129
+ success: success,
11130
+ errors: errors
11131
+ }
11132
+ ];
11133
+ }
11134
+ });
11135
+ })();
11136
+ };
11137
+ }
11138
+ /**
11139
+ * Factory for the `readStorageFileMetadata` action.
11140
+ *
11141
+ * Reads the underlying Cloud Storage object metadata for a single {@link StorageFile}.
11142
+ * Delegates to {@link _readMultipleStorageFilesMetadataFactory} with a single item and `throwOnFirstError: true`.
11143
+ *
11144
+ * @param context - The storage file server actions context.
11145
+ * @returns An async transform-and-validate function that reads a StorageFile's Cloud Storage metadata.
11146
+ */ function readStorageFileMetadataFactory(context) {
11147
+ var firebaseServerActionTransformFunctionFactory = context.firebaseServerActionTransformFunctionFactory;
11148
+ var readMultipleStorageFilesMetadata = _readMultipleStorageFilesMetadataFactory(context);
11149
+ return firebaseServerActionTransformFunctionFactory(readStorageFileMetadataParamsType, function(params) {
11150
+ return _async_to_generator$4(function() {
11151
+ var key;
11152
+ return _ts_generator$4(this, function(_state) {
11153
+ key = params.key;
11154
+ return [
11155
+ 2,
11156
+ function(storageFileDocument) {
11157
+ return _async_to_generator$4(function() {
11158
+ var result;
11159
+ return _ts_generator$4(this, function(_state) {
11160
+ switch(_state.label){
11161
+ case 0:
11162
+ return [
11163
+ 4,
11164
+ readMultipleStorageFilesMetadata({
11165
+ items: [
11166
+ {
11167
+ key: key,
11168
+ storageFileDocument: storageFileDocument
11169
+ }
11170
+ ],
11171
+ throwOnFirstError: true
11172
+ })
11173
+ ];
11174
+ case 1:
11175
+ result = _state.sent();
11176
+ // success item structurally satisfies ReadStorageFileMetadataResult (extra `key` is ignored)
11177
+ return [
11178
+ 2,
11179
+ result.success[0]
11180
+ ];
11181
+ }
11182
+ });
11183
+ })();
11184
+ }
11185
+ ];
11186
+ });
11187
+ })();
11188
+ });
11189
+ }
11190
+ /**
11191
+ * Factory for the `readMultipleStorageFilesMetadata` action.
11192
+ *
11193
+ * Reads the underlying Cloud Storage object metadata for multiple {@link StorageFile} documents in a single call.
11194
+ * By default, individual failures are collected in the errors array rather than failing the entire batch.
11195
+ * Set `throwOnFirstError` in params to throw on the first failure instead.
11196
+ *
11197
+ * @param context - The storage file server actions context.
11198
+ * @returns An async transform-and-validate function that reads Cloud Storage metadata for multiple files.
11199
+ */ function readMultipleStorageFilesMetadataFactory(context) {
11200
+ var firebaseServerActionTransformFunctionFactory = context.firebaseServerActionTransformFunctionFactory;
11201
+ var readMultipleStorageFilesMetadata = _readMultipleStorageFilesMetadataFactory(context);
11202
+ return firebaseServerActionTransformFunctionFactory(readMultipleStorageFilesMetadataParamsType, function(params) {
11203
+ return _async_to_generator$4(function() {
11204
+ var files, throwOnFirstError;
11205
+ return _ts_generator$4(this, function(_state) {
11206
+ files = params.files, throwOnFirstError = params.throwOnFirstError;
11207
+ return [
11208
+ 2,
11209
+ function(storageFileDocuments) {
11210
+ return _async_to_generator$4(function() {
11211
+ var items;
11212
+ return _ts_generator$4(this, function(_state) {
11213
+ items = files.map(function(file, i) {
11214
+ return {
11215
+ key: file.key,
11216
+ storageFileDocument: storageFileDocuments === null || storageFileDocuments === void 0 ? void 0 : storageFileDocuments[i]
11217
+ };
11218
+ });
11219
+ return [
11220
+ 2,
11221
+ readMultipleStorageFilesMetadata({
11222
+ items: items,
11223
+ throwOnFirstError: throwOnFirstError !== null && throwOnFirstError !== void 0 ? throwOnFirstError : false
11224
+ })
11225
+ ];
11226
+ });
11227
+ })();
11228
+ }
11229
+ ];
11230
+ });
11231
+ })();
11232
+ });
11233
+ }
11028
11234
  /**
11029
11235
  * Internal factory that creates a function for creating a {@link StorageFileGroup} document
11030
11236
  * within a Firestore transaction.
@@ -14036,4 +14242,4 @@ function _ts_generator(thisArg, body) {
14036
14242
  };
14037
14243
  }
14038
14244
 
14039
- export { AbstractAppNotificationModule, BASE_NOTIFICATION_SERVER_ACTION_CONTEXT_TOKEN, BASE_STORAGE_FILE_SERVER_ACTION_CONTEXT_TOKEN, DEFAULT_COMPRESS_IMAGE_FORMAT, DEFAULT_COMPRESS_IMAGE_INITIAL_QUALITY, DEFAULT_COMPRESS_IMAGE_MAX_DIMENSION, DEFAULT_COMPRESS_IMAGE_MIN_QUALITY, DEFAULT_COMPRESS_IMAGE_QUALITY_STEP, DEFAULT_COMPRESS_PDF_IMAGE_MAX_DIMENSION, DEFAULT_COMPRESS_PDF_IMAGE_QUALITY, DEFAULT_COMPRESS_PDF_IMAGE_SIZE_THRESHOLD_BYTES, DEFAULT_DOWNLOAD_MULTIPLE_STORAGE_FILES_MAX_PARALLEL_TASKS, DEFAULT_MAILGUN_NOTIFICATION_EMAIL_SEND_SERVICE_MAX_BATCH_SIZE_PER_REQUEST, GlobalNotificationModule, KNOWN_BUT_UNCONFIGURED_NOTIFICATION_TEMPLATE_TYPE_DELETE_AFTER_RETRY_ATTEMPTS, KNOWN_BUT_UNCONFIGURED_NOTIFICATION_TEMPLATE_TYPE_HOURS_DELAY, MAKE_TEMPLATE_FOR_NOTIFICATION_RELATED_MODEL_INITIALIZATION_FUNCTION_DELETE_RESPONSE, MAKE_TEMPLATE_FOR_STORAGEFILE_RELATED_MODEL_INITIALIZATION_FUNCTION_DELETE_RESPONSE, MutableNotificationExpediteService, NOTIFICATION_BOX_NOT_INITIALIZED_DELAY_MINUTES, NOTIFICATION_INIT_SERVER_ACTIONS_CONTEXT_CONFIG_TOKEN, NOTIFICATION_MAX_SEND_ATTEMPTS, NOTIFICATION_SERVER_ACTION_CONTEXT_TOKEN, NOTIFICATION_TASK_MINIMUM_SET_AT_THROTTLE_TIME_MINUTES, NOTIFICATION_TASK_TYPE_FAILURE_DELAY_HOURS, NOTIFICATION_TASK_TYPE_FAILURE_DELAY_MS, NOTIFICATION_TASK_TYPE_MAX_SEND_ATTEMPTS, NOTIFICATION_TEMPLATE_SERVICE_CONFIGS_ARRAY_TOKEN, NOTIFICATION_TEMPLATE_SERVICE_DEFAULTS_OVERRIDE_TOKEN, NotificationExpediteService, NotificationInitServerActions, NotificationSendService, NotificationServerActions, NotificationTaskService, NotificationTaskSubTaskMissingRequiredDataTermination, NotificationTemplateService, SEND_QUEUE_NOTIFICATIONS_TASK_EXCESS_THRESHOLD, STORAGE_FILE_INIT_SERVER_ACTIONS_CONTEXT_CONFIG_TOKEN, STORAGE_FILE_SERVER_ACTION_CONTEXT_TOKEN, STORAGE_FILE_SIGNED_UPLOAD_POLICIES_TOKEN, StorageFileInitServerActions, StorageFileInitializeFromUploadService, StorageFileServerActions, UNKNOWN_NOTIFICATION_TASK_TYPE_DELETE_AFTER_RETRY_ATTEMPTS, UNKNOWN_NOTIFICATION_TASK_TYPE_HOURS_DELAY, UNKNOWN_NOTIFICATION_TEMPLATE_TYPE_DELETE_AFTER_RETRY_ATTEMPTS, UNKNOWN_NOTIFICATION_TEMPLATE_TYPE_HOURS_DELAY, _initializeStorageFileFromUploadFileFactory, _processStorageFileInTransactionFactory, _syncStorageFileWithGroupsInTransactionFactory, allStorageFileGroupStorageFileProcessingPurposeSubtaskProcessors, appNotificationModuleMetadata, appStorageFileModuleMetadata, cleanupOldNotificationLoggedEventDaysFactory, cleanupSentNotificationsFactory, compressImageBufferToTargetSize, compressPdfImagesToTargetSize, createNotificationBoxFactory, createNotificationBoxInTransactionFactory, createNotificationIdRequiredError, createNotificationSummaryFactory, createNotificationUserFactory, createOrRunUniqueNotificationDocument, createStorageFileFactory, createStorageFileGroupFactory, createStorageFileGroupInTransactionFactory, createStorageFileGroupInputError, createStorageFileSignedUploadUrlFactory, deleteAllQueuedStorageFilesFactory, deleteStorageFileFactory, downloadMultipleStorageFilesFactory, downloadStorageFileFactory, expandNotificationRecipients, exportMutableNotificationExpediteService, firestoreNotificationSummarySendService, ignoreSendNotificationTextSendService, initializeAllApplicableNotificationBoxesFactory, initializeAllApplicableNotificationSummariesFactory, initializeAllApplicableStorageFileGroupsFactory, initializeAllStorageFilesFromUploadsFactory, initializeNotificationBoxFactory, initializeNotificationBoxInTransactionFactory, initializeNotificationModelInTransaction, initializeNotificationSummaryFactory, initializeNotificationSummaryInTransactionFactory, initializeStorageFileFromUploadFactory, initializeStorageFileGroupFactory, initializeStorageFileGroupInTransactionFactory, initializeStorageFileModelInTransaction, mailgunNotificationEmailSendService, makeNewNotificationSummaryTemplate, markStorageFileForDeleteTemplate, notificationBoxDoesNotExist, notificationBoxExclusionTargetInvalidError, notificationBoxExistsForModelError, notificationBoxRecipientDoesNotExistsError, notificationBoxUnregistredModelTypeInitializationError, notificationExpediteServiceInstance, notificationInitServerActions, notificationInitServerActionsFactory, notificationModelAlreadyInitializedError, notificationServerActions, notificationServerActionsContextFactory, notificationServerActionsFactory, notificationTaskService, notificationTaskSubTaskMissingRequiredDataTermination, notificationTaskSubtaskNotificationTaskHandlerFactory, notificationTemplateServiceInstance, notificationUserBlockedFromBeingAddedToRecipientsError, notificationUserInvalidUidForCreateError, notificationUserLockedConfigFromBeingUpdatedError, processAllQueuedStorageFilesFactory, processStorageFileFactory, provideMutableNotificationExpediteService, queryAndFlagStorageFilesForDelete, regenerateAllFlaggedStorageFileGroupsContentFactory, regenerateStorageFileGroupContentFactory, resyncAllNotificationUsersFactory, resyncNotificationUserFactory, sendNotificationFactory, sendQueuedNotificationsFactory, storageFileAlreadyProcessedError, storageFileCannotBeDeletedYetError, storageFileCreateSignedUploadUrlToolDetailsFactory, storageFileGroupQueuedForInitializationError, storageFileGroupZipStorageFileProcessingPurposeSubtaskProcessor, storageFileInitServerActions, storageFileInitServerActionsFactory, storageFileInitializeFromUploadService, storageFileInitializeFromUploadServiceInitializerResultPermanentFailure, storageFileModelAlreadyInitializedError, storageFileNotFlaggedForDeletionError, storageFileNotFlaggedForGroupsSyncError, storageFileProcessingNotAllowedForInvalidStateError, storageFileProcessingNotAvailableForTypeError, storageFileProcessingNotQueuedForProcessingError, storageFileProcessingNotificationTaskHandler, storageFileProcessingNotificationTaskHandlerDefaultCleanup, storageFileServerActions, storageFileServerActionsContextFactory, storageFileServerActionsFactory, syncAllFlaggedStorageFilesWithGroupsFactory, syncStorageFileWithGroupsFactory, updateNotificationBoxFactory, updateNotificationBoxRecipientExclusionInTransactionFactory, updateNotificationBoxRecipientFactory, updateNotificationBoxRecipientInTransactionFactory, updateNotificationSummaryFactory, updateNotificationUserFactory, updateNotificationUserNotificationBoxRecipientConfig, updateStorageFileFactory, updateStorageFileGroupFactory, uploadedFileDoesNotExistError, uploadedFileInitializationDiscardedError, uploadedFileInitializationFailedError, uploadedFileIsNotAllowedToBeInitializedError };
14245
+ export { AbstractAppNotificationModule, BASE_NOTIFICATION_SERVER_ACTION_CONTEXT_TOKEN, BASE_STORAGE_FILE_SERVER_ACTION_CONTEXT_TOKEN, DEFAULT_COMPRESS_IMAGE_FORMAT, DEFAULT_COMPRESS_IMAGE_INITIAL_QUALITY, DEFAULT_COMPRESS_IMAGE_MAX_DIMENSION, DEFAULT_COMPRESS_IMAGE_MIN_QUALITY, DEFAULT_COMPRESS_IMAGE_QUALITY_STEP, DEFAULT_COMPRESS_PDF_IMAGE_MAX_DIMENSION, DEFAULT_COMPRESS_PDF_IMAGE_QUALITY, DEFAULT_COMPRESS_PDF_IMAGE_SIZE_THRESHOLD_BYTES, DEFAULT_DOWNLOAD_MULTIPLE_STORAGE_FILES_MAX_PARALLEL_TASKS, DEFAULT_MAILGUN_NOTIFICATION_EMAIL_SEND_SERVICE_MAX_BATCH_SIZE_PER_REQUEST, DEFAULT_READ_MULTIPLE_STORAGE_FILES_METADATA_MAX_PARALLEL_TASKS, GlobalNotificationModule, KNOWN_BUT_UNCONFIGURED_NOTIFICATION_TEMPLATE_TYPE_DELETE_AFTER_RETRY_ATTEMPTS, KNOWN_BUT_UNCONFIGURED_NOTIFICATION_TEMPLATE_TYPE_HOURS_DELAY, MAKE_TEMPLATE_FOR_NOTIFICATION_RELATED_MODEL_INITIALIZATION_FUNCTION_DELETE_RESPONSE, MAKE_TEMPLATE_FOR_STORAGEFILE_RELATED_MODEL_INITIALIZATION_FUNCTION_DELETE_RESPONSE, MutableNotificationExpediteService, NOTIFICATION_BOX_NOT_INITIALIZED_DELAY_MINUTES, NOTIFICATION_INIT_SERVER_ACTIONS_CONTEXT_CONFIG_TOKEN, NOTIFICATION_MAX_SEND_ATTEMPTS, NOTIFICATION_SERVER_ACTION_CONTEXT_TOKEN, NOTIFICATION_TASK_MINIMUM_SET_AT_THROTTLE_TIME_MINUTES, NOTIFICATION_TASK_TYPE_FAILURE_DELAY_HOURS, NOTIFICATION_TASK_TYPE_FAILURE_DELAY_MS, NOTIFICATION_TASK_TYPE_MAX_SEND_ATTEMPTS, NOTIFICATION_TEMPLATE_SERVICE_CONFIGS_ARRAY_TOKEN, NOTIFICATION_TEMPLATE_SERVICE_DEFAULTS_OVERRIDE_TOKEN, NotificationExpediteService, NotificationInitServerActions, NotificationSendService, NotificationServerActions, NotificationTaskService, NotificationTaskSubTaskMissingRequiredDataTermination, NotificationTemplateService, SEND_QUEUE_NOTIFICATIONS_TASK_EXCESS_THRESHOLD, STORAGE_FILE_INIT_SERVER_ACTIONS_CONTEXT_CONFIG_TOKEN, STORAGE_FILE_SERVER_ACTION_CONTEXT_TOKEN, STORAGE_FILE_SIGNED_UPLOAD_POLICIES_TOKEN, StorageFileInitServerActions, StorageFileInitializeFromUploadService, StorageFileServerActions, UNKNOWN_NOTIFICATION_TASK_TYPE_DELETE_AFTER_RETRY_ATTEMPTS, UNKNOWN_NOTIFICATION_TASK_TYPE_HOURS_DELAY, UNKNOWN_NOTIFICATION_TEMPLATE_TYPE_DELETE_AFTER_RETRY_ATTEMPTS, UNKNOWN_NOTIFICATION_TEMPLATE_TYPE_HOURS_DELAY, _initializeStorageFileFromUploadFileFactory, _processStorageFileInTransactionFactory, _syncStorageFileWithGroupsInTransactionFactory, allStorageFileGroupStorageFileProcessingPurposeSubtaskProcessors, appNotificationModuleMetadata, appStorageFileModuleMetadata, cleanupOldNotificationLoggedEventDaysFactory, cleanupSentNotificationsFactory, compressImageBufferToTargetSize, compressPdfImagesToTargetSize, createNotificationBoxFactory, createNotificationBoxInTransactionFactory, createNotificationIdRequiredError, createNotificationSummaryFactory, createNotificationUserFactory, createOrRunUniqueNotificationDocument, createStorageFileFactory, createStorageFileGroupFactory, createStorageFileGroupInTransactionFactory, createStorageFileGroupInputError, createStorageFileSignedUploadUrlFactory, deleteAllQueuedStorageFilesFactory, deleteStorageFileFactory, downloadMultipleStorageFilesFactory, downloadStorageFileFactory, expandNotificationRecipients, exportMutableNotificationExpediteService, firestoreNotificationSummarySendService, ignoreSendNotificationTextSendService, initializeAllApplicableNotificationBoxesFactory, initializeAllApplicableNotificationSummariesFactory, initializeAllApplicableStorageFileGroupsFactory, initializeAllStorageFilesFromUploadsFactory, initializeNotificationBoxFactory, initializeNotificationBoxInTransactionFactory, initializeNotificationModelInTransaction, initializeNotificationSummaryFactory, initializeNotificationSummaryInTransactionFactory, initializeStorageFileFromUploadFactory, initializeStorageFileGroupFactory, initializeStorageFileGroupInTransactionFactory, initializeStorageFileModelInTransaction, mailgunNotificationEmailSendService, makeNewNotificationSummaryTemplate, markStorageFileForDeleteTemplate, notificationBoxDoesNotExist, notificationBoxExclusionTargetInvalidError, notificationBoxExistsForModelError, notificationBoxRecipientDoesNotExistsError, notificationBoxUnregistredModelTypeInitializationError, notificationExpediteServiceInstance, notificationInitServerActions, notificationInitServerActionsFactory, notificationModelAlreadyInitializedError, notificationServerActions, notificationServerActionsContextFactory, notificationServerActionsFactory, notificationTaskService, notificationTaskSubTaskMissingRequiredDataTermination, notificationTaskSubtaskNotificationTaskHandlerFactory, notificationTemplateServiceInstance, notificationUserBlockedFromBeingAddedToRecipientsError, notificationUserInvalidUidForCreateError, notificationUserLockedConfigFromBeingUpdatedError, processAllQueuedStorageFilesFactory, processStorageFileFactory, provideMutableNotificationExpediteService, queryAndFlagStorageFilesForDelete, readMultipleStorageFilesMetadataFactory, readStorageFileMetadataFactory, regenerateAllFlaggedStorageFileGroupsContentFactory, regenerateStorageFileGroupContentFactory, resyncAllNotificationUsersFactory, resyncNotificationUserFactory, sendNotificationFactory, sendQueuedNotificationsFactory, storageFileAlreadyProcessedError, storageFileCannotBeDeletedYetError, storageFileCreateSignedUploadUrlToolDetailsFactory, storageFileGroupQueuedForInitializationError, storageFileGroupZipStorageFileProcessingPurposeSubtaskProcessor, storageFileInitServerActions, storageFileInitServerActionsFactory, storageFileInitializeFromUploadService, storageFileInitializeFromUploadServiceInitializerResultPermanentFailure, storageFileModelAlreadyInitializedError, storageFileNotFlaggedForDeletionError, storageFileNotFlaggedForGroupsSyncError, storageFileProcessingNotAllowedForInvalidStateError, storageFileProcessingNotAvailableForTypeError, storageFileProcessingNotQueuedForProcessingError, storageFileProcessingNotificationTaskHandler, storageFileProcessingNotificationTaskHandlerDefaultCleanup, storageFileServerActions, storageFileServerActionsContextFactory, storageFileServerActionsFactory, syncAllFlaggedStorageFilesWithGroupsFactory, syncStorageFileWithGroupsFactory, updateNotificationBoxFactory, updateNotificationBoxRecipientExclusionInTransactionFactory, updateNotificationBoxRecipientFactory, updateNotificationBoxRecipientInTransactionFactory, updateNotificationSummaryFactory, updateNotificationUserFactory, updateNotificationUserNotificationBoxRecipientConfig, updateStorageFileFactory, updateStorageFileGroupFactory, uploadedFileDoesNotExistError, uploadedFileInitializationDiscardedError, uploadedFileInitializationFailedError, uploadedFileIsNotAllowedToBeInitializedError };
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/model",
3
- "version": "13.12.8",
3
+ "version": "13.13.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.12.8",
6
- "@dereekb/date": "13.12.8",
7
- "@dereekb/firebase": "13.12.8",
8
- "@dereekb/firebase-server": "13.12.8",
9
- "@dereekb/model": "13.12.8",
10
- "@dereekb/nestjs": "13.12.8",
11
- "@dereekb/rxjs": "13.12.8",
12
- "@dereekb/util": "13.12.8",
5
+ "@dereekb/analytics": "13.13.0",
6
+ "@dereekb/date": "13.13.0",
7
+ "@dereekb/firebase": "13.13.0",
8
+ "@dereekb/firebase-server": "13.13.0",
9
+ "@dereekb/model": "13.13.0",
10
+ "@dereekb/nestjs": "13.13.0",
11
+ "@dereekb/rxjs": "13.13.0",
12
+ "@dereekb/util": "13.13.0",
13
13
  "@nestjs/common": "^11.1.19",
14
14
  "@nestjs/config": "^4.0.4",
15
15
  "archiver": "^7.0.1",