@dereekb/dbx-firebase 13.31.0 → 13.33.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/fesm2022/dereekb-dbx-firebase-oidc.mjs +123 -48
- package/fesm2022/dereekb-dbx-firebase-oidc.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-firebase.mjs +2446 -181
- package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/modules/externalconnection/_externalconnection.scss +19 -0
- package/lib/style/_all-core.scss +2 -0
- package/lib/style/_all-theme.scss +2 -0
- package/package.json +11 -11
- package/types/dereekb-dbx-firebase-oidc.d.ts +61 -13
- package/types/dereekb-dbx-firebase.d.ts +1705 -189
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { AnalyticsUserProperties, DbxAnalyticsUserSource, AnalyticsUser, DbxAnalyticsService } from '@dereekb/dbx-analytics';
|
|
2
2
|
import * as _dereekb_util from '@dereekb/util';
|
|
3
|
-
import { Maybe, ISO8601DateString, AuthRoleSet, AuthRoleClaimsService, AuthClaimsObject, PasswordString, AuthClaims, FactoryWithRequiredInput, Initialized, Destroyable, ArrayOrValue, LabelRef, ClassLikeType, PageNumber, GetterOrValue, IterableOrValue, SetIncludesMode, ModelKey, ClassType, MapFunction, PartialOnKeys, UnixDateTimeSecondsNumber, ContentTypeMimeType, Milliseconds,
|
|
3
|
+
import { Maybe, ISO8601DateString, AuthRoleSet, AuthRoleClaimsService, AuthClaimsObject, PasswordString, AuthClaims, FactoryWithRequiredInput, Initialized, Destroyable, ArrayOrValue, LabelRef, ClassLikeType, PageNumber, GetterOrValue, IterableOrValue, SetIncludesMode, ModelKey, ClassType, MapFunction, PartialOnKeys, PromiseOrValue, Seconds, Minutes, UnixDateTimeSecondsNumber, ContentTypeMimeType, Milliseconds, DateOrUnixDateTimeSecondsNumber, PercentDecimal, PercentNumber } from '@dereekb/util';
|
|
4
4
|
import * as _firebase_auth from '@firebase/auth';
|
|
5
5
|
import { DbxAuthService, AuthUserState, AuthUserIdentifier, DbxAuthImpersonationDetails, NoAuthUserIdentifier, DbxInjectionContext, ClickableAnchor, AbstractForwardDbxInjectionContextDirective, DbxActionSuccessHandlerFunction, DbxInjectionComponentConfig, DbxAuthImpersonationDelegate, ProvideDbxAuthImpersonationConfig, ClickableUrl, IconAndTitle, SegueRef, ClickableAnchorLinkSegueRef, LockSetComponent, DbxButtonDisplay, DbxRouteModelIdDirectiveDelegate, DbxRouteModelKeyDirectiveDelegate, LockSetComponentStore, AbstractIfDirective, StorageAccessor, DbxActionContextStoreSourceInstance, DbxActionHandlerInstance, DbxButton, SimpleStorageAccessorFactory, DbxRouteParamReader, DbxRouterService } from '@dereekb/dbx-core';
|
|
6
6
|
import { UserInfo, User, IdTokenResult, ParsedToken, AuthProvider, PopupRedirectResolver, UserCredential, AuthCredential, Auth } from 'firebase/auth';
|
|
7
7
|
import * as rxjs from 'rxjs';
|
|
8
8
|
import { Observable, BehaviorSubject, Subject, OperatorFunction, Subscription } from 'rxjs';
|
|
9
9
|
import * as _dereekb_firebase from '@dereekb/firebase';
|
|
10
|
-
import { FirebaseAuthToken, FirebaseAuthOobCode, FirebaseAuthIdToken, FirebaseAuthContextInfo, FirebaseDevelopmentFunctions, ScheduledFunctionDevelopmentFirebaseFunctionListEntry, FirestoreContext, FirestoreContextCacheFactory, NotificationFirestoreCollections, StorageFileFirestoreCollections, SystemStateFirestoreCollections, FirebaseFunctionsMap, FirebaseFunctionsConfigMap, FirestoreQueryConstraint, FirestoreItemPageIterationInstance, DocumentDataWithIdAndKey, IterationQueryDocChangeWatcher, FirebaseQuerySnapshotAccumulator, FirebaseQueryItemAccumulator, FirebaseQueryItemAccumulatorNextPageUntilResultsCountFunction, IterationQueryDocChangeWatcherEvent, FirestoreDocument, FirestoreCollectionLike, FirestoreModelKey, DocumentReference, FirestoreItemPageIteratorFilter, FirestoreModelId, DocumentSnapshot, FirestoreDocumentAccessor, LimitedFirestoreDocumentAccessor, FirestoreModelType, FirestoreDocumentData, FirestoreAccessorStreamMode, SnapshotOptions, FirebasePermissionErrorContext, InModelContextFirebaseModelService, InContextFirebaseModelsService, FirebaseModelsService, FirestoreModelIdentityTypeMap, FirestoreModelIdentity, FirestoreCollectionType, FirestoreCollection, FlatFirestoreModelKey, TwoWayFlatFirestoreModelKey, FirestoreModelCollectionAndIdPair, FirestoreModelCollectionAndIdPairObject, IterationQueryDocChangeWatcherChangeType, OnCallCreateModelResult, ModelFirebaseCreateFunction, ModelFirebaseCrudFunction, TargetModelParams, InferredTargetModelParams, ModelFirebaseDeleteFunction, ModelFirebaseInvokeFunction, ModelFirebaseReadFunction, ModelFirebaseUpdateFunction, FirestoreCollectionWithParentFactory, FirestoreCollectionGroup, SystemState, SystemStateDocument, SystemStateStoredData, SystemStateTypeIdentifier, AppNotificationTemplateTypeInfoRecordService, NotificationItemMetadata, NotificationItem, NotificationItemSubjectMessagePair, NotificationId, Notification, NotificationBox, NotificationDocument, NotificationBoxDocument,
|
|
10
|
+
import { FirebaseAuthToken, FirebaseAuthOobCode, FirebaseAuthIdToken, FirebaseAuthContextInfo, FirebaseDevelopmentFunctions, ScheduledFunctionDevelopmentFirebaseFunctionListEntry, FirestoreContext, FirestoreContextCacheFactory, NotificationFirestoreCollections, StorageFileFirestoreCollections, SystemStateFirestoreCollections, FirebaseFunctionsMap, FirebaseFunctionsConfigMap, FirestoreQueryConstraint, FirestoreItemPageIterationInstance, DocumentDataWithIdAndKey, IterationQueryDocChangeWatcher, FirebaseQuerySnapshotAccumulator, FirebaseQueryItemAccumulator, FirebaseQueryItemAccumulatorNextPageUntilResultsCountFunction, IterationQueryDocChangeWatcherEvent, FirestoreDocument, FirestoreCollectionLike, FirestoreModelKey, DocumentReference, FirestoreItemPageIteratorFilter, FirestoreModelId, DocumentSnapshot, FirestoreDocumentAccessor, LimitedFirestoreDocumentAccessor, FirestoreModelType, FirestoreDocumentData, FirestoreAccessorStreamMode, SnapshotOptions, FirebasePermissionErrorContext, InModelContextFirebaseModelService, InContextFirebaseModelsService, FirebaseModelsService, FirestoreModelIdentityTypeMap, FirestoreModelIdentity, FirestoreCollectionType, FirestoreCollection, FlatFirestoreModelKey, TwoWayFlatFirestoreModelKey, FirestoreModelCollectionAndIdPair, FirestoreModelCollectionAndIdPairObject, IterationQueryDocChangeWatcherChangeType, OnCallCreateModelResult, ModelFirebaseCreateFunction, ModelFirebaseCrudFunction, TargetModelParams, InferredTargetModelParams, ModelFirebaseDeleteFunction, ModelFirebaseInvokeFunction, ModelFirebaseReadFunction, ModelFirebaseUpdateFunction, FirestoreCollectionWithParentFactory, FirestoreCollectionGroup, SystemState, SystemStateDocument, SystemStateStoredData, SystemStateTypeIdentifier, UserExternalConnectionProviderType, UserExternalConnectionEntry, KnownUserExternalConnectionProviderType, UserExternalConnectionEntryMap, UserExternalConnection, UserExternalConnectionDocument, UserExternalConnectionFunctions, UserExternalConnectionFirestoreCollections, UserExternalConnectionFirestoreCollection, NotificationDeliveryHealthCheckResult, NotificationHealthCheck, NotificationDeliveryMethod, NotificationDeliveryMethodMap, NotificationHealthCheckIssue, AppNotificationTemplateTypeInfoRecordService, NotificationItemMetadata, NotificationItem, NotificationItemSubjectMessagePair, NotificationUser, NotificationUserDocument, NotificationFunctions, NotificationUserHealthCheckResult, NotificationUserHealthCheckParams, NotificationId, Notification, NotificationBox, NotificationDocument, NotificationBoxDocument, NotificationSummary, NotificationSummaryDocument, UnreadNotificationItemsResult, NotificationHealthCheckIssueCode, NotificationHealthCheckStatus, NotificationTemplateType, NotificationTemplateTypeInfo, FirebaseAuthUserId, StorageFileId, StorageFileSignedDownloadUrl, FirestoreModelIdInput, StorageFileFunctions, StorageFileKey, DownloadStorageFileParams, DownloadStorageFileResult, StorageFileDownloadUrl, StoragePathInput, FirebaseStorageAccessorFile, StorageFile, StorageFileDocument, StorageFileGroup, StorageFileGroupDocument, FirebaseStorageAccessor, FirebaseStorageContext, FirebaseStorageAccessorFolder, StorageUploadTask, StorageUploadOptions, StorageCustomMetadata, FirebaseStorageContextFactoryConfig } from '@dereekb/firebase';
|
|
11
11
|
import * as i0 from '@angular/core';
|
|
12
12
|
import { InjectionToken, EnvironmentProviders, Type, OnInit, Component, EventEmitter, Injector, AfterViewInit, ElementRef, Signal, Provider, PipeTransform } from '@angular/core';
|
|
13
13
|
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
|
|
@@ -18,7 +18,7 @@ import * as _dereekb_rxjs from '@dereekb/rxjs';
|
|
|
18
18
|
import { WorkUsingContext, WorkUsingObservable, ObservableOrValue, IsModifiedFunction, PageListLoadingState, ItemAccumulatorNextPageUntilResultsCountResult, SubscriptionObject, ObservableDecisionFunction, ListLoadingState, LoadingState, MaybeObservableOrValue, SwitchMapToDefaultFilterFunction, MaybeObservableOrValueGetter } from '@dereekb/rxjs';
|
|
19
19
|
import * as dist_packages_dbx_form_types_dereekb_dbx_form from 'dist/packages/dbx-form/types/dereekb-dbx-form';
|
|
20
20
|
import * as i1 from '@dereekb/dbx-web';
|
|
21
|
-
import { DbxColorInput, DbxActionConfirmConfig, DbxWidgetEntry, DbxPopupService, DbxWidgetService, DbxWidgetType, TwoColumnsContextStore, AbstractPopupDirective, DbxPopupKey, AbstractDbxSelectionListWrapperDirective, AbstractDbxSelectionListViewDirective, DbxSelectionValueListViewConfig, DbxValueAsListItem, AbstractDbxValueListViewItemComponent, DbxModelTypesService, DbxModelTypeInfo, DbxModelTypesMap, DbxModelTrackerService, AnchorForValueFunction, AbstractPopoverDirective, DbxPopoverService, DbxPopoverKey, AbstractPopoverRefDirective, DbxPopoverConfigSizing, DbxButtonStyle, DownloadTextContent, DbxModelObjectStateService, DbxListViewWrapper, DbxWidgetViewComponentConfig, AbstractDbxWidgetComponent, DbxWebFilePreviewService, DbxActionDialogFunction, FileAcceptFilterTypeString, DbxImageCompressionConfig, ImageBitmapToBlobEncoder, CompressImageFileResult, DbxFileUploadComponent, DbxPdfMergeEditorStore, DbxActionModule, DbxLoadingComponent, DbxActionSnackbarErrorDirective, DbxActionLoadingContextDirective, DbxFileUploadActionSyncDirective } from '@dereekb/dbx-web';
|
|
21
|
+
import { DbxColorInput, DbxActionConfirmConfig, DbxWidgetEntry, DbxPopupService, DbxWidgetService, DbxWidgetType, TwoColumnsContextStore, AbstractPopupDirective, DbxPopupKey, AbstractDbxSelectionListWrapperDirective, AbstractDbxSelectionListViewDirective, DbxSelectionValueListViewConfig, DbxValueAsListItem, AbstractDbxValueListViewItemComponent, DbxModelTypesService, DbxModelTypeInfo, DbxModelTypesMap, DbxModelTrackerService, AnchorForValueFunction, AbstractPopoverDirective, DbxPopoverService, DbxPopoverKey, AbstractPopoverRefDirective, DbxPopoverConfigSizing, DbxButtonStyle, DownloadTextContent, DbxModelObjectStateService, DbxListViewWrapper, AbstractDbxListWrapperDirective, AbstractDbxListViewDirective, DbxValueListViewConfig, DbxThemeColor, DbxWidgetViewComponentConfig, AbstractDbxWidgetComponent, AbstractDialogDirective, DbxWebFilePreviewService, DbxActionDialogFunction, FileAcceptFilterTypeString, DbxImageCompressionConfig, ImageBitmapToBlobEncoder, CompressImageFileResult, DbxFileUploadComponent, DbxPdfMergeEditorStore, DbxActionModule, DbxLoadingComponent, DbxActionSnackbarErrorDirective, DbxActionLoadingContextDirective, DbxFileUploadActionSyncDirective } from '@dereekb/dbx-web';
|
|
22
22
|
import { FormConfig } from '@ng-forge/dynamic-forms';
|
|
23
23
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
24
24
|
import { NgPopoverRef } from 'ng-overlay-container';
|
|
@@ -252,14 +252,41 @@ declare class DbxFirebaseAuthService implements DbxAuthService {
|
|
|
252
252
|
* Alias for uid$
|
|
253
253
|
*/
|
|
254
254
|
readonly userIdentifier$: Observable<AuthUserIdentifier | NoAuthUserIdentifier>;
|
|
255
|
+
/**
|
|
256
|
+
* The current ID token string, or null while logged out.
|
|
257
|
+
*
|
|
258
|
+
* Scoped per-uid via {@link sharedObservableForUidFunction} so the replay buffer can never hand a subscriber
|
|
259
|
+
* the PREVIOUS user's token after a same-page re-login.
|
|
260
|
+
*/
|
|
255
261
|
readonly currentIdTokenString$: Observable<Maybe<FirebaseAuthIdToken>>;
|
|
256
262
|
readonly idTokenString$: Observable<FirebaseAuthIdToken>;
|
|
263
|
+
/**
|
|
264
|
+
* The current user's decoded ID token, or null while logged out.
|
|
265
|
+
*
|
|
266
|
+
* Scoped per-uid via {@link sharedObservableForUidFunction}. Token refreshes still flow through, as they arrive
|
|
267
|
+
* on {@link currentIdTokenString$}; only a uid change rebuilds the stream.
|
|
268
|
+
*/
|
|
257
269
|
readonly currentIdTokenResult$: Observable<Maybe<IdTokenResult>>;
|
|
258
270
|
readonly idTokenResult$: Observable<IdTokenResult>;
|
|
271
|
+
/**
|
|
272
|
+
* The current user's token claims, or null while logged out.
|
|
273
|
+
*
|
|
274
|
+
* Intentionally not replayed: {@link currentIdTokenResult$} is already shared per-uid, and a buffer here would
|
|
275
|
+
* reintroduce the cross-user staleness that scoping removes.
|
|
276
|
+
*/
|
|
259
277
|
readonly currentClaims$: Observable<Maybe<ParsedToken>>;
|
|
260
278
|
readonly claims$: Observable<ParsedToken>;
|
|
261
279
|
readonly currentAuthContextInfo$: Observable<Maybe<DbxFirebaseAuthContextInfo>>;
|
|
262
280
|
readonly authContextInfo$: Observable<Maybe<DbxFirebaseAuthContextInfo>>;
|
|
281
|
+
/**
|
|
282
|
+
* The current {@link AuthUserState}.
|
|
283
|
+
*
|
|
284
|
+
* The delegate's state stream is scoped per-uid via {@link sharedObservableForUidFunction}, so it is rebuilt
|
|
285
|
+
* whenever the signed-in uid changes. Without that, a subscriber attaching right after a same-page re-login is
|
|
286
|
+
* served the prior session's state synchronously from the replay buffer — and every consumer that reads the
|
|
287
|
+
* first emission, including the UIRouter auth transition hooks, then routes on it. The delegate factory is
|
|
288
|
+
* re-invoked per uid so the delegate's own internal replay is discarded along with it.
|
|
289
|
+
*/
|
|
263
290
|
readonly authUserState$: Observable<AuthUserState>;
|
|
264
291
|
readonly authRoles$: Observable<AuthRoleSet>;
|
|
265
292
|
readonly isOnboarded$: Observable<boolean>;
|
|
@@ -4352,236 +4379,1466 @@ declare class DbxFirebaseModelModule {
|
|
|
4352
4379
|
}
|
|
4353
4380
|
|
|
4354
4381
|
/**
|
|
4355
|
-
*
|
|
4382
|
+
* Assets used to render a third-party connection row.
|
|
4383
|
+
*
|
|
4384
|
+
* Mapped from `DbxFirebaseAuthLoginProviderAssets`, with two deliberate differences:
|
|
4385
|
+
* - `providerName` is REQUIRED. An unnamed connection row is not renderable, which is what forces
|
|
4386
|
+
* the login registry into its `'<linkText not configured>'` placeholders.
|
|
4387
|
+
* - The full-bleed brand color fields are dropped. A brand-colored button is a sign-in affordance;
|
|
4388
|
+
* a settings row uses a normal themed button and carries the brand in its logo tile.
|
|
4356
4389
|
*/
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4390
|
+
interface DbxFirebaseExternalConnectionProviderAssets {
|
|
4391
|
+
/**
|
|
4392
|
+
* Display name of the provider (e.g. "Cal.com", "Zoom").
|
|
4393
|
+
*/
|
|
4394
|
+
readonly providerName: string;
|
|
4395
|
+
/**
|
|
4396
|
+
* URL of the logo to use.
|
|
4397
|
+
*/
|
|
4398
|
+
readonly logoUrl?: Maybe<string>;
|
|
4399
|
+
/**
|
|
4400
|
+
* Material icon to use in place of the logo.
|
|
4401
|
+
*/
|
|
4402
|
+
readonly icon?: Maybe<string>;
|
|
4403
|
+
/**
|
|
4404
|
+
* Short description of what connecting this provider enables.
|
|
4405
|
+
*/
|
|
4406
|
+
readonly description?: Maybe<string>;
|
|
4407
|
+
/**
|
|
4408
|
+
* Text for the connect action. Defaults to "Connect".
|
|
4409
|
+
*/
|
|
4410
|
+
readonly connectText?: Maybe<string>;
|
|
4411
|
+
/**
|
|
4412
|
+
* Text for the disconnect action. Defaults to "Disconnect".
|
|
4413
|
+
*/
|
|
4414
|
+
readonly disconnectText?: Maybe<string>;
|
|
4415
|
+
/**
|
|
4416
|
+
* Optional CSS filter to apply to the logo image (e.g. 'brightness(0) invert(1)').
|
|
4417
|
+
*/
|
|
4418
|
+
readonly logoFilter?: Maybe<string>;
|
|
4362
4419
|
}
|
|
4363
|
-
|
|
4364
4420
|
/**
|
|
4365
|
-
*
|
|
4421
|
+
* Navigates the browser to the given url. Exists as a seam so tests (and apps that route through
|
|
4422
|
+
* their own navigation service) never need to touch `window.location`.
|
|
4423
|
+
*
|
|
4424
|
+
* Returns a promise that settles on the outcome of the navigation, NOT on the request to navigate
|
|
4425
|
+
* having been made: it resolves once the new page is actually opening, and rejects when it never
|
|
4426
|
+
* does. Callers must await it — that is what keeps the connect action working until the authorize
|
|
4427
|
+
* page is really on its way, instead of reporting success against a page that has not moved.
|
|
4366
4428
|
*/
|
|
4367
|
-
type
|
|
4429
|
+
type DbxFirebaseExternalConnectionNavigateFunction = (url: string) => PromiseOrValue<void>;
|
|
4368
4430
|
/**
|
|
4369
|
-
*
|
|
4431
|
+
* The opaque, short-lived `state` a provider's OAuth handoff carries.
|
|
4432
|
+
*
|
|
4433
|
+
* It is what tells the server who is connecting, since the top-level navigation to the provider
|
|
4434
|
+
* carries no Firebase ID token of its own.
|
|
4370
4435
|
*/
|
|
4371
|
-
|
|
4372
|
-
constructor();
|
|
4373
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListComponent, never>;
|
|
4374
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListComponent, "dbx-firebase-notificationitem-list", never, {}, {}, never, ["[top]", "[bottom]", "[empty]", "[emptyLoading]", "[end]"], true, never>;
|
|
4375
|
-
}
|
|
4436
|
+
type DbxFirebaseExternalConnectionAuthorizeState = string;
|
|
4376
4437
|
/**
|
|
4377
|
-
*
|
|
4438
|
+
* Mints a fresh {@link DbxFirebaseExternalConnectionAuthorizeState} for a provider.
|
|
4378
4439
|
*/
|
|
4379
|
-
|
|
4380
|
-
readonly config: DbxSelectionValueListViewConfig<NotificationItemWithSelection>;
|
|
4381
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListViewComponent, never>;
|
|
4382
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListViewComponent, "dbx-firebase-notificationitem-list-view", never, {}, {}, never, never, true, never>;
|
|
4383
|
-
}
|
|
4440
|
+
type DbxFirebaseExternalConnectionMintAuthorizeStateFunction = () => Promise<DbxFirebaseExternalConnectionAuthorizeState>;
|
|
4384
4441
|
/**
|
|
4385
|
-
*
|
|
4442
|
+
* Context handed to a provider's custom {@link DbxFirebaseExternalConnectionConnectFunction}.
|
|
4386
4443
|
*/
|
|
4387
|
-
|
|
4388
|
-
readonly
|
|
4389
|
-
readonly
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4444
|
+
interface DbxFirebaseExternalConnectionConnectContext {
|
|
4445
|
+
readonly providerType: UserExternalConnectionProviderType;
|
|
4446
|
+
readonly provider: DbxFirebaseExternalConnectionProvider;
|
|
4447
|
+
/**
|
|
4448
|
+
* The authorize url the default behavior would have navigated to, when one could be resolved.
|
|
4449
|
+
*
|
|
4450
|
+
* WITHOUT the `state` query parameter — the default behavior appends that itself, from
|
|
4451
|
+
* {@link mintAuthorizeState}, so a custom handler that skips the mint never pays for one.
|
|
4452
|
+
*/
|
|
4453
|
+
readonly authorizeUrl: Maybe<string>;
|
|
4454
|
+
/**
|
|
4455
|
+
* Mints the state the authorize request must carry, via an authenticated call.
|
|
4456
|
+
*
|
|
4457
|
+
* Only needed by a handler that builds its own authorize request; the default behavior does this on
|
|
4458
|
+
* its own. Available regardless of the config's `mintAuthorizeState`, since a handler that asks for
|
|
4459
|
+
* a state wants one; it throws only when the app never wired the userExternalConnection callables.
|
|
4460
|
+
*/
|
|
4461
|
+
readonly mintAuthorizeState: DbxFirebaseExternalConnectionMintAuthorizeStateFunction;
|
|
4462
|
+
/**
|
|
4463
|
+
* Navigates the browser. Use this rather than `window.location` directly, and AWAIT it: it settles
|
|
4464
|
+
* on the new page actually opening, which is what holds the connect action in its working state
|
|
4465
|
+
* until then.
|
|
4466
|
+
*/
|
|
4467
|
+
readonly navigate: DbxFirebaseExternalConnectionNavigateFunction;
|
|
4395
4468
|
}
|
|
4396
|
-
|
|
4397
4469
|
/**
|
|
4398
|
-
*
|
|
4470
|
+
* Starts the connect flow for a provider.
|
|
4471
|
+
*
|
|
4472
|
+
* The library default already mints the signed `state` and redirects to the authorize url carrying
|
|
4473
|
+
* it, which is the whole of what an authorization-code handoff needs. An app supplies this only when
|
|
4474
|
+
* the flow itself differs — opening a popup instead of navigating, say. Whatever it does, do NOT
|
|
4475
|
+
* append the Firebase ID token to the redirect: the state is what identifies the caller.
|
|
4476
|
+
*
|
|
4477
|
+
* The returned promise must not resolve before the authorize page is opening, so await the context's
|
|
4478
|
+
* `navigate` rather than calling it and returning.
|
|
4399
4479
|
*/
|
|
4400
|
-
|
|
4401
|
-
readonly subject: i0.InputSignal<Maybe<string>>;
|
|
4402
|
-
readonly message: i0.InputSignal<Maybe<string>>;
|
|
4403
|
-
readonly date: i0.InputSignal<Maybe<Date>>;
|
|
4404
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemContentComponent, never>;
|
|
4405
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemContentComponent, "dbx-firebase-notificationitem-content", never, { "subject": { "alias": "subject"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; }, {}, never, ["[header]", "[premessage]", "*"], true, never>;
|
|
4406
|
-
}
|
|
4407
|
-
|
|
4480
|
+
type DbxFirebaseExternalConnectionConnectFunction = (context: DbxFirebaseExternalConnectionConnectContext) => Promise<void> | void;
|
|
4408
4481
|
/**
|
|
4409
|
-
*
|
|
4410
|
-
*
|
|
4482
|
+
* Registration for one third-party service a user can connect their account to.
|
|
4483
|
+
*
|
|
4484
|
+
* Mapped from `DbxFirebaseAuthLoginProvider`: `loginMethodType` becomes `providerType` and `assets`
|
|
4485
|
+
* carries over. `componentClass` / `registrationComponentClass` / `category` / `allowLinking` /
|
|
4486
|
+
* `componentData` are dropped — login needs a component per provider because each calls a different
|
|
4487
|
+
* Firebase SDK class, whereas here the only per-provider variation is a URL, which is data.
|
|
4411
4488
|
*/
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4489
|
+
interface DbxFirebaseExternalConnectionProvider {
|
|
4490
|
+
/**
|
|
4491
|
+
* Provider type key. MUST match the string the server writes into the connection entry map.
|
|
4492
|
+
*/
|
|
4493
|
+
readonly providerType: UserExternalConnectionProviderType;
|
|
4494
|
+
/**
|
|
4495
|
+
* Assets for rendering this provider's row.
|
|
4496
|
+
*/
|
|
4497
|
+
readonly assets: DbxFirebaseExternalConnectionProviderAssets;
|
|
4498
|
+
/**
|
|
4499
|
+
* Path appended to the configured authorize origin to start this provider's OAuth flow.
|
|
4500
|
+
*
|
|
4501
|
+
* Defaults to the config's `authorizePathFactory` result.
|
|
4502
|
+
*/
|
|
4503
|
+
readonly authorizePath?: Maybe<string>;
|
|
4504
|
+
/**
|
|
4505
|
+
* Overrides the default redirect-based connect behavior.
|
|
4506
|
+
*/
|
|
4507
|
+
readonly connect?: Maybe<DbxFirebaseExternalConnectionConnectFunction>;
|
|
4508
|
+
/**
|
|
4509
|
+
* Confirmation shown before disconnecting.
|
|
4510
|
+
*/
|
|
4511
|
+
readonly disconnectConfirm?: Maybe<DbxActionConfirmConfig>;
|
|
4417
4512
|
}
|
|
4418
|
-
|
|
4419
4513
|
/**
|
|
4420
|
-
*
|
|
4514
|
+
* One provider an app offers, as declared in its configuration.
|
|
4421
4515
|
*
|
|
4422
|
-
*
|
|
4516
|
+
* A KNOWN provider type is the whole entry: the library already carries its presentation, so flagging
|
|
4517
|
+
* a service on is naming it. Every app that connects to Discord shows the same Discord row, and the
|
|
4518
|
+
* asset copy is not what varies between downstream apps — the server's OAuth controller is.
|
|
4519
|
+
*
|
|
4520
|
+
* Pass a full provider to register a service the library has no defaults for, or
|
|
4521
|
+
* {@link dbxFirebaseKnownExternalConnectionProvider} to start from a known one and patch it.
|
|
4423
4522
|
*/
|
|
4424
|
-
|
|
4425
|
-
get notificationItem(): NotificationItem<D>;
|
|
4426
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxFirebaseNotificationItemWidgetComponent<any>, never>;
|
|
4427
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractDbxFirebaseNotificationItemWidgetComponent<any>, never, never, {}, {}, never, never, true, never>;
|
|
4428
|
-
}
|
|
4429
|
-
|
|
4523
|
+
type DbxFirebaseExternalConnectionProviderEntry = KnownUserExternalConnectionProviderType | DbxFirebaseExternalConnectionProvider;
|
|
4430
4524
|
/**
|
|
4431
|
-
*
|
|
4525
|
+
* Configuration for the external connection registry.
|
|
4526
|
+
*
|
|
4527
|
+
* Declared as an abstract class so it is its own injection token (the newer style, as
|
|
4528
|
+
* `DbxFirebaseOidcConfig`). Unlike login there is no library-supplied default catalog for an
|
|
4529
|
+
* `InjectionToken`-with-`useFactory` shape to override, and the registry needs more than a list.
|
|
4432
4530
|
*/
|
|
4433
|
-
declare class
|
|
4434
|
-
get subject(): _dereekb_util.Maybe<string>;
|
|
4435
|
-
get message(): _dereekb_util.Maybe<string>;
|
|
4436
|
-
get date(): Date;
|
|
4437
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemDefaultViewComponent, never>;
|
|
4438
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemDefaultViewComponent, "dbx-firebase-notificationitem-view-default", never, {}, {}, never, never, true, never>;
|
|
4439
|
-
}
|
|
4440
|
-
|
|
4441
|
-
interface DbxFirebaseNotificationItemStorePopoverParams {
|
|
4531
|
+
declare abstract class DbxFirebaseExternalConnectionsConfig {
|
|
4442
4532
|
/**
|
|
4443
|
-
*
|
|
4444
|
-
*
|
|
4445
|
-
* Defaults to "history"
|
|
4533
|
+
* The providers the app registers, as known provider types and/or fully-declared providers.
|
|
4446
4534
|
*/
|
|
4447
|
-
readonly
|
|
4535
|
+
abstract readonly providers: DbxFirebaseExternalConnectionProviderEntry[];
|
|
4448
4536
|
/**
|
|
4449
|
-
*
|
|
4450
|
-
*
|
|
4451
|
-
* Defaults to "History"
|
|
4537
|
+
* Which providers are enabled. Pass `true` (the default) to enable every registered provider.
|
|
4452
4538
|
*/
|
|
4453
|
-
readonly
|
|
4539
|
+
readonly enabledProviders?: Maybe<UserExternalConnectionProviderType[] | true>;
|
|
4454
4540
|
/**
|
|
4455
|
-
*
|
|
4541
|
+
* Whether the connect flow mints a signed `state` and carries it on the authorize request.
|
|
4542
|
+
* Defaults to true.
|
|
4543
|
+
*
|
|
4544
|
+
* This is what identifies the connecting user to the server, since a top-level navigation carries
|
|
4545
|
+
* no Firebase ID token: the app's own authorize endpoint bounces a stateless request straight to
|
|
4546
|
+
* the failure url. Turn it off only for an endpoint that mints its own state, and note that doing
|
|
4547
|
+
* so means no authenticated call is made before the redirect.
|
|
4456
4548
|
*/
|
|
4457
|
-
readonly
|
|
4549
|
+
readonly mintAuthorizeState?: Maybe<boolean>;
|
|
4458
4550
|
/**
|
|
4459
|
-
* Origin
|
|
4551
|
+
* Origin the authorize paths are resolved against (e.g. the hosting origin that fronts the API).
|
|
4552
|
+
*
|
|
4553
|
+
* When undefined the authorize path is used as-is, which is the correct behavior when the app and
|
|
4554
|
+
* the OAuth controller share an origin.
|
|
4460
4555
|
*/
|
|
4461
|
-
readonly
|
|
4556
|
+
readonly authorizeOrigin?: Maybe<string>;
|
|
4462
4557
|
/**
|
|
4463
|
-
*
|
|
4558
|
+
* Builds the default authorize path for a provider that does not declare its own.
|
|
4559
|
+
*
|
|
4560
|
+
* Defaults to {@link DEFAULT_EXTERNAL_CONNECTION_AUTHORIZE_PATH_FACTORY}.
|
|
4464
4561
|
*/
|
|
4465
|
-
readonly
|
|
4562
|
+
readonly authorizePathFactory?: Maybe<(providerType: UserExternalConnectionProviderType) => string>;
|
|
4466
4563
|
/**
|
|
4467
|
-
*
|
|
4564
|
+
* Navigation seam used by the default connect behavior.
|
|
4565
|
+
*
|
|
4566
|
+
* Defaults to {@link DEFAULT_EXTERNAL_CONNECTION_NAVIGATE_FUNCTION}. An override owns the same
|
|
4567
|
+
* contract: settle only once the new page is actually opening.
|
|
4468
4568
|
*/
|
|
4469
|
-
readonly
|
|
4470
|
-
}
|
|
4471
|
-
declare const DEFAULT_DBX_FIREBASE_NOTIFICATION_ITEM_STORE_POPOVER_KEY = "notification-item-store-notifications";
|
|
4472
|
-
declare class DbxFirebaseNotificationItemStorePopoverComponent extends AbstractPopoverDirective<unknown, DbxFirebaseNotificationItemStorePopoverParams> {
|
|
4473
|
-
static openPopover(popupService: DbxPopoverService, { origin, header, icon, emptyText, makeNotificationItemAnchor, notificationItemsLoadingState$ }: DbxFirebaseNotificationItemStorePopoverParams, popoverKey?: DbxPopoverKey): NgPopoverRef;
|
|
4474
|
-
readonly params: DbxFirebaseNotificationItemStorePopoverParams;
|
|
4475
|
-
readonly icon: string;
|
|
4476
|
-
readonly header: string;
|
|
4477
|
-
readonly emptyText: string;
|
|
4478
|
-
readonly makeNotificationItemAnchor: Maybe<AnchorForValueFunction<NotificationItem<{}>>>;
|
|
4479
|
-
readonly notificationItemsLoadingState$: Observable<LoadingState<NotificationItem<{}>[]>>;
|
|
4480
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemStorePopoverComponent, never>;
|
|
4481
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemStorePopoverComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
4482
|
-
}
|
|
4483
|
-
|
|
4484
|
-
type DbxFirebaseNotificationItemStorePopoverButtonConfig = DbxFirebaseNotificationItemStorePopoverParams;
|
|
4485
|
-
declare class DbxFirebaseNotificationItemStorePopoverButtonComponent extends AbstractPopoverRefDirective<unknown, unknown> {
|
|
4486
|
-
private readonly _dbxPopoverService;
|
|
4487
|
-
private readonly _dbxFirebaseNotificationItemStore;
|
|
4488
|
-
readonly buttonElement: i0.Signal<Maybe<ElementRef<any>>>;
|
|
4489
|
-
readonly config: i0.InputSignal<Maybe<Partial<DbxFirebaseNotificationItemStorePopoverParams>>>;
|
|
4490
|
-
showNotificationsPopover(): void;
|
|
4491
|
-
protected _makePopoverRef(origin?: ElementRef): NgPopoverRef<unknown, unknown>;
|
|
4492
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemStorePopoverButtonComponent, never>;
|
|
4493
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemStorePopoverButtonComponent, "dbx-firebase-notification-item-store-popover-button", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4569
|
+
readonly navigate?: Maybe<DbxFirebaseExternalConnectionNavigateFunction>;
|
|
4494
4570
|
}
|
|
4495
|
-
|
|
4496
|
-
|
|
4571
|
+
/**
|
|
4572
|
+
* Default authorize path for a provider: `/oauth/<providerType>/authorize`.
|
|
4573
|
+
*
|
|
4574
|
+
* @param providerType - The provider to build a path for.
|
|
4575
|
+
* @returns The authorize path.
|
|
4576
|
+
*/
|
|
4577
|
+
declare const DEFAULT_EXTERNAL_CONNECTION_AUTHORIZE_PATH_FACTORY: (providerType: UserExternalConnectionProviderType) => string;
|
|
4578
|
+
/**
|
|
4579
|
+
* Presentation status of a connection row.
|
|
4580
|
+
*/
|
|
4581
|
+
type DbxFirebaseExternalConnectionRowStatus = 'loading' | 'connected' | 'notConnected' | 'error';
|
|
4582
|
+
/**
|
|
4583
|
+
* One provider's row, as rendered on the settings page.
|
|
4584
|
+
*/
|
|
4585
|
+
interface DbxFirebaseExternalConnectionRow {
|
|
4586
|
+
readonly providerType: UserExternalConnectionProviderType;
|
|
4587
|
+
readonly assets: DbxFirebaseExternalConnectionProviderAssets;
|
|
4497
4588
|
/**
|
|
4498
|
-
* The
|
|
4589
|
+
* The user's entry for this provider, when there is one.
|
|
4499
4590
|
*/
|
|
4500
|
-
readonly
|
|
4591
|
+
readonly entry?: Maybe<UserExternalConnectionEntry>;
|
|
4592
|
+
readonly status: DbxFirebaseExternalConnectionRowStatus;
|
|
4501
4593
|
/**
|
|
4502
|
-
*
|
|
4594
|
+
* Whether this provider is currently enabled. A disabled provider the user is still connected to
|
|
4595
|
+
* is retained as a row so it can be disconnected.
|
|
4503
4596
|
*/
|
|
4504
|
-
readonly
|
|
4597
|
+
readonly enabled: boolean;
|
|
4505
4598
|
}
|
|
4506
4599
|
/**
|
|
4507
|
-
*
|
|
4600
|
+
* An action rendered on a connection row.
|
|
4601
|
+
*
|
|
4602
|
+
* Rows take an ARRAY of these because the `error` status wants both Reconnect and Disconnect.
|
|
4508
4603
|
*/
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
readonly
|
|
4512
|
-
readonly
|
|
4513
|
-
readonly
|
|
4514
|
-
readonly setItems: (observableOrValue: NotificationItem<{}>[] | rxjs.Observable<NotificationItem<{}>[]>) => rxjs.Subscription;
|
|
4515
|
-
readonly setSelectedId: (() => void) | ((observableOrValue: Maybe<string> | rxjs.Observable<Maybe<string>>) => rxjs.Subscription);
|
|
4516
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemStore, never>;
|
|
4517
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseNotificationItemStore>;
|
|
4604
|
+
interface DbxFirebaseExternalConnectionActionConfig {
|
|
4605
|
+
readonly label: string;
|
|
4606
|
+
readonly icon?: Maybe<string>;
|
|
4607
|
+
readonly confirm?: Maybe<DbxActionConfirmConfig>;
|
|
4608
|
+
readonly handler: WorkUsingContext;
|
|
4518
4609
|
}
|
|
4519
|
-
|
|
4520
4610
|
/**
|
|
4521
|
-
*
|
|
4611
|
+
* One rendered list item: a row plus the actions currently available for it.
|
|
4612
|
+
*
|
|
4613
|
+
* The actions are paired with the row here rather than derived by the item component because building them needs
|
|
4614
|
+
* the connect/disconnect handlers, which belong to the container that owns the stores.
|
|
4522
4615
|
*/
|
|
4523
|
-
|
|
4524
|
-
readonly
|
|
4525
|
-
|
|
4526
|
-
readonly createdAt$: rxjs.Observable<_dereekb_util.Maybe<Date>>;
|
|
4527
|
-
readonly nextSendAt$: rxjs.Observable<_dereekb_util.Maybe<Date>>;
|
|
4528
|
-
readonly sendType$: rxjs.Observable<_dereekb_firebase.NotificationSendType>;
|
|
4529
|
-
readonly sendAttemptsCount$: rxjs.Observable<number>;
|
|
4530
|
-
readonly isUnique$: rxjs.Observable<_dereekb_util.Maybe<boolean>>;
|
|
4531
|
-
readonly sendNotification: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.SendNotificationParams, _dereekb_firebase.SendNotificationResult>;
|
|
4532
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationDocumentStore, never>;
|
|
4533
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationDocumentStore>;
|
|
4616
|
+
interface DbxFirebaseExternalConnectionListItemValue {
|
|
4617
|
+
readonly row: DbxFirebaseExternalConnectionRow;
|
|
4618
|
+
readonly actions?: Maybe<DbxFirebaseExternalConnectionActionConfig[]>;
|
|
4534
4619
|
}
|
|
4535
|
-
|
|
4536
4620
|
/**
|
|
4537
|
-
*
|
|
4621
|
+
* Derives a row's presentation status from its entry.
|
|
4622
|
+
*
|
|
4623
|
+
* @param entry - The user's entry for the provider, if any.
|
|
4624
|
+
* @returns The row status.
|
|
4538
4625
|
*/
|
|
4539
|
-
declare
|
|
4540
|
-
constructor();
|
|
4541
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationDocumentStoreDirective, never>;
|
|
4542
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationDocumentStoreDirective, "[dbxFirebaseNotificationDocument]", never, {}, {}, never, never, true, never>;
|
|
4543
|
-
}
|
|
4544
|
-
|
|
4626
|
+
declare function dbxFirebaseExternalConnectionRowStatusForEntry(entry: Maybe<UserExternalConnectionEntry>): DbxFirebaseExternalConnectionRowStatus;
|
|
4545
4627
|
/**
|
|
4546
|
-
*
|
|
4628
|
+
* Input for {@link dbxFirebaseExternalConnectionRows}.
|
|
4547
4629
|
*/
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4630
|
+
interface DbxFirebaseExternalConnectionRowsInput {
|
|
4631
|
+
/**
|
|
4632
|
+
* Every registered provider, in registration order.
|
|
4633
|
+
*/
|
|
4634
|
+
readonly providers: DbxFirebaseExternalConnectionProvider[];
|
|
4635
|
+
/**
|
|
4636
|
+
* The provider types that are currently enabled.
|
|
4637
|
+
*/
|
|
4638
|
+
readonly enabledProviderTypes: UserExternalConnectionProviderType[];
|
|
4639
|
+
/**
|
|
4640
|
+
* The user's per-provider entries, or null while still loading.
|
|
4641
|
+
*/
|
|
4642
|
+
readonly entries: Maybe<UserExternalConnectionEntryMap>;
|
|
4643
|
+
/**
|
|
4644
|
+
* Whether the connection document is still loading.
|
|
4645
|
+
*/
|
|
4646
|
+
readonly loading?: Maybe<boolean>;
|
|
4552
4647
|
}
|
|
4553
|
-
|
|
4554
4648
|
/**
|
|
4555
|
-
*
|
|
4649
|
+
* Builds the rows to render.
|
|
4650
|
+
*
|
|
4651
|
+
* The row set is the union of the enabled providers and any registered provider the user still has
|
|
4652
|
+
* an entry for, so a provider that has since been disabled can still be disconnected.
|
|
4653
|
+
*
|
|
4654
|
+
* @param input - The registry state plus the user's entries.
|
|
4655
|
+
* @returns The rows, in registration order.
|
|
4556
4656
|
*/
|
|
4557
|
-
declare
|
|
4558
|
-
constructor();
|
|
4559
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationCollectionStoreDirective, never>;
|
|
4560
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationCollectionStoreDirective, "[dbxFirebaseNotificationCollection]", never, {}, {}, never, never, true, never>;
|
|
4561
|
-
}
|
|
4657
|
+
declare function dbxFirebaseExternalConnectionRows(input: DbxFirebaseExternalConnectionRowsInput): DbxFirebaseExternalConnectionRow[];
|
|
4562
4658
|
|
|
4563
4659
|
/**
|
|
4564
|
-
*
|
|
4660
|
+
* Default presentation for Cal.com.
|
|
4661
|
+
*
|
|
4662
|
+
* `icon` is a Material Symbols name throughout these defaults: the brand logo set the login registry
|
|
4663
|
+
* pulls from covers Firebase's own auth providers only, so a real mark for any of these services
|
|
4664
|
+
* would need a new asset. An app that has one passes `assets.logoUrl` instead.
|
|
4565
4665
|
*/
|
|
4566
|
-
declare
|
|
4567
|
-
readonly notificationFunctions: NotificationFunctions;
|
|
4568
|
-
constructor();
|
|
4569
|
-
readonly createdAt$: rxjs.Observable<_dereekb_util.Maybe<Date>>;
|
|
4570
|
-
readonly recipients$: rxjs.Observable<_dereekb_firebase.NotificationBoxRecipient[]>;
|
|
4571
|
-
readonly updateNotificationBox: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.TargetModelParams, void>;
|
|
4572
|
-
readonly updateNotificationBoxRecipient: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.UpdateNotificationBoxRecipientParams, void>;
|
|
4573
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationBoxDocumentStore, never>;
|
|
4574
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationBoxDocumentStore>;
|
|
4575
|
-
}
|
|
4576
|
-
|
|
4666
|
+
declare const DBX_FIREBASE_EXTERNAL_CONNECTION_CALCOM_PROVIDER: DbxFirebaseExternalConnectionProvider;
|
|
4577
4667
|
/**
|
|
4578
|
-
*
|
|
4668
|
+
* Default presentation for Zoom.
|
|
4579
4669
|
*/
|
|
4580
|
-
declare
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4670
|
+
declare const DBX_FIREBASE_EXTERNAL_CONNECTION_ZOOM_PROVIDER: DbxFirebaseExternalConnectionProvider;
|
|
4671
|
+
/**
|
|
4672
|
+
* Default presentation for Discord.
|
|
4673
|
+
*/
|
|
4674
|
+
declare const DBX_FIREBASE_EXTERNAL_CONNECTION_DISCORD_PROVIDER: DbxFirebaseExternalConnectionProvider;
|
|
4675
|
+
/**
|
|
4676
|
+
* Default presentation for Zoho.
|
|
4677
|
+
*/
|
|
4678
|
+
declare const DBX_FIREBASE_EXTERNAL_CONNECTION_ZOHO_PROVIDER: DbxFirebaseExternalConnectionProvider;
|
|
4679
|
+
/**
|
|
4680
|
+
* The library's provider for each known third-party service, keyed by provider type.
|
|
4681
|
+
*
|
|
4682
|
+
* Every service the workspace ships a server-side OAuth adapter for appears here, so an app that
|
|
4683
|
+
* mounts one of those controllers has nothing to declare on the client beyond naming it.
|
|
4684
|
+
*/
|
|
4685
|
+
declare const DBX_FIREBASE_KNOWN_EXTERNAL_CONNECTION_PROVIDERS: Record<KnownUserExternalConnectionProviderType, DbxFirebaseExternalConnectionProvider>;
|
|
4686
|
+
/**
|
|
4687
|
+
* Config for {@link dbxFirebaseKnownExternalConnectionProvider}.
|
|
4688
|
+
*/
|
|
4689
|
+
interface DbxFirebaseKnownExternalConnectionProviderConfig {
|
|
4690
|
+
/**
|
|
4691
|
+
* The known provider to start from.
|
|
4692
|
+
*/
|
|
4693
|
+
readonly providerType: KnownUserExternalConnectionProviderType;
|
|
4694
|
+
/**
|
|
4695
|
+
* Asset values to merge over the known provider's, so an app can reword one line without
|
|
4696
|
+
* restating the rest.
|
|
4697
|
+
*/
|
|
4698
|
+
readonly assets?: Maybe<Partial<DbxFirebaseExternalConnectionProviderAssets>>;
|
|
4699
|
+
/**
|
|
4700
|
+
* Overrides the known provider's authorize path.
|
|
4701
|
+
*/
|
|
4702
|
+
readonly authorizePath?: Maybe<string>;
|
|
4703
|
+
/**
|
|
4704
|
+
* Overrides the default redirect-based connect behavior.
|
|
4705
|
+
*/
|
|
4706
|
+
readonly connect?: Maybe<DbxFirebaseExternalConnectionConnectFunction>;
|
|
4707
|
+
/**
|
|
4708
|
+
* Confirmation shown before disconnecting.
|
|
4709
|
+
*/
|
|
4710
|
+
readonly disconnectConfirm?: Maybe<DbxActionConfirmConfig>;
|
|
4711
|
+
}
|
|
4712
|
+
/**
|
|
4713
|
+
* Builds a provider from a known one, with the given overrides applied.
|
|
4714
|
+
*
|
|
4715
|
+
* @param config - The known provider to start from, plus the values to override.
|
|
4716
|
+
* @returns The provider to register.
|
|
4717
|
+
* @throws {Error} When there is no known provider for the given type.
|
|
4718
|
+
*/
|
|
4719
|
+
declare function dbxFirebaseKnownExternalConnectionProvider(config: DbxFirebaseKnownExternalConnectionProviderConfig): DbxFirebaseExternalConnectionProvider;
|
|
4720
|
+
/**
|
|
4721
|
+
* Resolves a configured entry to the provider to register.
|
|
4722
|
+
*
|
|
4723
|
+
* @param entry - A known provider type, or a fully-declared provider.
|
|
4724
|
+
* @returns The provider to register.
|
|
4725
|
+
* @throws {Error} When the entry names a provider type the library has no defaults for.
|
|
4726
|
+
*/
|
|
4727
|
+
declare function dbxFirebaseExternalConnectionProviderForEntry(entry: DbxFirebaseExternalConnectionProviderEntry): DbxFirebaseExternalConnectionProvider;
|
|
4728
|
+
|
|
4729
|
+
/**
|
|
4730
|
+
* How long {@link DEFAULT_EXTERNAL_CONNECTION_NAVIGATE_FUNCTION} waits for the browser to leave the
|
|
4731
|
+
* page before treating the redirect as having failed.
|
|
4732
|
+
*
|
|
4733
|
+
* Generous, because the wait spans the request to the app's own authorize endpoint plus the redirect
|
|
4734
|
+
* chain out to the provider, and a cold serverless function alone can take several seconds.
|
|
4735
|
+
*/
|
|
4736
|
+
declare const DEFAULT_EXTERNAL_CONNECTION_NAVIGATE_TIMEOUT: number;
|
|
4737
|
+
/**
|
|
4738
|
+
* Starts a top-level navigation and resolves only once the browser has committed to leaving the
|
|
4739
|
+
* current page, rejecting when it has not done so within the timeout.
|
|
4740
|
+
*
|
|
4741
|
+
* `pagehide` is the signal: it fires as the browser is about to unload this document for the new one,
|
|
4742
|
+
* which is the earliest point the navigation is known to have actually taken. Anything earlier — an
|
|
4743
|
+
* assignment to `location.href` returning, say — only says the navigation was *requested*.
|
|
4744
|
+
*
|
|
4745
|
+
* The navigation is invoked here rather than by the caller so the listener is always in place before
|
|
4746
|
+
* the page can go, and so a refused navigation settles immediately instead of waiting out the timeout.
|
|
4747
|
+
*
|
|
4748
|
+
* @param navigate - Starts the navigation.
|
|
4749
|
+
* @param timeout - How long to wait before rejecting. Defaults to {@link DEFAULT_EXTERNAL_CONNECTION_NAVIGATE_TIMEOUT}.
|
|
4750
|
+
* @returns Resolves when the page is being unloaded for the navigation.
|
|
4751
|
+
*/
|
|
4752
|
+
declare function navigateAndWaitForPageToLeave(navigate: () => void, timeout?: number): Promise<void>;
|
|
4753
|
+
/**
|
|
4754
|
+
* Default navigation: a top-level browser redirect that settles only once the new page is opening.
|
|
4755
|
+
*
|
|
4756
|
+
* Assigning `location.href` returns immediately — before the request for the new document has even
|
|
4757
|
+
* been answered — so a caller that treated the assignment as the end of the work reported success
|
|
4758
|
+
* while the old page was still sitting there. Waiting for the unload instead means the connect action
|
|
4759
|
+
* stays in its working state for as long as the user is still looking at the settings page, and a
|
|
4760
|
+
* redirect the browser refuses outright surfaces as an error rather than a silent success.
|
|
4761
|
+
*
|
|
4762
|
+
* @param url - The url to navigate to.
|
|
4763
|
+
* @returns Resolves once the browser is leaving the page for the new url.
|
|
4764
|
+
*/
|
|
4765
|
+
declare const DEFAULT_EXTERNAL_CONNECTION_NAVIGATE_FUNCTION: (url: string) => Promise<void>;
|
|
4766
|
+
/**
|
|
4767
|
+
* Registry of the third-party services a user can connect their account to.
|
|
4768
|
+
*
|
|
4769
|
+
* Modeled on `DbxFirebaseAuthLoginService`, but WITHOUT any per-user state: it is root-scoped, so a
|
|
4770
|
+
* Firestore listener held here would live for the app's lifetime and lock the UI to one user. The
|
|
4771
|
+
* connection state is resolved by the container component instead, from a single document read that
|
|
4772
|
+
* is fanned out to every row.
|
|
4773
|
+
*/
|
|
4774
|
+
declare class DbxFirebaseExternalConnectionService {
|
|
4775
|
+
readonly config: DbxFirebaseExternalConnectionsConfig;
|
|
4776
|
+
/**
|
|
4777
|
+
* Optional so the registry is usable — and testable — in an app that has not wired the
|
|
4778
|
+
* userExternalConnection callables. Only state minting needs them, and it says so when they are
|
|
4779
|
+
* missing rather than failing every injection of this service.
|
|
4780
|
+
*/
|
|
4781
|
+
private readonly _userExternalConnectionFunctions;
|
|
4782
|
+
private readonly _providers;
|
|
4783
|
+
private readonly _assets;
|
|
4784
|
+
private _enableAll;
|
|
4785
|
+
private _enabled;
|
|
4786
|
+
constructor();
|
|
4787
|
+
/**
|
|
4788
|
+
* Registers a provider.
|
|
4789
|
+
*
|
|
4790
|
+
* @param provider - The provider to register.
|
|
4791
|
+
* @param override - Whether to override an existing provider of the same type. Defaults to true.
|
|
4792
|
+
* @returns True if the provider was registered.
|
|
4793
|
+
*/
|
|
4794
|
+
register(provider: DbxFirebaseExternalConnectionProvider, override?: boolean): boolean;
|
|
4795
|
+
/**
|
|
4796
|
+
* Patches the assets for a provider type.
|
|
4797
|
+
*
|
|
4798
|
+
* @param providerType - The provider to update.
|
|
4799
|
+
* @param assets - The asset values to merge in.
|
|
4800
|
+
*/
|
|
4801
|
+
updateAssetsForProvider(providerType: UserExternalConnectionProviderType, assets: Partial<DbxFirebaseExternalConnectionProviderAssets>): void;
|
|
4802
|
+
/**
|
|
4803
|
+
* Enables all providers, including any registered later.
|
|
4804
|
+
*
|
|
4805
|
+
* @param enableAll - Whether to enable all providers. Defaults to true.
|
|
4806
|
+
*/
|
|
4807
|
+
setEnableAll(enableAll?: boolean): void;
|
|
4808
|
+
clearEnabled(): void;
|
|
4809
|
+
enable(types: ArrayOrValue<UserExternalConnectionProviderType>): void;
|
|
4810
|
+
disable(types: ArrayOrValue<UserExternalConnectionProviderType>): void;
|
|
4811
|
+
getRegisteredTypes(): UserExternalConnectionProviderType[];
|
|
4812
|
+
getEnabledTypes(): UserExternalConnectionProviderType[];
|
|
4813
|
+
getProvider(providerType: UserExternalConnectionProviderType): Maybe<DbxFirebaseExternalConnectionProvider>;
|
|
4814
|
+
getProviders(types?: Maybe<Iterable<UserExternalConnectionProviderType>>): DbxFirebaseExternalConnectionProvider[];
|
|
4815
|
+
getAssetsForProvider(providerType: UserExternalConnectionProviderType): Maybe<DbxFirebaseExternalConnectionProviderAssets>;
|
|
4816
|
+
/**
|
|
4817
|
+
* Whether the connect flow mints a signed `state` and carries it on the authorize request.
|
|
4818
|
+
*
|
|
4819
|
+
* @returns True when state minting is enabled, which is the default.
|
|
4820
|
+
*/
|
|
4821
|
+
get mintsAuthorizeState(): boolean;
|
|
4822
|
+
/**
|
|
4823
|
+
* Mints the short-lived signed `state` that begins a provider's OAuth handoff.
|
|
4824
|
+
*
|
|
4825
|
+
* An AUTHENTICATED call, which is the entire point of it: the top-level navigation that follows
|
|
4826
|
+
* carries no Firebase ID token, so this is the only place the server learns who is connecting.
|
|
4827
|
+
*
|
|
4828
|
+
* Requires the user to already have a connection document — the server asserts a role against it,
|
|
4829
|
+
* and a role map is only consulted for a document that exists. `DbxFirebaseExternalConnectionsComponent`
|
|
4830
|
+
* creates it on load; a custom UI that reaches this call by another route has to create it too.
|
|
4831
|
+
*
|
|
4832
|
+
* @param providerType - The provider the state is for.
|
|
4833
|
+
* @returns The state to send on the authorize request.
|
|
4834
|
+
*/
|
|
4835
|
+
mintAuthorizeStateForProvider(providerType: UserExternalConnectionProviderType): Promise<DbxFirebaseExternalConnectionAuthorizeState>;
|
|
4836
|
+
/**
|
|
4837
|
+
* Resolves the authorize url for a provider, carrying a freshly minted `state` when state minting
|
|
4838
|
+
* is enabled.
|
|
4839
|
+
*
|
|
4840
|
+
* @param providerType - The provider to resolve.
|
|
4841
|
+
* @returns The authorize url, or null when the provider is not registered.
|
|
4842
|
+
*/
|
|
4843
|
+
authorizeUrlWithStateForProvider(providerType: UserExternalConnectionProviderType): Promise<Maybe<string>>;
|
|
4844
|
+
/**
|
|
4845
|
+
* Resolves the authorize url for a provider, WITHOUT a `state`.
|
|
4846
|
+
*
|
|
4847
|
+
* @param providerType - The provider to resolve.
|
|
4848
|
+
* @returns The authorize url, or null when the provider is not registered.
|
|
4849
|
+
*/
|
|
4850
|
+
authorizeUrlForProvider(providerType: UserExternalConnectionProviderType): Maybe<string>;
|
|
4851
|
+
/**
|
|
4852
|
+
* Starts the connect flow for a provider.
|
|
4853
|
+
*
|
|
4854
|
+
* Uses the provider's own `connect` handler when it declares one, otherwise mints the `state` and
|
|
4855
|
+
* navigates to the authorize url carrying it. The mint is deliberately part of the default rather
|
|
4856
|
+
* than something each app re-implements: the app's authorize endpoint bounces a stateless request
|
|
4857
|
+
* straight to its failure url, so a "connect" that skipped it would look like it worked and land
|
|
4858
|
+
* the user back on the settings page unconnected.
|
|
4859
|
+
*
|
|
4860
|
+
* @param providerType - The provider to connect.
|
|
4861
|
+
* @returns Resolves once the authorize page is actually opening, and rejects when it never opened.
|
|
4862
|
+
*/
|
|
4863
|
+
connectToProvider(providerType: UserExternalConnectionProviderType): Promise<void>;
|
|
4864
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseExternalConnectionService, never>;
|
|
4865
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseExternalConnectionService>;
|
|
4866
|
+
}
|
|
4867
|
+
|
|
4868
|
+
/**
|
|
4869
|
+
* Injection token for the app's UserExternalConnection collection.
|
|
4870
|
+
*
|
|
4871
|
+
* The model's own `UserExternalConnectionFirestoreCollections` is an interface (the canonical model
|
|
4872
|
+
* folder shape) and so cannot be an Angular injection token. This abstract class is that token, and
|
|
4873
|
+
* is bound to the app's collections class by `provideDbxFirebaseExternalConnections()`.
|
|
4874
|
+
*/
|
|
4875
|
+
declare abstract class DbxFirebaseUserExternalConnectionCollections implements UserExternalConnectionFirestoreCollections {
|
|
4876
|
+
abstract readonly userExternalConnectionCollection: UserExternalConnectionFirestoreCollection;
|
|
4877
|
+
}
|
|
4878
|
+
/**
|
|
4879
|
+
* Document store for the signed-in user's single UserExternalConnection document.
|
|
4880
|
+
*
|
|
4881
|
+
* The document id IS the user's uid, so this store is keyed with `setId(currentUid$)`.
|
|
4882
|
+
*/
|
|
4883
|
+
declare class UserExternalConnectionDocumentStore extends AbstractDbxFirebaseDocumentStore<UserExternalConnection, UserExternalConnectionDocument> {
|
|
4884
|
+
readonly userExternalConnectionFunctions: UserExternalConnectionFunctions;
|
|
4885
|
+
constructor();
|
|
4886
|
+
/**
|
|
4887
|
+
* Creates the user's connection document.
|
|
4888
|
+
*
|
|
4889
|
+
* Required before any provider can be connected: the server asserts a role against this document,
|
|
4890
|
+
* and a role map is only consulted for a document that exists. Throws when the user already has
|
|
4891
|
+
* one, so call it only for a user known not to.
|
|
4892
|
+
*/
|
|
4893
|
+
readonly createUserExternalConnection: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreCreateFunction<_dereekb_firebase.CreateUserExternalConnectionParams, _dereekb_firebase.OnCallCreateModelResult>;
|
|
4894
|
+
/**
|
|
4895
|
+
* Disconnects the user from a provider. The only write a client can make to the connection pair.
|
|
4896
|
+
*/
|
|
4897
|
+
readonly disconnectUserExternalConnection: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.DisconnectUserExternalConnectionParams, void>;
|
|
4898
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UserExternalConnectionDocumentStore, never>;
|
|
4899
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<UserExternalConnectionDocumentStore>;
|
|
4900
|
+
}
|
|
4901
|
+
|
|
4902
|
+
/**
|
|
4903
|
+
* Directive providing a {@link UserExternalConnectionDocumentStore} for a single user's connection document.
|
|
4904
|
+
*/
|
|
4905
|
+
declare class DbxFirebaseUserExternalConnectionDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective<UserExternalConnection, UserExternalConnectionDocument, UserExternalConnectionDocumentStore> {
|
|
4906
|
+
constructor();
|
|
4907
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseUserExternalConnectionDocumentStoreDirective, never>;
|
|
4908
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseUserExternalConnectionDocumentStoreDirective, "[dbxFirebaseUserExternalConnectionDocument]", never, {}, {}, never, never, true, never>;
|
|
4909
|
+
}
|
|
4910
|
+
|
|
4911
|
+
/**
|
|
4912
|
+
* Maps the document store's loading state into the per-provider entry map the UI renders from.
|
|
4913
|
+
*
|
|
4914
|
+
* This mapper exists because `dataLoadingState$` turns a MISSING document into
|
|
4915
|
+
* `errorResult(modelDoesNotExistError())` — and a user who has never connected anything has no
|
|
4916
|
+
* document, which is the common case, not an error. `exists$` catches `permission-denied` but does
|
|
4917
|
+
* not feed `dataLoadingState$`, so that case has to be handled here too.
|
|
4918
|
+
*
|
|
4919
|
+
* Both cases mean the same thing to this UI: an empty connection map.
|
|
4920
|
+
*
|
|
4921
|
+
* Pure and exported so it is unit-testable without a TestBed.
|
|
4922
|
+
*
|
|
4923
|
+
* @param state - The document store's data loading state.
|
|
4924
|
+
* @returns The loading state of the user's entry map.
|
|
4925
|
+
*/
|
|
4926
|
+
declare function externalConnectionsLoadingStateFromDocumentLoadingState(state: LoadingState<DocumentDataWithIdAndKey<UserExternalConnection>>): LoadingState<UserExternalConnectionEntryMap>;
|
|
4927
|
+
/**
|
|
4928
|
+
* Decides whether a document load means the user has no connection document and needs one created.
|
|
4929
|
+
*
|
|
4930
|
+
* Only a definitive does-not-exist counts. A state that is still loading carries no value and would
|
|
4931
|
+
* otherwise read as missing — creating on it would fail for every user who does have a document. A
|
|
4932
|
+
* denied read is a rules problem rather than an absent document, so it does not create either.
|
|
4933
|
+
*
|
|
4934
|
+
* Pure and exported so it is unit-testable without a TestBed.
|
|
4935
|
+
*
|
|
4936
|
+
* @param state - The document store's data loading state.
|
|
4937
|
+
* @returns True when the document is known not to exist.
|
|
4938
|
+
*/
|
|
4939
|
+
declare function shouldCreateUserExternalConnectionForDocumentLoadingState(state: LoadingState<DocumentDataWithIdAndKey<UserExternalConnection>>): boolean;
|
|
4940
|
+
/**
|
|
4941
|
+
* Derived state for the signed-in user's external connections.
|
|
4942
|
+
*
|
|
4943
|
+
* Holds THE shared subscription: one document read fanned out to every provider row, instead of one
|
|
4944
|
+
* read per provider. That is the payoff of collapsing to a single document per user.
|
|
4945
|
+
*/
|
|
4946
|
+
declare class DbxFirebaseUserExternalConnectionsStore {
|
|
4947
|
+
readonly userExternalConnectionDocumentStore: UserExternalConnectionDocumentStore;
|
|
4948
|
+
/**
|
|
4949
|
+
* The user's per-provider entries. A missing document (or a denied read) resolves to an empty map.
|
|
4950
|
+
*/
|
|
4951
|
+
readonly entriesLoadingState$: Observable<LoadingState<UserExternalConnectionEntryMap>>;
|
|
4952
|
+
/**
|
|
4953
|
+
* Creates the user's connection document if they do not have one, and does nothing if they do.
|
|
4954
|
+
*
|
|
4955
|
+
* Waits for a settled load before deciding, because a loading state carries no value and would
|
|
4956
|
+
* otherwise read as "missing" for a user who does have a document. Only the definitive
|
|
4957
|
+
* does-not-exist error creates: a denied read is a rules problem, not an absent document.
|
|
4958
|
+
*
|
|
4959
|
+
* The create runs through the document store, so a rejection (including losing the race with
|
|
4960
|
+
* another tab, which the server reports as already-exists) arrives as `error` on the returned
|
|
4961
|
+
* loading state rather than as a thrown error.
|
|
4962
|
+
*
|
|
4963
|
+
* @returns The loading state of the create, or a state with no value when one already exists.
|
|
4964
|
+
*/
|
|
4965
|
+
createIfMissing(): Observable<Maybe<LoadingState<OnCallCreateModelResult>>>;
|
|
4966
|
+
/**
|
|
4967
|
+
* Sets the uid whose connection document is loaded. The document id IS the uid.
|
|
4968
|
+
*
|
|
4969
|
+
* @param uid - The uid, or an observable of it. Null clears the loaded document.
|
|
4970
|
+
*/
|
|
4971
|
+
setUid(uid: Maybe<string> | Observable<Maybe<string>>): void;
|
|
4972
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseUserExternalConnectionsStore, never>;
|
|
4973
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseUserExternalConnectionsStore>;
|
|
4974
|
+
}
|
|
4975
|
+
|
|
4976
|
+
type DbxFirebaseExternalConnectionListItem = DbxValueAsListItem<DbxFirebaseExternalConnectionListItemValue>;
|
|
4977
|
+
/**
|
|
4978
|
+
* Renders every third-party connection as a card row.
|
|
4979
|
+
*
|
|
4980
|
+
* Composed list utilities (see `DocProgressItemListComponent` for the same recipe):
|
|
4981
|
+
* - `.dbx-list-card-items-list` paints each row as a tinted, rounded card;
|
|
4982
|
+
* - `.dbx-list-no-hover-effects` drops the hover state layer, since a row is not clickable — only its buttons are;
|
|
4983
|
+
* - `.dbx-list-auto-height` lets the list flow inline inside the settings section rather than filling it.
|
|
4984
|
+
*
|
|
4985
|
+
* @example
|
|
4986
|
+
* ```html
|
|
4987
|
+
* <dbx-firebase-external-connection-list [state]="listStateSignal()"></dbx-firebase-external-connection-list>
|
|
4988
|
+
* ```
|
|
4989
|
+
*/
|
|
4990
|
+
declare class DbxFirebaseExternalConnectionListComponent extends AbstractDbxListWrapperDirective<DbxFirebaseExternalConnectionListItemValue> {
|
|
4991
|
+
constructor();
|
|
4992
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseExternalConnectionListComponent, never>;
|
|
4993
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseExternalConnectionListComponent, "dbx-firebase-external-connection-list", never, {}, {}, never, ["[top]", "[bottom]", "[empty]", "[emptyLoading]", "[end]"], true, never>;
|
|
4994
|
+
}
|
|
4995
|
+
declare class DbxFirebaseExternalConnectionListViewComponent extends AbstractDbxListViewDirective<DbxFirebaseExternalConnectionListItemValue> {
|
|
4996
|
+
readonly config: DbxValueListViewConfig<DbxFirebaseExternalConnectionListItem>;
|
|
4997
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseExternalConnectionListViewComponent, never>;
|
|
4998
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseExternalConnectionListViewComponent, "dbx-firebase-external-connection-list-view", never, {}, {}, never, never, true, never>;
|
|
4999
|
+
}
|
|
5000
|
+
/**
|
|
5001
|
+
* One third-party connection: its brand, its current state for the signed-in user, and the actions available for it.
|
|
5002
|
+
*
|
|
5003
|
+
* Presentational — the row and its actions arrive as the injected list item, built by the container that reads every
|
|
5004
|
+
* provider's state from ONE document.
|
|
5005
|
+
*/
|
|
5006
|
+
declare class DbxFirebaseExternalConnectionListViewItemComponent extends AbstractDbxValueListViewItemComponent<DbxFirebaseExternalConnectionListItemValue> {
|
|
5007
|
+
readonly defaultIcon = "link";
|
|
5008
|
+
readonly autoConfirmConfig: DbxActionConfirmConfig<unknown>;
|
|
5009
|
+
get row(): DbxFirebaseExternalConnectionRow;
|
|
5010
|
+
get assets(): _dereekb_dbx_firebase.DbxFirebaseExternalConnectionProviderAssets;
|
|
5011
|
+
/**
|
|
5012
|
+
* Actions for this row. An ARRAY because the `error` status offers both Reconnect and Disconnect.
|
|
5013
|
+
*
|
|
5014
|
+
* @returns The actions to render, empty when there are none.
|
|
5015
|
+
*/
|
|
5016
|
+
get actions(): DbxFirebaseExternalConnectionActionConfig[];
|
|
5017
|
+
get statusLabel(): string;
|
|
5018
|
+
get statusColor(): DbxThemeColor;
|
|
5019
|
+
get connectedAt(): Maybe<Date>;
|
|
5020
|
+
/**
|
|
5021
|
+
* The line under the provider name: which account is connected, or what the provider is for.
|
|
5022
|
+
*
|
|
5023
|
+
* @returns The detail line, or nullish when there is nothing to say.
|
|
5024
|
+
*/
|
|
5025
|
+
get detail(): Maybe<string>;
|
|
5026
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseExternalConnectionListViewItemComponent, never>;
|
|
5027
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseExternalConnectionListViewItemComponent, "dbx-firebase-external-connection-list-view-item", never, {}, {}, never, never, true, never>;
|
|
5028
|
+
}
|
|
5029
|
+
|
|
5030
|
+
/**
|
|
5031
|
+
* Renders every registered third-party connection for the signed-in user.
|
|
5032
|
+
*
|
|
5033
|
+
* Owns the stores and makes exactly ONE `toSignal` subscription, which every row is computed from —
|
|
5034
|
+
* the payoff of collapsing to one connection document per user. The rows are presentational and take
|
|
5035
|
+
* their entry as a plain input rather than loading anything themselves.
|
|
5036
|
+
*
|
|
5037
|
+
* @example
|
|
5038
|
+
* ```html
|
|
5039
|
+
* <dbx-firebase-external-connections></dbx-firebase-external-connections>
|
|
5040
|
+
* ```
|
|
5041
|
+
*/
|
|
5042
|
+
declare class DbxFirebaseExternalConnectionsComponent {
|
|
5043
|
+
readonly dbxFirebaseAuthService: DbxFirebaseAuthService;
|
|
5044
|
+
readonly dbxFirebaseExternalConnectionService: DbxFirebaseExternalConnectionService;
|
|
5045
|
+
readonly dbxFirebaseUserExternalConnectionsStore: DbxFirebaseUserExternalConnectionsStore;
|
|
5046
|
+
readonly userExternalConnectionDocumentStore: UserExternalConnectionDocumentStore;
|
|
5047
|
+
constructor();
|
|
5048
|
+
private readonly _currentUidSignal;
|
|
5049
|
+
/**
|
|
5050
|
+
* THE shared subscription. Every row is computed from this one document read.
|
|
5051
|
+
*/
|
|
5052
|
+
private readonly _entriesStateSignal;
|
|
5053
|
+
readonly signedInSignal: i0.Signal<boolean>;
|
|
5054
|
+
readonly errorSignal: i0.Signal<Maybe<_dereekb_util.ReadableError>>;
|
|
5055
|
+
readonly rowsSignal: i0.Signal<DbxFirebaseExternalConnectionRow[]>;
|
|
5056
|
+
/**
|
|
5057
|
+
* The list's state.
|
|
5058
|
+
*
|
|
5059
|
+
* Always a success result, never a loading one: a row carries its own `loading` status and renders a "Loading"
|
|
5060
|
+
* chip, which reads better here than the list swapping itself out for a spinner and then reflowing.
|
|
5061
|
+
*/
|
|
5062
|
+
readonly listStateSignal: i0.Signal<ListLoadingState<DbxFirebaseExternalConnectionListItemValue>>;
|
|
5063
|
+
/**
|
|
5064
|
+
* Builds the actions for a row.
|
|
5065
|
+
*
|
|
5066
|
+
* An errored connection offers both Reconnect and Disconnect: reconnecting is the usual fix, but a
|
|
5067
|
+
* user who no longer wants the integration must not be forced to reauthorize just to remove it.
|
|
5068
|
+
*
|
|
5069
|
+
* @param row - The row to build actions for.
|
|
5070
|
+
* @returns The actions to render, or null while loading.
|
|
5071
|
+
*/
|
|
5072
|
+
actionsForRow(row: DbxFirebaseExternalConnectionRow): Maybe<DbxFirebaseExternalConnectionActionConfig[]>;
|
|
5073
|
+
/**
|
|
5074
|
+
* Starts the connect flow for a provider.
|
|
5075
|
+
*
|
|
5076
|
+
* The action stays working until the authorize page is actually opening, rather than succeeding the
|
|
5077
|
+
* moment the redirect is requested — the page the user is looking at has not changed yet, so a
|
|
5078
|
+
* success there reads as "nothing happened".
|
|
5079
|
+
*
|
|
5080
|
+
* @param providerType - The provider to connect.
|
|
5081
|
+
* @returns Resolves once the authorize page is actually opening.
|
|
5082
|
+
*/
|
|
5083
|
+
connectToProvider(providerType: UserExternalConnectionProviderType): Promise<void>;
|
|
5084
|
+
/**
|
|
5085
|
+
* Disconnects the signed-in user from a provider.
|
|
5086
|
+
*
|
|
5087
|
+
* @param providerType - The provider to disconnect.
|
|
5088
|
+
* @returns The loading state observable of the callable.
|
|
5089
|
+
*/
|
|
5090
|
+
disconnectFromProvider(providerType: UserExternalConnectionProviderType): rxjs.Observable<LoadingState<void>>;
|
|
5091
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseExternalConnectionsComponent, never>;
|
|
5092
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseExternalConnectionsComponent, "dbx-firebase-external-connections", never, {}, {}, never, never, true, never>;
|
|
5093
|
+
}
|
|
5094
|
+
|
|
5095
|
+
/**
|
|
5096
|
+
* Configuration for provideDbxFirebaseExternalConnections().
|
|
5097
|
+
*/
|
|
5098
|
+
interface ProvideDbxFirebaseExternalConnectionsConfig extends DbxFirebaseExternalConnectionsConfig {
|
|
5099
|
+
/**
|
|
5100
|
+
* The app's Firestore collections class, which must implement `UserExternalConnectionFirestoreCollections`.
|
|
5101
|
+
*
|
|
5102
|
+
* Passed explicitly rather than derived, for the same reason `provideDbxFirestoreCollection()`
|
|
5103
|
+
* takes it: the library never names an app's collections class.
|
|
5104
|
+
*/
|
|
5105
|
+
readonly appCollectionClass: ClassLikeType<UserExternalConnectionFirestoreCollections>;
|
|
5106
|
+
}
|
|
5107
|
+
/**
|
|
5108
|
+
* Registers the third-party connection providers an app offers, plus the registry service and the
|
|
5109
|
+
* collection token the connection stores read from.
|
|
5110
|
+
*
|
|
5111
|
+
* A SIBLING of `provideDbxFirebase()` (like `provideDbxFirebaseLogin()` / `provideDbxFirebaseOidc()`)
|
|
5112
|
+
* rather than part of it: it requires an app-supplied provider catalog and depends on
|
|
5113
|
+
* `provideDbxFirestoreCollection()` having run.
|
|
5114
|
+
*
|
|
5115
|
+
* Naming a known provider type is all an app needs to offer that service: the library carries the
|
|
5116
|
+
* presentation, and the connect flow — minting the signed `state`, then redirecting to the authorize
|
|
5117
|
+
* url carrying it — is the library's default. Nothing about it belongs in an app's config.
|
|
5118
|
+
*
|
|
5119
|
+
* @param config - The provider catalog and authorize configuration.
|
|
5120
|
+
* @returns EnvironmentProviders.
|
|
5121
|
+
*
|
|
5122
|
+
* @example
|
|
5123
|
+
* ```ts
|
|
5124
|
+
* provideDbxFirebaseExternalConnections({
|
|
5125
|
+
* appCollectionClass: DemoFirestoreCollections,
|
|
5126
|
+
* authorizeOrigin: environment.externalConnectionAuthorizeOrigin,
|
|
5127
|
+
* providers: [
|
|
5128
|
+
* CALCOM_USER_EXTERNAL_CONNECTION_PROVIDER_TYPE,
|
|
5129
|
+
* // start from a known provider and reword one line
|
|
5130
|
+
* dbxFirebaseKnownExternalConnectionProvider({ providerType: DISCORD_USER_EXTERNAL_CONNECTION_PROVIDER_TYPE, assets: { description: 'Link Discord to get notified in your server.' } }),
|
|
5131
|
+
* // or declare a service the library has no defaults for
|
|
5132
|
+
* APP_INTERNAL_EXTERNAL_CONNECTION_PROVIDER
|
|
5133
|
+
* ]
|
|
5134
|
+
* })
|
|
5135
|
+
* ```
|
|
5136
|
+
*/
|
|
5137
|
+
declare function provideDbxFirebaseExternalConnections(config: ProvideDbxFirebaseExternalConnectionsConfig): EnvironmentProviders;
|
|
5138
|
+
|
|
5139
|
+
/**
|
|
5140
|
+
* The "send a test message" action for one delivery method's section.
|
|
5141
|
+
*
|
|
5142
|
+
* Carries the handler rather than the section emitting an output: the button — and so the `dbxAction`
|
|
5143
|
+
* host that drives it — lives inside the section, while the behaviour belongs to whoever owns the store.
|
|
5144
|
+
* The section stays presentational and the container stays in charge of what the action does.
|
|
5145
|
+
*/
|
|
5146
|
+
interface DbxFirebaseNotificationHealthCheckMethodProbeActionConfig {
|
|
5147
|
+
/**
|
|
5148
|
+
* Label for the button, e.g. `Send Test Email`.
|
|
5149
|
+
*/
|
|
5150
|
+
readonly label: string;
|
|
5151
|
+
/**
|
|
5152
|
+
* Material icon name for the button.
|
|
5153
|
+
*/
|
|
5154
|
+
readonly icon?: Maybe<string>;
|
|
5155
|
+
/**
|
|
5156
|
+
* Whether the action is currently unavailable — typically because the server's probe window for this
|
|
5157
|
+
* method has not passed yet.
|
|
5158
|
+
*/
|
|
5159
|
+
readonly disabled?: Maybe<boolean>;
|
|
5160
|
+
/**
|
|
5161
|
+
* Explains why the action is unavailable, shown above the button.
|
|
5162
|
+
*/
|
|
5163
|
+
readonly notice?: Maybe<string>;
|
|
5164
|
+
/**
|
|
5165
|
+
* Confirmation shown before the action runs.
|
|
5166
|
+
*
|
|
5167
|
+
* Effectively required, for two reasons: a test message is delivered to the user for real, and
|
|
5168
|
+
* confirming is also what marks the action value-ready. Without a confirm the button triggers but the
|
|
5169
|
+
* handler never runs.
|
|
5170
|
+
*/
|
|
5171
|
+
readonly confirm?: Maybe<DbxActionConfirmConfig>;
|
|
5172
|
+
/**
|
|
5173
|
+
* Dispatches the test message.
|
|
5174
|
+
*/
|
|
5175
|
+
readonly handler: WorkUsingContext;
|
|
5176
|
+
}
|
|
5177
|
+
/**
|
|
5178
|
+
* Renders one delivery method's health check result: where it would deliver to, everything the check
|
|
5179
|
+
* found for it, the state of any test message that was sent through it, and — when the method can be
|
|
5180
|
+
* probed and an action is supplied — the button for sending a new one.
|
|
5181
|
+
*
|
|
5182
|
+
* Presentational: it injects nothing beyond the presentation registry, so it can be dropped anywhere a
|
|
5183
|
+
* result is already in hand. The test message action is an input rather than something it resolves.
|
|
5184
|
+
*/
|
|
5185
|
+
declare class DbxFirebaseNotificationHealthCheckMethodComponent {
|
|
5186
|
+
private readonly _presentationService;
|
|
5187
|
+
readonly result: i0.InputSignal<Maybe<NotificationDeliveryHealthCheckResult>>;
|
|
5188
|
+
/**
|
|
5189
|
+
* The test message action to offer for this method, when the owner of the check has one to offer.
|
|
5190
|
+
*
|
|
5191
|
+
* Ignored unless the result reports that the method can actually be probed.
|
|
5192
|
+
*/
|
|
5193
|
+
readonly probeAction: i0.InputSignal<Maybe<DbxFirebaseNotificationHealthCheckMethodProbeActionConfig>>;
|
|
5194
|
+
readonly methodLabelSignal: i0.Signal<string>;
|
|
5195
|
+
readonly methodIconSignal: i0.Signal<string>;
|
|
5196
|
+
readonly statusColorSignal: i0.Signal<i1.DbxThemeColor>;
|
|
5197
|
+
readonly statusLabelSignal: i0.Signal<string>;
|
|
5198
|
+
/**
|
|
5199
|
+
* Introduces the dispatched probe's timestamp, naming what was actually sent.
|
|
5200
|
+
*
|
|
5201
|
+
* Sentence-cased from the method's mid-sentence noun, since it opens the line.
|
|
5202
|
+
*/
|
|
5203
|
+
readonly testMessageSentLabelSignal: i0.Signal<string>;
|
|
5204
|
+
/**
|
|
5205
|
+
* The action to render, which requires the server to have reported this method as probe-capable.
|
|
5206
|
+
*
|
|
5207
|
+
* The result is the authority on that, so an action supplied for a method that cannot be probed is
|
|
5208
|
+
* dropped rather than offering the user a test message the server would refuse to send.
|
|
5209
|
+
*/
|
|
5210
|
+
readonly probeActionSignal: i0.Signal<Maybe<DbxFirebaseNotificationHealthCheckMethodProbeActionConfig>>;
|
|
5211
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationHealthCheckMethodComponent, never>;
|
|
5212
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationHealthCheckMethodComponent, "dbx-firebase-notification-healthcheck-method", never, { "result": { "alias": "result"; "required": false; "isSignal": true; }; "probeAction": { "alias": "probeAction"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5213
|
+
}
|
|
5214
|
+
|
|
5215
|
+
/**
|
|
5216
|
+
* The test message action to offer in each delivery method's section, keyed by method.
|
|
5217
|
+
*
|
|
5218
|
+
* A method with no entry gets no test message action, as does a method the check reports as not
|
|
5219
|
+
* probe-capable.
|
|
5220
|
+
*/
|
|
5221
|
+
type DbxFirebaseNotificationHealthCheckProbeActionMap = NotificationDeliveryMethodMap<Maybe<DbxFirebaseNotificationHealthCheckMethodProbeActionConfig>>;
|
|
5222
|
+
/**
|
|
5223
|
+
* Renders a whole {@link NotificationHealthCheck}: the rolled-up status, then one section per delivery
|
|
5224
|
+
* method that this system can actually send through.
|
|
5225
|
+
*
|
|
5226
|
+
* This is the inlineable report — it takes the check as an input and injects nothing beyond the
|
|
5227
|
+
* presentation registry, so it can be dropped anywhere a check is already in hand (a settings page, a
|
|
5228
|
+
* dialog, an admin view). The per-method test message actions are an input for the same reason: the
|
|
5229
|
+
* report renders them, whoever owns the store supplies them.
|
|
5230
|
+
*
|
|
5231
|
+
* The view is client-facing, so it shows only what the user can act on. The check's account-wide
|
|
5232
|
+
* findings (`is`), any method the system has no send service for, and the methods in
|
|
5233
|
+
* {@link HIDDEN_NOTIFICATION_DELIVERY_METHODS} are left out here — all of them remain on the check
|
|
5234
|
+
* itself for an API/callModel consumer.
|
|
5235
|
+
*/
|
|
5236
|
+
declare class DbxFirebaseNotificationHealthCheckComponent {
|
|
5237
|
+
private readonly _presentationService;
|
|
5238
|
+
readonly healthCheck: i0.InputSignal<Maybe<NotificationHealthCheck>>;
|
|
5239
|
+
/**
|
|
5240
|
+
* The test message action to offer in each method's section, keyed by delivery method.
|
|
5241
|
+
*
|
|
5242
|
+
* Left unset the report is read-only, which is what an admin or historical view wants.
|
|
5243
|
+
*/
|
|
5244
|
+
readonly probeActions: i0.InputSignal<Maybe<Partial<Record<NotificationDeliveryMethod, Maybe<DbxFirebaseNotificationHealthCheckMethodProbeActionConfig>>>>>;
|
|
5245
|
+
readonly statusColorSignal: i0.Signal<i1.DbxThemeColor>;
|
|
5246
|
+
readonly statusIconSignal: i0.Signal<string>;
|
|
5247
|
+
readonly statusLabelSignal: i0.Signal<string>;
|
|
5248
|
+
/**
|
|
5249
|
+
* The method results worth showing the user.
|
|
5250
|
+
*
|
|
5251
|
+
* A method the server has no send service for is not something the user can do anything about, so it
|
|
5252
|
+
* is dropped rather than rendered as a "Not Checked" section, as is any method this report does not
|
|
5253
|
+
* render at all — see {@link HIDDEN_NOTIFICATION_DELIVERY_METHODS}.
|
|
5254
|
+
*/
|
|
5255
|
+
readonly methodResultsSignal: i0.Signal<_dereekb_firebase.NotificationDeliveryHealthCheckResult[]>;
|
|
5256
|
+
/**
|
|
5257
|
+
* Each method section to render, paired with the test message action for its method.
|
|
5258
|
+
*
|
|
5259
|
+
* Paired up here rather than indexed in the template so the map lookup stays out of the view.
|
|
5260
|
+
*/
|
|
5261
|
+
readonly methodSectionsSignal: i0.Signal<{
|
|
5262
|
+
result: _dereekb_firebase.NotificationDeliveryHealthCheckResult;
|
|
5263
|
+
probeAction: Maybe<DbxFirebaseNotificationHealthCheckMethodProbeActionConfig>;
|
|
5264
|
+
}[]>;
|
|
5265
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationHealthCheckComponent, never>;
|
|
5266
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationHealthCheckComponent, "dbx-firebase-notification-healthcheck", never, { "healthCheck": { "alias": "healthCheck"; "required": false; "isSignal": true; }; "probeActions": { "alias": "probeActions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5267
|
+
}
|
|
5268
|
+
|
|
5269
|
+
/**
|
|
5270
|
+
* Renders a single {@link NotificationHealthCheckIssue}: its status chip, what was found, and what to
|
|
5271
|
+
* do about it.
|
|
5272
|
+
*
|
|
5273
|
+
* The chip's label and icon come from the {@link DbxFirebaseNotificationHealthCheckPresentationService}
|
|
5274
|
+
* registry; the message and the suggested fix always come from the issue itself, so an issue code the
|
|
5275
|
+
* registry has never seen still renders correctly.
|
|
5276
|
+
*
|
|
5277
|
+
* The finding's structured detail (`d`) is deliberately not rendered — values like the sending domain
|
|
5278
|
+
* or the delivery method key are diagnostic rather than user-facing. They remain on the issue itself,
|
|
5279
|
+
* so an API/callModel consumer still receives them.
|
|
5280
|
+
*/
|
|
5281
|
+
declare class DbxFirebaseNotificationHealthCheckIssueComponent {
|
|
5282
|
+
private readonly _presentationService;
|
|
5283
|
+
readonly issue: i0.InputSignal<Maybe<NotificationHealthCheckIssue>>;
|
|
5284
|
+
/**
|
|
5285
|
+
* The delivery method this finding belongs to, when it belongs to one.
|
|
5286
|
+
*
|
|
5287
|
+
* Only used to label a probe finding with what was actually sent — `Test Email Sent` rather than the
|
|
5288
|
+
* method-agnostic `Test Sent` — since every provider emits the same probe codes. An account-wide
|
|
5289
|
+
* finding leaves it unset.
|
|
5290
|
+
*/
|
|
5291
|
+
readonly method: i0.InputSignal<Maybe<NotificationDeliveryMethod>>;
|
|
5292
|
+
readonly presentationSignal: i0.Signal<_dereekb_dbx_firebase.DbxFirebaseNotificationHealthCheckIssuePresentation>;
|
|
5293
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationHealthCheckIssueComponent, never>;
|
|
5294
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationHealthCheckIssueComponent, "dbx-firebase-notification-healthcheck-issue", never, { "issue": { "alias": "issue"; "required": false; "isSignal": true; }; "method": { "alias": "method"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5295
|
+
}
|
|
5296
|
+
|
|
5297
|
+
/**
|
|
5298
|
+
* Client-side service used for retrieving notification templates.
|
|
5299
|
+
*/
|
|
5300
|
+
declare class DbxFirebaseNotificationTemplateService {
|
|
5301
|
+
readonly appNotificationTemplateTypeInfoRecordService: AppNotificationTemplateTypeInfoRecordService;
|
|
5302
|
+
notificationItemSubjectMessagePairForNotificationSummaryItem<D extends NotificationItemMetadata = {}>(item: NotificationItem<D>): NotificationItemSubjectMessagePair<D>;
|
|
5303
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationTemplateService, never>;
|
|
5304
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseNotificationTemplateService>;
|
|
5305
|
+
}
|
|
5306
|
+
|
|
5307
|
+
/**
|
|
5308
|
+
* A notification item wrapped with list selection state.
|
|
5309
|
+
*/
|
|
5310
|
+
type NotificationItemWithSelection = DbxValueAsListItem<NotificationItem>;
|
|
5311
|
+
/**
|
|
5312
|
+
* Selection list wrapper for notification items with view-only default selection mode.
|
|
5313
|
+
*/
|
|
5314
|
+
declare class DbxFirebaseNotificationItemListComponent extends AbstractDbxSelectionListWrapperDirective<NotificationItem> {
|
|
5315
|
+
constructor();
|
|
5316
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListComponent, never>;
|
|
5317
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListComponent, "dbx-firebase-notificationitem-list", never, {}, {}, never, ["[top]", "[bottom]", "[empty]", "[emptyLoading]", "[end]"], true, never>;
|
|
5318
|
+
}
|
|
5319
|
+
/**
|
|
5320
|
+
* List view component that renders notification items using the selection list pattern.
|
|
5321
|
+
*/
|
|
5322
|
+
declare class DbxFirebaseNotificationItemListViewComponent extends AbstractDbxSelectionListViewDirective<NotificationItem> {
|
|
5323
|
+
readonly config: DbxSelectionValueListViewConfig<NotificationItemWithSelection>;
|
|
5324
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListViewComponent, never>;
|
|
5325
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListViewComponent, "dbx-firebase-notificationitem-list-view", never, {}, {}, never, never, true, never>;
|
|
5326
|
+
}
|
|
5327
|
+
/**
|
|
5328
|
+
* Individual list view item component rendering a notification's subject, message, and date.
|
|
5329
|
+
*/
|
|
5330
|
+
declare class DbxFirebaseNotificationItemListViewItemComponent extends AbstractDbxValueListViewItemComponent<NotificationItem> {
|
|
5331
|
+
readonly dbxFirebaseNotificationTemplateService: DbxFirebaseNotificationTemplateService;
|
|
5332
|
+
readonly pairGetter: _dereekb_util.CachedFactoryWithInput<_dereekb_firebase.NotificationItemSubjectMessagePair<{}>, unknown>;
|
|
5333
|
+
get subject(): string;
|
|
5334
|
+
get message(): string;
|
|
5335
|
+
get date(): Date;
|
|
5336
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListViewItemComponent, never>;
|
|
5337
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListViewItemComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
5338
|
+
}
|
|
5339
|
+
|
|
5340
|
+
/**
|
|
5341
|
+
* Presentational component for notification item content, displaying subject, message, and date.
|
|
5342
|
+
*/
|
|
5343
|
+
declare class DbxFirebaseNotificationItemContentComponent {
|
|
5344
|
+
readonly subject: i0.InputSignal<Maybe<string>>;
|
|
5345
|
+
readonly message: i0.InputSignal<Maybe<string>>;
|
|
5346
|
+
readonly date: i0.InputSignal<Maybe<Date>>;
|
|
5347
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemContentComponent, never>;
|
|
5348
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemContentComponent, "dbx-firebase-notificationitem-content", never, { "subject": { "alias": "subject"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; }, {}, never, ["[header]", "[premessage]", "*"], true, never>;
|
|
5349
|
+
}
|
|
5350
|
+
|
|
5351
|
+
/**
|
|
5352
|
+
* Renders a notification item using the widget system, resolving the appropriate
|
|
5353
|
+
* display component based on the notification's template type.
|
|
5354
|
+
*/
|
|
5355
|
+
declare class DbxFirebaseNotificationItemViewComponent<D extends NotificationItemMetadata = {}> {
|
|
5356
|
+
readonly item: i0.InputSignal<Maybe<NotificationItem<D>>>;
|
|
5357
|
+
readonly configSignal: i0.Signal<DbxWidgetViewComponentConfig<unknown> | undefined>;
|
|
5358
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemViewComponent<any>, never>;
|
|
5359
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemViewComponent<any>, "dbx-firebase-notificationitem-view", never, { "item": { "alias": "item"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5360
|
+
}
|
|
5361
|
+
|
|
5362
|
+
/**
|
|
5363
|
+
* Abstract base directive for notification item widget display components.
|
|
5364
|
+
*
|
|
5365
|
+
* Provides typed access to the {@link NotificationItem} data for custom rendering.
|
|
5366
|
+
*/
|
|
5367
|
+
declare abstract class AbstractDbxFirebaseNotificationItemWidgetComponent<D extends NotificationItemMetadata = {}> extends AbstractDbxWidgetComponent<NotificationItem<D>> {
|
|
5368
|
+
get notificationItem(): NotificationItem<D>;
|
|
5369
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxFirebaseNotificationItemWidgetComponent<any>, never>;
|
|
5370
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractDbxFirebaseNotificationItemWidgetComponent<any>, never, never, {}, {}, never, never, true, never>;
|
|
5371
|
+
}
|
|
5372
|
+
|
|
5373
|
+
/**
|
|
5374
|
+
* Default notification item view component that renders subject, message, and creation date.
|
|
5375
|
+
*/
|
|
5376
|
+
declare class DbxFirebaseNotificationItemDefaultViewComponent extends AbstractDbxFirebaseNotificationItemWidgetComponent {
|
|
5377
|
+
get subject(): _dereekb_util.Maybe<string>;
|
|
5378
|
+
get message(): _dereekb_util.Maybe<string>;
|
|
5379
|
+
get date(): Date;
|
|
5380
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemDefaultViewComponent, never>;
|
|
5381
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemDefaultViewComponent, "dbx-firebase-notificationitem-view-default", never, {}, {}, never, never, true, never>;
|
|
5382
|
+
}
|
|
5383
|
+
|
|
5384
|
+
/**
|
|
5385
|
+
* Configuration for the {@link DbxFirebaseNotificationHealthCheckDialogButtonComponent}.
|
|
5386
|
+
*/
|
|
5387
|
+
interface DbxFirebaseNotificationHealthCheckDialogButtonComponentConfig {
|
|
5388
|
+
readonly text?: Maybe<string>;
|
|
5389
|
+
readonly icon?: Maybe<string>;
|
|
5390
|
+
}
|
|
5391
|
+
/**
|
|
5392
|
+
* Button that opens the notification delivery health check in a dialog.
|
|
5393
|
+
*
|
|
5394
|
+
* Place it inside a `dbxFirebaseNotificationUserDocument` so the dialog's view component can resolve
|
|
5395
|
+
* that directive's NotificationUserDocumentStore.
|
|
5396
|
+
*/
|
|
5397
|
+
declare class DbxFirebaseNotificationHealthCheckDialogButtonComponent {
|
|
5398
|
+
private readonly _matDialog;
|
|
5399
|
+
private readonly _injector;
|
|
5400
|
+
readonly config: i0.InputSignal<Maybe<DbxFirebaseNotificationHealthCheckDialogButtonComponentConfig>>;
|
|
5401
|
+
readonly text: i0.InputSignal<Maybe<string>>;
|
|
5402
|
+
readonly icon: i0.InputSignal<Maybe<string>>;
|
|
5403
|
+
readonly textSignal: i0.Signal<string>;
|
|
5404
|
+
readonly iconSignal: i0.Signal<string>;
|
|
5405
|
+
openHealthCheckDialog(): void;
|
|
5406
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationHealthCheckDialogButtonComponent, never>;
|
|
5407
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationHealthCheckDialogButtonComponent, "dbx-firebase-notification-healthcheck-dialog-button", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5408
|
+
}
|
|
5409
|
+
|
|
5410
|
+
/**
|
|
5411
|
+
* Configuration for opening a {@link DbxFirebaseNotificationHealthCheckDialogComponent}.
|
|
5412
|
+
*/
|
|
5413
|
+
interface DbxFirebaseNotificationHealthCheckDialogComponentConfig {
|
|
5414
|
+
/**
|
|
5415
|
+
* The injector to open the dialog with.
|
|
5416
|
+
*
|
|
5417
|
+
* A dialog renders outside the opening component's view, so it does not inherit that component's
|
|
5418
|
+
* injector by default. Passing the opener's injector is what lets the view component resolve the
|
|
5419
|
+
* NotificationUserDocumentStore that `dbxFirebaseNotificationUserDocument` provided.
|
|
5420
|
+
*/
|
|
5421
|
+
readonly injector?: Injector;
|
|
5422
|
+
}
|
|
5423
|
+
/**
|
|
5424
|
+
* Dialog wrapper around {@link DbxFirebaseNotificationHealthCheckViewComponent}.
|
|
5425
|
+
*/
|
|
5426
|
+
declare class DbxFirebaseNotificationHealthCheckDialogComponent extends AbstractDialogDirective {
|
|
5427
|
+
/**
|
|
5428
|
+
* Opens the notification delivery health check in a dialog.
|
|
5429
|
+
*
|
|
5430
|
+
* @param matDialog - The dialog service.
|
|
5431
|
+
* @param config - The injector to resolve the NotificationUserDocumentStore from.
|
|
5432
|
+
* @returns The dialog reference.
|
|
5433
|
+
*/
|
|
5434
|
+
static openDialog(matDialog: MatDialog, config?: DbxFirebaseNotificationHealthCheckDialogComponentConfig): MatDialogRef<DbxFirebaseNotificationHealthCheckDialogComponent>;
|
|
5435
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationHealthCheckDialogComponent, never>;
|
|
5436
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationHealthCheckDialogComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
5437
|
+
}
|
|
5438
|
+
|
|
5439
|
+
/**
|
|
5440
|
+
* Document store for a single NotificationUser with update, resync, and health check functions.
|
|
5441
|
+
*/
|
|
5442
|
+
declare class NotificationUserDocumentStore extends AbstractDbxFirebaseDocumentStore<NotificationUser, NotificationUserDocument> {
|
|
5443
|
+
readonly notificationFunctions: NotificationFunctions;
|
|
5444
|
+
constructor();
|
|
5445
|
+
readonly updateNotificationUser: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.UpdateNotificationUserParams, void>;
|
|
5446
|
+
readonly resyncNotificationUser: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.TargetModelParams, _dereekb_firebase.ResyncNotificationUserResult>;
|
|
5447
|
+
/**
|
|
5448
|
+
* Runs a delivery health check for this NotificationUser.
|
|
5449
|
+
*
|
|
5450
|
+
* Dispatching a real test message is opt-in via the `sendProbe` param, since it delivers actual
|
|
5451
|
+
* mail/SMS to the user.
|
|
5452
|
+
*
|
|
5453
|
+
* The result is only returned by the call, so use the DbxFirebaseNotificationUserHealthCheckStore
|
|
5454
|
+
* to run a check whose outcome is retained as state.
|
|
5455
|
+
*/
|
|
5456
|
+
readonly healthCheck: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.NotificationUserHealthCheckParams, _dereekb_firebase.NotificationUserHealthCheckResult>;
|
|
5457
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationUserDocumentStore, never>;
|
|
5458
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationUserDocumentStore>;
|
|
5459
|
+
}
|
|
5460
|
+
|
|
5461
|
+
/**
|
|
5462
|
+
* Params for a health check run. The store injects the NotificationUser key, so it is not required.
|
|
5463
|
+
*/
|
|
5464
|
+
type DbxFirebaseNotificationUserHealthCheckRunParams = DbxFirebaseDocumentStoreFunctionParamsInput<NotificationUserHealthCheckParams>;
|
|
5465
|
+
interface DbxFirebaseNotificationUserHealthCheckStoreState {
|
|
5466
|
+
/**
|
|
5467
|
+
* The loading state of the most recent health check run made through this store.
|
|
5468
|
+
*
|
|
5469
|
+
* Only set once a run has been dispatched. The check itself is persisted on the NotificationUser,
|
|
5470
|
+
* so the stored one is read from the document instead.
|
|
5471
|
+
*/
|
|
5472
|
+
readonly healthCheckResultState?: Maybe<LoadingState<NotificationUserHealthCheckResult>>;
|
|
5473
|
+
}
|
|
5474
|
+
/**
|
|
5475
|
+
* Store for running a notification delivery health check against the NotificationUser of the
|
|
5476
|
+
* injected {@link NotificationUserDocumentStore}, and for retaining the result of that run.
|
|
5477
|
+
*
|
|
5478
|
+
* Exists separately from the document store because a run returns more than what is persisted:
|
|
5479
|
+
* `probesDispatched`/`probesResolved` are only available on the invocation result, and are only
|
|
5480
|
+
* relevant to the session that ran the check.
|
|
5481
|
+
*/
|
|
5482
|
+
declare class DbxFirebaseNotificationUserHealthCheckStore extends ComponentStore<DbxFirebaseNotificationUserHealthCheckStoreState> {
|
|
5483
|
+
readonly notificationUserDocumentStore: NotificationUserDocumentStore;
|
|
5484
|
+
/**
|
|
5485
|
+
* The app's health check tuning, when it configured any.
|
|
5486
|
+
*
|
|
5487
|
+
* Optional: without it both windows fall back to the library defaults, which is correct for an app
|
|
5488
|
+
* that did not override them on the server either.
|
|
5489
|
+
*/
|
|
5490
|
+
private readonly _config;
|
|
5491
|
+
constructor();
|
|
5492
|
+
/**
|
|
5493
|
+
* Whether the NotificationUser being checked exists.
|
|
5494
|
+
*
|
|
5495
|
+
* There is nothing to check until notifications have been set up for the account.
|
|
5496
|
+
*/
|
|
5497
|
+
readonly exists$: Observable<boolean>;
|
|
5498
|
+
/**
|
|
5499
|
+
* The health check stored on the document.
|
|
5500
|
+
*
|
|
5501
|
+
* The check is persisted on every run, so the most recent one renders without invoking anything.
|
|
5502
|
+
*/
|
|
5503
|
+
readonly healthCheck$: Observable<Maybe<_dereekb_firebase.NotificationHealthCheck>>;
|
|
5504
|
+
/**
|
|
5505
|
+
* The loading state of the most recent {@link runHealthCheck} dispatch.
|
|
5506
|
+
*
|
|
5507
|
+
* A dispatch sets this to a loading state synchronously, so a caller that dispatches and then
|
|
5508
|
+
* watches this observable is watching its own run.
|
|
5509
|
+
*/
|
|
5510
|
+
readonly healthCheckResultState$: Observable<Maybe<LoadingState<NotificationUserHealthCheckResult>>>;
|
|
5511
|
+
/**
|
|
5512
|
+
* The full result of the most recent {@link runHealthCheck} run from this store.
|
|
5513
|
+
*
|
|
5514
|
+
* `probesDispatched`/`probesResolved` are not part of the document, so they are only available here
|
|
5515
|
+
* and only until the store is destroyed.
|
|
5516
|
+
*/
|
|
5517
|
+
readonly latestHealthCheckResult$: Observable<Maybe<NotificationUserHealthCheckResult>>;
|
|
5518
|
+
/**
|
|
5519
|
+
* The earliest time another run is allowed, derived from the check stored on the document.
|
|
5520
|
+
*
|
|
5521
|
+
* Undefined until a check has been run.
|
|
5522
|
+
*/
|
|
5523
|
+
readonly nextRunAt$: Observable<Maybe<Date>>;
|
|
5524
|
+
/**
|
|
5525
|
+
* The earliest time another test message may be dispatched through each delivery method.
|
|
5526
|
+
*
|
|
5527
|
+
* Per method, because the server's probe window is per method: each method has its own test message
|
|
5528
|
+
* action, and a test email must not hold the test text message off. Tracked separately from
|
|
5529
|
+
* {@link nextRunAt$} as well — running the check does not consume the test message allowance, so a
|
|
5530
|
+
* plain run must not disable any of the probe actions.
|
|
5531
|
+
*/
|
|
5532
|
+
readonly nextProbeAtByMethod$: Observable<NotificationDeliveryMethodMap<Maybe<Date>>>;
|
|
5533
|
+
/**
|
|
5534
|
+
* How long until another run is allowed, counting down once per second.
|
|
5535
|
+
*/
|
|
5536
|
+
readonly throttleSecondsRemaining$: Observable<Seconds>;
|
|
5537
|
+
/**
|
|
5538
|
+
* How long until another test message may be dispatched through each delivery method, counting down
|
|
5539
|
+
* once per second.
|
|
5540
|
+
*
|
|
5541
|
+
* A method whose window has never opened — no probe has been dispatched through it — is absent, which
|
|
5542
|
+
* a consumer reads the same as 0.
|
|
5543
|
+
*/
|
|
5544
|
+
readonly probeThrottleSecondsRemainingByMethod$: Observable<NotificationDeliveryMethodMap<Seconds>>;
|
|
5545
|
+
/**
|
|
5546
|
+
* Whether the server would reject a run right now.
|
|
5547
|
+
*
|
|
5548
|
+
* The server enforces the throttle; this is what lets the view disable the action instead of letting
|
|
5549
|
+
* the user trigger a call that comes back as an error.
|
|
5550
|
+
*/
|
|
5551
|
+
readonly isThrottled$: Observable<boolean>;
|
|
5552
|
+
/**
|
|
5553
|
+
* The delivery methods whose test message is still waiting on an outcome.
|
|
5554
|
+
*
|
|
5555
|
+
* The one part of a stored check that changes without anyone re-running it, so it is what
|
|
5556
|
+
* {@link watchPendingProbes} watches.
|
|
5557
|
+
*/
|
|
5558
|
+
readonly pendingProbeMethods$: Observable<NotificationDeliveryMethod[]>;
|
|
5559
|
+
/**
|
|
5560
|
+
* Whether a test message is in flight right now.
|
|
5561
|
+
*/
|
|
5562
|
+
readonly hasPendingProbe$: Observable<boolean>;
|
|
5563
|
+
/**
|
|
5564
|
+
* The next verification to run, or null when there is nothing to watch.
|
|
5565
|
+
*
|
|
5566
|
+
* Re-derived from the document on every change, which is what paces the loop: each verification
|
|
5567
|
+
* advances the stored check's `vat`, so the moment the server will accept another poll moves forward
|
|
5568
|
+
* and this emits the next one. The watch gives up once the oldest probe has been in flight longer than
|
|
5569
|
+
* the configured window — a provider that is never going to record an outcome should not be polled for
|
|
5570
|
+
* as long as the page stays open.
|
|
5571
|
+
*/
|
|
5572
|
+
private readonly _nextProbeVerification$;
|
|
5573
|
+
private readonly _setHealthCheckResultState;
|
|
5574
|
+
/**
|
|
5575
|
+
* Runs the document store's health check for its NotificationUser and puts the outcome on
|
|
5576
|
+
* {@link healthCheckResultState$}.
|
|
5577
|
+
*
|
|
5578
|
+
* Dispatching a real test message is opt-in via the `sendProbe` param, since it delivers actual
|
|
5579
|
+
* mail/SMS to the user.
|
|
5580
|
+
*
|
|
5581
|
+
* While a run is in flight further dispatches are ignored, so the state always reflects the run
|
|
5582
|
+
* that is actually happening.
|
|
5583
|
+
*/
|
|
5584
|
+
readonly runHealthCheck: (observableOrValue: Maybe<Omit<NotificationUserHealthCheckParams, "key"> & Partial<Pick<NotificationUserHealthCheckParams, "key">>> | Observable<Maybe<Omit<NotificationUserHealthCheckParams, "key"> & Partial<Pick<NotificationUserHealthCheckParams, "key">>>>) => rxjs.Subscription;
|
|
5585
|
+
/**
|
|
5586
|
+
* Watches every in-flight test message until it has an outcome, without the user doing anything.
|
|
5587
|
+
*
|
|
5588
|
+
* A dispatched probe settles on the delivery provider's schedule rather than the caller's, so
|
|
5589
|
+
* something has to ask again once the outcome exists. That used to be the user, told to come back and
|
|
5590
|
+
* re-run the check; this is that same poll, run automatically. Each verification is scoped to the
|
|
5591
|
+
* methods actually awaiting an outcome and answers to its own server-side window, so it neither sends
|
|
5592
|
+
* anything nor consumes the user's allowance for running the check itself. The result lands on the
|
|
5593
|
+
* NotificationUser, which is already streamed into {@link healthCheck$}, so a settled probe simply
|
|
5594
|
+
* appears in the report.
|
|
5595
|
+
*
|
|
5596
|
+
* Idempotent to start and safe to leave running: it does nothing at all while no probe is in flight,
|
|
5597
|
+
* and stops on its own once every probe has settled or aged out.
|
|
5598
|
+
*/
|
|
5599
|
+
readonly watchPendingProbes: (observableOrValue?: void | Observable<void> | undefined) => rxjs.Subscription;
|
|
5600
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationUserHealthCheckStore, never>;
|
|
5601
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseNotificationUserHealthCheckStore>;
|
|
5602
|
+
}
|
|
5603
|
+
/**
|
|
5604
|
+
* A scheduled verification of the test messages a check has in flight.
|
|
5605
|
+
*/
|
|
5606
|
+
interface DbxFirebaseNotificationUserHealthCheckProbeVerification {
|
|
5607
|
+
/**
|
|
5608
|
+
* The delivery methods awaiting an outcome.
|
|
5609
|
+
*/
|
|
5610
|
+
readonly methods: NotificationDeliveryMethod[];
|
|
5611
|
+
/**
|
|
5612
|
+
* The earliest time the server will accept the verification.
|
|
5613
|
+
*/
|
|
5614
|
+
readonly at: Date;
|
|
5615
|
+
}
|
|
5616
|
+
|
|
5617
|
+
/**
|
|
5618
|
+
* Renders the notification delivery health check for the ancestor NotificationUserDocumentStore, and
|
|
5619
|
+
* the actions for re-running it.
|
|
5620
|
+
*
|
|
5621
|
+
* The check is persisted on the NotificationUser, so the last one renders immediately without invoking
|
|
5622
|
+
* anything. "Run Check" re-runs it and stays a single global action, since a run only reads
|
|
5623
|
+
* configuration and provider state. Sending a test message is per delivery method instead — it
|
|
5624
|
+
* dispatches a real message through that one method, and answers to that method's own throttle window —
|
|
5625
|
+
* so its action lives in that method's section rather than in a footer.
|
|
5626
|
+
*
|
|
5627
|
+
* A dispatched test message settles later, on the delivery provider's schedule. This view watches for
|
|
5628
|
+
* that outcome itself rather than telling the user to come back and re-run the check: the store polls a
|
|
5629
|
+
* cheap server-side verification while anything is in flight, and the report — read live from the
|
|
5630
|
+
* document — updates the moment the result lands.
|
|
5631
|
+
*/
|
|
5632
|
+
declare class DbxFirebaseNotificationHealthCheckViewComponent {
|
|
5633
|
+
private readonly _presentationService;
|
|
5634
|
+
readonly healthCheckStore: DbxFirebaseNotificationUserHealthCheckStore;
|
|
5635
|
+
readonly existsSignal: i0.Signal<boolean>;
|
|
5636
|
+
readonly healthCheckSignal: i0.Signal<Maybe<_dereekb_firebase.NotificationHealthCheck>>;
|
|
5637
|
+
readonly latestHealthCheckResultSignal: i0.Signal<Maybe<_dereekb_firebase.NotificationUserHealthCheckResult>>;
|
|
5638
|
+
readonly throttleSecondsRemainingSignal: i0.Signal<number>;
|
|
5639
|
+
readonly isThrottledSignal: i0.Signal<boolean>;
|
|
5640
|
+
readonly probeThrottleSecondsRemainingByMethodSignal: i0.Signal<Partial<Record<NotificationDeliveryMethod, number>>>;
|
|
5641
|
+
private readonly _lastRequestedProbeMethod;
|
|
5642
|
+
constructor();
|
|
5643
|
+
/**
|
|
5644
|
+
* The delivery method whose test message was most recently requested from this view.
|
|
5645
|
+
*
|
|
5646
|
+
* Recorded because the invocation result reports only how many probes it dispatched, so this is what
|
|
5647
|
+
* lets the notice name what was sent.
|
|
5648
|
+
*/
|
|
5649
|
+
readonly lastRequestedProbeMethodSignal: i0.Signal<Maybe<NotificationDeliveryMethod>>;
|
|
5650
|
+
/**
|
|
5651
|
+
* The test message handler for each delivery method, built once up front.
|
|
5652
|
+
*
|
|
5653
|
+
* A per-method countdown rebuilds that method's action config every second, and `dbxActionHandler`
|
|
5654
|
+
* installs its handler in an effect, so handing over a fresh closure on each tick would re-install it
|
|
5655
|
+
* once a second for no reason.
|
|
5656
|
+
*/
|
|
5657
|
+
private readonly _sendTestMessageHandlers;
|
|
5658
|
+
/**
|
|
5659
|
+
* Explains why "Run Check" is disabled while the server's run throttle is in effect.
|
|
5660
|
+
*/
|
|
5661
|
+
readonly throttleNoticeSignal: i0.Signal<string | undefined>;
|
|
5662
|
+
/**
|
|
5663
|
+
* The test message action for each delivery method the check reports as probe-capable.
|
|
5664
|
+
*
|
|
5665
|
+
* A method that cannot be probed gets no entry, so no test message is offered where the server has no
|
|
5666
|
+
* way to send one.
|
|
5667
|
+
*
|
|
5668
|
+
* Everything the user needs to read about a test message belongs in the section holding the button
|
|
5669
|
+
* that sent it, so the notice is composed here rather than in a footer: what was just sent, that its
|
|
5670
|
+
* outcome is being watched for, and when another may be sent.
|
|
5671
|
+
*/
|
|
5672
|
+
readonly probeActionsSignal: i0.Signal<Partial<Record<NotificationDeliveryMethod, Maybe<_dereekb_dbx_firebase.DbxFirebaseNotificationHealthCheckMethodProbeActionConfig>>>>;
|
|
5673
|
+
/**
|
|
5674
|
+
* Composes one delivery method's test message notice.
|
|
5675
|
+
*
|
|
5676
|
+
* Deliberately never tells the user to come back and check: a pending outcome is watched for
|
|
5677
|
+
* automatically, so the only thing left to say about the wait is that they need do nothing.
|
|
5678
|
+
*
|
|
5679
|
+
* @param input - What the method sends, how long its window has left, and the state of its probe.
|
|
5680
|
+
* @returns The notice, or undefined when there is nothing worth saying.
|
|
5681
|
+
*/
|
|
5682
|
+
private probeNoticeForMethod;
|
|
5683
|
+
readonly handleRunHealthCheck: WorkUsingContext;
|
|
5684
|
+
/**
|
|
5685
|
+
* Dispatches a run to the store, then tracks that run's loading state as the action's work.
|
|
5686
|
+
*
|
|
5687
|
+
* The store's effect sets the loading state synchronously as it is dispatched, so handing the state
|
|
5688
|
+
* observable over afterwards tracks this run instead of completing on the previous run's result.
|
|
5689
|
+
*
|
|
5690
|
+
* @param context - The work instance of the action being handled.
|
|
5691
|
+
* @param params - The params for this run, such as which methods to send a test message through.
|
|
5692
|
+
*/
|
|
5693
|
+
private runHealthCheckAsWork;
|
|
5694
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationHealthCheckViewComponent, never>;
|
|
5695
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationHealthCheckViewComponent, "dbx-firebase-notification-healthcheck-view", never, {}, {}, never, never, true, never>;
|
|
5696
|
+
}
|
|
5697
|
+
|
|
5698
|
+
interface DbxFirebaseNotificationItemStorePopoverParams {
|
|
5699
|
+
/**
|
|
5700
|
+
* Custom icon
|
|
5701
|
+
*
|
|
5702
|
+
* Defaults to "history"
|
|
5703
|
+
*/
|
|
5704
|
+
readonly icon?: string;
|
|
5705
|
+
/**
|
|
5706
|
+
* Custom header text
|
|
5707
|
+
*
|
|
5708
|
+
* Defaults to "History"
|
|
5709
|
+
*/
|
|
5710
|
+
readonly header?: string;
|
|
5711
|
+
/**
|
|
5712
|
+
* Custom empty text when no items exist.
|
|
5713
|
+
*/
|
|
5714
|
+
readonly emptyText?: string;
|
|
5715
|
+
/**
|
|
5716
|
+
* Origin to add the popover to.
|
|
5717
|
+
*/
|
|
5718
|
+
readonly origin: ElementRef;
|
|
5719
|
+
/**
|
|
5720
|
+
* Items loading state.
|
|
5721
|
+
*/
|
|
5722
|
+
readonly notificationItemsLoadingState$: Observable<LoadingState<NotificationItem[]>>;
|
|
5723
|
+
/**
|
|
5724
|
+
* Anchor
|
|
5725
|
+
*/
|
|
5726
|
+
readonly makeNotificationItemAnchor?: Maybe<AnchorForValueFunction<NotificationItem>>;
|
|
5727
|
+
}
|
|
5728
|
+
declare const DEFAULT_DBX_FIREBASE_NOTIFICATION_ITEM_STORE_POPOVER_KEY = "notification-item-store-notifications";
|
|
5729
|
+
declare class DbxFirebaseNotificationItemStorePopoverComponent extends AbstractPopoverDirective<unknown, DbxFirebaseNotificationItemStorePopoverParams> {
|
|
5730
|
+
static openPopover(popupService: DbxPopoverService, { origin, header, icon, emptyText, makeNotificationItemAnchor, notificationItemsLoadingState$ }: DbxFirebaseNotificationItemStorePopoverParams, popoverKey?: DbxPopoverKey): NgPopoverRef;
|
|
5731
|
+
readonly params: DbxFirebaseNotificationItemStorePopoverParams;
|
|
5732
|
+
readonly icon: string;
|
|
5733
|
+
readonly header: string;
|
|
5734
|
+
readonly emptyText: string;
|
|
5735
|
+
readonly makeNotificationItemAnchor: Maybe<AnchorForValueFunction<NotificationItem<{}>>>;
|
|
5736
|
+
readonly notificationItemsLoadingState$: Observable<LoadingState<NotificationItem<{}>[]>>;
|
|
5737
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemStorePopoverComponent, never>;
|
|
5738
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemStorePopoverComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
5739
|
+
}
|
|
5740
|
+
|
|
5741
|
+
type DbxFirebaseNotificationItemStorePopoverButtonConfig = DbxFirebaseNotificationItemStorePopoverParams;
|
|
5742
|
+
declare class DbxFirebaseNotificationItemStorePopoverButtonComponent extends AbstractPopoverRefDirective<unknown, unknown> {
|
|
5743
|
+
private readonly _dbxPopoverService;
|
|
5744
|
+
private readonly _dbxFirebaseNotificationItemStore;
|
|
5745
|
+
readonly buttonElement: i0.Signal<Maybe<ElementRef<any>>>;
|
|
5746
|
+
readonly config: i0.InputSignal<Maybe<Partial<DbxFirebaseNotificationItemStorePopoverParams>>>;
|
|
5747
|
+
showNotificationsPopover(): void;
|
|
5748
|
+
protected _makePopoverRef(origin?: ElementRef): NgPopoverRef<unknown, unknown>;
|
|
5749
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemStorePopoverButtonComponent, never>;
|
|
5750
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemStorePopoverButtonComponent, "dbx-firebase-notification-item-store-popover-button", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5751
|
+
}
|
|
5752
|
+
|
|
5753
|
+
interface DbxFirebaseNotificationItemStoreState {
|
|
5754
|
+
/**
|
|
5755
|
+
* The NotificationSummary to pull items from
|
|
5756
|
+
*/
|
|
5757
|
+
readonly items: NotificationItem[];
|
|
5758
|
+
/**
|
|
5759
|
+
* The currently selected id
|
|
5760
|
+
*/
|
|
5761
|
+
readonly selectedId: Maybe<NotificationId>;
|
|
5762
|
+
}
|
|
5763
|
+
/**
|
|
5764
|
+
* Store used for selecting a specific NotificationItem from a list of notification items.
|
|
5765
|
+
*/
|
|
5766
|
+
declare class DbxFirebaseNotificationItemStore extends ComponentStore<DbxFirebaseNotificationItemStoreState> {
|
|
5767
|
+
constructor();
|
|
5768
|
+
readonly items$: rxjs.Observable<NotificationItem<{}>[]>;
|
|
5769
|
+
readonly selectedId$: rxjs.Observable<Maybe<string>>;
|
|
5770
|
+
readonly selectedItem$: rxjs.Observable<NotificationItem<{}> | undefined>;
|
|
5771
|
+
readonly setItems: (observableOrValue: NotificationItem<{}>[] | rxjs.Observable<NotificationItem<{}>[]>) => rxjs.Subscription;
|
|
5772
|
+
readonly setSelectedId: (() => void) | ((observableOrValue: Maybe<string> | rxjs.Observable<Maybe<string>>) => rxjs.Subscription);
|
|
5773
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemStore, never>;
|
|
5774
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseNotificationItemStore>;
|
|
5775
|
+
}
|
|
5776
|
+
|
|
5777
|
+
/**
|
|
5778
|
+
* Document store for a single Notification, providing derived observables for creation date, send state, and update functions.
|
|
5779
|
+
*/
|
|
5780
|
+
declare class NotificationDocumentStore extends AbstractDbxFirebaseDocumentWithParentStore<Notification, NotificationBox, NotificationDocument, NotificationBoxDocument> {
|
|
5781
|
+
readonly notificationFunctions: NotificationFunctions;
|
|
5782
|
+
constructor();
|
|
5783
|
+
readonly createdAt$: rxjs.Observable<_dereekb_util.Maybe<Date>>;
|
|
5784
|
+
readonly nextSendAt$: rxjs.Observable<_dereekb_util.Maybe<Date>>;
|
|
5785
|
+
readonly sendType$: rxjs.Observable<_dereekb_firebase.NotificationSendType>;
|
|
5786
|
+
readonly sendAttemptsCount$: rxjs.Observable<number>;
|
|
5787
|
+
readonly isUnique$: rxjs.Observable<_dereekb_util.Maybe<boolean>>;
|
|
5788
|
+
readonly sendNotification: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.SendNotificationParams, _dereekb_firebase.SendNotificationResult>;
|
|
5789
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationDocumentStore, never>;
|
|
5790
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationDocumentStore>;
|
|
5791
|
+
}
|
|
5792
|
+
|
|
5793
|
+
/**
|
|
5794
|
+
* Directive providing a {@link NotificationDocumentStore} for accessing a single notification document.
|
|
5795
|
+
*/
|
|
5796
|
+
declare class DbxFirebaseNotificationDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective<Notification, NotificationDocument, NotificationDocumentStore> {
|
|
5797
|
+
constructor();
|
|
5798
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationDocumentStoreDirective, never>;
|
|
5799
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationDocumentStoreDirective, "[dbxFirebaseNotificationDocument]", never, {}, {}, never, never, true, never>;
|
|
5800
|
+
}
|
|
5801
|
+
|
|
5802
|
+
/**
|
|
5803
|
+
* Collection store for Notification documents, scoped to a parent NotificationBox when available.
|
|
5804
|
+
*/
|
|
5805
|
+
declare class NotificationCollectionStore extends AbstractDbxFirebaseCollectionWithParentStore<Notification, NotificationBox, NotificationDocument, NotificationBoxDocument> {
|
|
5806
|
+
constructor();
|
|
5807
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationCollectionStore, never>;
|
|
5808
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationCollectionStore>;
|
|
5809
|
+
}
|
|
5810
|
+
|
|
5811
|
+
/**
|
|
5812
|
+
* Directive providing a {@link NotificationCollectionStore} for querying notifications within a template.
|
|
5813
|
+
*/
|
|
5814
|
+
declare class DbxFirebaseNotificationCollectionStoreDirective extends DbxFirebaseCollectionWithParentStoreDirective<Notification, NotificationBox, NotificationDocument, NotificationBoxDocument, NotificationCollectionStore> {
|
|
5815
|
+
constructor();
|
|
5816
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationCollectionStoreDirective, never>;
|
|
5817
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationCollectionStoreDirective, "[dbxFirebaseNotificationCollection]", never, {}, {}, never, never, true, never>;
|
|
5818
|
+
}
|
|
5819
|
+
|
|
5820
|
+
/**
|
|
5821
|
+
* Document store for a single NotificationBox, providing derived observables for creation date, recipients, and update functions.
|
|
5822
|
+
*/
|
|
5823
|
+
declare class NotificationBoxDocumentStore extends AbstractDbxFirebaseDocumentStore<NotificationBox, NotificationBoxDocument> {
|
|
5824
|
+
readonly notificationFunctions: NotificationFunctions;
|
|
5825
|
+
constructor();
|
|
5826
|
+
readonly createdAt$: rxjs.Observable<_dereekb_util.Maybe<Date>>;
|
|
5827
|
+
readonly recipients$: rxjs.Observable<_dereekb_firebase.NotificationBoxRecipient[]>;
|
|
5828
|
+
readonly updateNotificationBox: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.TargetModelParams, void>;
|
|
5829
|
+
readonly updateNotificationBoxRecipient: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.UpdateNotificationBoxRecipientParams, void>;
|
|
5830
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationBoxDocumentStore, never>;
|
|
5831
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationBoxDocumentStore>;
|
|
5832
|
+
}
|
|
5833
|
+
|
|
5834
|
+
/**
|
|
5835
|
+
* Directive providing a {@link NotificationBoxDocumentStore} for accessing a single notification box document.
|
|
5836
|
+
*/
|
|
5837
|
+
declare class DbxFirebaseNotificationBoxDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective<NotificationBox, NotificationBoxDocument, NotificationBoxDocumentStore> {
|
|
5838
|
+
constructor();
|
|
5839
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationBoxDocumentStoreDirective, never>;
|
|
5840
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationBoxDocumentStoreDirective, "[dbxFirebaseNotificationBoxDocument]", never, {}, {}, never, never, true, never>;
|
|
5841
|
+
}
|
|
4585
5842
|
|
|
4586
5843
|
/**
|
|
4587
5844
|
* Collection store for querying NotificationBox documents.
|
|
@@ -4666,24 +5923,267 @@ declare class DbxFirebaseNotificationUserCollectionStoreDirective extends DbxFir
|
|
|
4666
5923
|
}
|
|
4667
5924
|
|
|
4668
5925
|
/**
|
|
4669
|
-
*
|
|
5926
|
+
* Directive providing a {@link NotificationUserDocumentStore} for accessing a single notification user document.
|
|
4670
5927
|
*/
|
|
4671
|
-
declare class
|
|
4672
|
-
readonly notificationFunctions: NotificationFunctions;
|
|
5928
|
+
declare class DbxFirebaseNotificationUserDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective<NotificationUser, NotificationUserDocument, NotificationUserDocumentStore> {
|
|
4673
5929
|
constructor();
|
|
4674
|
-
|
|
4675
|
-
|
|
4676
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationUserDocumentStore, never>;
|
|
4677
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationUserDocumentStore>;
|
|
5930
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationUserDocumentStoreDirective, never>;
|
|
5931
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationUserDocumentStoreDirective, "[dbxFirebaseNotificationUserDocument]", never, {}, {}, never, never, true, never>;
|
|
4678
5932
|
}
|
|
4679
5933
|
|
|
4680
5934
|
/**
|
|
4681
|
-
*
|
|
5935
|
+
* @module healthcheck.presentation
|
|
5936
|
+
*
|
|
5937
|
+
* Presentation metadata for notification health check findings.
|
|
5938
|
+
*
|
|
5939
|
+
* Issue codes are intentionally open-ended — apps and delivery providers emit their own — so the UI
|
|
5940
|
+
* needs a way to attach a label and an icon to a code it does not know about. Every issue already
|
|
5941
|
+
* carries its own user-facing `m` (message) and `f` (suggested fix), so a registered entry supplies
|
|
5942
|
+
* **presentation only, never copy**: an unregistered code still renders correctly, just with a
|
|
5943
|
+
* status-derived label and icon instead of a code-specific one.
|
|
4682
5944
|
*/
|
|
4683
|
-
|
|
5945
|
+
|
|
5946
|
+
/**
|
|
5947
|
+
* How a single {@link NotificationHealthCheckIssueCode} should be presented.
|
|
5948
|
+
*
|
|
5949
|
+
* Deliberately carries no message text: the issue itself is the authority on what to say.
|
|
5950
|
+
*/
|
|
5951
|
+
interface DbxFirebaseNotificationHealthCheckPresentationEntry {
|
|
5952
|
+
/**
|
|
5953
|
+
* The issue code this entry presents.
|
|
5954
|
+
*/
|
|
5955
|
+
readonly code: NotificationHealthCheckIssueCode;
|
|
5956
|
+
/**
|
|
5957
|
+
* Short label for the finding, shown on its status chip.
|
|
5958
|
+
*/
|
|
5959
|
+
readonly label?: Maybe<string>;
|
|
5960
|
+
/**
|
|
5961
|
+
* Material icon name for the finding.
|
|
5962
|
+
*/
|
|
5963
|
+
readonly icon?: Maybe<string>;
|
|
5964
|
+
/**
|
|
5965
|
+
* Overrides the colour that would otherwise be derived from the issue's status.
|
|
5966
|
+
*
|
|
5967
|
+
* Rarely useful, and unset on every library default: the same code is emitted at different
|
|
5968
|
+
* severities depending on what was found (a recent delivery failure is an error when permanent and
|
|
5969
|
+
* a warning when temporary), so the status is the more accurate source.
|
|
5970
|
+
*/
|
|
5971
|
+
readonly color?: Maybe<DbxThemeColor>;
|
|
5972
|
+
}
|
|
5973
|
+
/**
|
|
5974
|
+
* A fully resolved presentation for one finding.
|
|
5975
|
+
*/
|
|
5976
|
+
interface DbxFirebaseNotificationHealthCheckIssuePresentation {
|
|
5977
|
+
readonly label: string;
|
|
5978
|
+
readonly icon: string;
|
|
5979
|
+
readonly color: DbxThemeColor;
|
|
5980
|
+
}
|
|
5981
|
+
/**
|
|
5982
|
+
* App-level tuning for the notification delivery health check UI.
|
|
5983
|
+
*
|
|
5984
|
+
* These windows are ENFORCED BY THE SERVER; the client only counts down to them so it can disable an
|
|
5985
|
+
* action instead of letting the user trigger a call that comes back as an error. So every value here
|
|
5986
|
+
* must match what the server was configured with — declare it once in a package both sides import
|
|
5987
|
+
* rather than writing the number down twice, or the UI will offer a test message the server rejects.
|
|
5988
|
+
*/
|
|
5989
|
+
declare abstract class DbxFirebaseNotificationHealthCheckConfig {
|
|
5990
|
+
/**
|
|
5991
|
+
* How long a user must wait between test messages on a single delivery method.
|
|
5992
|
+
*
|
|
5993
|
+
* Defaults to {@link DEFAULT_NOTIFICATION_USER_HEALTH_CHECK_PROBE_THROTTLE_MINUTES}.
|
|
5994
|
+
*/
|
|
5995
|
+
abstract readonly probeThrottleMinutes?: Maybe<Minutes>;
|
|
5996
|
+
/**
|
|
5997
|
+
* How long a user must wait between health check runs.
|
|
5998
|
+
*
|
|
5999
|
+
* Defaults to {@link DEFAULT_NOTIFICATION_USER_HEALTH_CHECK_THROTTLE_MINUTES}.
|
|
6000
|
+
*/
|
|
6001
|
+
abstract readonly runThrottleMinutes?: Maybe<Minutes>;
|
|
6002
|
+
/**
|
|
6003
|
+
* How long the client must wait between verifications of an in-flight test message.
|
|
6004
|
+
*
|
|
6005
|
+
* Defaults to {@link DEFAULT_NOTIFICATION_USER_HEALTH_CHECK_VERIFY_THROTTLE_SECONDS}. This is also
|
|
6006
|
+
* the cadence the client polls at, so it must match the server's window: pace faster and every other
|
|
6007
|
+
* poll comes back rejected.
|
|
6008
|
+
*/
|
|
6009
|
+
abstract readonly verifyThrottleSeconds?: Maybe<Seconds>;
|
|
6010
|
+
/**
|
|
6011
|
+
* How long to keep watching a test message before giving up on it.
|
|
6012
|
+
*
|
|
6013
|
+
* Defaults to {@link DEFAULT_NOTIFICATION_HEALTH_CHECK_PROBE_WATCH_MINUTES}. Purely a client-side
|
|
6014
|
+
* stop: a provider that never records an outcome would otherwise be polled for as long as the page
|
|
6015
|
+
* stays open. Once it passes, the probe is left pending and the next full run settles it.
|
|
6016
|
+
*/
|
|
6017
|
+
abstract readonly probeWatchMinutes?: Maybe<Minutes>;
|
|
6018
|
+
}
|
|
6019
|
+
/**
|
|
6020
|
+
* How long the client keeps watching an in-flight test message before giving up on it.
|
|
6021
|
+
*
|
|
6022
|
+
* Comfortably longer than a provider takes to record a delivery outcome — the point is to stop polling
|
|
6023
|
+
* a provider that is never going to answer, not to impose a deadline of the client's own.
|
|
6024
|
+
*/
|
|
6025
|
+
declare const DEFAULT_NOTIFICATION_HEALTH_CHECK_PROBE_WATCH_MINUTES: Minutes;
|
|
6026
|
+
/**
|
|
6027
|
+
* Configuration for the {@link DbxFirebaseNotificationHealthCheckPresentationService}.
|
|
6028
|
+
*/
|
|
6029
|
+
declare abstract class DbxFirebaseNotificationHealthCheckPresentationServiceConfig {
|
|
6030
|
+
/**
|
|
6031
|
+
* App-specific entries to register, layered over the library defaults.
|
|
6032
|
+
*/
|
|
6033
|
+
abstract readonly entries?: Maybe<ArrayOrValue<DbxFirebaseNotificationHealthCheckPresentationEntry>>;
|
|
6034
|
+
/**
|
|
6035
|
+
* Whether to register the library's default entries. Defaults to true.
|
|
6036
|
+
*/
|
|
6037
|
+
abstract readonly registerDefaultEntries?: Maybe<boolean>;
|
|
6038
|
+
}
|
|
6039
|
+
/**
|
|
6040
|
+
* Colour for each health check status.
|
|
6041
|
+
*
|
|
6042
|
+
* `WARNING` and `ERROR` deliberately share `warn` — the palette has no distinct error tone — so they
|
|
6043
|
+
* are told apart by their icons instead.
|
|
6044
|
+
*/
|
|
6045
|
+
declare const NOTIFICATION_HEALTH_CHECK_STATUS_COLORS: Record<NotificationHealthCheckStatus, DbxThemeColor>;
|
|
6046
|
+
/**
|
|
6047
|
+
* Icon for each health check status. Also what distinguishes a warning from an error.
|
|
6048
|
+
*/
|
|
6049
|
+
declare const NOTIFICATION_HEALTH_CHECK_STATUS_ICONS: Record<NotificationHealthCheckStatus, string>;
|
|
6050
|
+
/**
|
|
6051
|
+
* Human-readable label for each health check status.
|
|
6052
|
+
*
|
|
6053
|
+
* Used as the chip label for an issue code with no registered entry.
|
|
6054
|
+
*/
|
|
6055
|
+
declare const NOTIFICATION_HEALTH_CHECK_STATUS_LABELS: Record<NotificationHealthCheckStatus, string>;
|
|
6056
|
+
/**
|
|
6057
|
+
* Human-readable label for each delivery method.
|
|
6058
|
+
*/
|
|
6059
|
+
declare const NOTIFICATION_DELIVERY_METHOD_LABELS: Record<NotificationDeliveryMethod, string>;
|
|
6060
|
+
/**
|
|
6061
|
+
* Icon for each delivery method.
|
|
6062
|
+
*/
|
|
6063
|
+
declare const NOTIFICATION_DELIVERY_METHOD_ICONS: Record<NotificationDeliveryMethod, string>;
|
|
6064
|
+
/**
|
|
6065
|
+
* Label for each delivery method's "send a test message" action.
|
|
6066
|
+
*
|
|
6067
|
+
* Always names what the method actually delivers — "Send Test Email", "Send Test Text Message" — rather
|
|
6068
|
+
* than a generic "Send Test Message", so the button says which of a user's contact details it is about
|
|
6069
|
+
* to send something real to.
|
|
6070
|
+
*/
|
|
6071
|
+
declare const NOTIFICATION_DELIVERY_METHOD_TEST_MESSAGE_LABELS: Record<NotificationDeliveryMethod, string>;
|
|
6072
|
+
/**
|
|
6073
|
+
* Noun for what each delivery method's test message actually is, for use mid-sentence.
|
|
6074
|
+
*
|
|
6075
|
+
* Lowercase because it reads inside prose — "A test text message was sent recently."
|
|
6076
|
+
*/
|
|
6077
|
+
declare const NOTIFICATION_DELIVERY_METHOD_TEST_MESSAGE_NOUNS: Record<NotificationDeliveryMethod, string>;
|
|
6078
|
+
/**
|
|
6079
|
+
* Short name for each delivery method, for a label that has to stay compact.
|
|
6080
|
+
*
|
|
6081
|
+
* Used to compose the probe chips — `Test Email Sent`, `Test Text Sent` — where the full
|
|
6082
|
+
* {@link NOTIFICATION_DELIVERY_METHOD_LABELS} wording would make the chip too long to scan.
|
|
6083
|
+
*/
|
|
6084
|
+
declare const NOTIFICATION_DELIVERY_METHOD_SHORT_LABELS: Record<NotificationDeliveryMethod, string>;
|
|
6085
|
+
/**
|
|
6086
|
+
* What each probe lifecycle code says happened to the test message.
|
|
6087
|
+
*
|
|
6088
|
+
* The other half of the composed probe chip label — see {@link notificationHealthCheckProbeIssueLabel}.
|
|
6089
|
+
*/
|
|
6090
|
+
declare const NOTIFICATION_HEALTH_CHECK_PROBE_ISSUE_OUTCOMES: Record<NotificationHealthCheckIssueCode, string>;
|
|
6091
|
+
/**
|
|
6092
|
+
* The chip label for a probe lifecycle finding, naming the delivery method it belongs to.
|
|
6093
|
+
*
|
|
6094
|
+
* Every provider emits the same probe codes, so these labels cannot be fixed strings in the presentation
|
|
6095
|
+
* registry the way every other code's is: the same `probeDelivered` finding should read `Test Email
|
|
6096
|
+
* Delivered` in the email section and `Test Text Delivered` in the text section.
|
|
6097
|
+
*
|
|
6098
|
+
* @param code - The issue code to label.
|
|
6099
|
+
* @param method - The delivery method whose section the finding is rendered in.
|
|
6100
|
+
* @returns The composed label, or undefined when the code is not a probe lifecycle code.
|
|
6101
|
+
*/
|
|
6102
|
+
declare function notificationHealthCheckProbeIssueLabel(code: NotificationHealthCheckIssueCode, method: NotificationDeliveryMethod): Maybe<string>;
|
|
6103
|
+
/**
|
|
6104
|
+
* Presentation entries for every issue code the library and the Mailgun email check emit.
|
|
6105
|
+
*
|
|
6106
|
+
* None of them set a colour — see {@link DbxFirebaseNotificationHealthCheckPresentationEntry.color}.
|
|
6107
|
+
*/
|
|
6108
|
+
declare const DEFAULT_NOTIFICATION_HEALTH_CHECK_PRESENTATION_ENTRIES: DbxFirebaseNotificationHealthCheckPresentationEntry[];
|
|
6109
|
+
|
|
6110
|
+
/**
|
|
6111
|
+
* Registry of presentation metadata for notification health check findings.
|
|
6112
|
+
*
|
|
6113
|
+
* Health check issue codes are open-ended, so this maps a code to a label and an icon. An
|
|
6114
|
+
* unregistered code is not an error — it falls back to a presentation derived from the issue's
|
|
6115
|
+
* status, and the issue's own `m`/`f` strings carry the meaning either way.
|
|
6116
|
+
*
|
|
6117
|
+
* Apps extend the table by supplying a {@link DbxFirebaseNotificationHealthCheckPresentationServiceConfig}
|
|
6118
|
+
* through `provideDbxFirebaseNotifications({ healthCheckPresentation })`.
|
|
6119
|
+
*/
|
|
6120
|
+
declare class DbxFirebaseNotificationHealthCheckPresentationService {
|
|
6121
|
+
private readonly _config;
|
|
6122
|
+
private readonly _entries;
|
|
4684
6123
|
constructor();
|
|
4685
|
-
|
|
4686
|
-
|
|
6124
|
+
/**
|
|
6125
|
+
* Registers presentation entries, overriding any already registered for the same code by default.
|
|
6126
|
+
*
|
|
6127
|
+
* @param entries - The entries to register.
|
|
6128
|
+
* @param override - Whether to replace an existing entry for the same code. Defaults to true.
|
|
6129
|
+
*/
|
|
6130
|
+
register(entries: ArrayOrValue<DbxFirebaseNotificationHealthCheckPresentationEntry>, override?: boolean): void;
|
|
6131
|
+
/**
|
|
6132
|
+
* The entry registered for an issue code, if any.
|
|
6133
|
+
*
|
|
6134
|
+
* @param code - The issue code to look up.
|
|
6135
|
+
* @returns The registered entry, or undefined when the code has none.
|
|
6136
|
+
*/
|
|
6137
|
+
entryForCode(code: NotificationHealthCheckIssueCode): Maybe<DbxFirebaseNotificationHealthCheckPresentationEntry>;
|
|
6138
|
+
/**
|
|
6139
|
+
* Resolves how to present a single finding.
|
|
6140
|
+
*
|
|
6141
|
+
* Pass the delivery method whose section the finding is rendered in to get a probe label that names
|
|
6142
|
+
* it — `Test Email Sent` rather than `Test Sent`. Every provider emits the same probe codes, so that
|
|
6143
|
+
* is the one label a registry entry cannot supply on its own.
|
|
6144
|
+
*
|
|
6145
|
+
* @param issue - The finding to present.
|
|
6146
|
+
* @param method - The delivery method the finding belongs to, when it belongs to one.
|
|
6147
|
+
* @returns The label, icon, and colour to render it with.
|
|
6148
|
+
*/
|
|
6149
|
+
presentationForIssue(issue: NotificationHealthCheckIssue, method?: Maybe<NotificationDeliveryMethod>): DbxFirebaseNotificationHealthCheckIssuePresentation;
|
|
6150
|
+
/**
|
|
6151
|
+
* @param status - The status to colour.
|
|
6152
|
+
* @returns The theme colour for the status.
|
|
6153
|
+
*/
|
|
6154
|
+
colorForStatus(status: NotificationHealthCheckStatus): DbxThemeColor;
|
|
6155
|
+
/**
|
|
6156
|
+
* @param status - The status to find an icon for.
|
|
6157
|
+
* @returns The icon for the status.
|
|
6158
|
+
*/
|
|
6159
|
+
iconForStatus(status: NotificationHealthCheckStatus): string;
|
|
6160
|
+
/**
|
|
6161
|
+
* @param status - The status to label.
|
|
6162
|
+
* @returns The human-readable label for the status.
|
|
6163
|
+
*/
|
|
6164
|
+
labelForStatus(status: NotificationHealthCheckStatus): string;
|
|
6165
|
+
/**
|
|
6166
|
+
* @param method - The delivery method to label.
|
|
6167
|
+
* @returns The human-readable label for the delivery method.
|
|
6168
|
+
*/
|
|
6169
|
+
labelForDeliveryMethod(method: NotificationDeliveryMethod): string;
|
|
6170
|
+
/**
|
|
6171
|
+
* @param method - The delivery method to find an icon for.
|
|
6172
|
+
* @returns The icon for the delivery method.
|
|
6173
|
+
*/
|
|
6174
|
+
iconForDeliveryMethod(method: NotificationDeliveryMethod): string;
|
|
6175
|
+
/**
|
|
6176
|
+
* @param method - The delivery method whose test message action is being labelled.
|
|
6177
|
+
* @returns The label for the method's "send a test message" action, naming what it sends.
|
|
6178
|
+
*/
|
|
6179
|
+
testMessageLabelForDeliveryMethod(method: NotificationDeliveryMethod): string;
|
|
6180
|
+
/**
|
|
6181
|
+
* @param method - The delivery method whose test message is being described.
|
|
6182
|
+
* @returns The lowercase noun for the method's test message, for use mid-sentence.
|
|
6183
|
+
*/
|
|
6184
|
+
testMessageNounForDeliveryMethod(method: NotificationDeliveryMethod): string;
|
|
6185
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationHealthCheckPresentationService, never>;
|
|
6186
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseNotificationHealthCheckPresentationService>;
|
|
4687
6187
|
}
|
|
4688
6188
|
|
|
4689
6189
|
/**
|
|
@@ -4750,6 +6250,22 @@ interface ProvideDbxFirebaseNotificationsConfig {
|
|
|
4750
6250
|
* If false, will not register anything.
|
|
4751
6251
|
*/
|
|
4752
6252
|
readonly defaultNotificationItemWidget?: DbxWidgetEntry['componentClass'] | false;
|
|
6253
|
+
/**
|
|
6254
|
+
* App-specific presentation entries for notification health check issue codes.
|
|
6255
|
+
*
|
|
6256
|
+
* Only needed when the app or one of its delivery providers emits issue codes the library does not
|
|
6257
|
+
* know about. The health check UI works without this — an unregistered code falls back to a
|
|
6258
|
+
* presentation derived from the finding's own status.
|
|
6259
|
+
*/
|
|
6260
|
+
readonly healthCheckPresentation?: Maybe<DbxFirebaseNotificationHealthCheckPresentationServiceConfig>;
|
|
6261
|
+
/**
|
|
6262
|
+
* Tuning for the notification health check's throttle windows.
|
|
6263
|
+
*
|
|
6264
|
+
* Only needed when the app configured different windows on its server. The values are enforced there
|
|
6265
|
+
* and merely counted down here, so they must be the same on both sides — pass the app's own shared
|
|
6266
|
+
* constants rather than repeating the numbers.
|
|
6267
|
+
*/
|
|
6268
|
+
readonly healthCheck?: Maybe<DbxFirebaseNotificationHealthCheckConfig>;
|
|
4753
6269
|
}
|
|
4754
6270
|
/**
|
|
4755
6271
|
* Creates EnvironmentProviders that provides a DbxFirebaseNotificationTemplateService, DbxFirebaseNotificationItemWidgetService and AppNotificationTemplateTypeInfoRecordService.
|
|
@@ -5850,5 +7366,5 @@ interface ProvideDbxFirebaseConfig<T, M extends FirebaseFunctionsMap = FirebaseF
|
|
|
5850
7366
|
*/
|
|
5851
7367
|
declare function provideDbxFirebase<T, M extends FirebaseFunctionsMap = FirebaseFunctionsMap>(config: ProvideDbxFirebaseConfig<T, M>): EnvironmentProviders;
|
|
5852
7368
|
|
|
5853
|
-
export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractDbxFirebaseModelEntityWidgetDirective, AbstractDbxFirebaseNotificationItemWidgetComponent, AbstractRootSingleItemDbxFirebaseDocument, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION, DBX_FIREBASE_APP_OPTIONS_TOKEN, DBX_FIREBASE_AUTH_FLOW_TOKEN, DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_MODEL_ENTITY_WITH_STORE_TOKEN, DBX_FIREBASE_STORAGEFILE_DOWNLOAD_STORAGE_ACCESSOR_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_CONFIG_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_TOKEN, DBX_FIREBASE_STORAGE_PDF_MERGE_UPLOAD_FILE_NAME, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_ANALYTICS_USER_PROPERTIES_FACTORY, DEFAULT_DBX_FIREBASE_AUTH_FLOW, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_DBX_FIREBASE_ID_ROUTER_PARAM_ID_PARAM_KEY, DEFAULT_DBX_FIREBASE_ID_ROUTER_PARAM_KEY_PARAM_KEY, DEFAULT_DBX_FIREBASE_ID_ROUTER_PARAM_USE_PARAM_VALUE, DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY, DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY, DEFAULT_DBX_FIREBASE_NOTIFICATION_ITEM_STORE_POPOVER_KEY, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN, DEFAULT_FIREBASE_COLLECTION_CHANGE_TRIGGER_FUNCTION, DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY, DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DEFAULT_FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE, DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY, DbxFirebaseAnalyticsUserEventsListenerService, DbxFirebaseAnalyticsUserSource, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthImpersonationDelegate, DbxFirebaseAuthLoginService, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentForgeFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, DbxFirebaseDocumentStoreContextStore, DbxFirebaseDocumentStoreContextStoreDirective, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, DbxFirebaseDocumentStoreTwoWayKeyProvider, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseEmailForgeFormComponent, DbxFirebaseEmailRecoveryForgeFormComponent, DbxFirebaseEmulatorService, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseManageAuthProvidersComponent, DbxFirebaseModelContextService, DbxFirebaseModelEntitiesComponent, DbxFirebaseModelEntitiesDebugWidgetComponent, DbxFirebaseModelEntitiesPopoverButtonComponent, DbxFirebaseModelEntitiesPopoverComponent, DbxFirebaseModelEntitiesSource, DbxFirebaseModelEntitiesWidgetService, DbxFirebaseModelEntitiesWidgetServiceConfig, DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent, DbxFirebaseModelKeyComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModelTrackerService, DbxFirebaseModelTypeInstanceListComponent, DbxFirebaseModelTypeInstanceListViewComponent, DbxFirebaseModelTypeInstanceListViewItemComponent, DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceConfig, DbxFirebaseModelViewedEventDirective, DbxFirebaseModule, DbxFirebaseNotificationBoxCollectionStoreDirective, DbxFirebaseNotificationBoxDocumentStoreDirective, DbxFirebaseNotificationCollectionStoreDirective, DbxFirebaseNotificationDocumentStoreDirective, DbxFirebaseNotificationItemContentComponent, DbxFirebaseNotificationItemDefaultViewComponent, DbxFirebaseNotificationItemListComponent, DbxFirebaseNotificationItemListViewComponent, DbxFirebaseNotificationItemListViewItemComponent, DbxFirebaseNotificationItemStore, DbxFirebaseNotificationItemStorePopoverButtonComponent, DbxFirebaseNotificationItemStorePopoverComponent, DbxFirebaseNotificationItemViewComponent, DbxFirebaseNotificationItemWidgetService, DbxFirebaseNotificationSummaryCollectionStoreDirective, DbxFirebaseNotificationSummaryDocumentStoreDirective, DbxFirebaseNotificationTemplateService, DbxFirebaseNotificationUserCollectionStoreDirective, DbxFirebaseNotificationUserDocumentStoreDirective, DbxFirebaseParsedEmulatorsConfig, DbxFirebasePasswordResetComponent, DbxFirebasePasswordResetFormComponent, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageFileCollectionStoreDirective, DbxFirebaseStorageFileDocumentStoreDirective, DbxFirebaseStorageFileDownloadButtonComponent, DbxFirebaseStorageFileDownloadService, DbxFirebaseStorageFileDownloadStorage, DbxFirebaseStorageFileGroupDocumentStoreDirective, DbxFirebaseStorageFileUploadActionHandlerDirective, DbxFirebaseStorageFileUploadInitializeDocumentDirective, DbxFirebaseStorageFileUploadModule, DbxFirebaseStorageFileUploadStore, DbxFirebaseStorageFileUploadStoreDirective, DbxFirebaseStorageFileUploadSyncDirective, DbxFirebaseStoragePdfMergeUploadSyncDirective, DbxFirebaseStorageService, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, FIREBASE_APP_CHECK_TOKEN, FIREBASE_APP_TOKEN, FIREBASE_AUTH_TOKEN, FIREBASE_FIRESTORE_TOKEN, FIREBASE_FUNCTIONS_TOKEN, FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX, FIREBASE_PROVIDER_ID_TO_LOGIN_METHOD_TYPE_MAP, FIREBASE_STORAGE_TOKEN, FlatFirestoreModelKeyPipe, IMPORTS_AND_EXPORTS, LOGIN_METHOD_TYPE_TO_FIREBASE_PROVIDER_ID_MAP, NotificationBoxCollectionStore, NotificationBoxDocumentStore, NotificationCollectionStore, NotificationDocumentStore, NotificationSummaryCollectionStore, NotificationSummaryDocumentStore, NotificationUserCollectionStore, NotificationUserDocumentStore, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, StorageFileCollectionStore, StorageFileDocumentStore, StorageFileGroupDocumentStore, StorageFileUploadFilesError, SystemStateCollectionStore, SystemStateDocumentStore, TwoWayFlatFirestoreModelKeyPipe, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, createDbxFirebaseAppCheck, createDbxFirebaseAuth, createDbxFirebaseFirestore, createDbxFirebaseFunctions, createDbxFirebaseStorage, dbxFirebaseAuthContextInfo, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory, dbxFirebaseIdRouteParamRedirect, dbxFirebaseInContextFirebaseModelServiceInstance, dbxFirebaseInContextFirebaseModelServiceInstanceFactory, dbxFirebaseKeyRouteParamRedirect, dbxFirebaseModelContextServiceInfoInstanceFactory, dbxFirebaseModelEntityWidgetInjectionConfigFactory, dbxFirebaseModelTypesServiceInstance, dbxFirebaseModelTypesServiceInstancePairForKeysFactory, dbxFirebaseSourceSelectLoadSource, dbxFirebaseStorageFileDownloadServiceCustomSourceFromObs, dbxFirebaseStorageFileImageCompressionFileModifier, dbxFirebaseStorageProvidersContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, dbxWidgetTypeForNotificationTemplateType, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultDbxFirebaseStorageFileDownloadStorageAccessorFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthState, firebaseAuthTokenFromUser, firebaseCollectionStoreCreateFunction, firebaseCollectionStoreCrudFunction, firebaseContextServiceEntityMap, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreInvokeFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, firebaseIdToken, firebaseProviderIdToLoginMethodType, isDbxFirebaseModelEntityWithStore, isStandaloneWebApp, linkDocumentStoreToParentContextStores, loginMethodTypeToFirebaseProviderId, modelDoesNotExistError, parseDbxFirebaseEmulatorsConfig, provideDbxFirebase, provideDbxFirebaseAnalyticsUserEventsListenerService, provideDbxFirebaseApp, provideDbxFirebaseAuth, provideDbxFirebaseAuthImpersonation, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDevelopment, provideDbxFirebaseDocumentStoreContextStore, provideDbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreTwoWayKeyProvider, provideDbxFirebaseFunctions, provideDbxFirebaseLogin, provideDbxFirebaseModelContextService, provideDbxFirebaseModelEntitiesWidgetService, provideDbxFirebaseNotifications, provideDbxFirebaseStorageFileService, provideDbxFirestoreCollection, provideNotificationFirestoreCollections, provideStorageFileFirestoreCollections, provideSystemStateFirestoreCollections, providedDbxFirebaseStorage, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, resolveDbxFirebaseAuthFlow, setParentStoreEffect, stateFromTokenForLoggedInUserFunction, storageFileUploadFiles, storageFileUploadHandler };
|
|
5854
|
-
export type { AuthRolesObsWithClaimsServiceConfig, AuthUserInfo, AuthUserStateObsFunction, CreateDbxFirebaseAppCheckParams, CreateDbxFirebaseAuthParams, CreateDbxFirebaseFirestoreParams, CreateDbxFirebaseFunctionsParams, CreateDbxFirebaseStorageParams, DbxFirebaseAnalyticsUserPropertiesFactory, DbxFirebaseAppCheckConfig, DbxFirebaseAppOptions, DbxFirebaseAuthContextInfo, DbxFirebaseAuthFlow, DbxFirebaseAuthLoginPasswordConfig, DbxFirebaseAuthLoginProvider, DbxFirebaseAuthLoginProviderAssets, DbxFirebaseCollectionChangeTrigger, DbxFirebaseCollectionChangeTriggerFunction, DbxFirebaseCollectionChangeTriggerInstanceConfig, DbxFirebaseCollectionChangeWatcher, DbxFirebaseCollectionChangeWatcherEvent, DbxFirebaseCollectionChangeWatcherInstance, DbxFirebaseCollectionChangeWatcherTriggerMode, DbxFirebaseCollectionHasChangeDirectiveMode, DbxFirebaseCollectionLoader, DbxFirebaseCollectionLoaderAccessor, DbxFirebaseCollectionLoaderAccessorWithAccumulator, DbxFirebaseCollectionLoaderInstanceData, DbxFirebaseCollectionLoaderInstanceInitConfig, DbxFirebaseCollectionLoaderWithAccumulator, DbxFirebaseCollectionMode, DbxFirebaseCollectionStore, DbxFirebaseCollectionStoreContextState, DbxFirebaseCollectionStoreCreateFunction, DbxFirebaseCollectionStoreCrudFunction, DbxFirebaseCollectionWithParentStore, DbxFirebaseCollectionWithParentStoreContextState, DbxFirebaseCompletePasswordResetInput, DbxFirebaseComponentStoreSetParentEffectFunction, DbxFirebaseComponentStoreWithParent, DbxFirebaseComponentStoreWithParentContextState, DbxFirebaseComponentStoreWithParentSetParentEffectFunction, DbxFirebaseComponentStoreWithParentSetParentSourceModeFunction, DbxFirebaseComponentStoreWithParentSetParentStoreEffectFunction, DbxFirebaseComponentStoreWithParentSourceMode, DbxFirebaseDevelopmentPopupContentFormInput, DbxFirebaseDevelopmentPopupContentFormValue, DbxFirebaseDevelopmentWidgetEntry, DbxFirebaseDocumentLoader, DbxFirebaseDocumentLoaderInstanceInitConfig, DbxFirebaseDocumentReadOnlyStore, DbxFirebaseDocumentStore, DbxFirebaseDocumentStoreContextState, DbxFirebaseDocumentStoreContextStoreEntry, DbxFirebaseDocumentStoreContextStoreEntryNumber, DbxFirebaseDocumentStoreContextStoreEntryWithIdentity, DbxFirebaseDocumentStoreContextStoreState, DbxFirebaseDocumentStoreCreateFunction, DbxFirebaseDocumentStoreCrudFunction, DbxFirebaseDocumentStoreFunction, DbxFirebaseDocumentStoreFunctionParams, DbxFirebaseDocumentStoreFunctionParamsInput, DbxFirebaseDocumentWithParentStore, DbxFirebaseDocumentWithParentStoreContextState, DbxFirebaseEmailFormConfig, DbxFirebaseEmailFormValue, DbxFirebaseEmailRecoveryFormValue, DbxFirebaseEmulatorConfig, DbxFirebaseEmulatorsConfig, DbxFirebaseEnvironmentOptions, DbxFirebaseIdRouteParamRedirect, DbxFirebaseIdRouteParamRedirectInstance, DbxFirebaseInContextFirebaseModelInfoServiceInstance, DbxFirebaseInContextFirebaseModelRolesServiceInstance, DbxFirebaseInContextFirebaseModelServiceInstance, DbxFirebaseInContextFirebaseModelServiceInstanceFactory, DbxFirebaseLoginButtonConfig, DbxFirebaseLoginButtonInjectionData, DbxFirebaseLoginEmailContentComponentConfig, DbxFirebaseLoginEmailContentMode, DbxFirebaseLoginListItemInjectionComponentConfig, DbxFirebaseLoginMode, DbxFirebaseModelContextServiceFactory, DbxFirebaseModelContextServiceInfoInstanceFactory, DbxFirebaseModelContextServiceInfoInstanceFactoryConfig, DbxFirebaseModelDisplayInfo, DbxFirebaseModelEntitiesPopoverButtonConfig, DbxFirebaseModelEntitiesPopoverConfig, DbxFirebaseModelEntitiesPopoverConfigWithoutOrigin, DbxFirebaseModelEntitiesWidgetEntry, DbxFirebaseModelEntitiesWidgetInjectionConfig, DbxFirebaseModelEntitiesWidgetInjectionConfigFactory, DbxFirebaseModelEntitiesWidgetServiceConfigFactory, DbxFirebaseModelEntity, DbxFirebaseModelEntityWithKey, DbxFirebaseModelEntityWithKeyAndStore, DbxFirebaseModelEntityWithStore, DbxFirebaseModelHistoryPopoverButtonConfig, DbxFirebaseModelHistoryPopoverConfig, DbxFirebaseModelHistoryPopoverConfigWithoutOrigin, DbxFirebaseModelTrackerFilterItem, DbxFirebaseModelTrackerHistoryFilter, DbxFirebaseModelTypeInfo, DbxFirebaseModelTypeInstanceListItem, DbxFirebaseModelTypesMap, DbxFirebaseModelTypesServiceEntry, DbxFirebaseModelTypesServiceInstance, DbxFirebaseModelTypesServiceInstancePair, DbxFirebaseModelTypesServiceInstancePairForKeysFactory, DbxFirebaseNotificationItemStorePopoverButtonConfig, DbxFirebaseNotificationItemStorePopoverParams, DbxFirebaseNotificationItemStoreState, DbxFirebaseNotificationItemWidgetEntry, DbxFirebaseNotificationItemWidgetEntryRegistration, DbxFirebasePasswordResetFormConfig, DbxFirebasePasswordResetFormValue, DbxFirebaseResolvedAuthFlow, DbxFirebaseSourceSelectLoadSourceConfig, DbxFirebaseStorageContextConfigFactory, DbxFirebaseStorageFileDownloadButtonConfig, DbxFirebaseStorageFileDownloadButtonSource, DbxFirebaseStorageFileDownloadDetails, DbxFirebaseStorageFileDownloadServiceCustomSource, DbxFirebaseStorageFileDownloadServiceCustomSourceDownloadFunction, DbxFirebaseStorageFileDownloadUrlPair, DbxFirebaseStorageFileDownloadUrlPairString, DbxFirebaseStorageFileDownloadUrlPairsRecord, DbxFirebaseStorageFileDownloadUserCache, DbxFirebaseStorageFileImageCompressionFileModifierConfig, DbxFirebaseStorageFileImageCompressionLogger, DbxFirebaseStorageFileUploadFileModifier, DbxFirebaseStorageFileUploadStoreAllowedTypes, DbxFirebaseStorageFileUploadStoreFileProgress, DbxFirebaseStorageFileUploadStoreState, DbxFirebaseStorageFileUploadStoreUploadStage, DbxLimitedFirebaseDocumentLoader, DefaultDbxFirebaseAuthServiceDelegateWithClaimsServiceConfig, FirebaseDocumentStoreFunctionConfig, FirebaseLoginMethodCategory, FirebaseLoginMethodType, KnownFirebaseLoginMethodCategory, KnownFirebaseLoginMethodType, NotificationItemWithSelection, ProvideDbxFirebaseAppConfig, ProvideDbxFirebaseAuthConfig, ProvideDbxFirebaseAuthImpersonationConfig, ProvideDbxFirebaseConfig, ProvideDbxFirebaseDevelopmentConfig, ProvideDbxFirebaseFirestoreCollectionConfig, ProvideDbxFirebaseFunctionsConfig, ProvideDbxFirebaseLoginConfig, ProvideDbxFirebaseModelContextServiceConfig, ProvideDbxFirebaseModelEntitiesWidgetServiceConfig, ProvideDbxFirebaseNotificationsConfig, ProvideDbxFirebaseStorageConfig, ScheduledFunctionDevelopmentFirebaseFunctionListEntryWithSelection, StateFromTokenFunction, StorageFileUploadConfig, StorageFileUploadConfigFactory, StorageFileUploadConfigOptions, StorageFileUploadFilesEvent, StorageFileUploadFilesFinalFileResult, StorageFileUploadFilesFinalResult, StorageFileUploadFilesInput, StorageFileUploadFilesInstance, StorageFileUploadHandler, StorageFileUploadHandlerConfig, StorageFileUploadHandlerFunction, StorageFileUploadHandlerInstance };
|
|
7369
|
+
export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractDbxFirebaseModelEntityWidgetDirective, AbstractDbxFirebaseNotificationItemWidgetComponent, AbstractRootSingleItemDbxFirebaseDocument, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION, DBX_FIREBASE_APP_OPTIONS_TOKEN, DBX_FIREBASE_AUTH_FLOW_TOKEN, DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN, DBX_FIREBASE_EXTERNAL_CONNECTION_CALCOM_PROVIDER, DBX_FIREBASE_EXTERNAL_CONNECTION_DISCORD_PROVIDER, DBX_FIREBASE_EXTERNAL_CONNECTION_ZOHO_PROVIDER, DBX_FIREBASE_EXTERNAL_CONNECTION_ZOOM_PROVIDER, DBX_FIREBASE_KNOWN_EXTERNAL_CONNECTION_PROVIDERS, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_MODEL_ENTITY_WITH_STORE_TOKEN, DBX_FIREBASE_STORAGEFILE_DOWNLOAD_STORAGE_ACCESSOR_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_CONFIG_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_TOKEN, DBX_FIREBASE_STORAGE_PDF_MERGE_UPLOAD_FILE_NAME, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_ANALYTICS_USER_PROPERTIES_FACTORY, DEFAULT_DBX_FIREBASE_AUTH_FLOW, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_DBX_FIREBASE_ID_ROUTER_PARAM_ID_PARAM_KEY, DEFAULT_DBX_FIREBASE_ID_ROUTER_PARAM_KEY_PARAM_KEY, DEFAULT_DBX_FIREBASE_ID_ROUTER_PARAM_USE_PARAM_VALUE, DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY, DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY, DEFAULT_DBX_FIREBASE_NOTIFICATION_ITEM_STORE_POPOVER_KEY, DEFAULT_EXTERNAL_CONNECTION_AUTHORIZE_PATH_FACTORY, DEFAULT_EXTERNAL_CONNECTION_NAVIGATE_FUNCTION, DEFAULT_EXTERNAL_CONNECTION_NAVIGATE_TIMEOUT, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN, DEFAULT_FIREBASE_COLLECTION_CHANGE_TRIGGER_FUNCTION, DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY, DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DEFAULT_FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE, DEFAULT_NOTIFICATION_HEALTH_CHECK_PRESENTATION_ENTRIES, DEFAULT_NOTIFICATION_HEALTH_CHECK_PROBE_WATCH_MINUTES, DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY, DbxFirebaseAnalyticsUserEventsListenerService, DbxFirebaseAnalyticsUserSource, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthImpersonationDelegate, DbxFirebaseAuthLoginService, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentForgeFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, DbxFirebaseDocumentStoreContextStore, DbxFirebaseDocumentStoreContextStoreDirective, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, DbxFirebaseDocumentStoreTwoWayKeyProvider, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseEmailForgeFormComponent, DbxFirebaseEmailRecoveryForgeFormComponent, DbxFirebaseEmulatorService, DbxFirebaseExternalConnectionListComponent, DbxFirebaseExternalConnectionListViewComponent, DbxFirebaseExternalConnectionListViewItemComponent, DbxFirebaseExternalConnectionService, DbxFirebaseExternalConnectionsComponent, DbxFirebaseExternalConnectionsConfig, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseManageAuthProvidersComponent, DbxFirebaseModelContextService, DbxFirebaseModelEntitiesComponent, DbxFirebaseModelEntitiesDebugWidgetComponent, DbxFirebaseModelEntitiesPopoverButtonComponent, DbxFirebaseModelEntitiesPopoverComponent, DbxFirebaseModelEntitiesSource, DbxFirebaseModelEntitiesWidgetService, DbxFirebaseModelEntitiesWidgetServiceConfig, DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent, DbxFirebaseModelKeyComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModelTrackerService, DbxFirebaseModelTypeInstanceListComponent, DbxFirebaseModelTypeInstanceListViewComponent, DbxFirebaseModelTypeInstanceListViewItemComponent, DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceConfig, DbxFirebaseModelViewedEventDirective, DbxFirebaseModule, DbxFirebaseNotificationBoxCollectionStoreDirective, DbxFirebaseNotificationBoxDocumentStoreDirective, DbxFirebaseNotificationCollectionStoreDirective, DbxFirebaseNotificationDocumentStoreDirective, DbxFirebaseNotificationHealthCheckComponent, DbxFirebaseNotificationHealthCheckConfig, DbxFirebaseNotificationHealthCheckDialogButtonComponent, DbxFirebaseNotificationHealthCheckDialogComponent, DbxFirebaseNotificationHealthCheckIssueComponent, DbxFirebaseNotificationHealthCheckMethodComponent, DbxFirebaseNotificationHealthCheckPresentationService, DbxFirebaseNotificationHealthCheckPresentationServiceConfig, DbxFirebaseNotificationHealthCheckViewComponent, DbxFirebaseNotificationItemContentComponent, DbxFirebaseNotificationItemDefaultViewComponent, DbxFirebaseNotificationItemListComponent, DbxFirebaseNotificationItemListViewComponent, DbxFirebaseNotificationItemListViewItemComponent, DbxFirebaseNotificationItemStore, DbxFirebaseNotificationItemStorePopoverButtonComponent, DbxFirebaseNotificationItemStorePopoverComponent, DbxFirebaseNotificationItemViewComponent, DbxFirebaseNotificationItemWidgetService, DbxFirebaseNotificationSummaryCollectionStoreDirective, DbxFirebaseNotificationSummaryDocumentStoreDirective, DbxFirebaseNotificationTemplateService, DbxFirebaseNotificationUserCollectionStoreDirective, DbxFirebaseNotificationUserDocumentStoreDirective, DbxFirebaseNotificationUserHealthCheckStore, DbxFirebaseParsedEmulatorsConfig, DbxFirebasePasswordResetComponent, DbxFirebasePasswordResetFormComponent, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageFileCollectionStoreDirective, DbxFirebaseStorageFileDocumentStoreDirective, DbxFirebaseStorageFileDownloadButtonComponent, DbxFirebaseStorageFileDownloadService, DbxFirebaseStorageFileDownloadStorage, DbxFirebaseStorageFileGroupDocumentStoreDirective, DbxFirebaseStorageFileUploadActionHandlerDirective, DbxFirebaseStorageFileUploadInitializeDocumentDirective, DbxFirebaseStorageFileUploadModule, DbxFirebaseStorageFileUploadStore, DbxFirebaseStorageFileUploadStoreDirective, DbxFirebaseStorageFileUploadSyncDirective, DbxFirebaseStoragePdfMergeUploadSyncDirective, DbxFirebaseStorageService, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirebaseUserExternalConnectionCollections, DbxFirebaseUserExternalConnectionDocumentStoreDirective, DbxFirebaseUserExternalConnectionsStore, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, FIREBASE_APP_CHECK_TOKEN, FIREBASE_APP_TOKEN, FIREBASE_AUTH_TOKEN, FIREBASE_FIRESTORE_TOKEN, FIREBASE_FUNCTIONS_TOKEN, FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX, FIREBASE_PROVIDER_ID_TO_LOGIN_METHOD_TYPE_MAP, FIREBASE_STORAGE_TOKEN, FlatFirestoreModelKeyPipe, IMPORTS_AND_EXPORTS, LOGIN_METHOD_TYPE_TO_FIREBASE_PROVIDER_ID_MAP, NOTIFICATION_DELIVERY_METHOD_ICONS, NOTIFICATION_DELIVERY_METHOD_LABELS, NOTIFICATION_DELIVERY_METHOD_SHORT_LABELS, NOTIFICATION_DELIVERY_METHOD_TEST_MESSAGE_LABELS, NOTIFICATION_DELIVERY_METHOD_TEST_MESSAGE_NOUNS, NOTIFICATION_HEALTH_CHECK_PROBE_ISSUE_OUTCOMES, NOTIFICATION_HEALTH_CHECK_STATUS_COLORS, NOTIFICATION_HEALTH_CHECK_STATUS_ICONS, NOTIFICATION_HEALTH_CHECK_STATUS_LABELS, NotificationBoxCollectionStore, NotificationBoxDocumentStore, NotificationCollectionStore, NotificationDocumentStore, NotificationSummaryCollectionStore, NotificationSummaryDocumentStore, NotificationUserCollectionStore, NotificationUserDocumentStore, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, StorageFileCollectionStore, StorageFileDocumentStore, StorageFileGroupDocumentStore, StorageFileUploadFilesError, SystemStateCollectionStore, SystemStateDocumentStore, TwoWayFlatFirestoreModelKeyPipe, UserExternalConnectionDocumentStore, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, createDbxFirebaseAppCheck, createDbxFirebaseAuth, createDbxFirebaseFirestore, createDbxFirebaseFunctions, createDbxFirebaseStorage, dbxFirebaseAuthContextInfo, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory, dbxFirebaseExternalConnectionProviderForEntry, dbxFirebaseExternalConnectionRowStatusForEntry, dbxFirebaseExternalConnectionRows, dbxFirebaseIdRouteParamRedirect, dbxFirebaseInContextFirebaseModelServiceInstance, dbxFirebaseInContextFirebaseModelServiceInstanceFactory, dbxFirebaseKeyRouteParamRedirect, dbxFirebaseKnownExternalConnectionProvider, dbxFirebaseModelContextServiceInfoInstanceFactory, dbxFirebaseModelEntityWidgetInjectionConfigFactory, dbxFirebaseModelTypesServiceInstance, dbxFirebaseModelTypesServiceInstancePairForKeysFactory, dbxFirebaseSourceSelectLoadSource, dbxFirebaseStorageFileDownloadServiceCustomSourceFromObs, dbxFirebaseStorageFileImageCompressionFileModifier, dbxFirebaseStorageProvidersContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, dbxWidgetTypeForNotificationTemplateType, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultDbxFirebaseStorageFileDownloadStorageAccessorFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, externalConnectionsLoadingStateFromDocumentLoadingState, firebaseAuthState, firebaseAuthTokenFromUser, firebaseCollectionStoreCreateFunction, firebaseCollectionStoreCrudFunction, firebaseContextServiceEntityMap, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreInvokeFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, firebaseIdToken, firebaseProviderIdToLoginMethodType, isDbxFirebaseModelEntityWithStore, isStandaloneWebApp, linkDocumentStoreToParentContextStores, loginMethodTypeToFirebaseProviderId, modelDoesNotExistError, navigateAndWaitForPageToLeave, notificationHealthCheckProbeIssueLabel, parseDbxFirebaseEmulatorsConfig, provideDbxFirebase, provideDbxFirebaseAnalyticsUserEventsListenerService, provideDbxFirebaseApp, provideDbxFirebaseAuth, provideDbxFirebaseAuthImpersonation, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDevelopment, provideDbxFirebaseDocumentStoreContextStore, provideDbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreTwoWayKeyProvider, provideDbxFirebaseExternalConnections, provideDbxFirebaseFunctions, provideDbxFirebaseLogin, provideDbxFirebaseModelContextService, provideDbxFirebaseModelEntitiesWidgetService, provideDbxFirebaseNotifications, provideDbxFirebaseStorageFileService, provideDbxFirestoreCollection, provideNotificationFirestoreCollections, provideStorageFileFirestoreCollections, provideSystemStateFirestoreCollections, providedDbxFirebaseStorage, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, resolveDbxFirebaseAuthFlow, setParentStoreEffect, shouldCreateUserExternalConnectionForDocumentLoadingState, stateFromTokenForLoggedInUserFunction, storageFileUploadFiles, storageFileUploadHandler };
|
|
7370
|
+
export type { AuthRolesObsWithClaimsServiceConfig, AuthUserInfo, AuthUserStateObsFunction, CreateDbxFirebaseAppCheckParams, CreateDbxFirebaseAuthParams, CreateDbxFirebaseFirestoreParams, CreateDbxFirebaseFunctionsParams, CreateDbxFirebaseStorageParams, DbxFirebaseAnalyticsUserPropertiesFactory, DbxFirebaseAppCheckConfig, DbxFirebaseAppOptions, DbxFirebaseAuthContextInfo, DbxFirebaseAuthFlow, DbxFirebaseAuthLoginPasswordConfig, DbxFirebaseAuthLoginProvider, DbxFirebaseAuthLoginProviderAssets, DbxFirebaseCollectionChangeTrigger, DbxFirebaseCollectionChangeTriggerFunction, DbxFirebaseCollectionChangeTriggerInstanceConfig, DbxFirebaseCollectionChangeWatcher, DbxFirebaseCollectionChangeWatcherEvent, DbxFirebaseCollectionChangeWatcherInstance, DbxFirebaseCollectionChangeWatcherTriggerMode, DbxFirebaseCollectionHasChangeDirectiveMode, DbxFirebaseCollectionLoader, DbxFirebaseCollectionLoaderAccessor, DbxFirebaseCollectionLoaderAccessorWithAccumulator, DbxFirebaseCollectionLoaderInstanceData, DbxFirebaseCollectionLoaderInstanceInitConfig, DbxFirebaseCollectionLoaderWithAccumulator, DbxFirebaseCollectionMode, DbxFirebaseCollectionStore, DbxFirebaseCollectionStoreContextState, DbxFirebaseCollectionStoreCreateFunction, DbxFirebaseCollectionStoreCrudFunction, DbxFirebaseCollectionWithParentStore, DbxFirebaseCollectionWithParentStoreContextState, DbxFirebaseCompletePasswordResetInput, DbxFirebaseComponentStoreSetParentEffectFunction, DbxFirebaseComponentStoreWithParent, DbxFirebaseComponentStoreWithParentContextState, DbxFirebaseComponentStoreWithParentSetParentEffectFunction, DbxFirebaseComponentStoreWithParentSetParentSourceModeFunction, DbxFirebaseComponentStoreWithParentSetParentStoreEffectFunction, DbxFirebaseComponentStoreWithParentSourceMode, DbxFirebaseDevelopmentPopupContentFormInput, DbxFirebaseDevelopmentPopupContentFormValue, DbxFirebaseDevelopmentWidgetEntry, DbxFirebaseDocumentLoader, DbxFirebaseDocumentLoaderInstanceInitConfig, DbxFirebaseDocumentReadOnlyStore, DbxFirebaseDocumentStore, DbxFirebaseDocumentStoreContextState, DbxFirebaseDocumentStoreContextStoreEntry, DbxFirebaseDocumentStoreContextStoreEntryNumber, DbxFirebaseDocumentStoreContextStoreEntryWithIdentity, DbxFirebaseDocumentStoreContextStoreState, DbxFirebaseDocumentStoreCreateFunction, DbxFirebaseDocumentStoreCrudFunction, DbxFirebaseDocumentStoreFunction, DbxFirebaseDocumentStoreFunctionParams, DbxFirebaseDocumentStoreFunctionParamsInput, DbxFirebaseDocumentWithParentStore, DbxFirebaseDocumentWithParentStoreContextState, DbxFirebaseEmailFormConfig, DbxFirebaseEmailFormValue, DbxFirebaseEmailRecoveryFormValue, DbxFirebaseEmulatorConfig, DbxFirebaseEmulatorsConfig, DbxFirebaseEnvironmentOptions, DbxFirebaseExternalConnectionActionConfig, DbxFirebaseExternalConnectionAuthorizeState, DbxFirebaseExternalConnectionConnectContext, DbxFirebaseExternalConnectionConnectFunction, DbxFirebaseExternalConnectionListItem, DbxFirebaseExternalConnectionListItemValue, DbxFirebaseExternalConnectionMintAuthorizeStateFunction, DbxFirebaseExternalConnectionNavigateFunction, DbxFirebaseExternalConnectionProvider, DbxFirebaseExternalConnectionProviderAssets, DbxFirebaseExternalConnectionProviderEntry, DbxFirebaseExternalConnectionRow, DbxFirebaseExternalConnectionRowStatus, DbxFirebaseExternalConnectionRowsInput, DbxFirebaseIdRouteParamRedirect, DbxFirebaseIdRouteParamRedirectInstance, DbxFirebaseInContextFirebaseModelInfoServiceInstance, DbxFirebaseInContextFirebaseModelRolesServiceInstance, DbxFirebaseInContextFirebaseModelServiceInstance, DbxFirebaseInContextFirebaseModelServiceInstanceFactory, DbxFirebaseKnownExternalConnectionProviderConfig, DbxFirebaseLoginButtonConfig, DbxFirebaseLoginButtonInjectionData, DbxFirebaseLoginEmailContentComponentConfig, DbxFirebaseLoginEmailContentMode, DbxFirebaseLoginListItemInjectionComponentConfig, DbxFirebaseLoginMode, DbxFirebaseModelContextServiceFactory, DbxFirebaseModelContextServiceInfoInstanceFactory, DbxFirebaseModelContextServiceInfoInstanceFactoryConfig, DbxFirebaseModelDisplayInfo, DbxFirebaseModelEntitiesPopoverButtonConfig, DbxFirebaseModelEntitiesPopoverConfig, DbxFirebaseModelEntitiesPopoverConfigWithoutOrigin, DbxFirebaseModelEntitiesWidgetEntry, DbxFirebaseModelEntitiesWidgetInjectionConfig, DbxFirebaseModelEntitiesWidgetInjectionConfigFactory, DbxFirebaseModelEntitiesWidgetServiceConfigFactory, DbxFirebaseModelEntity, DbxFirebaseModelEntityWithKey, DbxFirebaseModelEntityWithKeyAndStore, DbxFirebaseModelEntityWithStore, DbxFirebaseModelHistoryPopoverButtonConfig, DbxFirebaseModelHistoryPopoverConfig, DbxFirebaseModelHistoryPopoverConfigWithoutOrigin, DbxFirebaseModelTrackerFilterItem, DbxFirebaseModelTrackerHistoryFilter, DbxFirebaseModelTypeInfo, DbxFirebaseModelTypeInstanceListItem, DbxFirebaseModelTypesMap, DbxFirebaseModelTypesServiceEntry, DbxFirebaseModelTypesServiceInstance, DbxFirebaseModelTypesServiceInstancePair, DbxFirebaseModelTypesServiceInstancePairForKeysFactory, DbxFirebaseNotificationHealthCheckDialogButtonComponentConfig, DbxFirebaseNotificationHealthCheckDialogComponentConfig, DbxFirebaseNotificationHealthCheckIssuePresentation, DbxFirebaseNotificationHealthCheckMethodProbeActionConfig, DbxFirebaseNotificationHealthCheckPresentationEntry, DbxFirebaseNotificationHealthCheckProbeActionMap, DbxFirebaseNotificationItemStorePopoverButtonConfig, DbxFirebaseNotificationItemStorePopoverParams, DbxFirebaseNotificationItemStoreState, DbxFirebaseNotificationItemWidgetEntry, DbxFirebaseNotificationItemWidgetEntryRegistration, DbxFirebaseNotificationUserHealthCheckProbeVerification, DbxFirebaseNotificationUserHealthCheckRunParams, DbxFirebaseNotificationUserHealthCheckStoreState, DbxFirebasePasswordResetFormConfig, DbxFirebasePasswordResetFormValue, DbxFirebaseResolvedAuthFlow, DbxFirebaseSourceSelectLoadSourceConfig, DbxFirebaseStorageContextConfigFactory, DbxFirebaseStorageFileDownloadButtonConfig, DbxFirebaseStorageFileDownloadButtonSource, DbxFirebaseStorageFileDownloadDetails, DbxFirebaseStorageFileDownloadServiceCustomSource, DbxFirebaseStorageFileDownloadServiceCustomSourceDownloadFunction, DbxFirebaseStorageFileDownloadUrlPair, DbxFirebaseStorageFileDownloadUrlPairString, DbxFirebaseStorageFileDownloadUrlPairsRecord, DbxFirebaseStorageFileDownloadUserCache, DbxFirebaseStorageFileImageCompressionFileModifierConfig, DbxFirebaseStorageFileImageCompressionLogger, DbxFirebaseStorageFileUploadFileModifier, DbxFirebaseStorageFileUploadStoreAllowedTypes, DbxFirebaseStorageFileUploadStoreFileProgress, DbxFirebaseStorageFileUploadStoreState, DbxFirebaseStorageFileUploadStoreUploadStage, DbxLimitedFirebaseDocumentLoader, DefaultDbxFirebaseAuthServiceDelegateWithClaimsServiceConfig, FirebaseDocumentStoreFunctionConfig, FirebaseLoginMethodCategory, FirebaseLoginMethodType, KnownFirebaseLoginMethodCategory, KnownFirebaseLoginMethodType, NotificationItemWithSelection, ProvideDbxFirebaseAppConfig, ProvideDbxFirebaseAuthConfig, ProvideDbxFirebaseAuthImpersonationConfig, ProvideDbxFirebaseConfig, ProvideDbxFirebaseDevelopmentConfig, ProvideDbxFirebaseExternalConnectionsConfig, ProvideDbxFirebaseFirestoreCollectionConfig, ProvideDbxFirebaseFunctionsConfig, ProvideDbxFirebaseLoginConfig, ProvideDbxFirebaseModelContextServiceConfig, ProvideDbxFirebaseModelEntitiesWidgetServiceConfig, ProvideDbxFirebaseNotificationsConfig, ProvideDbxFirebaseStorageConfig, ScheduledFunctionDevelopmentFirebaseFunctionListEntryWithSelection, StateFromTokenFunction, StorageFileUploadConfig, StorageFileUploadConfigFactory, StorageFileUploadConfigOptions, StorageFileUploadFilesEvent, StorageFileUploadFilesFinalFileResult, StorageFileUploadFilesFinalResult, StorageFileUploadFilesInput, StorageFileUploadFilesInstance, StorageFileUploadHandler, StorageFileUploadHandlerConfig, StorageFileUploadHandlerFunction, StorageFileUploadHandlerInstance };
|