@dereekb/firebase-server 13.4.0 → 13.4.2
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/index.cjs.js +553 -119
- package/index.esm.js +553 -121
- package/mailgun/package.json +9 -9
- package/model/index.cjs.js +645 -350
- package/model/index.esm.js +646 -351
- package/model/package.json +9 -9
- package/model/src/lib/mailgun/notification.send.service.mailgun.d.ts +1 -0
- package/model/src/lib/notification/index.d.ts +2 -2
- package/model/src/lib/notification/{notification.action.service.d.ts → notification.action.server.d.ts} +53 -1
- package/model/src/lib/notification/{notification.action.init.service.d.ts → notification.action.server.init.d.ts} +20 -0
- package/model/src/lib/notification/notification.config.service.d.ts +2 -0
- package/model/src/lib/notification/notification.create.run.d.ts +1 -0
- package/model/src/lib/notification/notification.error.d.ts +16 -0
- package/model/src/lib/notification/notification.expedite.service.d.ts +11 -3
- package/model/src/lib/notification/notification.module.d.ts +19 -6
- package/model/src/lib/notification/notification.send.service.notificationsummary.d.ts +1 -0
- package/model/src/lib/notification/notification.send.service.text.d.ts +2 -0
- package/model/src/lib/notification/notification.task.service.handler.d.ts +1 -0
- package/model/src/lib/notification/notification.task.service.util.d.ts +1 -0
- package/model/src/lib/notification/notification.task.subtask.handler.d.ts +3 -0
- package/model/src/lib/notification/notification.util.d.ts +4 -2
- package/model/src/lib/storagefile/index.d.ts +1 -1
- package/model/src/lib/storagefile/storagefile.action.server.d.ts +98 -1
- package/model/src/lib/storagefile/{storagefile.action.init.service.d.ts → storagefile.action.server.init.d.ts} +13 -2
- package/model/src/lib/storagefile/storagefile.error.d.ts +27 -0
- package/model/src/lib/storagefile/storagefile.module.d.ts +14 -4
- package/model/src/lib/storagefile/storagefile.task.service.handler.d.ts +29 -7
- package/model/src/lib/storagefile/storagefile.upload.service.initializer.d.ts +2 -0
- package/oidc/index.cjs.js +150 -32
- package/oidc/index.esm.js +150 -32
- package/oidc/package.json +10 -10
- package/oidc/src/lib/controller/oidc.interaction.controller.d.ts +12 -0
- package/oidc/src/lib/controller/oidc.wellknown.controller.d.ts +6 -0
- package/oidc/src/lib/model/jwks/jwks.d.ts +9 -0
- package/oidc/src/lib/model/jwks/jwks.query.d.ts +9 -0
- package/oidc/src/lib/model/oidc/oidcmodel.action.server.d.ts +13 -0
- package/oidc/src/lib/model/oidc/oidcmodel.module.d.ts +5 -1
- package/oidc/src/lib/oidc.config.d.ts +2 -1
- package/oidc/src/lib/oidc.module.d.ts +9 -2
- package/oidc/src/lib/service/oidc.account.service.d.ts +7 -0
- package/oidc/src/lib/service/oidc.adapter.service.d.ts +1 -0
- package/oidc/src/lib/service/oidc.config.service.d.ts +1 -0
- package/oidc/src/lib/service/oidc.encryption.service.d.ts +6 -0
- package/oidc/src/lib/service/oidc.interaction.service.d.ts +15 -0
- package/oidc/src/lib/service/oidc.jwks.service.d.ts +18 -2
- package/oidc/src/lib/service/oidc.service.d.ts +7 -3
- package/package.json +10 -10
- package/src/lib/auth/auth.context.d.ts +1 -0
- package/src/lib/auth/auth.service.d.ts +17 -1
- package/src/lib/auth/auth.service.error.d.ts +46 -0
- package/src/lib/env/env.config.d.ts +2 -0
- package/src/lib/env/env.service.d.ts +21 -7
- package/src/lib/firestore/array.d.ts +1 -0
- package/src/lib/firestore/driver.accessor.batch.d.ts +4 -0
- package/src/lib/firestore/driver.accessor.d.ts +4 -0
- package/src/lib/firestore/driver.accessor.default.d.ts +5 -1
- package/src/lib/firestore/driver.accessor.transaction.d.ts +4 -0
- package/src/lib/firestore/driver.d.ts +2 -0
- package/src/lib/firestore/driver.query.d.ts +4 -0
- package/src/lib/firestore/increment.d.ts +1 -0
- package/src/lib/function/assert.d.ts +7 -0
- package/src/lib/function/context.d.ts +4 -0
- package/src/lib/function/error.auth.d.ts +2 -0
- package/src/lib/function/error.d.ts +86 -11
- package/src/lib/index.d.ts +0 -1
- package/src/lib/nest/analytics/analytics.service.listener.d.ts +2 -0
- package/src/lib/nest/app.d.ts +6 -3
- package/src/lib/nest/auth/auth.module.d.ts +6 -0
- package/src/lib/nest/auth/auth.util.d.ts +19 -1
- package/src/lib/nest/development/development.app.function.d.ts +12 -4
- package/src/lib/nest/development/development.assert.function.d.ts +6 -2
- package/src/lib/nest/development/development.function.d.ts +6 -1
- package/src/lib/nest/development/development.schedule.function.d.ts +3 -1
- package/src/lib/nest/development/development.schedule.function.error.d.ts +8 -0
- package/src/lib/nest/env/env.service.d.ts +2 -0
- package/src/lib/nest/env/env.util.d.ts +6 -0
- package/src/lib/nest/firebase/firebase.module.d.ts +1 -0
- package/src/lib/nest/firestore/firestore.module.d.ts +8 -0
- package/src/lib/nest/function/context.d.ts +2 -0
- package/src/lib/nest/model/analytics.details.d.ts +21 -7
- package/src/lib/nest/model/analytics.emit.d.ts +3 -0
- package/src/lib/nest/model/analytics.handler.d.ts +30 -10
- package/src/lib/nest/model/api.details.d.ts +34 -1
- package/src/lib/nest/model/call.model.function.d.ts +20 -4
- package/src/lib/nest/model/create.model.function.d.ts +6 -1
- package/src/lib/nest/model/crud.assert.function.d.ts +12 -4
- package/src/lib/nest/model/delete.model.function.d.ts +6 -1
- package/src/lib/nest/model/permission.error.d.ts +7 -0
- package/src/lib/nest/model/read.model.function.d.ts +6 -1
- package/src/lib/nest/model/specifier.function.d.ts +3 -0
- package/src/lib/nest/model/update.model.function.d.ts +6 -1
- package/src/lib/nest/nest.provider.d.ts +16 -2
- package/src/lib/nest/storage/storage.module.d.ts +9 -0
- package/src/lib/storage/driver.accessor.d.ts +22 -0
- package/src/lib/storage/driver.d.ts +2 -0
- package/src/lib/storage/storage.d.ts +1 -0
- package/test/package.json +10 -10
- package/zoho/index.cjs.js +8 -6
- package/zoho/index.esm.js +8 -6
- package/zoho/package.json +9 -9
- package/zoho/src/lib/zoho.accounts.firebase.d.ts +2 -1
- package/zoho/src/lib/zoho.accounts.firebase.system.d.ts +2 -1
package/model/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/model",
|
|
3
|
-
"version": "13.4.
|
|
3
|
+
"version": "13.4.2",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.4.
|
|
6
|
-
"@dereekb/date": "13.4.
|
|
7
|
-
"@dereekb/firebase": "13.4.
|
|
8
|
-
"@dereekb/firebase-server": "13.4.
|
|
9
|
-
"@dereekb/model": "13.4.
|
|
10
|
-
"@dereekb/nestjs": "13.4.
|
|
11
|
-
"@dereekb/rxjs": "13.4.
|
|
12
|
-
"@dereekb/util": "13.4.
|
|
5
|
+
"@dereekb/analytics": "13.4.2",
|
|
6
|
+
"@dereekb/date": "13.4.2",
|
|
7
|
+
"@dereekb/firebase": "13.4.2",
|
|
8
|
+
"@dereekb/firebase-server": "13.4.2",
|
|
9
|
+
"@dereekb/model": "13.4.2",
|
|
10
|
+
"@dereekb/nestjs": "13.4.2",
|
|
11
|
+
"@dereekb/rxjs": "13.4.2",
|
|
12
|
+
"@dereekb/util": "13.4.2",
|
|
13
13
|
"@nestjs/common": "^11.1.16",
|
|
14
14
|
"@nestjs/config": "^4.0.3",
|
|
15
15
|
"archiver": "^7.0.0",
|
|
@@ -59,6 +59,7 @@ export type MailgunNotificationEmailSendService = NotificationEmailSendService;
|
|
|
59
59
|
* and dispatches them through the Mailgun API.
|
|
60
60
|
*
|
|
61
61
|
* @param config - service configuration including the Mailgun service, template builders, and batch size
|
|
62
|
+
* @returns a {@link NotificationEmailSendService} that batches and sends emails through Mailgun
|
|
62
63
|
*
|
|
63
64
|
* @example
|
|
64
65
|
* ```ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './notification.action.
|
|
2
|
-
export * from './notification.action.init
|
|
1
|
+
export * from './notification.action.server';
|
|
2
|
+
export * from './notification.action.server.init';
|
|
3
3
|
export * from './notification.config.service';
|
|
4
4
|
export * from './notification.config';
|
|
5
5
|
export * from './notification.create.run';
|
|
@@ -64,6 +64,7 @@ export declare abstract class NotificationServerActions {
|
|
|
64
64
|
* to its factory function using the provided context.
|
|
65
65
|
*
|
|
66
66
|
* @param context - the fully assembled notification server actions context
|
|
67
|
+
* @returns a fully wired {@link NotificationServerActions} instance
|
|
67
68
|
*
|
|
68
69
|
* @example
|
|
69
70
|
* ```ts
|
|
@@ -78,6 +79,9 @@ export declare function notificationServerActions(context: NotificationServerAct
|
|
|
78
79
|
*
|
|
79
80
|
* Validates the UID exists in Firebase Auth, then creates a new {@link NotificationUser} document
|
|
80
81
|
* with empty default and global configs. Throws if the UID is not found in Auth.
|
|
82
|
+
*
|
|
83
|
+
* @param context - the notification server actions context with auth and collection access
|
|
84
|
+
* @returns a transform-and-validate function that creates a new notification user document
|
|
81
85
|
*/
|
|
82
86
|
export declare function createNotificationUserFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<CreateNotificationUserParams, () => Promise<NotificationUserDocument>, object, unknown>;
|
|
83
87
|
/**
|
|
@@ -86,6 +90,9 @@ export declare function createNotificationUserFactory(context: NotificationServe
|
|
|
86
90
|
* Updates a {@link NotificationUser}'s default config (`dc`), global config (`gc`), and/or
|
|
87
91
|
* box configs (`bc`). When the global config changes, iterates all box configs to propagate
|
|
88
92
|
* effective recipient changes and marks affected entries for sync.
|
|
93
|
+
*
|
|
94
|
+
* @param context - the notification server actions context with Firestore and collection access
|
|
95
|
+
* @returns a transform-and-validate function that updates an existing notification user document
|
|
89
96
|
*/
|
|
90
97
|
export declare function updateNotificationUserFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<UpdateNotificationUserParams, (notificationUserDocument: NotificationUserDocument) => Promise<NotificationUserDocument>, object, unknown>;
|
|
91
98
|
/**
|
|
@@ -95,6 +102,9 @@ export declare function updateNotificationUserFactory(context: NotificationServe
|
|
|
95
102
|
* entries flagged with `ns=true` (needs-sync), loading the corresponding {@link NotificationBox},
|
|
96
103
|
* and merging the user's preferences back into the box's recipient list. Handles removed entries
|
|
97
104
|
* and cleans up stale box references.
|
|
105
|
+
*
|
|
106
|
+
* @param context - the notification server actions context with Firestore and collection access
|
|
107
|
+
* @returns a transform-and-validate function that resyncs a notification user's box configurations
|
|
98
108
|
*/
|
|
99
109
|
export declare function resyncNotificationUserFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<import("@dereekb/firebase").TargetModelParams, (notificationUserDocument: NotificationUserDocument) => Promise<ResyncNotificationUserResult>, object, unknown>;
|
|
100
110
|
/**
|
|
@@ -103,6 +113,9 @@ export declare function resyncNotificationUserFactory(context: NotificationServe
|
|
|
103
113
|
* Batch-processes all {@link NotificationUser} documents flagged for sync by querying
|
|
104
114
|
* for entries with `ns=true`, then calling the resync logic for each in parallel
|
|
105
115
|
* (up to 5 concurrent tasks). Loops until no more flagged users are found.
|
|
116
|
+
*
|
|
117
|
+
* @param context - the notification server actions context with collection access
|
|
118
|
+
* @returns an async function that resyncs all flagged notification users and returns aggregate results
|
|
106
119
|
*/
|
|
107
120
|
export declare function resyncAllNotificationUsersFactory(context: NotificationServerActionsContext): () => Promise<ResyncAllNotificationUsersResult>;
|
|
108
121
|
/**
|
|
@@ -110,6 +123,9 @@ export declare function resyncAllNotificationUsersFactory(context: NotificationS
|
|
|
110
123
|
*
|
|
111
124
|
* Creates a new {@link NotificationSummary} document for a model, generating the summary ID
|
|
112
125
|
* from the model key and initializing it with a blank template.
|
|
126
|
+
*
|
|
127
|
+
* @param context - the notification server actions context with collection access
|
|
128
|
+
* @returns a transform-and-validate function that creates a new notification summary document
|
|
113
129
|
*/
|
|
114
130
|
export declare function createNotificationSummaryFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<CreateNotificationSummaryParams, () => Promise<NotificationSummaryDocument>, object, unknown>;
|
|
115
131
|
/**
|
|
@@ -117,6 +133,9 @@ export declare function createNotificationSummaryFactory(context: NotificationSe
|
|
|
117
133
|
*
|
|
118
134
|
* Updates an existing {@link NotificationSummary} document's owner or setup flag.
|
|
119
135
|
* Runs within a Firestore transaction to ensure consistency.
|
|
136
|
+
*
|
|
137
|
+
* @param context - the notification server actions context
|
|
138
|
+
* @returns a transform-and-validate function that updates an existing notification summary document
|
|
120
139
|
*/
|
|
121
140
|
export declare function updateNotificationSummaryFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<UpdateNotificationSummaryParams, (notificationSummaryDocument: NotificationSummaryDocument) => Promise<NotificationSummaryDocument>, object, unknown>;
|
|
122
141
|
/**
|
|
@@ -139,6 +158,9 @@ export interface CreateNotificationBoxInTransactionInput extends NotificationBox
|
|
|
139
158
|
*
|
|
140
159
|
* Checks for existing boxes and throws if one already exists for the model.
|
|
141
160
|
* Also syncs initial recipients with their corresponding {@link NotificationUser} documents.
|
|
161
|
+
*
|
|
162
|
+
* @param context - the base notification server actions context with collection access
|
|
163
|
+
* @returns an async function that creates a notification box within a transaction and returns the document and template
|
|
142
164
|
*/
|
|
143
165
|
export declare function createNotificationBoxInTransactionFactory(context: BaseNotificationServerActionsContext): (params: CreateNotificationBoxInTransactionInput, transaction: Transaction) => Promise<{
|
|
144
166
|
notificationBoxTemplate: NotificationBox;
|
|
@@ -149,9 +171,21 @@ export declare function createNotificationBoxInTransactionFactory(context: BaseN
|
|
|
149
171
|
*
|
|
150
172
|
* Wraps {@link createNotificationBoxInTransactionFactory} in a Firestore transaction
|
|
151
173
|
* and follows the transform-and-validate pattern.
|
|
174
|
+
*
|
|
175
|
+
* @param context - the notification server actions context with Firestore and collection access
|
|
176
|
+
* @returns a transform-and-validate function that creates a new notification box document
|
|
152
177
|
*/
|
|
153
178
|
export declare function createNotificationBoxFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<CreateNotificationBoxParams, () => Promise<NotificationBoxDocument>, object, unknown>;
|
|
154
|
-
|
|
179
|
+
/**
|
|
180
|
+
* Factory for the `updateNotificationBox` action.
|
|
181
|
+
*
|
|
182
|
+
* Currently a no-op placeholder that returns the document unchanged.
|
|
183
|
+
* Reserved for future box-level update logic.
|
|
184
|
+
*
|
|
185
|
+
* @param context - the notification server actions context (destructured for the transform factory)
|
|
186
|
+
* @returns a transform-and-validate function that returns the notification box document unchanged
|
|
187
|
+
*/
|
|
188
|
+
export declare function updateNotificationBoxFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<import("@dereekb/firebase").TargetModelParams, (notificationBoxDocument: NotificationBoxDocument) => Promise<NotificationBoxDocument>, object, unknown>;
|
|
155
189
|
export interface UpdateNotificationBoxRecipientExclusionInTransactionInput extends NotificationBoxDocumentReferencePair {
|
|
156
190
|
readonly params: UpdateNotificationBoxRecipientParams;
|
|
157
191
|
}
|
|
@@ -163,6 +197,9 @@ export interface UpdateNotificationBoxRecipientExclusionInTransactionResult {
|
|
|
163
197
|
*
|
|
164
198
|
* Manages the exclusion list (`x`) on both the box recipient and the corresponding
|
|
165
199
|
* {@link NotificationUser}'s send exclusion array, keeping them in sync.
|
|
200
|
+
*
|
|
201
|
+
* @param context - the base notification server actions context with collection access
|
|
202
|
+
* @returns an async function that updates recipient exclusions within a transaction
|
|
166
203
|
*/
|
|
167
204
|
export declare function updateNotificationBoxRecipientExclusionInTransactionFactory(context: BaseNotificationServerActionsContext): (input: UpdateNotificationBoxRecipientExclusionInTransactionInput, transaction: Transaction) => Promise<Maybe<UpdateNotificationBoxRecipientExclusionInTransactionResult>>;
|
|
168
205
|
export interface UpdateNotificationBoxRecipientInTransactionInput extends NotificationBoxDocumentReferencePair {
|
|
@@ -192,6 +229,9 @@ export interface UpdateNotificationBoxRecipientInTransactionResult {
|
|
|
192
229
|
* Handles inserting new recipients, updating existing ones, and removing recipients.
|
|
193
230
|
* Syncs changes with the recipient's {@link NotificationUser} document and manages
|
|
194
231
|
* recipient index assignment via a sorted-values free-index calculator.
|
|
232
|
+
*
|
|
233
|
+
* @param context - the base notification server actions context with auth and collection access
|
|
234
|
+
* @returns an async function that updates a recipient on a notification box within a transaction
|
|
195
235
|
*/
|
|
196
236
|
export declare function updateNotificationBoxRecipientInTransactionFactory(context: BaseNotificationServerActionsContext): (input: UpdateNotificationBoxRecipientInTransactionInput, transaction: Transaction) => Promise<Maybe<UpdateNotificationBoxRecipientInTransactionResult>>;
|
|
197
237
|
/**
|
|
@@ -199,6 +239,9 @@ export declare function updateNotificationBoxRecipientInTransactionFactory(conte
|
|
|
199
239
|
*
|
|
200
240
|
* Wraps the in-transaction recipient update logic, handling both recipient changes
|
|
201
241
|
* and send exclusion updates in a single Firestore transaction.
|
|
242
|
+
*
|
|
243
|
+
* @param context - the notification server actions context with Firestore and collection access
|
|
244
|
+
* @returns a transform-and-validate function that updates a recipient on a notification box
|
|
202
245
|
*/
|
|
203
246
|
export declare function updateNotificationBoxRecipientFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<UpdateNotificationBoxRecipientParams, (notificationBoxDocument: NotificationBoxDocument) => Promise<NotificationBoxDocument>, object, unknown>;
|
|
204
247
|
export declare const UNKNOWN_NOTIFICATION_TEMPLATE_TYPE_HOURS_DELAY = 8;
|
|
@@ -229,6 +272,9 @@ export declare const NOTIFICATION_TASK_TYPE_FAILURE_DELAY_MS: number;
|
|
|
229
272
|
*
|
|
230
273
|
* Supports throttling via `sendAt` time, configurable send flags, and task-based
|
|
231
274
|
* async workflows for notifications that require multi-step processing.
|
|
275
|
+
*
|
|
276
|
+
* @param context - the notification server actions context with template, send, and task services
|
|
277
|
+
* @returns a transform-and-validate function that processes and sends a notification document
|
|
232
278
|
*/
|
|
233
279
|
export declare function sendNotificationFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<SendNotificationParams, (inputNotificationDocument: NotificationDocument) => Promise<SendNotificationResult>, object, unknown>;
|
|
234
280
|
/**
|
|
@@ -252,6 +298,9 @@ export interface SendQueuedNotificationsInput {
|
|
|
252
298
|
* and an optional {@link NotificationExpediteService} for immediate delivery.
|
|
253
299
|
* Continues processing batches until no more queued notifications are found
|
|
254
300
|
* or the time budget is exhausted.
|
|
301
|
+
*
|
|
302
|
+
* @param context - the notification server actions context with collection group and send factory access
|
|
303
|
+
* @returns a transform-and-validate function that processes all queued notifications and returns aggregate results
|
|
255
304
|
*/
|
|
256
305
|
export declare function sendQueuedNotificationsFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<SendQueuedNotificationsParams, (input?: Maybe<SendQueuedNotificationsInput>) => Promise<SendQueuedNotificationsResult>, object, unknown>;
|
|
257
306
|
/**
|
|
@@ -260,5 +309,8 @@ export declare function sendQueuedNotificationsFactory(context: NotificationServ
|
|
|
260
309
|
* Queries for {@link Notification} documents that are ready for cleanup (fully sent,
|
|
261
310
|
* past the retention window) and deletes them in batches. Continues until no more
|
|
262
311
|
* cleanup-eligible notifications are found.
|
|
312
|
+
*
|
|
313
|
+
* @param context - the notification server actions context with Firestore and collection access
|
|
314
|
+
* @returns a transform-and-validate function that cleans up sent notification documents and returns aggregate results
|
|
263
315
|
*/
|
|
264
316
|
export declare function cleanupSentNotificationsFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<CleanupSentNotificationsParams, () => Promise<CleanupSentNotificationsResult>, object, unknown>;
|
|
@@ -75,6 +75,7 @@ export declare abstract class NotificationInitServerActions {
|
|
|
75
75
|
* initialization action to its factory function.
|
|
76
76
|
*
|
|
77
77
|
* @param context - the initialization context with template functions and Firestore access
|
|
78
|
+
* @returns a fully wired {@link NotificationInitServerActions} instance
|
|
78
79
|
*
|
|
79
80
|
* @example
|
|
80
81
|
* ```ts
|
|
@@ -106,6 +107,7 @@ export interface InitializeNotificationModelInTransactionInput<D extends Firesto
|
|
|
106
107
|
* Skips initialization if the model is already initialized, optionally throwing an error.
|
|
107
108
|
*
|
|
108
109
|
* @param input - the document, transaction, template function, and options
|
|
110
|
+
* @returns an object with `initialized` and `alreadyInitialized` boolean flags
|
|
109
111
|
* @throws notificationModelAlreadyInitializedError when `throwErrorIfAlreadyInitialized` is true
|
|
110
112
|
*/
|
|
111
113
|
export declare function initializeNotificationModelInTransaction<D extends FirestoreDocument<InitializedNotificationModel, any>>(input: InitializeNotificationModelInTransactionInput<D>): Promise<{
|
|
@@ -117,6 +119,9 @@ export declare function initializeNotificationModelInTransaction<D extends Fires
|
|
|
117
119
|
*
|
|
118
120
|
* Loads the box document in the transaction, reads its current data, and delegates
|
|
119
121
|
* to {@link initializeNotificationModelInTransaction} with the box-specific template function.
|
|
122
|
+
*
|
|
123
|
+
* @param context - the initialization context with collection references and template functions
|
|
124
|
+
* @returns an async function that initializes a notification box given params, document, and transaction
|
|
120
125
|
*/
|
|
121
126
|
export declare function initializeNotificationBoxInTransactionFactory(context: NotificationInitServerActionsContext): (params: InitializeNotificationModelParams, notificationBoxDocument: NotificationBoxDocument, transaction: Transaction) => Promise<{
|
|
122
127
|
initialized: boolean;
|
|
@@ -127,6 +132,9 @@ export declare function initializeNotificationBoxInTransactionFactory(context: N
|
|
|
127
132
|
*
|
|
128
133
|
* Wraps the in-transaction initialization in a Firestore transaction
|
|
129
134
|
* and follows the transform-and-validate pattern.
|
|
135
|
+
*
|
|
136
|
+
* @param context - the initialization context with Firestore access and template functions
|
|
137
|
+
* @returns a transform-and-validate function that initializes a single notification box
|
|
130
138
|
*/
|
|
131
139
|
export declare function initializeNotificationBoxFactory(context: NotificationInitServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<InitializeNotificationModelParams, (notificationBoxDocument: NotificationBoxDocument) => Promise<NotificationBoxDocument>, object, unknown>;
|
|
132
140
|
/**
|
|
@@ -135,6 +143,9 @@ export declare function initializeNotificationBoxFactory(context: NotificationIn
|
|
|
135
143
|
* Batch-processes all {@link NotificationBox} documents flagged for initialization
|
|
136
144
|
* by querying for entries with `s=true` (setup needed), then initializing each in
|
|
137
145
|
* parallel (up to 5 concurrent tasks). Loops until no more flagged boxes are found.
|
|
146
|
+
*
|
|
147
|
+
* @param context - the initialization context with Firestore access and collection references
|
|
148
|
+
* @returns a transform-and-validate function that batch-initializes all applicable notification boxes
|
|
138
149
|
*/
|
|
139
150
|
export declare function initializeAllApplicableNotificationBoxesFactory(context: NotificationInitServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<InitializeAllApplicableNotificationBoxesParams, () => Promise<InitializeAllApplicableNotificationBoxesResult>, object, unknown>;
|
|
140
151
|
/**
|
|
@@ -142,6 +153,9 @@ export declare function initializeAllApplicableNotificationBoxesFactory(context:
|
|
|
142
153
|
*
|
|
143
154
|
* Loads the summary document in the transaction, reads its current data, and delegates
|
|
144
155
|
* to {@link initializeNotificationModelInTransaction} with the summary-specific template function.
|
|
156
|
+
*
|
|
157
|
+
* @param context - the initialization context with collection references and template functions
|
|
158
|
+
* @returns an async function that initializes a notification summary given params, document, and transaction
|
|
145
159
|
*/
|
|
146
160
|
export declare function initializeNotificationSummaryInTransactionFactory(context: NotificationInitServerActionsContext): (params: InitializeNotificationModelParams, notificationSummaryDocument: NotificationSummaryDocument, transaction: Transaction) => Promise<{
|
|
147
161
|
initialized: boolean;
|
|
@@ -152,6 +166,9 @@ export declare function initializeNotificationSummaryInTransactionFactory(contex
|
|
|
152
166
|
*
|
|
153
167
|
* Wraps the in-transaction summary initialization in a Firestore transaction
|
|
154
168
|
* and follows the transform-and-validate pattern.
|
|
169
|
+
*
|
|
170
|
+
* @param context - the initialization context with Firestore access and template functions
|
|
171
|
+
* @returns a transform-and-validate function that initializes a single notification summary
|
|
155
172
|
*/
|
|
156
173
|
export declare function initializeNotificationSummaryFactory(context: NotificationInitServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<InitializeNotificationModelParams, (notificationSummaryDocument: NotificationSummaryDocument) => Promise<NotificationSummaryDocument>, object, unknown>;
|
|
157
174
|
/**
|
|
@@ -160,5 +177,8 @@ export declare function initializeNotificationSummaryFactory(context: Notificati
|
|
|
160
177
|
* Batch-processes all {@link NotificationSummary} documents flagged for initialization
|
|
161
178
|
* by querying for entries with `s=true` (setup needed), then initializing each in
|
|
162
179
|
* parallel (up to 5 concurrent tasks). Loops until no more flagged summaries are found.
|
|
180
|
+
*
|
|
181
|
+
* @param context - the initialization context with Firestore access and collection references
|
|
182
|
+
* @returns a transform-and-validate function that batch-initializes all applicable notification summaries
|
|
163
183
|
*/
|
|
164
184
|
export declare function initializeAllApplicableNotificationSummariesFactory(context: NotificationInitServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<InitializeAllApplicableNotificationSummariesParams, () => Promise<InitializeAllApplicableNotificationSummariesResult>, object, unknown>;
|
|
@@ -36,6 +36,7 @@ export declare class NotificationTemplateService {
|
|
|
36
36
|
* pre-wired with the resolved factory for that type.
|
|
37
37
|
*
|
|
38
38
|
* @param type - the notification template type
|
|
39
|
+
* @returns a new {@link NotificationTemplateServiceInstance} bound to the given type
|
|
39
40
|
*/
|
|
40
41
|
templateInstanceForType(type: NotificationTemplateType): NotificationTemplateServiceInstance;
|
|
41
42
|
}
|
|
@@ -75,6 +76,7 @@ export interface NotificationTemplateServiceInstance {
|
|
|
75
76
|
*
|
|
76
77
|
* @param service - the parent template service
|
|
77
78
|
* @param type - the template type to bind
|
|
79
|
+
* @returns a {@link NotificationTemplateServiceInstance} with the resolved factory for the type
|
|
78
80
|
*
|
|
79
81
|
* @example
|
|
80
82
|
* ```ts
|
|
@@ -65,6 +65,7 @@ export interface CreateOrRunUniqueNotificationDocumentRunResult extends CreateNo
|
|
|
65
65
|
* Does not support Firestore transactions, as running should occur outside of a transaction.
|
|
66
66
|
*
|
|
67
67
|
* @param input - creation and run configuration
|
|
68
|
+
* @returns the creation pair result with optional send/enqueue outcomes
|
|
68
69
|
* @throws Error if the notification template is not flagged as unique
|
|
69
70
|
*
|
|
70
71
|
* @example
|
|
@@ -3,6 +3,8 @@ import { type FirestoreModelKey, type FirebaseAuthUserId } from '@dereekb/fireba
|
|
|
3
3
|
* Creates an error indicating that a required notification ID was missing during creation.
|
|
4
4
|
*
|
|
5
5
|
* Thrown when attempting to create a {@link Notification} document without providing the mandatory ID field.
|
|
6
|
+
*
|
|
7
|
+
* @returns a precondition conflict error with the notification ID required error code
|
|
6
8
|
*/
|
|
7
9
|
export declare function createNotificationIdRequiredError(): import("firebase-functions/https").HttpsError;
|
|
8
10
|
/**
|
|
@@ -10,6 +12,8 @@ export declare function createNotificationIdRequiredError(): import("firebase-fu
|
|
|
10
12
|
*
|
|
11
13
|
* Thrown during initialization when `throwErrorIfAlreadyInitialized` is true and the model's
|
|
12
14
|
* setup flag (`s`) indicates it was previously initialized.
|
|
15
|
+
*
|
|
16
|
+
* @returns a precondition conflict error with the already-initialized error code
|
|
13
17
|
*/
|
|
14
18
|
export declare function notificationModelAlreadyInitializedError(): import("firebase-functions/https").HttpsError;
|
|
15
19
|
/**
|
|
@@ -18,12 +22,15 @@ export declare function notificationModelAlreadyInitializedError(): import("fire
|
|
|
18
22
|
* Thrown when the model key's collection name does not match any registered notification model type.
|
|
19
23
|
*
|
|
20
24
|
* @param key - the Firestore model key that has no registered notification model type
|
|
25
|
+
* @returns a precondition conflict error with the unregistered model type error code
|
|
21
26
|
*/
|
|
22
27
|
export declare function notificationBoxUnregistredModelTypeInitializationError(key: FirestoreModelKey): import("firebase-functions/https").HttpsError;
|
|
23
28
|
/**
|
|
24
29
|
* Creates an error indicating that no {@link NotificationBox} exists for the target model.
|
|
25
30
|
*
|
|
26
31
|
* Thrown when an operation requires a NotificationBox but none has been created for the given model key.
|
|
32
|
+
*
|
|
33
|
+
* @returns a precondition conflict error with the box-not-found error code
|
|
27
34
|
*/
|
|
28
35
|
export declare function notificationBoxDoesNotExist(): import("firebase-functions/https").HttpsError;
|
|
29
36
|
/**
|
|
@@ -31,12 +38,16 @@ export declare function notificationBoxDoesNotExist(): import("firebase-function
|
|
|
31
38
|
*
|
|
32
39
|
* Thrown when the target recipient on the {@link NotificationBox} does not exist on the box
|
|
33
40
|
* or does not have a UID, making it ineligible for exclusion.
|
|
41
|
+
*
|
|
42
|
+
* @returns a precondition conflict error with the invalid exclusion target error code
|
|
34
43
|
*/
|
|
35
44
|
export declare function notificationBoxExclusionTargetInvalidError(): import("firebase-functions/https").HttpsError;
|
|
36
45
|
/**
|
|
37
46
|
* Creates an error indicating that a {@link NotificationBox} already exists for this model.
|
|
38
47
|
*
|
|
39
48
|
* Thrown when attempting to create a duplicate NotificationBox for a model that already has one.
|
|
49
|
+
*
|
|
50
|
+
* @returns a precondition conflict error with the box-exists error code
|
|
40
51
|
*/
|
|
41
52
|
export declare function notificationBoxExistsForModelError(): import("firebase-functions/https").HttpsError;
|
|
42
53
|
/**
|
|
@@ -44,6 +55,8 @@ export declare function notificationBoxExistsForModelError(): import("firebase-f
|
|
|
44
55
|
*
|
|
45
56
|
* Thrown when attempting to update a recipient that is not registered on the box
|
|
46
57
|
* and `insert=true` was not passed to allow creating a new recipient entry.
|
|
58
|
+
*
|
|
59
|
+
* @returns a precondition conflict error with the recipient-not-found error code
|
|
47
60
|
*/
|
|
48
61
|
export declare function notificationBoxRecipientDoesNotExistsError(): import("firebase-functions/https").HttpsError;
|
|
49
62
|
/**
|
|
@@ -52,6 +65,7 @@ export declare function notificationBoxRecipientDoesNotExistsError(): import("fi
|
|
|
52
65
|
* Thrown during {@link NotificationUser} creation when the provided UID cannot be found in Firebase Auth.
|
|
53
66
|
*
|
|
54
67
|
* @param uid - the Firebase Auth user ID that was not found
|
|
68
|
+
* @returns a precondition conflict error with the invalid-uid error code
|
|
55
69
|
*/
|
|
56
70
|
export declare function notificationUserInvalidUidForCreateError(uid: FirebaseAuthUserId): import("firebase-functions/https").HttpsError;
|
|
57
71
|
/**
|
|
@@ -61,6 +75,7 @@ export declare function notificationUserInvalidUidForCreateError(uid: FirebaseAu
|
|
|
61
75
|
* and an operation attempts to insert them into a {@link NotificationBox}'s recipient list.
|
|
62
76
|
*
|
|
63
77
|
* @param uid - the Firebase Auth user ID of the blocked user
|
|
78
|
+
* @returns a precondition conflict error with the blocked-from-add error code
|
|
64
79
|
*/
|
|
65
80
|
export declare function notificationUserBlockedFromBeingAddedToRecipientsError(uid: FirebaseAuthUserId): import("firebase-functions/https").HttpsError;
|
|
66
81
|
/**
|
|
@@ -70,5 +85,6 @@ export declare function notificationUserBlockedFromBeingAddedToRecipientsError(u
|
|
|
70
85
|
* and an operation attempts to modify their recipient settings on a {@link NotificationBox}.
|
|
71
86
|
*
|
|
72
87
|
* @param uid - the Firebase Auth user ID of the locked user
|
|
88
|
+
* @returns a precondition conflict error with the locked-config error code
|
|
73
89
|
*/
|
|
74
90
|
export declare function notificationUserLockedConfigFromBeingUpdatedError(uid: FirebaseAuthUserId): import("firebase-functions/https").HttpsError;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type CreateNotificationDocumentPairResult, type NotificationDocument, type SendNotificationParams, type SendNotificationResult } from '@dereekb/firebase';
|
|
2
|
-
import { type NotificationServerActions } from './notification.action.
|
|
2
|
+
import { type NotificationServerActions } from './notification.action.server';
|
|
3
3
|
import { type Abstract, type Provider } from '@nestjs/common';
|
|
4
4
|
import { type Maybe } from '@dereekb/util';
|
|
5
5
|
export type NotificationExpediteServiceSendNotificationOptions = Pick<SendNotificationParams, 'ignoreSendAtThrottle' | 'throwErrorIfSent'>;
|
|
@@ -48,8 +48,8 @@ export interface NotificationExpediteServiceInstance {
|
|
|
48
48
|
/**
|
|
49
49
|
* Creates a new NotificationExpediteServiceInstance with the input NotificationExpediteService.
|
|
50
50
|
|
|
51
|
-
* @param notificationExpediteService
|
|
52
|
-
* @returns
|
|
51
|
+
* @param notificationExpediteService - the expedite service to use for sending
|
|
52
|
+
* @returns a new {@link NotificationExpediteServiceInstance} with an internal queue
|
|
53
53
|
*/
|
|
54
54
|
export declare function notificationExpediteServiceInstance(notificationExpediteService: NotificationExpediteService): NotificationExpediteServiceInstance;
|
|
55
55
|
/**
|
|
@@ -70,10 +70,14 @@ export declare class MutableNotificationExpediteService implements NotificationE
|
|
|
70
70
|
private _notificationServerActions;
|
|
71
71
|
/**
|
|
72
72
|
* Returns the configured NotificationServerActions instance.
|
|
73
|
+
*
|
|
74
|
+
* @returns the current {@link NotificationServerActions} instance
|
|
73
75
|
*/
|
|
74
76
|
getNotificationServerActions(): NotificationServerActions;
|
|
75
77
|
/**
|
|
76
78
|
* Sets the NotificationServerActions instance to use.
|
|
79
|
+
*
|
|
80
|
+
* @param notificationServerActions - the actions instance to configure
|
|
77
81
|
*/
|
|
78
82
|
setNotificationServerActions(notificationServerActions: NotificationServerActions): void;
|
|
79
83
|
sendNotification(notificationDocument: NotificationDocument, options?: NotificationExpediteServiceSendNotificationOptions): Promise<SendNotificationResult>;
|
|
@@ -83,11 +87,15 @@ export declare class MutableNotificationExpediteService implements NotificationE
|
|
|
83
87
|
* Provides an instance of MutableNotificationExpediteService and NotificationExpediteService.
|
|
84
88
|
*
|
|
85
89
|
* This should generally be used in the global module of an app.
|
|
90
|
+
*
|
|
91
|
+
* @returns an array of NestJS providers for both MutableNotificationExpediteService and NotificationExpediteService
|
|
86
92
|
*/
|
|
87
93
|
export declare function provideMutableNotificationExpediteService(): Provider[];
|
|
88
94
|
/**
|
|
89
95
|
* Convenience function that exports NotificationExpediteService and MutableNotificationExpediteService.
|
|
90
96
|
*
|
|
91
97
|
* This should generally be used in the global module of an app.
|
|
98
|
+
*
|
|
99
|
+
* @returns an array of abstract classes to export from the NestJS module
|
|
92
100
|
*/
|
|
93
101
|
export declare function exportMutableNotificationExpediteService(): Abstract<any>[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ModuleMetadata } from '@nestjs/common';
|
|
2
|
-
import { NotificationInitServerActions, type NotificationInitServerActionsContextConfig } from './notification.action.init
|
|
3
|
-
import { type BaseNotificationServerActionsContext, NotificationServerActions, type NotificationServerActionsContext } from './notification.action.
|
|
2
|
+
import { NotificationInitServerActions, type NotificationInitServerActionsContextConfig } from './notification.action.server.init';
|
|
3
|
+
import { type BaseNotificationServerActionsContext, NotificationServerActions, type NotificationServerActionsContext } from './notification.action.server';
|
|
4
4
|
import { NotificationTemplateService } from './notification.config.service';
|
|
5
5
|
import { type Maybe } from '@dereekb/util';
|
|
6
6
|
import { NotificationSendService } from './notification.send.service';
|
|
@@ -9,6 +9,13 @@ import { MutableNotificationExpediteService, NotificationExpediteService } from
|
|
|
9
9
|
/**
|
|
10
10
|
* Factory that assembles the full {@link NotificationServerActionsContext} by combining
|
|
11
11
|
* the base context with the template, send, task, and expedite services.
|
|
12
|
+
*
|
|
13
|
+
* @param context - the base server actions context
|
|
14
|
+
* @param notificationTemplateService - resolves message factories for notification template types
|
|
15
|
+
* @param notificationSendService - handles sending notification messages
|
|
16
|
+
* @param notificationTaskService - handles notification task dispatch
|
|
17
|
+
* @param notificationsExpediteService - expedites immediate notification delivery
|
|
18
|
+
* @returns the assembled {@link NotificationServerActionsContext}
|
|
12
19
|
*/
|
|
13
20
|
export declare function notificationServerActionsContextFactory(context: BaseNotificationServerActionsContext, notificationTemplateService: NotificationTemplateService, notificationSendService: NotificationSendService, notificationTaskService: NotificationTaskService, notificationsExpediteService: NotificationExpediteService): {
|
|
14
21
|
notificationTemplateService: NotificationTemplateService;
|
|
@@ -29,11 +36,18 @@ export declare function notificationServerActionsContextFactory(context: BaseNot
|
|
|
29
36
|
};
|
|
30
37
|
/**
|
|
31
38
|
* Factory that creates a {@link NotificationServerActions} instance from the assembled context.
|
|
39
|
+
*
|
|
40
|
+
* @param context - the assembled notification server actions context
|
|
41
|
+
* @returns a new {@link NotificationServerActions} instance
|
|
32
42
|
*/
|
|
33
|
-
export declare function notificationServerActionsFactory(context: NotificationServerActionsContext
|
|
43
|
+
export declare function notificationServerActionsFactory(context: NotificationServerActionsContext): NotificationServerActions;
|
|
34
44
|
/**
|
|
35
45
|
* Factory that creates a {@link NotificationInitServerActions} instance by merging the
|
|
36
46
|
* server actions context with the init-specific configuration.
|
|
47
|
+
*
|
|
48
|
+
* @param context - the assembled notification server actions context
|
|
49
|
+
* @param notificationInitServerActionsContextConfig - init-specific configuration
|
|
50
|
+
* @returns a new {@link NotificationInitServerActions} instance
|
|
37
51
|
*/
|
|
38
52
|
export declare function notificationInitServerActionsFactory(context: NotificationServerActionsContext, notificationInitServerActionsContextConfig: NotificationInitServerActionsContextConfig): NotificationInitServerActions;
|
|
39
53
|
export interface ProvideAppNotificationMetadataConfig extends Pick<ModuleMetadata, 'imports' | 'exports' | 'providers'> {
|
|
@@ -62,9 +76,8 @@ export interface ProvideAppNotificationMetadataConfig extends Pick<ModuleMetadat
|
|
|
62
76
|
*
|
|
63
77
|
* Be sure the class that delares the module using this function also extends AbstractAppNotificationModule.
|
|
64
78
|
*
|
|
65
|
-
* @param
|
|
66
|
-
* @
|
|
67
|
-
* @returns
|
|
79
|
+
* @param config - module metadata configuration including dependency module and additional providers
|
|
80
|
+
* @returns the assembled {@link ModuleMetadata} for the notification module
|
|
68
81
|
*/
|
|
69
82
|
export declare function appNotificationModuleMetadata(config: ProvideAppNotificationMetadataConfig): ModuleMetadata;
|
|
70
83
|
/**
|
|
@@ -33,6 +33,7 @@ export type FirestoreNotificationSummarySendService = NotificationSummarySendSer
|
|
|
33
33
|
* Each summary update runs in a Firestore transaction to prevent concurrent write conflicts.
|
|
34
34
|
*
|
|
35
35
|
* @param config - service configuration including Firestore context and collection references
|
|
36
|
+
* @returns a {@link NotificationSummarySendService} backed by Firestore
|
|
36
37
|
*
|
|
37
38
|
* @example
|
|
38
39
|
* ```ts
|
|
@@ -6,6 +6,8 @@ import { type NotificationTextSendService } from './notification.send.service';
|
|
|
6
6
|
* Useful as a placeholder when your app's notification pipeline is fully wired for SMS
|
|
7
7
|
* but actual delivery is not yet enabled, avoiding the need for conditional logic elsewhere.
|
|
8
8
|
*
|
|
9
|
+
* @returns a no-op {@link NotificationTextSendService} that ignores all messages
|
|
10
|
+
*
|
|
9
11
|
* @example
|
|
10
12
|
* ```ts
|
|
11
13
|
* const textService = ignoreSendNotificationTextSendService();
|
|
@@ -47,6 +47,7 @@ export interface NotificationTaskServiceConfig {
|
|
|
47
47
|
* If all checkpoints are complete, the task is marked as done.
|
|
48
48
|
*
|
|
49
49
|
* @param config - handler configurations and optional validation list
|
|
50
|
+
* @returns a {@link NotificationTaskService} that dispatches tasks to the registered handlers
|
|
50
51
|
*
|
|
51
52
|
* @example
|
|
52
53
|
* ```ts
|
|
@@ -8,6 +8,7 @@ import { type NotificationTaskCheckpointString, type NotificationTaskServiceHand
|
|
|
8
8
|
*
|
|
9
9
|
* @param inputCompletions - the current list of completed checkpoint strings
|
|
10
10
|
* @param handleTaskResult - the handler result containing removal instructions
|
|
11
|
+
* @returns the filtered completions array with specified checkpoints removed
|
|
11
12
|
*
|
|
12
13
|
* @example
|
|
13
14
|
* ```ts
|
|
@@ -219,6 +219,7 @@ export interface NotificationTaskSubtaskNotificationTaskHandlerConfig<I extends
|
|
|
219
219
|
* such as storage file processing or other async workflows.
|
|
220
220
|
*
|
|
221
221
|
* @param factoryConfig - shared configuration including the input function, cleanup logic, and task type
|
|
222
|
+
* @returns a factory function that produces {@link NotificationTaskServiceTaskHandlerConfig} entries
|
|
222
223
|
*
|
|
223
224
|
* @example
|
|
224
225
|
* ```ts
|
|
@@ -249,5 +250,7 @@ export declare class NotificationTaskSubTaskMissingRequiredDataTermination exten
|
|
|
249
250
|
}
|
|
250
251
|
/**
|
|
251
252
|
* Creates a NotificationTaskSubTaskMissingRequiredDataTermination.
|
|
253
|
+
*
|
|
254
|
+
* @returns a new {@link NotificationTaskSubTaskMissingRequiredDataTermination} error instance
|
|
252
255
|
*/
|
|
253
256
|
export declare function notificationTaskSubTaskMissingRequiredDataTermination(): NotificationTaskSubTaskMissingRequiredDataTermination;
|
|
@@ -8,6 +8,7 @@ import { type E164PhoneNumber, type EmailAddress, type Maybe, type PhoneNumber,
|
|
|
8
8
|
* and initializes with an empty notifications array.
|
|
9
9
|
*
|
|
10
10
|
* @param model - the model key to associate the summary with
|
|
11
|
+
* @returns a blank {@link NotificationSummary} with creation timestamp and empty notifications
|
|
11
12
|
*
|
|
12
13
|
* @example
|
|
13
14
|
* ```ts
|
|
@@ -142,8 +143,8 @@ export interface ExpandNotificationRecipientsResult {
|
|
|
142
143
|
*
|
|
143
144
|
* Recipients are each configurable and may be defined with as little info as a single contact info, or have multiple contact info pieces associated with them.
|
|
144
145
|
*
|
|
145
|
-
* @param input
|
|
146
|
-
* @returns
|
|
146
|
+
* @param input - the notification, box, auth service, and recipient configuration
|
|
147
|
+
* @returns channel-specific recipient lists (email, text, notification summary) ready for delivery
|
|
147
148
|
*/
|
|
148
149
|
export declare function expandNotificationRecipients(input: ExpandNotificationRecipientsInput): Promise<ExpandNotificationRecipientsResult>;
|
|
149
150
|
/**
|
|
@@ -199,6 +200,7 @@ export interface UpdateNotificationUserNotificationBoxRecipientConfigResult {
|
|
|
199
200
|
* Also re-applies send exclusions to the updated config array.
|
|
200
201
|
*
|
|
201
202
|
* @param input - the current state and intended change
|
|
203
|
+
* @returns the updated box config array and notification box recipient, if changes occurred
|
|
202
204
|
* @throws notificationUserBlockedFromBeingAddedToRecipientsError when inserting a blocked user
|
|
203
205
|
* @throws notificationUserLockedConfigFromBeingUpdatedError when updating a locked user's config
|
|
204
206
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './storagefile.action.server';
|
|
2
|
-
export * from './storagefile.action.init
|
|
2
|
+
export * from './storagefile.action.server.init';
|
|
3
3
|
export * from './storagefile.error';
|
|
4
4
|
export * from './storagefile.module';
|
|
5
5
|
export * from './storagefile.task.service.handler';
|