@dereekb/firebase-server 13.12.9 → 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.
- package/mailgun/package.json +9 -9
- package/mcp/package.json +11 -11
- package/model/index.cjs.js +209 -0
- package/model/index.esm.js +208 -2
- package/model/package.json +9 -9
- package/model/src/lib/storagefile/storagefile.action.server.d.ts +61 -1
- package/oidc/index.cjs.js +1025 -283
- package/oidc/index.esm.js +1016 -285
- package/oidc/package.json +10 -10
- package/oidc/src/lib/controller/oidc.interaction.controller.d.ts +4 -1
- package/oidc/src/lib/controller/oidc.provider.controller.d.ts +17 -0
- package/oidc/src/lib/oidc.config.d.ts +60 -0
- package/oidc/src/lib/service/analytics/index.d.ts +4 -0
- package/oidc/src/lib/service/analytics/oidc.analytics.config.d.ts +46 -0
- package/oidc/src/lib/service/analytics/oidc.analytics.handler.d.ts +116 -0
- package/oidc/src/lib/service/analytics/oidc.analytics.module.d.ts +35 -0
- package/oidc/src/lib/service/analytics/oidc.analytics.service.d.ts +23 -0
- package/oidc/src/lib/service/index.d.ts +1 -0
- package/oidc/src/lib/service/oidc.account.service.d.ts +15 -0
- package/oidc/src/lib/service/oidc.client.service.d.ts +4 -0
- package/oidc/src/lib/service/oidc.interaction.service.d.ts +2 -2
- package/oidc/src/lib/service/oidc.service.d.ts +23 -1
- package/oidc/src/lib/service/oidc.session-ttl.d.ts +114 -0
- package/package.json +10 -10
- package/test/index.cjs.js +11 -3
- package/test/index.esm.js +11 -3
- package/test/package.json +11 -11
- package/twilio/package.json +8 -8
- package/zoho/package.json +9 -9
package/mailgun/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/mailgun",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.13.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.
|
|
6
|
-
"@dereekb/firebase": "13.
|
|
7
|
-
"@dereekb/firebase-server": "13.
|
|
8
|
-
"@dereekb/date": "13.
|
|
9
|
-
"@dereekb/nestjs": "13.
|
|
10
|
-
"@dereekb/model": "13.
|
|
11
|
-
"@dereekb/rxjs": "13.
|
|
12
|
-
"@dereekb/util": "13.
|
|
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/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/mcp",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.13.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.
|
|
6
|
-
"@dereekb/date": "13.
|
|
7
|
-
"@dereekb/firebase": "13.
|
|
8
|
-
"@dereekb/firebase-server": "13.
|
|
9
|
-
"@dereekb/firebase-server/oidc": "13.
|
|
10
|
-
"@dereekb/model": "13.
|
|
11
|
-
"@dereekb/nestjs": "13.
|
|
12
|
-
"@dereekb/rxjs": "13.
|
|
13
|
-
"@dereekb/util": "13.
|
|
14
|
-
"@dereekb/zoho": "13.
|
|
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",
|
package/model/index.cjs.js
CHANGED
|
@@ -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;
|
package/model/index.esm.js
CHANGED
|
@@ -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 };
|
package/model/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/model",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.13.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.
|
|
6
|
-
"@dereekb/date": "13.
|
|
7
|
-
"@dereekb/firebase": "13.
|
|
8
|
-
"@dereekb/firebase-server": "13.
|
|
9
|
-
"@dereekb/model": "13.
|
|
10
|
-
"@dereekb/nestjs": "13.
|
|
11
|
-
"@dereekb/rxjs": "13.
|
|
12
|
-
"@dereekb/util": "13.
|
|
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",
|