@dereekb/dbx-firebase 12.6.21 → 13.0.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/LICENSE +1 -1
- package/fesm2022/dereekb-dbx-firebase.mjs +910 -1396
- package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
- package/package.json +21 -23
- package/types/dereekb-dbx-firebase.d.ts +4304 -0
- package/esm2022/dereekb-dbx-firebase.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/lib/analytics/analytics.user.events.providers.mjs +0 -25
- package/esm2022/lib/analytics/analytics.user.events.service.mjs +0 -37
- package/esm2022/lib/analytics/analytics.user.source.mjs +0 -48
- package/esm2022/lib/analytics/index.mjs +0 -4
- package/esm2022/lib/auth/appcheck/appcheck.interceptor.mjs +0 -76
- package/esm2022/lib/auth/appcheck/appcheck.mjs +0 -11
- package/esm2022/lib/auth/appcheck/index.mjs +0 -3
- package/esm2022/lib/auth/auth.mjs +0 -22
- package/esm2022/lib/auth/firebase.auth.module.mjs +0 -22
- package/esm2022/lib/auth/firebase.auth.providers.mjs +0 -27
- package/esm2022/lib/auth/index.mjs +0 -7
- package/esm2022/lib/auth/login/firebase.login.module.mjs +0 -124
- package/esm2022/lib/auth/login/firebase.login.providers.default.mjs +0 -109
- package/esm2022/lib/auth/login/firebase.login.providers.mjs +0 -59
- package/esm2022/lib/auth/login/index.mjs +0 -27
- package/esm2022/lib/auth/login/login.anonymous.component.mjs +0 -23
- package/esm2022/lib/auth/login/login.apple.component.mjs +0 -23
- package/esm2022/lib/auth/login/login.button.component.mjs +0 -148
- package/esm2022/lib/auth/login/login.component.mjs +0 -39
- package/esm2022/lib/auth/login/login.context.back.component.mjs +0 -26
- package/esm2022/lib/auth/login/login.context.directive.mjs +0 -30
- package/esm2022/lib/auth/login/login.context.mjs +0 -7
- package/esm2022/lib/auth/login/login.email.component.mjs +0 -24
- package/esm2022/lib/auth/login/login.email.content.component.mjs +0 -102
- package/esm2022/lib/auth/login/login.email.form.component.mjs +0 -27
- package/esm2022/lib/auth/login/login.email.recovery.form.component.mjs +0 -21
- package/esm2022/lib/auth/login/login.facebook.component.mjs +0 -23
- package/esm2022/lib/auth/login/login.github.component.mjs +0 -23
- package/esm2022/lib/auth/login/login.google.component.mjs +0 -23
- package/esm2022/lib/auth/login/login.list.component.mjs +0 -71
- package/esm2022/lib/auth/login/login.microsoft.component.mjs +0 -23
- package/esm2022/lib/auth/login/login.mjs +0 -3
- package/esm2022/lib/auth/login/login.password.mjs +0 -4
- package/esm2022/lib/auth/login/login.service.mjs +0 -127
- package/esm2022/lib/auth/login/login.terms.component.mjs +0 -29
- package/esm2022/lib/auth/login/login.terms.mjs +0 -6
- package/esm2022/lib/auth/login/login.terms.simple.component.mjs +0 -38
- package/esm2022/lib/auth/login/login.twitter.component.mjs +0 -23
- package/esm2022/lib/auth/login/register.component.mjs +0 -27
- package/esm2022/lib/auth/login/register.email.component.mjs +0 -23
- package/esm2022/lib/auth/service/firebase.auth.rxjs.mjs +0 -46
- package/esm2022/lib/auth/service/firebase.auth.service.delegate.mjs +0 -28
- package/esm2022/lib/auth/service/firebase.auth.service.mjs +0 -193
- package/esm2022/lib/auth/service/index.mjs +0 -4
- package/esm2022/lib/development/development.directive.mjs +0 -78
- package/esm2022/lib/development/development.module.mjs +0 -61
- package/esm2022/lib/development/development.popup.component.mjs +0 -44
- package/esm2022/lib/development/development.popup.content.component.mjs +0 -79
- package/esm2022/lib/development/development.popup.content.form.component.mjs +0 -39
- package/esm2022/lib/development/development.providers.mjs +0 -47
- package/esm2022/lib/development/development.scheduler.list.component.mjs +0 -79
- package/esm2022/lib/development/development.scheduler.service.mjs +0 -78
- package/esm2022/lib/development/development.scheduler.widget.component.mjs +0 -40
- package/esm2022/lib/development/development.service.mjs +0 -20
- package/esm2022/lib/development/development.widget.mjs +0 -2
- package/esm2022/lib/development/development.widget.service.mjs +0 -56
- package/esm2022/lib/development/index.mjs +0 -14
- package/esm2022/lib/firebase/appcheck.mjs +0 -2
- package/esm2022/lib/firebase/emulators.mjs +0 -14
- package/esm2022/lib/firebase/firebase.emulator.module.mjs +0 -23
- package/esm2022/lib/firebase/firebase.emulator.providers.mjs +0 -33
- package/esm2022/lib/firebase/firebase.emulator.service.mjs +0 -29
- package/esm2022/lib/firebase/firebase.module.mjs +0 -26
- package/esm2022/lib/firebase/firebase.options.environment.mjs +0 -2
- package/esm2022/lib/firebase/firebase.options.mjs +0 -3
- package/esm2022/lib/firebase/firebase.providers.mjs +0 -149
- package/esm2022/lib/firebase/index.mjs +0 -10
- package/esm2022/lib/firestore/firebase.firestore.context.service.mjs +0 -18
- package/esm2022/lib/firestore/firebase.firestore.mjs +0 -6
- package/esm2022/lib/firestore/firebase.firestore.module.mjs +0 -23
- package/esm2022/lib/firestore/firebase.firestore.providers.mjs +0 -86
- package/esm2022/lib/firestore/index.mjs +0 -5
- package/esm2022/lib/function/firebase.function.module.mjs +0 -23
- package/esm2022/lib/function/firebase.function.providers.mjs +0 -54
- package/esm2022/lib/function/index.mjs +0 -3
- package/esm2022/lib/index.mjs +0 -14
- package/esm2022/lib/model/error.mjs +0 -6
- package/esm2022/lib/model/index.mjs +0 -7
- package/esm2022/lib/model/loader/collection.change.trigger.mjs +0 -80
- package/esm2022/lib/model/loader/collection.change.watcher.mjs +0 -35
- package/esm2022/lib/model/loader/collection.loader.instance.mjs +0 -227
- package/esm2022/lib/model/loader/collection.loader.mjs +0 -2
- package/esm2022/lib/model/loader/document.loader.instance.mjs +0 -68
- package/esm2022/lib/model/loader/document.loader.mjs +0 -2
- package/esm2022/lib/model/loader/index.mjs +0 -7
- package/esm2022/lib/model/model.module.mjs +0 -17
- package/esm2022/lib/model/modules/index.mjs +0 -3
- package/esm2022/lib/model/modules/model/entities/index.mjs +0 -11
- package/esm2022/lib/model/modules/model/entities/model.entities.component.mjs +0 -122
- package/esm2022/lib/model/modules/model/entities/model.entities.entity.component.mjs +0 -79
- package/esm2022/lib/model/modules/model/entities/model.entities.mjs +0 -15
- package/esm2022/lib/model/modules/model/entities/model.entities.popover.button.component.mjs +0 -49
- package/esm2022/lib/model/modules/model/entities/model.entities.popover.component.mjs +0 -42
- package/esm2022/lib/model/modules/model/entities/model.entities.providers.mjs +0 -20
- package/esm2022/lib/model/modules/model/entities/model.entities.source.directive.mjs +0 -38
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.entity.abstract.directive.mjs +0 -18
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.entity.debug.component.mjs +0 -41
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.mjs +0 -51
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.service.mjs +0 -91
- package/esm2022/lib/model/modules/model/history/index.mjs +0 -7
- package/esm2022/lib/model/modules/model/history/model.history.component.mjs +0 -36
- package/esm2022/lib/model/modules/model/history/model.history.module.mjs +0 -26
- package/esm2022/lib/model/modules/model/history/model.history.popover.button.component.mjs +0 -40
- package/esm2022/lib/model/modules/model/history/model.history.popover.component.mjs +0 -36
- package/esm2022/lib/model/modules/model/history/model.sourceselect.history.mjs +0 -18
- package/esm2022/lib/model/modules/model/history/model.tracker.service.mjs +0 -58
- package/esm2022/lib/model/modules/model/index.mjs +0 -8
- package/esm2022/lib/model/modules/model/model.key.component.mjs +0 -51
- package/esm2022/lib/model/modules/model/model.types.list.component.mjs +0 -67
- package/esm2022/lib/model/modules/model/model.types.module.mjs +0 -26
- package/esm2022/lib/model/modules/model/model.types.providers.mjs +0 -20
- package/esm2022/lib/model/modules/model/model.types.service.mjs +0 -122
- package/esm2022/lib/model/modules/model/model.types.view.directive.mjs +0 -45
- package/esm2022/lib/model/modules/store/index.mjs +0 -22
- package/esm2022/lib/model/modules/store/model.store.module.mjs +0 -21
- package/esm2022/lib/model/modules/store/store.collection.change.directive.mjs +0 -45
- package/esm2022/lib/model/modules/store/store.collection.change.if.directive.mjs +0 -42
- package/esm2022/lib/model/modules/store/store.collection.crud.mjs +0 -28
- package/esm2022/lib/model/modules/store/store.collection.directive.mjs +0 -99
- package/esm2022/lib/model/modules/store/store.collection.list.directive.mjs +0 -31
- package/esm2022/lib/model/modules/store/store.collection.mjs +0 -79
- package/esm2022/lib/model/modules/store/store.document.context.store.directive.mjs +0 -19
- package/esm2022/lib/model/modules/store/store.document.context.store.link.mjs +0 -45
- package/esm2022/lib/model/modules/store/store.document.context.store.mjs +0 -86
- package/esm2022/lib/model/modules/store/store.document.crud.mjs +0 -80
- package/esm2022/lib/model/modules/store/store.document.directive.mjs +0 -114
- package/esm2022/lib/model/modules/store/store.document.mjs +0 -193
- package/esm2022/lib/model/modules/store/store.document.twoway.key.directive.mjs +0 -26
- package/esm2022/lib/model/modules/store/store.document.twoway.key.source.directive.mjs +0 -22
- package/esm2022/lib/model/modules/store/store.document.twoway.key.source.mjs +0 -16
- package/esm2022/lib/model/modules/store/store.mjs +0 -2
- package/esm2022/lib/model/modules/store/store.subcollection.directive.mjs +0 -44
- package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +0 -99
- package/esm2022/lib/model/modules/store/store.subcollection.mjs +0 -80
- package/esm2022/lib/model/modules/store/store.subcollection.rxjs.mjs +0 -23
- package/esm2022/lib/model/service/index.mjs +0 -5
- package/esm2022/lib/model/service/model.context.instance.mjs +0 -73
- package/esm2022/lib/model/service/model.context.mjs +0 -2
- package/esm2022/lib/model/service/model.context.providers.mjs +0 -32
- package/esm2022/lib/model/service/model.context.service.mjs +0 -38
- package/esm2022/lib/model/system/index.mjs +0 -6
- package/esm2022/lib/model/system/systemstate.collection.store.directive.mjs +0 -20
- package/esm2022/lib/model/system/systemstate.collection.store.mjs +0 -16
- package/esm2022/lib/model/system/systemstate.document.store.accessor.mjs +0 -35
- package/esm2022/lib/model/system/systemstate.document.store.directive.mjs +0 -19
- package/esm2022/lib/model/system/systemstate.document.store.mjs +0 -16
- package/esm2022/lib/module.mjs +0 -15
- package/esm2022/lib/modules/index.mjs +0 -3
- package/esm2022/lib/modules/notification/component/index.mjs +0 -6
- package/esm2022/lib/modules/notification/component/notificationitem.content.component.mjs +0 -15
- package/esm2022/lib/modules/notification/component/notificationitem.list.component.mjs +0 -90
- package/esm2022/lib/modules/notification/component/notificationitem.view.component.mjs +0 -37
- package/esm2022/lib/modules/notification/component/notificationitem.view.default.component.mjs +0 -27
- package/esm2022/lib/modules/notification/component/notificationitem.view.directive.mjs +0 -14
- package/esm2022/lib/modules/notification/container/index.mjs +0 -3
- package/esm2022/lib/modules/notification/container/notification.item.store.popover.button.component.mjs +0 -48
- package/esm2022/lib/modules/notification/container/notification.item.store.popover.component.mjs +0 -35
- package/esm2022/lib/modules/notification/index.mjs +0 -7
- package/esm2022/lib/modules/notification/notification.module.mjs +0 -103
- package/esm2022/lib/modules/notification/notification.providers.mjs +0 -47
- package/esm2022/lib/modules/notification/service/index.mjs +0 -4
- package/esm2022/lib/modules/notification/service/notification.template.service.mjs +0 -28
- package/esm2022/lib/modules/notification/service/notificationitem.widget.mjs +0 -11
- package/esm2022/lib/modules/notification/service/notificationitem.widget.service.mjs +0 -55
- package/esm2022/lib/modules/notification/store/index.mjs +0 -18
- package/esm2022/lib/modules/notification/store/notification.collection.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notification.collection.store.mjs +0 -23
- package/esm2022/lib/modules/notification/store/notification.document.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notification.document.store.mjs +0 -33
- package/esm2022/lib/modules/notification/store/notification.item.store.mjs +0 -30
- package/esm2022/lib/modules/notification/store/notificationbox.collection.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notificationbox.collection.store.mjs +0 -16
- package/esm2022/lib/modules/notification/store/notificationbox.document.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notificationbox.document.store.mjs +0 -22
- package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.mjs +0 -16
- package/esm2022/lib/modules/notification/store/notificationsummary.document.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notificationsummary.document.store.mjs +0 -34
- package/esm2022/lib/modules/notification/store/notificationuser.collection.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notificationuser.collection.store.mjs +0 -16
- package/esm2022/lib/modules/notification/store/notificationuser.document.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notificationuser.document.store.mjs +0 -18
- package/esm2022/lib/modules/storagefile/container/index.mjs +0 -8
- package/esm2022/lib/modules/storagefile/container/storagefile.download.button.component.mjs +0 -278
- package/esm2022/lib/modules/storagefile/container/storagefile.upload.action.handler.directive.mjs +0 -118
- package/esm2022/lib/modules/storagefile/container/storagefile.upload.error.mjs +0 -12
- package/esm2022/lib/modules/storagefile/container/storagefile.upload.handler.mjs +0 -260
- package/esm2022/lib/modules/storagefile/container/storagefile.upload.initialize.document.directive.mjs +0 -51
- package/esm2022/lib/modules/storagefile/container/storagefile.upload.store.directive.mjs +0 -38
- package/esm2022/lib/modules/storagefile/container/storagefile.upload.sync.directive.mjs +0 -36
- package/esm2022/lib/modules/storagefile/index.mjs +0 -6
- package/esm2022/lib/modules/storagefile/service/index.mjs +0 -3
- package/esm2022/lib/modules/storagefile/service/storagefile.download.service.mjs +0 -158
- package/esm2022/lib/modules/storagefile/service/storagefile.download.storage.service.mjs +0 -91
- package/esm2022/lib/modules/storagefile/storagefile.providers.mjs +0 -33
- package/esm2022/lib/modules/storagefile/storagefile.upload.module.mjs +0 -83
- package/esm2022/lib/modules/storagefile/store/index.mjs +0 -8
- package/esm2022/lib/modules/storagefile/store/storagefile.collection.store.directive.mjs +0 -22
- package/esm2022/lib/modules/storagefile/store/storagefile.collection.store.mjs +0 -18
- package/esm2022/lib/modules/storagefile/store/storagefile.document.store.directive.mjs +0 -21
- package/esm2022/lib/modules/storagefile/store/storagefile.document.store.mjs +0 -23
- package/esm2022/lib/modules/storagefile/store/storagefile.upload.store.mjs +0 -63
- package/esm2022/lib/modules/storagefile/store/storagefilegroup.document.store.directive.mjs +0 -21
- package/esm2022/lib/modules/storagefile/store/storagefilegroup.document.store.mjs +0 -18
- package/esm2022/lib/pipe/index.mjs +0 -4
- package/esm2022/lib/pipe/key.flat.pipe.mjs +0 -20
- package/esm2022/lib/pipe/key.twoway.pipe.mjs +0 -20
- package/esm2022/lib/pipe/pipe.module.mjs +0 -23
- package/esm2022/lib/providers.mjs +0 -48
- package/esm2022/lib/router/id.param.redirect.mjs +0 -64
- package/esm2022/lib/router/index.mjs +0 -2
- package/esm2022/lib/storage/firebase.storage.mjs +0 -10
- package/esm2022/lib/storage/firebase.storage.module.mjs +0 -22
- package/esm2022/lib/storage/firebase.storage.providers.mjs +0 -44
- package/esm2022/lib/storage/firebase.storage.service.mjs +0 -27
- package/esm2022/lib/storage/index.mjs +0 -5
- package/index.d.ts +0 -1
- package/lib/analytics/analytics.user.events.providers.d.ts +0 -6
- package/lib/analytics/analytics.user.events.service.d.ts +0 -19
- package/lib/analytics/analytics.user.source.d.ts +0 -21
- package/lib/analytics/index.d.ts +0 -3
- package/lib/auth/appcheck/appcheck.d.ts +0 -8
- package/lib/auth/appcheck/appcheck.interceptor.d.ts +0 -15
- package/lib/auth/appcheck/index.d.ts +0 -2
- package/lib/auth/auth.d.ts +0 -15
- package/lib/auth/firebase.auth.module.d.ts +0 -13
- package/lib/auth/firebase.auth.providers.d.ts +0 -21
- package/lib/auth/index.d.ts +0 -6
- package/lib/auth/login/firebase.login.module.d.ts +0 -36
- package/lib/auth/login/firebase.login.providers.d.ts +0 -32
- package/lib/auth/login/firebase.login.providers.default.d.ts +0 -7
- package/lib/auth/login/index.d.ts +0 -26
- package/lib/auth/login/login.anonymous.component.d.ts +0 -8
- package/lib/auth/login/login.apple.component.d.ts +0 -8
- package/lib/auth/login/login.button.component.d.ts +0 -53
- package/lib/auth/login/login.component.d.ts +0 -14
- package/lib/auth/login/login.context.back.component.d.ts +0 -8
- package/lib/auth/login/login.context.d.ts +0 -6
- package/lib/auth/login/login.context.directive.d.ts +0 -10
- package/lib/auth/login/login.d.ts +0 -7
- package/lib/auth/login/login.email.component.d.ts +0 -8
- package/lib/auth/login/login.email.content.component.d.ts +0 -41
- package/lib/auth/login/login.email.form.component.d.ts +0 -17
- package/lib/auth/login/login.email.recovery.form.component.d.ts +0 -11
- package/lib/auth/login/login.facebook.component.d.ts +0 -8
- package/lib/auth/login/login.github.component.d.ts +0 -8
- package/lib/auth/login/login.google.component.d.ts +0 -8
- package/lib/auth/login/login.list.component.d.ts +0 -21
- package/lib/auth/login/login.microsoft.component.d.ts +0 -8
- package/lib/auth/login/login.password.d.ts +0 -3
- package/lib/auth/login/login.service.d.ts +0 -115
- package/lib/auth/login/login.terms.component.d.ts +0 -9
- package/lib/auth/login/login.terms.d.ts +0 -18
- package/lib/auth/login/login.terms.simple.component.d.ts +0 -9
- package/lib/auth/login/login.twitter.component.d.ts +0 -8
- package/lib/auth/login/register.component.d.ts +0 -12
- package/lib/auth/login/register.email.component.d.ts +0 -8
- package/lib/auth/service/firebase.auth.rxjs.d.ts +0 -23
- package/lib/auth/service/firebase.auth.service.d.ts +0 -95
- package/lib/auth/service/firebase.auth.service.delegate.d.ts +0 -25
- package/lib/auth/service/index.d.ts +0 -3
- package/lib/development/development.directive.d.ts +0 -24
- package/lib/development/development.module.d.ts +0 -15
- package/lib/development/development.popup.component.d.ts +0 -14
- package/lib/development/development.popup.content.component.d.ts +0 -49
- package/lib/development/development.popup.content.form.component.d.ts +0 -17
- package/lib/development/development.providers.d.ts +0 -32
- package/lib/development/development.scheduler.list.component.d.ts +0 -23
- package/lib/development/development.scheduler.service.d.ts +0 -31
- package/lib/development/development.scheduler.widget.component.d.ts +0 -12
- package/lib/development/development.service.d.ts +0 -16
- package/lib/development/development.widget.d.ts +0 -8
- package/lib/development/development.widget.service.d.ts +0 -29
- package/lib/development/index.d.ts +0 -13
- package/lib/firebase/appcheck.d.ts +0 -21
- package/lib/firebase/emulators.d.ts +0 -60
- package/lib/firebase/firebase.emulator.module.d.ts +0 -14
- package/lib/firebase/firebase.emulator.providers.d.ts +0 -13
- package/lib/firebase/firebase.emulator.service.d.ts +0 -11
- package/lib/firebase/firebase.module.d.ts +0 -14
- package/lib/firebase/firebase.options.d.ts +0 -36
- package/lib/firebase/firebase.options.environment.d.ts +0 -10
- package/lib/firebase/firebase.providers.d.ts +0 -51
- package/lib/firebase/index.d.ts +0 -9
- package/lib/firestore/firebase.firestore.context.service.d.ts +0 -10
- package/lib/firestore/firebase.firestore.d.ts +0 -5
- package/lib/firestore/firebase.firestore.module.d.ts +0 -15
- package/lib/firestore/firebase.firestore.providers.d.ts +0 -62
- package/lib/firestore/index.d.ts +0 -4
- package/lib/function/firebase.function.module.d.ts +0 -16
- package/lib/function/firebase.function.providers.d.ts +0 -43
- package/lib/function/index.d.ts +0 -2
- package/lib/index.d.ts +0 -13
- package/lib/model/error.d.ts +0 -2
- package/lib/model/index.d.ts +0 -6
- package/lib/model/loader/collection.change.trigger.d.ts +0 -57
- package/lib/model/loader/collection.change.watcher.d.ts +0 -44
- package/lib/model/loader/collection.loader.d.ts +0 -61
- package/lib/model/loader/collection.loader.instance.d.ts +0 -110
- package/lib/model/loader/document.loader.d.ts +0 -75
- package/lib/model/loader/document.loader.instance.d.ts +0 -46
- package/lib/model/loader/index.d.ts +0 -6
- package/lib/model/model.module.d.ts +0 -9
- package/lib/model/modules/index.d.ts +0 -2
- package/lib/model/modules/model/entities/index.d.ts +0 -10
- package/lib/model/modules/model/entities/model.entities.component.d.ts +0 -47
- package/lib/model/modules/model/entities/model.entities.d.ts +0 -60
- package/lib/model/modules/model/entities/model.entities.entity.component.d.ts +0 -43
- package/lib/model/modules/model/entities/model.entities.popover.button.component.d.ts +0 -30
- package/lib/model/modules/model/entities/model.entities.popover.component.d.ts +0 -59
- package/lib/model/modules/model/entities/model.entities.providers.d.ts +0 -22
- package/lib/model/modules/model/entities/model.entities.source.directive.d.ts +0 -8
- package/lib/model/modules/model/entities/model.entities.widget.d.ts +0 -30
- package/lib/model/modules/model/entities/model.entities.widget.entity.abstract.directive.d.ts +0 -13
- package/lib/model/modules/model/entities/model.entities.widget.entity.debug.component.d.ts +0 -17
- package/lib/model/modules/model/entities/model.entities.widget.service.d.ts +0 -74
- package/lib/model/modules/model/history/index.d.ts +0 -6
- package/lib/model/modules/model/history/model.history.component.d.ts +0 -16
- package/lib/model/modules/model/history/model.history.module.d.ts +0 -16
- package/lib/model/modules/model/history/model.history.popover.button.component.d.ts +0 -16
- package/lib/model/modules/model/history/model.history.popover.component.d.ts +0 -50
- package/lib/model/modules/model/history/model.sourceselect.history.d.ts +0 -32
- package/lib/model/modules/model/history/model.tracker.service.d.ts +0 -43
- package/lib/model/modules/model/index.d.ts +0 -7
- package/lib/model/modules/model/model.key.component.d.ts +0 -25
- package/lib/model/modules/model/model.types.list.component.d.ts +0 -22
- package/lib/model/modules/model/model.types.module.d.ts +0 -16
- package/lib/model/modules/model/model.types.providers.d.ts +0 -22
- package/lib/model/modules/model/model.types.service.d.ts +0 -90
- package/lib/model/modules/model/model.types.view.directive.d.ts +0 -19
- package/lib/model/modules/store/index.d.ts +0 -21
- package/lib/model/modules/store/model.store.module.d.ts +0 -11
- package/lib/model/modules/store/store.collection.change.directive.d.ts +0 -28
- package/lib/model/modules/store/store.collection.change.if.directive.d.ts +0 -18
- package/lib/model/modules/store/store.collection.crud.d.ts +0 -21
- package/lib/model/modules/store/store.collection.d.ts +0 -97
- package/lib/model/modules/store/store.collection.directive.d.ts +0 -56
- package/lib/model/modules/store/store.collection.list.directive.d.ts +0 -16
- package/lib/model/modules/store/store.d.ts +0 -87
- package/lib/model/modules/store/store.document.context.store.d.ts +0 -59
- package/lib/model/modules/store/store.document.context.store.directive.d.ts +0 -8
- package/lib/model/modules/store/store.document.context.store.link.d.ts +0 -17
- package/lib/model/modules/store/store.document.crud.d.ts +0 -63
- package/lib/model/modules/store/store.document.d.ts +0 -101
- package/lib/model/modules/store/store.document.directive.d.ts +0 -66
- package/lib/model/modules/store/store.document.twoway.key.directive.d.ts +0 -14
- package/lib/model/modules/store/store.document.twoway.key.source.d.ts +0 -10
- package/lib/model/modules/store/store.document.twoway.key.source.directive.d.ts +0 -13
- package/lib/model/modules/store/store.subcollection.d.ts +0 -51
- package/lib/model/modules/store/store.subcollection.directive.d.ts +0 -28
- package/lib/model/modules/store/store.subcollection.document.d.ts +0 -67
- package/lib/model/modules/store/store.subcollection.rxjs.d.ts +0 -24
- package/lib/model/service/index.d.ts +0 -4
- package/lib/model/service/model.context.d.ts +0 -33
- package/lib/model/service/model.context.instance.d.ts +0 -17
- package/lib/model/service/model.context.providers.d.ts +0 -18
- package/lib/model/service/model.context.service.d.ts +0 -31
- package/lib/model/system/index.d.ts +0 -5
- package/lib/model/system/systemstate.collection.store.d.ts +0 -8
- package/lib/model/system/systemstate.collection.store.directive.d.ts +0 -9
- package/lib/model/system/systemstate.document.store.accessor.d.ts +0 -22
- package/lib/model/system/systemstate.document.store.d.ts +0 -8
- package/lib/model/system/systemstate.document.store.directive.d.ts +0 -9
- package/lib/module.d.ts +0 -7
- package/lib/modules/index.d.ts +0 -2
- package/lib/modules/notification/component/index.d.ts +0 -5
- package/lib/modules/notification/component/notificationitem.content.component.d.ts +0 -9
- package/lib/modules/notification/component/notificationitem.list.component.d.ts +0 -24
- package/lib/modules/notification/component/notificationitem.view.component.d.ts +0 -10
- package/lib/modules/notification/component/notificationitem.view.default.component.d.ts +0 -9
- package/lib/modules/notification/component/notificationitem.view.directive.d.ts +0 -8
- package/lib/modules/notification/container/index.d.ts +0 -2
- package/lib/modules/notification/container/notification.item.store.popover.button.component.d.ts +0 -17
- package/lib/modules/notification/container/notification.item.store.popover.component.d.ts +0 -50
- package/lib/modules/notification/index.d.ts +0 -6
- package/lib/modules/notification/notification.module.d.ts +0 -38
- package/lib/modules/notification/notification.providers.d.ts +0 -24
- package/lib/modules/notification/service/index.d.ts +0 -3
- package/lib/modules/notification/service/notification.template.service.d.ts +0 -11
- package/lib/modules/notification/service/notificationitem.widget.d.ts +0 -26
- package/lib/modules/notification/service/notificationitem.widget.service.d.ts +0 -22
- package/lib/modules/notification/store/index.d.ts +0 -17
- package/lib/modules/notification/store/notification.collection.store.d.ts +0 -9
- package/lib/modules/notification/store/notification.collection.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notification.document.store.d.ts +0 -16
- package/lib/modules/notification/store/notification.document.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notification.item.store.d.ts +0 -28
- package/lib/modules/notification/store/notificationbox.collection.store.d.ts +0 -8
- package/lib/modules/notification/store/notificationbox.collection.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notificationbox.document.store.d.ts +0 -13
- package/lib/modules/notification/store/notificationbox.document.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notificationsummary.collection.store.d.ts +0 -8
- package/lib/modules/notification/store/notificationsummary.collection.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notificationsummary.document.store.d.ts +0 -21
- package/lib/modules/notification/store/notificationsummary.document.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notificationuser.collection.store.d.ts +0 -8
- package/lib/modules/notification/store/notificationuser.collection.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notificationuser.document.store.d.ts +0 -11
- package/lib/modules/notification/store/notificationuser.document.store.directive.d.ts +0 -9
- package/lib/modules/storagefile/container/index.d.ts +0 -7
- package/lib/modules/storagefile/container/storagefile.download.button.component.d.ts +0 -160
- package/lib/modules/storagefile/container/storagefile.upload.action.handler.directive.d.ts +0 -47
- package/lib/modules/storagefile/container/storagefile.upload.error.d.ts +0 -9
- package/lib/modules/storagefile/container/storagefile.upload.handler.d.ts +0 -183
- package/lib/modules/storagefile/container/storagefile.upload.initialize.document.directive.d.ts +0 -21
- package/lib/modules/storagefile/container/storagefile.upload.store.directive.d.ts +0 -20
- package/lib/modules/storagefile/container/storagefile.upload.sync.directive.d.ts +0 -18
- package/lib/modules/storagefile/index.d.ts +0 -5
- package/lib/modules/storagefile/service/index.d.ts +0 -2
- package/lib/modules/storagefile/service/storagefile.download.service.d.ts +0 -79
- package/lib/modules/storagefile/service/storagefile.download.storage.service.d.ts +0 -56
- package/lib/modules/storagefile/storagefile.providers.d.ts +0 -13
- package/lib/modules/storagefile/storagefile.upload.module.d.ts +0 -29
- package/lib/modules/storagefile/store/index.d.ts +0 -7
- package/lib/modules/storagefile/store/storagefile.collection.store.d.ts +0 -10
- package/lib/modules/storagefile/store/storagefile.collection.store.directive.d.ts +0 -9
- package/lib/modules/storagefile/store/storagefile.document.store.d.ts +0 -16
- package/lib/modules/storagefile/store/storagefile.document.store.directive.d.ts +0 -9
- package/lib/modules/storagefile/store/storagefile.upload.store.d.ts +0 -166
- package/lib/modules/storagefile/store/storagefilegroup.document.store.d.ts +0 -11
- package/lib/modules/storagefile/store/storagefilegroup.document.store.directive.d.ts +0 -9
- package/lib/pipe/index.d.ts +0 -3
- package/lib/pipe/key.flat.pipe.d.ts +0 -9
- package/lib/pipe/key.twoway.pipe.d.ts +0 -9
- package/lib/pipe/pipe.module.d.ts +0 -13
- package/lib/providers.d.ts +0 -64
- package/lib/router/id.param.redirect.d.ts +0 -41
- package/lib/router/index.d.ts +0 -1
- package/lib/storage/firebase.storage.d.ts +0 -9
- package/lib/storage/firebase.storage.module.d.ts +0 -13
- package/lib/storage/firebase.storage.providers.d.ts +0 -31
- package/lib/storage/firebase.storage.service.d.ts +0 -13
- package/lib/storage/index.d.ts +0 -4
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { DbxInjectionComponent } from '@dereekb/dbx-core';
|
|
2
|
-
import { Component, inject } from '@angular/core';
|
|
3
|
-
import { DbxFirebaseAuthLoginService } from './login.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class DbxFirebaseLoginTermsComponent {
|
|
6
|
-
dbxFirebaseAuthLoginService = inject(DbxFirebaseAuthLoginService);
|
|
7
|
-
config = {
|
|
8
|
-
componentClass: this.dbxFirebaseAuthLoginService.loginTermsComponentClass
|
|
9
|
-
};
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseLoginTermsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseLoginTermsComponent, isStandalone: true, selector: "dbx-firebase-login-terms", host: { classAttribute: "dbx-firebase-login-terms d-block" }, ngImport: i0, template: `
|
|
12
|
-
<dbx-injection [config]="config"></dbx-injection>
|
|
13
|
-
`, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseLoginTermsComponent, decorators: [{
|
|
16
|
-
type: Component,
|
|
17
|
-
args: [{
|
|
18
|
-
selector: 'dbx-firebase-login-terms',
|
|
19
|
-
template: `
|
|
20
|
-
<dbx-injection [config]="config"></dbx-injection>
|
|
21
|
-
`,
|
|
22
|
-
host: {
|
|
23
|
-
class: 'dbx-firebase-login-terms d-block'
|
|
24
|
-
},
|
|
25
|
-
imports: [DbxInjectionComponent],
|
|
26
|
-
standalone: true
|
|
27
|
-
}]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4udGVybXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9sb2dpbi9sb2dpbi50ZXJtcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUErQixNQUFNLG1CQUFtQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWE5RCxNQUFNLE9BQU8sOEJBQThCO0lBQ2hDLDJCQUEyQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRWxFLE1BQU0sR0FBZ0M7UUFDN0MsY0FBYyxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyx3QkFBd0I7S0FDMUUsQ0FBQzt3R0FMUyw4QkFBOEI7NEZBQTlCLDhCQUE4QixrSkFUL0I7O0dBRVQsNERBSVMscUJBQXFCOzs0RkFHcEIsOEJBQThCO2tCQVgxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRTs7R0FFVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLGtDQUFrQztxQkFDMUM7b0JBQ0QsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieEluamVjdGlvbkNvbXBvbmVudCwgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VBdXRoTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi9sb2dpbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZpcmViYXNlLWxvZ2luLXRlcm1zJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGJ4LWluamVjdGlvbiBbY29uZmlnXT1cImNvbmZpZ1wiPjwvZGJ4LWluamVjdGlvbj5cbiAgYCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZGJ4LWZpcmViYXNlLWxvZ2luLXRlcm1zIGQtYmxvY2snXG4gIH0sXG4gIGltcG9ydHM6IFtEYnhJbmplY3Rpb25Db21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlTG9naW5UZXJtc0NvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGRieEZpcmViYXNlQXV0aExvZ2luU2VydmljZSA9IGluamVjdChEYnhGaXJlYmFzZUF1dGhMb2dpblNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGNvbmZpZzogRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnID0ge1xuICAgIGNvbXBvbmVudENsYXNzOiB0aGlzLmRieEZpcmViYXNlQXV0aExvZ2luU2VydmljZS5sb2dpblRlcm1zQ29tcG9uZW50Q2xhc3NcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* Injection token for DbxFirebaseLoginTermsOfServiceUrlsConfig.
|
|
4
|
-
*/
|
|
5
|
-
export const DBX_FIREBASE_LOGIN_TERMS_OF_SERVICE_URLS_CONFIG = new InjectionToken('DBX_FIREBASE_LOGIN_TERMS_OF_SERVICE_URLS_CONFIG');
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4udGVybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9hdXRoL2xvZ2luL2xvZ2luLnRlcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFnQi9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0NBQStDLEdBQUcsSUFBSSxjQUFjLENBQTJDLGlEQUFpRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGZvciBEYnhGaXJlYmFzZUxvZ2luVGVybXNTaW1wbGVDb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VMb2dpblRlcm1zT2ZTZXJ2aWNlVXJsc0NvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgVGVybXMgb2YgU2VydmljZSBVUkwuXG4gICAqL1xuICByZWFkb25seSB0b3NVcmw6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBQcml2YWN5IFBvbGljeSBVUkwuXG4gICAqL1xuICByZWFkb25seSBwcml2YWN5VXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciBEYnhGaXJlYmFzZUxvZ2luVGVybXNPZlNlcnZpY2VVcmxzQ29uZmlnLlxuICovXG5leHBvcnQgY29uc3QgREJYX0ZJUkVCQVNFX0xPR0lOX1RFUk1TX09GX1NFUlZJQ0VfVVJMU19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RGJ4RmlyZWJhc2VMb2dpblRlcm1zT2ZTZXJ2aWNlVXJsc0NvbmZpZz4oJ0RCWF9GSVJFQkFTRV9MT0dJTl9URVJNU19PRl9TRVJWSUNFX1VSTFNfQ09ORklHJyk7XG4iXX0=
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Component, inject } from '@angular/core';
|
|
2
|
-
import { DBX_FIREBASE_LOGIN_TERMS_OF_SERVICE_URLS_CONFIG } from './login.terms';
|
|
3
|
-
import { DbxLinkComponent } from '@dereekb/dbx-web';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class DbxFirebaseLoginTermsSimpleComponent {
|
|
6
|
-
dbxFirebaseLoginTermsConfig = inject(DBX_FIREBASE_LOGIN_TERMS_OF_SERVICE_URLS_CONFIG);
|
|
7
|
-
tosAnchor = {
|
|
8
|
-
url: this.dbxFirebaseLoginTermsConfig.tosUrl,
|
|
9
|
-
target: '_blank'
|
|
10
|
-
};
|
|
11
|
-
privacyAnchor = {
|
|
12
|
-
url: this.dbxFirebaseLoginTermsConfig.privacyUrl,
|
|
13
|
-
target: '_blank'
|
|
14
|
-
};
|
|
15
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseLoginTermsSimpleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseLoginTermsSimpleComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
|
|
17
|
-
<div class="dbx-firebase-login-terms-view">
|
|
18
|
-
<dbx-link [anchor]="tosAnchor">Terms</dbx-link>
|
|
19
|
-
<span class="dbx-link-spacer"></span>
|
|
20
|
-
<dbx-link [anchor]="privacyAnchor">Privacy</dbx-link>
|
|
21
|
-
</div>
|
|
22
|
-
`, isInline: true, dependencies: [{ kind: "component", type: DbxLinkComponent, selector: "dbx-link", inputs: ["ref", "href", "anchor"] }] });
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseLoginTermsSimpleComponent, decorators: [{
|
|
25
|
-
type: Component,
|
|
26
|
-
args: [{
|
|
27
|
-
template: `
|
|
28
|
-
<div class="dbx-firebase-login-terms-view">
|
|
29
|
-
<dbx-link [anchor]="tosAnchor">Terms</dbx-link>
|
|
30
|
-
<span class="dbx-link-spacer"></span>
|
|
31
|
-
<dbx-link [anchor]="privacyAnchor">Privacy</dbx-link>
|
|
32
|
-
</div>
|
|
33
|
-
`,
|
|
34
|
-
standalone: true,
|
|
35
|
-
imports: [DbxLinkComponent]
|
|
36
|
-
}]
|
|
37
|
-
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4udGVybXMuc2ltcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2F1dGgvbG9naW4vbG9naW4udGVybXMuc2ltcGxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsK0NBQStDLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBYXBELE1BQU0sT0FBTyxvQ0FBb0M7SUFDdEMsMkJBQTJCLEdBQUcsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFFdEYsU0FBUyxHQUFvQjtRQUNwQyxHQUFHLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE1BQU07UUFDNUMsTUFBTSxFQUFFLFFBQVE7S0FDakIsQ0FBQztJQUVPLGFBQWEsR0FBb0I7UUFDeEMsR0FBRyxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxVQUFVO1FBQ2hELE1BQU0sRUFBRSxRQUFRO0tBQ2pCLENBQUM7d0dBWFMsb0NBQW9DOzRGQUFwQyxvQ0FBb0Msd0VBVnJDOzs7Ozs7R0FNVCw0REFFUyxnQkFBZ0I7OzRGQUVmLG9DQUFvQztrQkFYaEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7OztHQU1UO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGlja2FibGVBbmNob3IgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgREJYX0ZJUkVCQVNFX0xPR0lOX1RFUk1TX09GX1NFUlZJQ0VfVVJMU19DT05GSUcgfSBmcm9tICcuL2xvZ2luLnRlcm1zJztcbmltcG9ydCB7IERieExpbmtDb21wb25lbnQgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRieC1maXJlYmFzZS1sb2dpbi10ZXJtcy12aWV3XCI+XG4gICAgICA8ZGJ4LWxpbmsgW2FuY2hvcl09XCJ0b3NBbmNob3JcIj5UZXJtczwvZGJ4LWxpbms+XG4gICAgICA8c3BhbiBjbGFzcz1cImRieC1saW5rLXNwYWNlclwiPjwvc3Bhbj5cbiAgICAgIDxkYngtbGluayBbYW5jaG9yXT1cInByaXZhY3lBbmNob3JcIj5Qcml2YWN5PC9kYngtbGluaz5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0RieExpbmtDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlTG9naW5UZXJtc1NpbXBsZUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGRieEZpcmViYXNlTG9naW5UZXJtc0NvbmZpZyA9IGluamVjdChEQlhfRklSRUJBU0VfTE9HSU5fVEVSTVNfT0ZfU0VSVklDRV9VUkxTX0NPTkZJRyk7XG5cbiAgcmVhZG9ubHkgdG9zQW5jaG9yOiBDbGlja2FibGVBbmNob3IgPSB7XG4gICAgdXJsOiB0aGlzLmRieEZpcmViYXNlTG9naW5UZXJtc0NvbmZpZy50b3NVcmwsXG4gICAgdGFyZ2V0OiAnX2JsYW5rJ1xuICB9O1xuXG4gIHJlYWRvbmx5IHByaXZhY3lBbmNob3I6IENsaWNrYWJsZUFuY2hvciA9IHtcbiAgICB1cmw6IHRoaXMuZGJ4RmlyZWJhc2VMb2dpblRlcm1zQ29uZmlnLnByaXZhY3lVcmwsXG4gICAgdGFyZ2V0OiAnX2JsYW5rJ1xuICB9O1xufVxuIl19
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { AbstractConfiguredDbxFirebaseLoginButtonDirective, DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION } from './login.button.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./login.button.component";
|
|
5
|
-
export class DbxFirebaseLoginTwitterComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
|
|
6
|
-
loginProvider = 'twitter';
|
|
7
|
-
handleLogin() {
|
|
8
|
-
return this.dbxFirebaseAuthService.logInWithTwitter();
|
|
9
|
-
}
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseLoginTwitterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseLoginTwitterComponent, isStandalone: true, selector: "dbx-firebase-login-twitter", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: i1.DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: i1.DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseLoginTwitterComponent, decorators: [{
|
|
14
|
-
type: Component,
|
|
15
|
-
args: [{
|
|
16
|
-
selector: 'dbx-firebase-login-twitter',
|
|
17
|
-
imports: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.imports,
|
|
18
|
-
template: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.template,
|
|
19
|
-
changeDetection: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.changeDetection,
|
|
20
|
-
standalone: true
|
|
21
|
-
}]
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4udHdpdHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9hdXRoL2xvZ2luL2xvZ2luLnR3aXR0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlEQUFpRCxFQUFFLGdFQUFnRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQVMvSixNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsaURBQWlEO0lBQzVGLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFFbkMsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDeEQsQ0FBQzt3R0FMVSxnQ0FBZ0M7NEZBQWhDLGdDQUFnQzs7NEZBQWhDLGdDQUFnQztrQkFQNUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxPQUFPLEVBQUUsZ0VBQWdFLENBQUMsT0FBTztvQkFDakYsUUFBUSxFQUFFLGdFQUFnRSxDQUFDLFFBQVE7b0JBQ25GLGVBQWUsRUFBRSxnRUFBZ0UsQ0FBQyxlQUFlO29CQUNqRyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29uZmlndXJlZERieEZpcmViYXNlTG9naW5CdXR0b25EaXJlY3RpdmUsIERCWF9DT05GSUdVUkVEX0RCWF9GSVJFQkFTRV9MT0dJTl9CVVRUT05fQ09NUE9ORU5UX0NPTkZJR1VSQVRJT04gfSBmcm9tICcuL2xvZ2luLmJ1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtZmlyZWJhc2UtbG9naW4tdHdpdHRlcicsXG4gIGltcG9ydHM6IERCWF9DT05GSUdVUkVEX0RCWF9GSVJFQkFTRV9MT0dJTl9CVVRUT05fQ09NUE9ORU5UX0NPTkZJR1VSQVRJT04uaW1wb3J0cyxcbiAgdGVtcGxhdGU6IERCWF9DT05GSUdVUkVEX0RCWF9GSVJFQkFTRV9MT0dJTl9CVVRUT05fQ09NUE9ORU5UX0NPTkZJR1VSQVRJT04udGVtcGxhdGUsXG4gIGNoYW5nZURldGVjdGlvbjogREJYX0NPTkZJR1VSRURfREJYX0ZJUkVCQVNFX0xPR0lOX0JVVFRPTl9DT01QT05FTlRfQ09ORklHVVJBVElPTi5jaGFuZ2VEZXRlY3Rpb24sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VMb2dpblR3aXR0ZXJDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdENvbmZpZ3VyZWREYnhGaXJlYmFzZUxvZ2luQnV0dG9uRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgbG9naW5Qcm92aWRlciA9ICd0d2l0dGVyJztcblxuICBoYW5kbGVMb2dpbigpIHtcbiAgICByZXR1cm4gdGhpcy5kYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmxvZ0luV2l0aFR3aXR0ZXIoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Component, input } from '@angular/core';
|
|
2
|
-
import { DbxFirebaseLoginComponent } from './login.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Pre-configured register component that displays all configured login types and their registration components.
|
|
6
|
-
*/
|
|
7
|
-
export class DbxFirebaseRegisterComponent {
|
|
8
|
-
providerTypes = input();
|
|
9
|
-
omitProviderTypes = input();
|
|
10
|
-
providerCategories = input();
|
|
11
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseRegisterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxFirebaseRegisterComponent, isStandalone: true, selector: "dbx-firebase-register", inputs: { providerTypes: { classPropertyName: "providerTypes", publicName: "providerTypes", isSignal: true, isRequired: false, transformFunction: null }, omitProviderTypes: { classPropertyName: "omitProviderTypes", publicName: "omitProviderTypes", isSignal: true, isRequired: false, transformFunction: null }, providerCategories: { classPropertyName: "providerCategories", publicName: "providerCategories", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
13
|
-
<dbx-firebase-login loginMode="register" [providerTypes]="providerTypes()" [omitProviderTypes]="omitProviderTypes()" [providerCategories]="providerCategories()"></dbx-firebase-login>
|
|
14
|
-
`, isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginComponent, selector: "dbx-firebase-login", inputs: ["loginMode", "providerTypes", "omitProviderTypes", "providerCategories"] }] });
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseRegisterComponent, decorators: [{
|
|
17
|
-
type: Component,
|
|
18
|
-
args: [{
|
|
19
|
-
selector: 'dbx-firebase-register',
|
|
20
|
-
template: `
|
|
21
|
-
<dbx-firebase-login loginMode="register" [providerTypes]="providerTypes()" [omitProviderTypes]="omitProviderTypes()" [providerCategories]="providerCategories()"></dbx-firebase-login>
|
|
22
|
-
`,
|
|
23
|
-
imports: [DbxFirebaseLoginComponent],
|
|
24
|
-
standalone: true
|
|
25
|
-
}]
|
|
26
|
-
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9sb2dpbi9yZWdpc3Rlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRTlEOztHQUVHO0FBU0gsTUFBTSxPQUFPLDRCQUE0QjtJQUM5QixhQUFhLEdBQUcsS0FBSyxFQUFnRCxDQUFDO0lBQ3RFLGlCQUFpQixHQUFHLEtBQUssRUFBZ0QsQ0FBQztJQUMxRSxrQkFBa0IsR0FBRyxLQUFLLEVBQW9ELENBQUM7d0dBSDdFLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLHdpQkFON0I7O0dBRVQsNERBQ1MseUJBQXlCOzs0RkFHeEIsNEJBQTRCO2tCQVJ4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7R0FFVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDcEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlyZWJhc2VMb2dpbk1ldGhvZENhdGVnb3J5LCBGaXJlYmFzZUxvZ2luTWV0aG9kVHlwZSB9IGZyb20gJy4vbG9naW4nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXJyYXlPclZhbHVlLCB0eXBlIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUxvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9sb2dpbi5jb21wb25lbnQnO1xuXG4vKipcbiAqIFByZS1jb25maWd1cmVkIHJlZ2lzdGVyIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFsbCBjb25maWd1cmVkIGxvZ2luIHR5cGVzIGFuZCB0aGVpciByZWdpc3RyYXRpb24gY29tcG9uZW50cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZpcmViYXNlLXJlZ2lzdGVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGJ4LWZpcmViYXNlLWxvZ2luIGxvZ2luTW9kZT1cInJlZ2lzdGVyXCIgW3Byb3ZpZGVyVHlwZXNdPVwicHJvdmlkZXJUeXBlcygpXCIgW29taXRQcm92aWRlclR5cGVzXT1cIm9taXRQcm92aWRlclR5cGVzKClcIiBbcHJvdmlkZXJDYXRlZ29yaWVzXT1cInByb3ZpZGVyQ2F0ZWdvcmllcygpXCI+PC9kYngtZmlyZWJhc2UtbG9naW4+XG4gIGAsXG4gIGltcG9ydHM6IFtEYnhGaXJlYmFzZUxvZ2luQ29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZVJlZ2lzdGVyQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgcHJvdmlkZXJUeXBlcyA9IGlucHV0PE1heWJlPEFycmF5T3JWYWx1ZTxGaXJlYmFzZUxvZ2luTWV0aG9kVHlwZT4+PigpO1xuICByZWFkb25seSBvbWl0UHJvdmlkZXJUeXBlcyA9IGlucHV0PE1heWJlPEFycmF5T3JWYWx1ZTxGaXJlYmFzZUxvZ2luTWV0aG9kVHlwZT4+PigpO1xuICByZWFkb25seSBwcm92aWRlckNhdGVnb3JpZXMgPSBpbnB1dDxNYXliZTxBcnJheU9yVmFsdWU8RmlyZWJhc2VMb2dpbk1ldGhvZENhdGVnb3J5Pj4+KCk7XG59XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { AbstractConfiguredDbxFirebaseLoginButtonDirective, DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION } from './login.button.component';
|
|
3
|
-
import { DbxFirebaseLoginEmailContentComponent } from './login.email.content.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./login.button.component";
|
|
6
|
-
export class DbxFirebaseRegisterEmailComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
|
|
7
|
-
loginProvider = 'email';
|
|
8
|
-
handleLogin() {
|
|
9
|
-
return DbxFirebaseLoginEmailContentComponent.openEmailLoginContext(this.dbxFirebaseLoginContext, { loginMode: 'register', passwordConfig: this.dbxFirebaseAuthLoginService.getPasswordConfig() });
|
|
10
|
-
}
|
|
11
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseRegisterEmailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseRegisterEmailComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: i1.DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: i1.DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseRegisterEmailComponent, decorators: [{
|
|
15
|
-
type: Component,
|
|
16
|
-
args: [{
|
|
17
|
-
imports: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.imports,
|
|
18
|
-
template: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.template,
|
|
19
|
-
changeDetection: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.changeDetection,
|
|
20
|
-
standalone: true
|
|
21
|
-
}]
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuZW1haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9sb2dpbi9yZWdpc3Rlci5lbWFpbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaURBQWlELEVBQUUsZ0VBQWdFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvSixPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBUXhGLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxpREFBaUQ7SUFDN0YsYUFBYSxHQUFHLE9BQU8sQ0FBQztJQUVqQyxXQUFXO1FBQ1QsT0FBTyxxQ0FBcUMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcE0sQ0FBQzt3R0FMVSxpQ0FBaUM7NEZBQWpDLGlDQUFpQzs7NEZBQWpDLGlDQUFpQztrQkFON0MsU0FBUzttQkFBQztvQkFDVCxPQUFPLEVBQUUsZ0VBQWdFLENBQUMsT0FBTztvQkFDakYsUUFBUSxFQUFFLGdFQUFnRSxDQUFDLFFBQVE7b0JBQ25GLGVBQWUsRUFBRSxnRUFBZ0UsQ0FBQyxlQUFlO29CQUNqRyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29uZmlndXJlZERieEZpcmViYXNlTG9naW5CdXR0b25EaXJlY3RpdmUsIERCWF9DT05GSUdVUkVEX0RCWF9GSVJFQkFTRV9MT0dJTl9CVVRUT05fQ09NUE9ORU5UX0NPTkZJR1VSQVRJT04gfSBmcm9tICcuL2xvZ2luLmJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VMb2dpbkVtYWlsQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vbG9naW4uZW1haWwuY29udGVudC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogREJYX0NPTkZJR1VSRURfREJYX0ZJUkVCQVNFX0xPR0lOX0JVVFRPTl9DT01QT05FTlRfQ09ORklHVVJBVElPTi5pbXBvcnRzLFxuICB0ZW1wbGF0ZTogREJYX0NPTkZJR1VSRURfREJYX0ZJUkVCQVNFX0xPR0lOX0JVVFRPTl9DT01QT05FTlRfQ09ORklHVVJBVElPTi50ZW1wbGF0ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBEQlhfQ09ORklHVVJFRF9EQlhfRklSRUJBU0VfTE9HSU5fQlVUVE9OX0NPTVBPTkVOVF9DT05GSUdVUkFUSU9OLmNoYW5nZURldGVjdGlvbixcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZVJlZ2lzdGVyRW1haWxDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdENvbmZpZ3VyZWREYnhGaXJlYmFzZUxvZ2luQnV0dG9uRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgbG9naW5Qcm92aWRlciA9ICdlbWFpbCc7XG5cbiAgaGFuZGxlTG9naW4oKSB7XG4gICAgcmV0dXJuIERieEZpcmViYXNlTG9naW5FbWFpbENvbnRlbnRDb21wb25lbnQub3BlbkVtYWlsTG9naW5Db250ZXh0KHRoaXMuZGJ4RmlyZWJhc2VMb2dpbkNvbnRleHQsIHsgbG9naW5Nb2RlOiAncmVnaXN0ZXInLCBwYXNzd29yZENvbmZpZzogdGhpcy5kYnhGaXJlYmFzZUF1dGhMb2dpblNlcnZpY2UuZ2V0UGFzc3dvcmRDb25maWcoKSB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { asObservable } from '@dereekb/rxjs';
|
|
2
|
-
import { of, shareReplay, switchMap } from 'rxjs';
|
|
3
|
-
/**
|
|
4
|
-
* Creates a AuthUserStateObsFunction that derives a user state from the input firebase auth service, and the optional stateForLoggedInUser input
|
|
5
|
-
*
|
|
6
|
-
* @param stateForLoggedInUser Optional function that returns an observable for the user's state if they are logged in and not an anonymous user.
|
|
7
|
-
* @returns
|
|
8
|
-
*/
|
|
9
|
-
export function authUserStateFromFirebaseAuthServiceFunction(stateForLoggedInUser = () => of('user')) {
|
|
10
|
-
return (dbxFirebaseAuthService) => {
|
|
11
|
-
return dbxFirebaseAuthService.hasAuthUser$.pipe(switchMap((hasUser) => {
|
|
12
|
-
let obs;
|
|
13
|
-
if (hasUser) {
|
|
14
|
-
obs = dbxFirebaseAuthService.isAnonymousUser$.pipe(switchMap((isAnon) => (isAnon ? of('anon') : stateForLoggedInUser(dbxFirebaseAuthService))));
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
obs = of('none');
|
|
18
|
-
}
|
|
19
|
-
return obs;
|
|
20
|
-
}), shareReplay(1));
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
export function stateFromTokenForLoggedInUserFunction(stateFromToken, defaultState = 'user') {
|
|
24
|
-
return (dbxFirebaseAuthService) => {
|
|
25
|
-
return readValueFromIdToken(dbxFirebaseAuthService, stateFromToken, defaultState);
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Convenience function to read a value from an IdTokenResult off of the current user.
|
|
30
|
-
*
|
|
31
|
-
* @param dbxFirebaseAuthService
|
|
32
|
-
* @param readValueFromIdToken
|
|
33
|
-
* @param defaultValue
|
|
34
|
-
* @returns
|
|
35
|
-
*/
|
|
36
|
-
export function readValueFromIdToken(dbxFirebaseAuthService, readValueFromIdToken, defaultValue) {
|
|
37
|
-
return dbxFirebaseAuthService.currentAuthUserInfo$.pipe(switchMap((x) => {
|
|
38
|
-
if (x) {
|
|
39
|
-
return dbxFirebaseAuthService.idTokenResult$.pipe(switchMap((x) => asObservable(readValueFromIdToken(x))));
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
return of(defaultValue);
|
|
43
|
-
}
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXV0aC5yeGpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGgucnhqcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQW1CLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR25FOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLDRDQUE0QyxDQUFDLHVCQUFpRCxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQzVILE9BQU8sQ0FBQyxzQkFBOEMsRUFBRSxFQUFFO1FBQ3hELE9BQU8sc0JBQXNCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDN0MsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEIsSUFBSSxHQUE4QixDQUFDO1lBRW5DLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osR0FBRyxHQUFHLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25LLENBQUM7aUJBQU0sQ0FBQztnQkFDTixHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25CLENBQUM7WUFFRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUlELE1BQU0sVUFBVSxxQ0FBcUMsQ0FBQyxjQUFzQyxFQUFFLGVBQThCLE1BQU07SUFDaEksT0FBTyxDQUFDLHNCQUE4QyxFQUFFLEVBQUU7UUFDeEQsT0FBTyxvQkFBb0IsQ0FBZ0Isc0JBQXNCLEVBQUUsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ25HLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFJLHNCQUE4QyxFQUFFLG9CQUFzRSxFQUFFLFlBQWU7SUFDN0ssT0FBTyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQ3JELFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2QsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNOLE9BQU8sc0JBQXNCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQXV0aFVzZXJTdGF0ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IGFzT2JzZXJ2YWJsZSwgdHlwZSBPYnNlcnZhYmxlT3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgdHlwZSBJZFRva2VuUmVzdWx0IH0gZnJvbSAnZmlyZWJhc2UvYXV0aCc7XG5pbXBvcnQgeyB0eXBlIE9ic2VydmFibGUsIG9mLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0eXBlIEF1dGhVc2VyU3RhdGVPYnNGdW5jdGlvbiwgdHlwZSBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9maXJlYmFzZS5hdXRoLnNlcnZpY2UnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBBdXRoVXNlclN0YXRlT2JzRnVuY3Rpb24gdGhhdCBkZXJpdmVzIGEgdXNlciBzdGF0ZSBmcm9tIHRoZSBpbnB1dCBmaXJlYmFzZSBhdXRoIHNlcnZpY2UsIGFuZCB0aGUgb3B0aW9uYWwgc3RhdGVGb3JMb2dnZWRJblVzZXIgaW5wdXRcbiAqXG4gKiBAcGFyYW0gc3RhdGVGb3JMb2dnZWRJblVzZXIgT3B0aW9uYWwgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIG9ic2VydmFibGUgZm9yIHRoZSB1c2VyJ3Mgc3RhdGUgaWYgdGhleSBhcmUgbG9nZ2VkIGluIGFuZCBub3QgYW4gYW5vbnltb3VzIHVzZXIuXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gYXV0aFVzZXJTdGF0ZUZyb21GaXJlYmFzZUF1dGhTZXJ2aWNlRnVuY3Rpb24oc3RhdGVGb3JMb2dnZWRJblVzZXI6IEF1dGhVc2VyU3RhdGVPYnNGdW5jdGlvbiA9ICgpID0+IG9mKCd1c2VyJykpOiBBdXRoVXNlclN0YXRlT2JzRnVuY3Rpb24ge1xuICByZXR1cm4gKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpID0+IHtcbiAgICByZXR1cm4gZGJ4RmlyZWJhc2VBdXRoU2VydmljZS5oYXNBdXRoVXNlciQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoaGFzVXNlcikgPT4ge1xuICAgICAgICBsZXQgb2JzOiBPYnNlcnZhYmxlPEF1dGhVc2VyU3RhdGU+O1xuXG4gICAgICAgIGlmIChoYXNVc2VyKSB7XG4gICAgICAgICAgb2JzID0gZGJ4RmlyZWJhc2VBdXRoU2VydmljZS5pc0Fub255bW91c1VzZXIkLnBpcGUoc3dpdGNoTWFwKChpc0Fub24pID0+IChpc0Fub24gPyBvZignYW5vbicgYXMgQXV0aFVzZXJTdGF0ZSkgOiBzdGF0ZUZvckxvZ2dlZEluVXNlcihkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKSkpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYnMgPSBvZignbm9uZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9icztcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBTdGF0ZUZyb21Ub2tlbkZ1bmN0aW9uID0gKHRva2VuOiBJZFRva2VuUmVzdWx0KSA9PiBPYnNlcnZhYmxlT3JWYWx1ZTxBdXRoVXNlclN0YXRlPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlRnJvbVRva2VuRm9yTG9nZ2VkSW5Vc2VyRnVuY3Rpb24oc3RhdGVGcm9tVG9rZW46IFN0YXRlRnJvbVRva2VuRnVuY3Rpb24sIGRlZmF1bHRTdGF0ZTogQXV0aFVzZXJTdGF0ZSA9ICd1c2VyJyk6IEF1dGhVc2VyU3RhdGVPYnNGdW5jdGlvbiB7XG4gIHJldHVybiAoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSkgPT4ge1xuICAgIHJldHVybiByZWFkVmFsdWVGcm9tSWRUb2tlbjxBdXRoVXNlclN0YXRlPihkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLCBzdGF0ZUZyb21Ub2tlbiwgZGVmYXVsdFN0YXRlKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBDb252ZW5pZW5jZSBmdW5jdGlvbiB0byByZWFkIGEgdmFsdWUgZnJvbSBhbiBJZFRva2VuUmVzdWx0IG9mZiBvZiB0aGUgY3VycmVudCB1c2VyLlxuICpcbiAqIEBwYXJhbSBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlXG4gKiBAcGFyYW0gcmVhZFZhbHVlRnJvbUlkVG9rZW5cbiAqIEBwYXJhbSBkZWZhdWx0VmFsdWVcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkVmFsdWVGcm9tSWRUb2tlbjxUPihkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLCByZWFkVmFsdWVGcm9tSWRUb2tlbjogKGlkVG9rZW46IElkVG9rZW5SZXN1bHQpID0+IE9ic2VydmFibGVPclZhbHVlPFQ+LCBkZWZhdWx0VmFsdWU6IFQpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIGRieEZpcmViYXNlQXV0aFNlcnZpY2UuY3VycmVudEF1dGhVc2VySW5mbyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+IHtcbiAgICAgIGlmICh4KSB7XG4gICAgICAgIHJldHVybiBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmlkVG9rZW5SZXN1bHQkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiBhc09ic2VydmFibGUocmVhZFZhbHVlRnJvbUlkVG9rZW4oeCkpKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gb2YoZGVmYXVsdFZhbHVlKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xufVxuIl19
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { addToSetCopy, filterMaybeArrayValues } from '@dereekb/util';
|
|
2
|
-
import { map, switchMap } from 'rxjs';
|
|
3
|
-
import { authUserStateFromFirebaseAuthServiceFunction, stateFromTokenForLoggedInUserFunction } from './firebase.auth.rxjs';
|
|
4
|
-
import { DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE } from './firebase.auth.service';
|
|
5
|
-
export function authRolesObsWithClaimsService(config) {
|
|
6
|
-
const { addAuthUserStateToRoles: addAuthUserState, claimsService } = config;
|
|
7
|
-
return (dbxFirebaseAuthService) => {
|
|
8
|
-
let obs = dbxFirebaseAuthService.idTokenResult$.pipe(map((x) => claimsService.toRoles(x.claims)));
|
|
9
|
-
if (addAuthUserState) {
|
|
10
|
-
obs = obs.pipe(switchMap((authRoleSet) => dbxFirebaseAuthService.authUserState$.pipe(map((userState) => addToSetCopy(authRoleSet, [userState])))));
|
|
11
|
-
}
|
|
12
|
-
return obs;
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
export function defaultDbxFirebaseAuthServiceDelegateWithClaimsService(config) {
|
|
16
|
-
if (filterMaybeArrayValues([config.stateForLoggedInUser, config.stateForLoggedInUserToken, config.authUserStateObs]).length > 1) {
|
|
17
|
-
throw new Error('Cannot specify a combination of "stateForLoggedInUserToken", "stateForLoggedInUser" and "authUserStateObs". Must specify one at max.');
|
|
18
|
-
}
|
|
19
|
-
const authUserStateObs = config.authUserStateObs ?? authUserStateFromFirebaseAuthServiceFunction(config.stateForLoggedInUserToken ? stateFromTokenForLoggedInUserFunction(config.stateForLoggedInUserToken) : config.stateForLoggedInUser);
|
|
20
|
-
return {
|
|
21
|
-
authUserStateObs,
|
|
22
|
-
isAdminInAuthRoleSet: config.isAdminInAuthRoleSet ?? DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE.isAdminInAuthRoleSet,
|
|
23
|
-
authRolesObs: authRolesObsWithClaimsService(config),
|
|
24
|
-
isOnboarded: DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE.isOnboarded,
|
|
25
|
-
authRoleClaimsService: config.claimsService
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXV0aC5zZXJ2aWNlLmRlbGVnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGguc2VydmljZS5kZWxlZ2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUF3RixzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSixPQUFPLEVBQUUsR0FBRyxFQUFtQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLHFDQUFxQyxFQUErQixNQUFNLHNCQUFzQixDQUFDO0FBQ3hKLE9BQU8sRUFBbUcsMENBQTBDLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQXFCdEwsTUFBTSxVQUFVLDZCQUE2QixDQUE2QixNQUE4QztJQUN0SCxNQUFNLEVBQUUsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTVFLE9BQU8sQ0FBQyxzQkFBOEMsRUFBMkIsRUFBRTtRQUNqRixJQUFJLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuSCxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDckIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEssQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUlELE1BQU0sVUFBVSxzREFBc0QsQ0FBNkIsTUFBdUU7SUFDeEssSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMseUJBQXlCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDaEksTUFBTSxJQUFJLEtBQUssQ0FBQyxzSUFBc0ksQ0FBQyxDQUFDO0lBQzFKLENBQUM7SUFFRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSw0Q0FBNEMsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUUzTyxPQUFPO1FBQ0wsZ0JBQWdCO1FBQ2hCLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsSUFBSSwwQ0FBMEMsQ0FBQyxvQkFBb0I7UUFDcEgsWUFBWSxFQUFFLDZCQUE2QixDQUFDLE1BQU0sQ0FBQztRQUNuRCxXQUFXLEVBQUUsMENBQTBDLENBQUMsV0FBVztRQUNuRSxxQkFBcUIsRUFBRSxNQUFNLENBQUMsYUFBbUU7S0FDbEcsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRUb1NldENvcHksIHR5cGUgQXV0aENsYWltcywgdHlwZSBBdXRoQ2xhaW1zT2JqZWN0LCB0eXBlIEF1dGhSb2xlQ2xhaW1zU2VydmljZSwgdHlwZSBBdXRoUm9sZVNldCwgZmlsdGVyTWF5YmVBcnJheVZhbHVlcyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgbWFwLCB0eXBlIE9ic2VydmFibGUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYXV0aFVzZXJTdGF0ZUZyb21GaXJlYmFzZUF1dGhTZXJ2aWNlRnVuY3Rpb24sIHN0YXRlRnJvbVRva2VuRm9yTG9nZ2VkSW5Vc2VyRnVuY3Rpb24sIHR5cGUgU3RhdGVGcm9tVG9rZW5GdW5jdGlvbiB9IGZyb20gJy4vZmlyZWJhc2UuYXV0aC5yeGpzJztcbmltcG9ydCB7IHR5cGUgQXV0aFVzZXJTdGF0ZU9ic0Z1bmN0aW9uLCB0eXBlIERieEZpcmViYXNlQXV0aFNlcnZpY2UsIHR5cGUgRGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlLCBERUZBVUxUX0RCWF9GSVJFQkFTRV9BVVRIX1NFUlZJQ0VfREVMRUdBVEUgfSBmcm9tICcuL2ZpcmViYXNlLmF1dGguc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFJvbGVzT2JzV2l0aENsYWltc1NlcnZpY2VDb25maWc8VCBleHRlbmRzIEF1dGhDbGFpbXNPYmplY3Q+IGV4dGVuZHMgUGFydGlhbDxQaWNrPERieEZpcmViYXNlQXV0aFNlcnZpY2VEZWxlZ2F0ZSwgJ2lzQWRtaW5JbkF1dGhSb2xlU2V0JyB8ICdhdXRoVXNlclN0YXRlT2JzJz4+IHtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgYWx0ZXJuYXRpdmUgdG8gc3VwcGx5aW5nIGF1dGhVc2VyU3RhdGVPYnMuIElzIHBhc3NlZCB0byBhdXRoVXNlclN0YXRlRnJvbUZpcmViYXNlQXV0aFNlcnZpY2UuXG4gICAqL1xuICByZWFkb25seSBzdGF0ZUZvckxvZ2dlZEluVXNlcj86IEF1dGhVc2VyU3RhdGVPYnNGdW5jdGlvbjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgYWx0ZXJuYXRpdmUgdG8gc3VwcGx5aW5nIGF1dGhVc2VyU3RhdGVPYnMuXG4gICAqL1xuICByZWFkb25seSBzdGF0ZUZvckxvZ2dlZEluVXNlclRva2VuPzogU3RhdGVGcm9tVG9rZW5GdW5jdGlvbjtcbiAgLyoqXG4gICAqIENsYWltcyBzZXJ2aWNlIHRvIHVzZSBmb3IgZGVjb2RpbmcuXG4gICAqL1xuICByZWFkb25seSBjbGFpbXNTZXJ2aWNlOiBBdXRoUm9sZUNsYWltc1NlcnZpY2U8VD47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhbHNvIGFkZCB0aGUgY3VycmVudCBBdXRoVXNlclN0YXRlIHZhbHVlIHRvIGRlY29kZWQgcm9sZXMuXG4gICAqL1xuICByZWFkb25seSBhZGRBdXRoVXNlclN0YXRlVG9Sb2xlcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdXRoUm9sZXNPYnNXaXRoQ2xhaW1zU2VydmljZTxUIGV4dGVuZHMgQXV0aENsYWltc09iamVjdD4oY29uZmlnOiBBdXRoUm9sZXNPYnNXaXRoQ2xhaW1zU2VydmljZUNvbmZpZzxUPik6IChkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKSA9PiBPYnNlcnZhYmxlPEF1dGhSb2xlU2V0PiB7XG4gIGNvbnN0IHsgYWRkQXV0aFVzZXJTdGF0ZVRvUm9sZXM6IGFkZEF1dGhVc2VyU3RhdGUsIGNsYWltc1NlcnZpY2UgfSA9IGNvbmZpZztcblxuICByZXR1cm4gKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPEF1dGhSb2xlU2V0PiA9PiB7XG4gICAgbGV0IG9icyA9IGRieEZpcmViYXNlQXV0aFNlcnZpY2UuaWRUb2tlblJlc3VsdCQucGlwZShtYXAoKHgpID0+IGNsYWltc1NlcnZpY2UudG9Sb2xlcyh4LmNsYWltcyBhcyBBdXRoQ2xhaW1zPFQ+KSkpO1xuXG4gICAgaWYgKGFkZEF1dGhVc2VyU3RhdGUpIHtcbiAgICAgIG9icyA9IG9icy5waXBlKHN3aXRjaE1hcCgoYXV0aFJvbGVTZXQ6IEF1dGhSb2xlU2V0KSA9PiBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUobWFwKCh1c2VyU3RhdGUpID0+IGFkZFRvU2V0Q29weShhdXRoUm9sZVNldCwgW3VzZXJTdGF0ZV0pKSkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JzO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBEZWZhdWx0RGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlV2l0aENsYWltc1NlcnZpY2VDb25maWc8VCBleHRlbmRzIEF1dGhDbGFpbXNPYmplY3Q+ID0gQXV0aFJvbGVzT2JzV2l0aENsYWltc1NlcnZpY2VDb25maWc8VD47XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0RGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlV2l0aENsYWltc1NlcnZpY2U8VCBleHRlbmRzIEF1dGhDbGFpbXNPYmplY3Q+KGNvbmZpZzogRGVmYXVsdERieEZpcmViYXNlQXV0aFNlcnZpY2VEZWxlZ2F0ZVdpdGhDbGFpbXNTZXJ2aWNlQ29uZmlnPFQ+KTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlIHtcbiAgaWYgKGZpbHRlck1heWJlQXJyYXlWYWx1ZXMoW2NvbmZpZy5zdGF0ZUZvckxvZ2dlZEluVXNlciwgY29uZmlnLnN0YXRlRm9yTG9nZ2VkSW5Vc2VyVG9rZW4sIGNvbmZpZy5hdXRoVXNlclN0YXRlT2JzXSkubGVuZ3RoID4gMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHNwZWNpZnkgYSBjb21iaW5hdGlvbiBvZiBcInN0YXRlRm9yTG9nZ2VkSW5Vc2VyVG9rZW5cIiwgXCJzdGF0ZUZvckxvZ2dlZEluVXNlclwiIGFuZCBcImF1dGhVc2VyU3RhdGVPYnNcIi4gTXVzdCBzcGVjaWZ5IG9uZSBhdCBtYXguJyk7XG4gIH1cblxuICBjb25zdCBhdXRoVXNlclN0YXRlT2JzID0gY29uZmlnLmF1dGhVc2VyU3RhdGVPYnMgPz8gYXV0aFVzZXJTdGF0ZUZyb21GaXJlYmFzZUF1dGhTZXJ2aWNlRnVuY3Rpb24oY29uZmlnLnN0YXRlRm9yTG9nZ2VkSW5Vc2VyVG9rZW4gPyBzdGF0ZUZyb21Ub2tlbkZvckxvZ2dlZEluVXNlckZ1bmN0aW9uKGNvbmZpZy5zdGF0ZUZvckxvZ2dlZEluVXNlclRva2VuKSA6IGNvbmZpZy5zdGF0ZUZvckxvZ2dlZEluVXNlcik7XG5cbiAgcmV0dXJuIHtcbiAgICBhdXRoVXNlclN0YXRlT2JzLFxuICAgIGlzQWRtaW5JbkF1dGhSb2xlU2V0OiBjb25maWcuaXNBZG1pbkluQXV0aFJvbGVTZXQgPz8gREVGQVVMVF9EQlhfRklSRUJBU0VfQVVUSF9TRVJWSUNFX0RFTEVHQVRFLmlzQWRtaW5JbkF1dGhSb2xlU2V0LFxuICAgIGF1dGhSb2xlc09iczogYXV0aFJvbGVzT2JzV2l0aENsYWltc1NlcnZpY2UoY29uZmlnKSxcbiAgICBpc09uYm9hcmRlZDogREVGQVVMVF9EQlhfRklSRUJBU0VfQVVUSF9TRVJWSUNFX0RFTEVHQVRFLmlzT25ib2FyZGVkLFxuICAgIGF1dGhSb2xlQ2xhaW1zU2VydmljZTogY29uZmlnLmNsYWltc1NlcnZpY2UgYXMgdW5rbm93biBhcyBBdXRoUm9sZUNsYWltc1NlcnZpY2U8QXV0aENsYWltc09iamVjdD5cbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
import { filterMaybe, isNot, timeoutStartWith } from '@dereekb/rxjs';
|
|
2
|
-
import { Injectable, inject } from '@angular/core';
|
|
3
|
-
import { loggedOutObsFromIsLoggedIn, loggedInObsFromIsLoggedIn, authUserIdentifier } from '@dereekb/dbx-core';
|
|
4
|
-
import { reauthenticateWithPopup, Auth, authState, idToken, GoogleAuthProvider, signInWithPopup, signInAnonymously, signInWithEmailAndPassword, FacebookAuthProvider, GithubAuthProvider, TwitterAuthProvider, createUserWithEmailAndPassword } from '@angular/fire/auth';
|
|
5
|
-
import { of, distinctUntilChanged, shareReplay, map, switchMap, firstValueFrom, catchError, EMPTY } from 'rxjs';
|
|
6
|
-
import { AUTH_ADMIN_ROLE, cachedGetter } from '@dereekb/util';
|
|
7
|
-
import { authUserInfoFromAuthUser, firebaseAuthTokenFromUser } from '../auth';
|
|
8
|
-
import { sendPasswordResetEmail } from 'firebase/auth';
|
|
9
|
-
import { authUserStateFromFirebaseAuthServiceFunction } from './firebase.auth.rxjs';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
// MARK: Delegate
|
|
12
|
-
export class DbxFirebaseAuthServiceDelegate {
|
|
13
|
-
fullControlOfAuthUserState = false;
|
|
14
|
-
}
|
|
15
|
-
export const DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE = {
|
|
16
|
-
authUserStateObs: authUserStateFromFirebaseAuthServiceFunction(),
|
|
17
|
-
authRolesObs(dbxFirebaseAuthService) {
|
|
18
|
-
return dbxFirebaseAuthService.authUserState$.pipe(map((x) => (x === 'user' ? new Set(['user']) : new Set())));
|
|
19
|
-
},
|
|
20
|
-
isOnboarded(dbxFirebaseAuthService) {
|
|
21
|
-
return dbxFirebaseAuthService.authUserState$.pipe(map((x) => x === 'user'));
|
|
22
|
-
},
|
|
23
|
-
isAdminInAuthRoleSet(authRoleSet) {
|
|
24
|
-
return authRoleSet.has(AUTH_ADMIN_ROLE);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
// MARK: Service
|
|
28
|
-
export class DbxFirebaseAuthService {
|
|
29
|
-
firebaseAuth = inject(Auth);
|
|
30
|
-
delegate = inject(DbxFirebaseAuthServiceDelegate, { optional: true }) ?? DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE;
|
|
31
|
-
_authState$ = authState(this.firebaseAuth);
|
|
32
|
-
currentAuthUser$ = this._authState$.pipe(timeoutStartWith(null, 1000), distinctUntilChanged(), shareReplay(1));
|
|
33
|
-
currentAuthUserInfo$ = this.currentAuthUser$.pipe(map((x) => (x ? authUserInfoFromAuthUser(x) : undefined)));
|
|
34
|
-
authUser$ = this.currentAuthUser$.pipe(filterMaybe());
|
|
35
|
-
authUserInfo$ = this.authUser$.pipe(map(authUserInfoFromAuthUser));
|
|
36
|
-
hasAuthUser$ = this.currentAuthUser$.pipe(map((x) => Boolean(x)), distinctUntilChanged(), shareReplay(1));
|
|
37
|
-
isAnonymousUser$ = this.authUser$.pipe(map((x) => x.isAnonymous), distinctUntilChanged(), shareReplay(1));
|
|
38
|
-
isNotAnonymousUser$ = this.isAnonymousUser$.pipe(isNot(), distinctUntilChanged(), shareReplay(1));
|
|
39
|
-
isLoggedIn$ = this.hasAuthUser$;
|
|
40
|
-
isNotLoggedIn$ = this.isLoggedIn$.pipe(isNot());
|
|
41
|
-
onLogIn$ = loggedInObsFromIsLoggedIn(this.isLoggedIn$);
|
|
42
|
-
onLogOut$ = loggedOutObsFromIsLoggedIn(this.isLoggedIn$);
|
|
43
|
-
currentUid$ = this.currentAuthUser$.pipe(map((x) => x?.uid), distinctUntilChanged(), shareReplay(1));
|
|
44
|
-
uid$ = this.currentUid$.pipe(map(authUserIdentifier), distinctUntilChanged(), shareReplay(1));
|
|
45
|
-
/**
|
|
46
|
-
* Alias for uid$
|
|
47
|
-
*/
|
|
48
|
-
userIdentifier$ = this.uid$;
|
|
49
|
-
currentIdTokenString$ = idToken(this.firebaseAuth).pipe(distinctUntilChanged(), shareReplay(1));
|
|
50
|
-
idTokenString$ = this.currentUid$.pipe(switchMap((x) => (x ? this.currentIdTokenString$.pipe(filterMaybe()) : EMPTY)));
|
|
51
|
-
currentIdTokenResult$ = this.currentAuthUser$.pipe(switchMap((x) => (x ? this.currentIdTokenString$.pipe(switchMap((y) => (y ? x.getIdTokenResult() : of(null)))) : of(null))), distinctUntilChanged(), shareReplay(1));
|
|
52
|
-
idTokenResult$ = this.currentIdTokenResult$.pipe(filterMaybe());
|
|
53
|
-
currentClaims$ = this.currentIdTokenResult$.pipe(map((x) => (x ? x.claims : null)), distinctUntilChanged(), shareReplay(1));
|
|
54
|
-
claims$ = this.currentClaims$.pipe(filterMaybe());
|
|
55
|
-
currentAuthContextInfo$ = this.currentAuthUser$.pipe(switchMap((x) => this.loadAuthContextInfoForUser(x)), shareReplay(1));
|
|
56
|
-
authContextInfo$ = this.currentAuthContextInfo$.pipe(filterMaybe());
|
|
57
|
-
authUserState$ = (() => {
|
|
58
|
-
const delegateAuthUserStateObs = this.delegate.authUserStateObs(this).pipe(catchError(() => of('error')), distinctUntilChanged(), shareReplay(1));
|
|
59
|
-
let obs;
|
|
60
|
-
if (this.delegate.fullControlOfAuthUserState) {
|
|
61
|
-
obs = delegateAuthUserStateObs;
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
obs = this._authState$.pipe(distinctUntilChanged(), switchMap((x) => {
|
|
65
|
-
if (x != null) {
|
|
66
|
-
return delegateAuthUserStateObs;
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
return of('none');
|
|
70
|
-
}
|
|
71
|
-
}));
|
|
72
|
-
}
|
|
73
|
-
return obs;
|
|
74
|
-
})();
|
|
75
|
-
authRoles$ = this.delegate.authRolesObs(this);
|
|
76
|
-
isOnboarded$ = this.delegate.isOnboarded(this);
|
|
77
|
-
_authRoleClaimsService = this.delegate.authRoleClaimsService;
|
|
78
|
-
isAdminInAuthRoleSet = this.delegate.isAdminInAuthRoleSet;
|
|
79
|
-
async refreshToken() {
|
|
80
|
-
const user = this.firebaseAuth.currentUser;
|
|
81
|
-
if (!user) {
|
|
82
|
-
throw new Error('no user to refresh the token for.');
|
|
83
|
-
}
|
|
84
|
-
return user.getIdTokenResult(true);
|
|
85
|
-
}
|
|
86
|
-
rolesForClaims(claims) {
|
|
87
|
-
let result;
|
|
88
|
-
if (this._authRoleClaimsService) {
|
|
89
|
-
return this._authRoleClaimsService.toRoles(claims);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
console.warn('DbxFirebaseAuthService: rolesForClaims called with no authRoleClaimsService provided. An empty set is returned.');
|
|
93
|
-
result = new Set();
|
|
94
|
-
}
|
|
95
|
-
return result;
|
|
96
|
-
}
|
|
97
|
-
getAuthContextInfo() {
|
|
98
|
-
return firstValueFrom(this.authUser$).then((user) => this.loadAuthContextInfoForUser(user));
|
|
99
|
-
}
|
|
100
|
-
async loadAuthContextInfoForUser(user) {
|
|
101
|
-
let result;
|
|
102
|
-
if (user) {
|
|
103
|
-
const jwtToken = await user.getIdTokenResult();
|
|
104
|
-
result = dbxFirebaseAuthContextInfo(this, user, jwtToken);
|
|
105
|
-
}
|
|
106
|
-
return result;
|
|
107
|
-
}
|
|
108
|
-
logInWithGoogle() {
|
|
109
|
-
return this.logInWithPopup(new GoogleAuthProvider());
|
|
110
|
-
}
|
|
111
|
-
logInWithFacebook() {
|
|
112
|
-
return this.logInWithPopup(new FacebookAuthProvider());
|
|
113
|
-
}
|
|
114
|
-
logInWithTwitter() {
|
|
115
|
-
return this.logInWithPopup(new TwitterAuthProvider());
|
|
116
|
-
}
|
|
117
|
-
logInWithGithub() {
|
|
118
|
-
return this.logInWithPopup(new GithubAuthProvider());
|
|
119
|
-
}
|
|
120
|
-
logInWithApple() {
|
|
121
|
-
throw new Error('todo');
|
|
122
|
-
}
|
|
123
|
-
logInWithMicrosoft() {
|
|
124
|
-
// return this.logInWithPopup(new MicrosoftAuthProvider());
|
|
125
|
-
throw new Error('todo');
|
|
126
|
-
}
|
|
127
|
-
logInWithPhone() {
|
|
128
|
-
throw new Error('todo');
|
|
129
|
-
// return signInWithPhoneNumber(this.firebaseAuth, )
|
|
130
|
-
}
|
|
131
|
-
logInWithPopup(provider, resolver) {
|
|
132
|
-
return signInWithPopup(this.firebaseAuth, provider, resolver);
|
|
133
|
-
}
|
|
134
|
-
registerWithEmailAndPassword(email, password) {
|
|
135
|
-
return createUserWithEmailAndPassword(this.firebaseAuth, email, password);
|
|
136
|
-
}
|
|
137
|
-
sendPasswordResetEmail(email) {
|
|
138
|
-
return sendPasswordResetEmail(this.firebaseAuth, email);
|
|
139
|
-
}
|
|
140
|
-
logInWithEmailAndPassword(email, password) {
|
|
141
|
-
return signInWithEmailAndPassword(this.firebaseAuth, email, password);
|
|
142
|
-
}
|
|
143
|
-
logInAsAnonymous() {
|
|
144
|
-
return signInAnonymously(this.firebaseAuth);
|
|
145
|
-
}
|
|
146
|
-
logOut() {
|
|
147
|
-
return this.firebaseAuth.signOut();
|
|
148
|
-
}
|
|
149
|
-
reauthenticateWithPopup(provider, resolver) {
|
|
150
|
-
return firstValueFrom(this.currentAuthUser$.pipe(switchMap((x) => {
|
|
151
|
-
if (x) {
|
|
152
|
-
return reauthenticateWithPopup(x, provider, resolver);
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
throw new Error('User is not logged in currently.');
|
|
156
|
-
}
|
|
157
|
-
})));
|
|
158
|
-
}
|
|
159
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseAuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
160
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseAuthService });
|
|
161
|
-
}
|
|
162
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseAuthService, decorators: [{
|
|
163
|
-
type: Injectable
|
|
164
|
-
}] });
|
|
165
|
-
/**
|
|
166
|
-
* Creates a new DbxFirebaseAuthContextInfo instance.
|
|
167
|
-
*
|
|
168
|
-
* @param service
|
|
169
|
-
* @param user
|
|
170
|
-
* @param jwtToken
|
|
171
|
-
* @returns
|
|
172
|
-
*/
|
|
173
|
-
export function dbxFirebaseAuthContextInfo(service, user, jwtToken) {
|
|
174
|
-
function getClaims() {
|
|
175
|
-
return jwtToken.claims;
|
|
176
|
-
}
|
|
177
|
-
const { uid } = user;
|
|
178
|
-
const token = firebaseAuthTokenFromUser(user);
|
|
179
|
-
const getAuthRoles = cachedGetter(() => service.rolesForClaims(getClaims()));
|
|
180
|
-
const isAdmin = cachedGetter(() => service.isAdminInAuthRoleSet(getAuthRoles()));
|
|
181
|
-
const result = {
|
|
182
|
-
service,
|
|
183
|
-
user,
|
|
184
|
-
jwtToken,
|
|
185
|
-
uid,
|
|
186
|
-
isAdmin,
|
|
187
|
-
getClaims,
|
|
188
|
-
getAuthRoles,
|
|
189
|
-
token
|
|
190
|
-
};
|
|
191
|
-
return result;
|
|
192
|
-
}
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWlDLDBCQUEwQixFQUFFLHlCQUF5QixFQUFzQixrQkFBa0IsRUFBd0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN2TCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQW9DLGtCQUFrQixFQUFFLGVBQWUsRUFBdUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQWtCLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLDhCQUE4QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDalcsT0FBTyxFQUFFLEVBQUUsRUFBYyxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1SCxPQUFPLEVBQW9FLGVBQWUsRUFBRSxZQUFZLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUksT0FBTyxFQUFnQix3QkFBd0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM1RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBUXBGLGlCQUFpQjtBQUNqQixNQUFNLE9BQWdCLDhCQUE4QjtJQUN6Qyww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QUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXJNYXliZSwgaXNOb3QsIHRpbWVvdXRTdGFydFdpdGggfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFVzZXJTdGF0ZSwgRGJ4QXV0aFNlcnZpY2UsIGxvZ2dlZE91dE9ic0Zyb21Jc0xvZ2dlZEluLCBsb2dnZWRJbk9ic0Zyb21Jc0xvZ2dlZEluLCBBdXRoVXNlcklkZW50aWZpZXIsIGF1dGhVc2VySWRlbnRpZmllciwgTm9BdXRoVXNlcklkZW50aWZpZXIgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyByZWF1dGhlbnRpY2F0ZVdpdGhQb3B1cCwgQXV0aCwgYXV0aFN0YXRlLCBpZFRva2VuLCBVc2VyLCBJZFRva2VuUmVzdWx0LCBQYXJzZWRUb2tlbiwgR29vZ2xlQXV0aFByb3ZpZGVyLCBzaWduSW5XaXRoUG9wdXAsIEF1dGhQcm92aWRlciwgUG9wdXBSZWRpcmVjdFJlc29sdmVyLCBzaWduSW5Bbm9ueW1vdXNseSwgc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQsIFVzZXJDcmVkZW50aWFsLCBGYWNlYm9va0F1dGhQcm92aWRlciwgR2l0aHViQXV0aFByb3ZpZGVyLCBUd2l0dGVyQXV0aFByb3ZpZGVyLCBjcmVhdGVVc2VyV2l0aEVtYWlsQW5kUGFzc3dvcmQgfSBmcm9tICdAYW5ndWxhci9maXJlL2F1dGgnO1xuaW1wb3J0IHsgb2YsIE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzaGFyZVJlcGxheSwgbWFwLCBzd2l0Y2hNYXAsIGZpcnN0VmFsdWVGcm9tLCBjYXRjaEVycm9yLCBFTVBUWSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aENsYWltcywgQXV0aENsYWltc09iamVjdCwgQXV0aFJvbGVDbGFpbXNTZXJ2aWNlLCBBdXRoUm9sZVNldCwgQVVUSF9BRE1JTl9ST0xFLCBjYWNoZWRHZXR0ZXIsIHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEF1dGhVc2VySW5mbywgYXV0aFVzZXJJbmZvRnJvbUF1dGhVc2VyLCBmaXJlYmFzZUF1dGhUb2tlbkZyb21Vc2VyIH0gZnJvbSAnLi4vYXV0aCc7XG5pbXBvcnQgeyBzZW5kUGFzc3dvcmRSZXNldEVtYWlsIH0gZnJvbSAnZmlyZWJhc2UvYXV0aCc7XG5pbXBvcnQgeyBhdXRoVXNlclN0YXRlRnJvbUZpcmViYXNlQXV0aFNlcnZpY2VGdW5jdGlvbiB9IGZyb20gJy4vZmlyZWJhc2UuYXV0aC5yeGpzJztcbmltcG9ydCB7IEZpcmViYXNlQXV0aENvbnRleHRJbmZvIH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuXG4vKipcbiAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IHJldHVybnMgdGhlIHN0YXRlIG9mIHRoZVxuICovXG5leHBvcnQgdHlwZSBBdXRoVXNlclN0YXRlT2JzRnVuY3Rpb24gPSAoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSkgPT4gT2JzZXJ2YWJsZTxBdXRoVXNlclN0YXRlPjtcblxuLy8gTUFSSzogRGVsZWdhdGVcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGUge1xuICByZWFkb25seSBmdWxsQ29udHJvbE9mQXV0aFVzZXJTdGF0ZT86IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWJzdHJhY3QgYXV0aFVzZXJTdGF0ZU9iczogQXV0aFVzZXJTdGF0ZU9ic0Z1bmN0aW9uO1xuICBhYnN0cmFjdCBhdXRoUm9sZXNPYnMoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8QXV0aFJvbGVTZXQ+O1xuICBhYnN0cmFjdCBpc09uYm9hcmRlZChkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBpbnB1dCByb2xlcyBpbXBseSB0aGUgYWRtaW4gcHJpdmlsZWRnZXMuXG4gICAqL1xuICBhYnN0cmFjdCBpc0FkbWluSW5BdXRoUm9sZVNldChhdXRoUm9sZVNldDogQXV0aFJvbGVTZXQpOiBib29sZWFuO1xuICBhYnN0cmFjdCBhdXRoUm9sZUNsYWltc1NlcnZpY2U/OiBNYXliZTxBdXRoUm9sZUNsYWltc1NlcnZpY2U8QXV0aENsYWltc09iamVjdD4+O1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9EQlhfRklSRUJBU0VfQVVUSF9TRVJWSUNFX0RFTEVHQVRFOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGUgPSB7XG4gIGF1dGhVc2VyU3RhdGVPYnM6IGF1dGhVc2VyU3RhdGVGcm9tRmlyZWJhc2VBdXRoU2VydmljZUZ1bmN0aW9uKCksXG4gIGF1dGhSb2xlc09icyhkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoUm9sZVNldD4ge1xuICAgIHJldHVybiBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUobWFwKCh4KSA9PiAoeCA9PT0gJ3VzZXInID8gbmV3IFNldChbJ3VzZXInXSkgOiBuZXcgU2V0KCkpKSk7XG4gIH0sXG4gIGlzT25ib2FyZGVkKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gZGJ4RmlyZWJhc2VBdXRoU2VydmljZS5hdXRoVXNlclN0YXRlJC5waXBlKG1hcCgoeCkgPT4geCA9PT0gJ3VzZXInKSk7XG4gIH0sXG4gIGlzQWRtaW5JbkF1dGhSb2xlU2V0KGF1dGhSb2xlU2V0OiBBdXRoUm9sZVNldCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhdXRoUm9sZVNldC5oYXMoQVVUSF9BRE1JTl9ST0xFKTtcbiAgfVxufTtcblxuLy8gTUFSSzogU2VydmljZVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlQXV0aFNlcnZpY2UgaW1wbGVtZW50cyBEYnhBdXRoU2VydmljZSB7XG4gIHJlYWRvbmx5IGZpcmViYXNlQXV0aCA9IGluamVjdChBdXRoKTtcbiAgcmVhZG9ubHkgZGVsZWdhdGUgPSBpbmplY3QoRGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/IERFRkFVTFRfREJYX0ZJUkVCQVNFX0FVVEhfU0VSVklDRV9ERUxFR0FURTtcblxuICByZWFkb25seSBfYXV0aFN0YXRlJDogT2JzZXJ2YWJsZTxNYXliZTxVc2VyPj4gPSBhdXRoU3RhdGUodGhpcy5maXJlYmFzZUF1dGgpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRBdXRoVXNlciQ6IE9ic2VydmFibGU8TWF5YmU8VXNlcj4+ID0gdGhpcy5fYXV0aFN0YXRlJC5waXBlKHRpbWVvdXRTdGFydFdpdGgobnVsbCBhcyBNYXliZTxVc2VyPiwgMTAwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgcmVhZG9ubHkgY3VycmVudEF1dGhVc2VySW5mbyQ6IE9ic2VydmFibGU8TWF5YmU8QXV0aFVzZXJJbmZvPj4gPSB0aGlzLmN1cnJlbnRBdXRoVXNlciQucGlwZShtYXAoKHgpID0+ICh4ID8gYXV0aFVzZXJJbmZvRnJvbUF1dGhVc2VyKHgpIDogdW5kZWZpbmVkKSkpO1xuXG4gIHJlYWRvbmx5IGF1dGhVc2VyJDogT2JzZXJ2YWJsZTxVc2VyPiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKGZpbHRlck1heWJlKCkpO1xuICByZWFkb25seSBhdXRoVXNlckluZm8kOiBPYnNlcnZhYmxlPEF1dGhVc2VySW5mbz4gPSB0aGlzLmF1dGhVc2VyJC5waXBlKG1hcChhdXRoVXNlckluZm9Gcm9tQXV0aFVzZXIpKTtcblxuICByZWFkb25seSBoYXNBdXRoVXNlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmN1cnJlbnRBdXRoVXNlciQucGlwZShcbiAgICBtYXAoKHgpID0+IEJvb2xlYW4oeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpc0Fub255bW91c1VzZXIkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hdXRoVXNlciQucGlwZShcbiAgICBtYXAoKHgpID0+IHguaXNBbm9ueW1vdXMpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbiAgcmVhZG9ubHkgaXNOb3RBbm9ueW1vdXNVc2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaXNBbm9ueW1vdXNVc2VyJC5waXBlKGlzTm90KCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBpc0xvZ2dlZEluJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaGFzQXV0aFVzZXIkO1xuICByZWFkb25seSBpc05vdExvZ2dlZEluJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaXNMb2dnZWRJbiQucGlwZShpc05vdCgpKTtcbiAgcmVhZG9ubHkgb25Mb2dJbiQ6IE9ic2VydmFibGU8dm9pZD4gPSBsb2dnZWRJbk9ic0Zyb21Jc0xvZ2dlZEluKHRoaXMuaXNMb2dnZWRJbiQpO1xuICByZWFkb25seSBvbkxvZ091dCQ6IE9ic2VydmFibGU8dm9pZD4gPSBsb2dnZWRPdXRPYnNGcm9tSXNMb2dnZWRJbih0aGlzLmlzTG9nZ2VkSW4kKTtcblxuICByZWFkb25seSBjdXJyZW50VWlkJDogT2JzZXJ2YWJsZTxNYXliZTxBdXRoVXNlcklkZW50aWZpZXI+PiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geD8udWlkKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgdWlkJDogT2JzZXJ2YWJsZTxBdXRoVXNlcklkZW50aWZpZXIgfCBOb0F1dGhVc2VySWRlbnRpZmllcj4gPSB0aGlzLmN1cnJlbnRVaWQkLnBpcGUobWFwKGF1dGhVc2VySWRlbnRpZmllciksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgLyoqXG4gICAqIEFsaWFzIGZvciB1aWQkXG4gICAqL1xuICByZWFkb25seSB1c2VySWRlbnRpZmllciQ6IE9ic2VydmFibGU8QXV0aFVzZXJJZGVudGlmaWVyIHwgTm9BdXRoVXNlcklkZW50aWZpZXI+ID0gdGhpcy51aWQkO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRJZFRva2VuU3RyaW5nJDogT2JzZXJ2YWJsZTxNYXliZTxzdHJpbmc+PiA9IGlkVG9rZW4odGhpcy5maXJlYmFzZUF1dGgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBpZFRva2VuU3RyaW5nJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5jdXJyZW50VWlkJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4gKHggPyB0aGlzLmN1cnJlbnRJZFRva2VuU3RyaW5nJC5waXBlKGZpbHRlck1heWJlKCkpIDogRU1QVFkpKSk7XG5cbiAgcmVhZG9ubHkgY3VycmVudElkVG9rZW5SZXN1bHQkOiBPYnNlcnZhYmxlPE1heWJlPElkVG9rZW5SZXN1bHQ+PiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoeCkgPT4gKHggPyB0aGlzLmN1cnJlbnRJZFRva2VuU3RyaW5nJC5waXBlKHN3aXRjaE1hcCgoeSkgPT4gKHkgPyB4LmdldElkVG9rZW5SZXN1bHQoKSA6IG9mKG51bGwpKSkpIDogb2YobnVsbCkpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IGlkVG9rZW5SZXN1bHQkOiBPYnNlcnZhYmxlPElkVG9rZW5SZXN1bHQ+ID0gdGhpcy5jdXJyZW50SWRUb2tlblJlc3VsdCQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSBjdXJyZW50Q2xhaW1zJDogT2JzZXJ2YWJsZTxNYXliZTxQYXJzZWRUb2tlbj4+ID0gdGhpcy5jdXJyZW50SWRUb2tlblJlc3VsdCQucGlwZShcbiAgICBtYXAoKHgpID0+ICh4ID8geC5jbGFpbXMgOiBudWxsKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICByZWFkb25seSBjbGFpbXMkOiBPYnNlcnZhYmxlPFBhcnNlZFRva2VuPiA9IHRoaXMuY3VycmVudENsYWltcyQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSBjdXJyZW50QXV0aENvbnRleHRJbmZvJDogT2JzZXJ2YWJsZTxNYXliZTxEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbz4+ID0gdGhpcy5jdXJyZW50QXV0aFVzZXIkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh4KSA9PiB0aGlzLmxvYWRBdXRoQ29udGV4dEluZm9Gb3JVc2VyKHgpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICByZWFkb25seSBhdXRoQ29udGV4dEluZm8kOiBPYnNlcnZhYmxlPE1heWJlPERieEZpcmViYXNlQXV0aENvbnRleHRJbmZvPj4gPSB0aGlzLmN1cnJlbnRBdXRoQ29udGV4dEluZm8kLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG5cbiAgcmVhZG9ubHkgYXV0aFVzZXJTdGF0ZSQ6IE9ic2VydmFibGU8QXV0aFVzZXJTdGF0ZT4gPSAoKCkgPT4ge1xuICAgIGNvbnN0IGRlbGVnYXRlQXV0aFVzZXJTdGF0ZU9iczogT2JzZXJ2YWJsZTxBdXRoVXNlclN0YXRlPiA9IHRoaXMuZGVsZWdhdGUuYXV0aFVzZXJTdGF0ZU9icyh0aGlzKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZignZXJyb3InIGFzIEF1dGhVc2VyU3RhdGUpKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG5cbiAgICBsZXQgb2JzOiBPYnNlcnZhYmxlPEF1dGhVc2VyU3RhdGU+O1xuXG4gICAgaWYgKHRoaXMuZGVsZWdhdGUuZnVsbENvbnRyb2xPZkF1dGhVc2VyU3RhdGUpIHtcbiAgICAgIG9icyA9IGRlbGVnYXRlQXV0aFVzZXJTdGF0ZU9icztcbiAgICB9IGVsc2Uge1xuICAgICAgb2JzID0gdGhpcy5fYXV0aFN0YXRlJC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzd2l0Y2hNYXAoKHgpID0+IHtcbiAgICAgICAgICBpZiAoeCAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZGVsZWdhdGVBdXRoVXNlclN0YXRlT2JzO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoJ25vbmUnIGFzIEF1dGhVc2VyU3RhdGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9icztcbiAgfSkoKTtcblxuICByZWFkb25seSBhdXRoUm9sZXMkOiBPYnNlcnZhYmxlPEF1dGhSb2xlU2V0PiA9IHRoaXMuZGVsZWdhdGUuYXV0aFJvbGVzT2JzKHRoaXMpO1xuICByZWFkb25seSBpc09uYm9hcmRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmRlbGVnYXRlLmlzT25ib2FyZGVkKHRoaXMpO1xuXG4gIHByaXZhdGUgX2F1dGhSb2xlQ2xhaW1zU2VydmljZT86IE1heWJlPEF1dGhSb2xlQ2xhaW1zU2VydmljZTxBdXRoQ2xhaW1zT2JqZWN0Pj4gPSB0aGlzLmRlbGVnYXRlLmF1dGhSb2xlQ2xhaW1zU2VydmljZTtcbiAgcmVhZG9ubHkgaXNBZG1pbkluQXV0aFJvbGVTZXQ6IChhdXRoUm9sZVNldDogQXV0aFJvbGVTZXQpID0+IGJvb2xlYW4gPSB0aGlzLmRlbGVnYXRlLmlzQWRtaW5JbkF1dGhSb2xlU2V0O1xuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPElkVG9rZW5SZXN1bHQ+IHtcbiAgICBjb25zdCB1c2VyID0gdGhpcy5maXJlYmFzZUF1dGguY3VycmVudFVzZXI7XG5cbiAgICBpZiAoIXVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbm8gdXNlciB0byByZWZyZXNoIHRoZSB0b2tlbiBmb3IuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVzZXIuZ2V0SWRUb2tlblJlc3VsdCh0cnVlKTtcbiAgfVxuXG4gIHJvbGVzRm9yQ2xhaW1zPFQgZXh0ZW5kcyBBdXRoQ2xhaW1zT2JqZWN0ID0gQXV0aENsYWltc09iamVjdD4oY2xhaW1zOiBBdXRoQ2xhaW1zPFQ+KTogQXV0aFJvbGVTZXQge1xuICAgIGxldCByZXN1bHQ6IEF1dGhSb2xlU2V0O1xuXG4gICAgaWYgKHRoaXMuX2F1dGhSb2xlQ2xhaW1zU2VydmljZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2F1dGhSb2xlQ2xhaW1zU2VydmljZS50b1JvbGVzKGNsYWltcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignRGJ4RmlyZWJhc2VBdXRoU2VydmljZTogcm9sZXNGb3JDbGFpbXMgY2FsbGVkIHdpdGggbm8gYXV0aFJvbGVDbGFpbXNTZXJ2aWNlIHByb3ZpZGVkLiBBbiBlbXB0eSBzZXQgaXMgcmV0dXJuZWQuJyk7XG4gICAgICByZXN1bHQgPSBuZXcgU2V0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldEF1dGhDb250ZXh0SW5mbygpOiBQcm9taXNlPE1heWJlPERieEZpcmViYXNlQXV0aENvbnRleHRJbmZvPj4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmF1dGhVc2VyJCkudGhlbigodXNlcikgPT4gdGhpcy5sb2FkQXV0aENvbnRleHRJbmZvRm9yVXNlcih1c2VyKSk7XG4gIH1cblxuICBhc3luYyBsb2FkQXV0aENvbnRleHRJbmZvRm9yVXNlcih1c2VyOiBNYXliZTxVc2VyPik6IFByb21pc2U8TWF5YmU8RGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8+PiB7XG4gICAgbGV0IHJlc3VsdDogTWF5YmU8RGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8+O1xuXG4gICAgaWYgKHVzZXIpIHtcbiAgICAgIGNvbnN0IGp3dFRva2VuOiBJZFRva2VuUmVzdWx0ID0gYXdhaXQgdXNlci5nZXRJZFRva2VuUmVzdWx0KCk7XG4gICAgICByZXN1bHQgPSBkYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyh0aGlzLCB1c2VyLCBqd3RUb2tlbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGxvZ0luV2l0aEdvb2dsZSgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IEdvb2dsZUF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEZhY2Vib29rKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgRmFjZWJvb2tBdXRoUHJvdmlkZXIoKSk7XG4gIH1cblxuICBsb2dJbldpdGhUd2l0dGVyKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgVHdpdHRlckF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEdpdGh1YigpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IEdpdGh1YkF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEFwcGxlKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgfVxuXG4gIGxvZ0luV2l0aE1pY3Jvc29mdCgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgLy8gcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IE1pY3Jvc29mdEF1dGhQcm92aWRlcigpKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgfVxuXG4gIGxvZ0luV2l0aFBob25lKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgICAvLyByZXR1cm4gc2lnbkluV2l0aFBob25lTnVtYmVyKHRoaXMuZmlyZWJhc2VBdXRoLCApXG4gIH1cblxuICBsb2dJbldpdGhQb3B1cChwcm92aWRlcjogQXV0aFByb3ZpZGVyLCByZXNvbHZlcj86IFBvcHVwUmVkaXJlY3RSZXNvbHZlcik6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gc2lnbkluV2l0aFBvcHVwKHRoaXMuZmlyZWJhc2VBdXRoLCBwcm92aWRlciwgcmVzb2x2ZXIpO1xuICB9XG5cbiAgcmVnaXN0ZXJXaXRoRW1haWxBbmRQYXNzd29yZChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBjcmVhdGVVc2VyV2l0aEVtYWlsQW5kUGFzc3dvcmQodGhpcy5maXJlYmFzZUF1dGgsIGVtYWlsLCBwYXNzd29yZCk7XG4gIH1cblxuICBzZW5kUGFzc3dvcmRSZXNldEVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCh0aGlzLmZpcmViYXNlQXV0aCwgZW1haWwpO1xuICB9XG5cbiAgbG9nSW5XaXRoRW1haWxBbmRQYXNzd29yZChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBzaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZCh0aGlzLmZpcmViYXNlQXV0aCwgZW1haWwsIHBhc3N3b3JkKTtcbiAgfVxuXG4gIGxvZ0luQXNBbm9ueW1vdXMoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBzaWduSW5Bbm9ueW1vdXNseSh0aGlzLmZpcmViYXNlQXV0aCk7XG4gIH1cblxuICBsb2dPdXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZmlyZWJhc2VBdXRoLnNpZ25PdXQoKTtcbiAgfVxuXG4gIHJlYXV0aGVudGljYXRlV2l0aFBvcHVwKHByb3ZpZGVyOiBBdXRoUHJvdmlkZXIsIHJlc29sdmVyPzogUG9wdXBSZWRpcmVjdFJlc29sdmVyKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHg6IE1heWJlPFVzZXI+KSA9PiB7XG4gICAgICAgICAgaWYgKHgpIHtcbiAgICAgICAgICAgIHJldHVybiByZWF1dGhlbnRpY2F0ZVdpdGhQb3B1cCh4LCBwcm92aWRlciwgcmVzb2x2ZXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VzZXIgaXMgbm90IGxvZ2dlZCBpbiBjdXJyZW50bHkuJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyBpbXBsZW1lbnRhdGlvbiBmcm9tIERieEZpcmViYXNlQXV0aFNlcnZpY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8gZXh0ZW5kcyBGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyB7XG4gIHJlYWRvbmx5IHNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2U7XG4gIHJlYWRvbmx5IHVzZXI6IFVzZXI7XG4gIHJlYWRvbmx5IGp3dFRva2VuOiBJZFRva2VuUmVzdWx0O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgRGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8gaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIHNlcnZpY2VcbiAqIEBwYXJhbSB1c2VyXG4gKiBAcGFyYW0gand0VG9rZW5cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyhzZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLCB1c2VyOiBVc2VyLCBqd3RUb2tlbjogSWRUb2tlblJlc3VsdCk6IERieEZpcmViYXNlQXV0aENvbnRleHRJbmZvIHtcbiAgZnVuY3Rpb24gZ2V0Q2xhaW1zPFQgZXh0ZW5kcyBBdXRoQ2xhaW1zT2JqZWN0ID0gQXV0aENsYWltc09iamVjdD4oKTogQXV0aENsYWltczxUPiB7XG4gICAgcmV0dXJuIGp3dFRva2VuLmNsYWltcyBhcyBBdXRoQ2xhaW1zPFQ+O1xuICB9XG5cbiAgY29uc3QgeyB1aWQgfSA9IHVzZXI7XG4gIGNvbnN0IHRva2VuID0gZmlyZWJhc2VBdXRoVG9rZW5Gcm9tVXNlcih1c2VyKTtcbiAgY29uc3QgZ2V0QXV0aFJvbGVzID0gY2FjaGVkR2V0dGVyKCgpID0+IHNlcnZpY2Uucm9sZXNGb3JDbGFpbXMoZ2V0Q2xhaW1zKCkpKTtcbiAgY29uc3QgaXNBZG1pbiA9IGNhY2hlZEdldHRlcigoKSA9PiBzZXJ2aWNlLmlzQWRtaW5JbkF1dGhSb2xlU2V0KGdldEF1dGhSb2xlcygpKSk7XG5cbiAgY29uc3QgcmVzdWx0OiBEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyA9IHtcbiAgICBzZXJ2aWNlLFxuICAgIHVzZXIsXG4gICAgand0VG9rZW4sXG5cbiAgICB1aWQsXG5cbiAgICBpc0FkbWluLFxuICAgIGdldENsYWltcyxcbiAgICBnZXRBdXRoUm9sZXMsXG5cbiAgICB0b2tlblxuICB9O1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './firebase.auth.rxjs';
|
|
2
|
-
export * from './firebase.auth.service';
|
|
3
|
-
export * from './firebase.auth.service.delegate';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9hdXRoL3NlcnZpY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlLmF1dGgucnhqcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlLmF1dGguc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlLmF1dGguc2VydmljZS5kZWxlZ2F0ZSc7XG4iXX0=
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { HostListener, Directive, inject } from '@angular/core';
|
|
2
|
-
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
3
|
-
import { DbxPopupService } from '@dereekb/dbx-web';
|
|
4
|
-
import { DbxFirebaseDevelopmentPopupComponent } from './development.popup.component';
|
|
5
|
-
import { DbxFirebaseDevelopmentService } from './development.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* Directive for showing the development tools snackbar when the app opens up and listening for keybindings for opening the popup.
|
|
9
|
-
*/
|
|
10
|
-
export class DbxFirebaseDevelopmentDirective {
|
|
11
|
-
popupService = inject(DbxPopupService);
|
|
12
|
-
matSnackBar = inject(MatSnackBar);
|
|
13
|
-
dbxFirebaseDevelopmentService = inject(DbxFirebaseDevelopmentService);
|
|
14
|
-
ref;
|
|
15
|
-
get enabled() {
|
|
16
|
-
return this.dbxFirebaseDevelopmentService.enabled;
|
|
17
|
-
}
|
|
18
|
-
handleKeyboardEvent(event) {
|
|
19
|
-
if (this.enabled && event.shiftKey && event.altKey && event.code === 'KeyD') {
|
|
20
|
-
this.togglePopup();
|
|
21
|
-
event.preventDefault();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
togglePopup() {
|
|
25
|
-
if (this.ref) {
|
|
26
|
-
this.closePopup();
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
this.openPopup();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
openPopup() {
|
|
33
|
-
if (!this.ref) {
|
|
34
|
-
const ref = DbxFirebaseDevelopmentPopupComponent.openPopup(this.popupService);
|
|
35
|
-
ref.afterClosed$.subscribe(() => {
|
|
36
|
-
if (this.ref === ref) {
|
|
37
|
-
this.ref = undefined;
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
this.ref = ref;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
closePopup() {
|
|
44
|
-
if (this.ref != null) {
|
|
45
|
-
this.ref.close();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
ngAfterViewInit() {
|
|
49
|
-
if (this.enabled) {
|
|
50
|
-
this.matSnackBar
|
|
51
|
-
.open('Dev Tools: alt/option + shift + D', 'Open', {
|
|
52
|
-
horizontalPosition: 'center',
|
|
53
|
-
verticalPosition: 'bottom',
|
|
54
|
-
duration: 8 * 1000
|
|
55
|
-
})
|
|
56
|
-
.onAction()
|
|
57
|
-
.subscribe(() => {
|
|
58
|
-
this.openPopup();
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
ngOnDestroy() {
|
|
63
|
-
this.closePopup();
|
|
64
|
-
}
|
|
65
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDevelopmentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
66
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDevelopmentDirective, isStandalone: true, selector: "[dbxFirebaseDevelopment]", host: { listeners: { "window:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0 });
|
|
67
|
-
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDevelopmentDirective, decorators: [{
|
|
69
|
-
type: Directive,
|
|
70
|
-
args: [{
|
|
71
|
-
selector: '[dbxFirebaseDevelopment]',
|
|
72
|
-
standalone: true
|
|
73
|
-
}]
|
|
74
|
-
}], propDecorators: { handleKeyboardEvent: [{
|
|
75
|
-
type: HostListener,
|
|
76
|
-
args: ['window:keydown', ['$event']]
|
|
77
|
-
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZGV2ZWxvcG1lbnQvZGV2ZWxvcG1lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxZQUFZLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFdEU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sK0JBQStCO0lBQ2pDLFlBQVksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdkMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyw2QkFBNkIsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUUvRSxHQUFHLENBQTBCO0lBRTdCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQztJQUNwRCxDQUFDO0lBR0QsbUJBQW1CLENBQUMsS0FBb0I7UUFDdEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzVFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE1BQU0sR0FBRyxHQUFHLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUM5QixJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDO2dCQUN2QixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsV0FBVztpQkFDYixJQUFJLENBQUMsbUNBQW1DLEVBQUUsTUFBTSxFQUFFO2dCQUNqRCxrQkFBa0IsRUFBRSxRQUFRO2dCQUM1QixnQkFBZ0IsRUFBRSxRQUFRO2dCQUMxQixRQUFRLEVBQUUsQ0FBQyxHQUFHLElBQUk7YUFDbkIsQ0FBQztpQkFDRCxRQUFRLEVBQUU7aUJBQ1YsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQzt3R0EvRFUsK0JBQStCOzRGQUEvQiwrQkFBK0I7OzRGQUEvQiwrQkFBK0I7a0JBSjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQWFDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgSG9zdExpc3RlbmVyLCBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgRGJ4UG9wdXBTZXJ2aWNlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBOZ1BvcG92ZXJSZWYgfSBmcm9tICduZy1vdmVybGF5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURldmVsb3BtZW50UG9wdXBDb21wb25lbnQgfSBmcm9tICcuL2RldmVsb3BtZW50LnBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURldmVsb3BtZW50U2VydmljZSB9IGZyb20gJy4vZGV2ZWxvcG1lbnQuc2VydmljZSc7XG5cbi8qKlxuICogRGlyZWN0aXZlIGZvciBzaG93aW5nIHRoZSBkZXZlbG9wbWVudCB0b29scyBzbmFja2JhciB3aGVuIHRoZSBhcHAgb3BlbnMgdXAgYW5kIGxpc3RlbmluZyBmb3Iga2V5YmluZGluZ3MgZm9yIG9wZW5pbmcgdGhlIHBvcHVwLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4RmlyZWJhc2VEZXZlbG9wbWVudF0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGV2ZWxvcG1lbnREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICByZWFkb25seSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoRGJ4UG9wdXBTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgbWF0U25hY2tCYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xuICByZWFkb25seSBkYnhGaXJlYmFzZURldmVsb3BtZW50U2VydmljZSA9IGluamVjdChEYnhGaXJlYmFzZURldmVsb3BtZW50U2VydmljZSk7XG5cbiAgcmVmPzogTmdQb3BvdmVyUmVmPGFueSwgYW55PjtcblxuICBnZXQgZW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYnhGaXJlYmFzZURldmVsb3BtZW50U2VydmljZS5lbmFibGVkO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24nLCBbJyRldmVudCddKVxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZW5hYmxlZCAmJiBldmVudC5zaGlmdEtleSAmJiBldmVudC5hbHRLZXkgJiYgZXZlbnQuY29kZSA9PT0gJ0tleUQnKSB7XG4gICAgICB0aGlzLnRvZ2dsZVBvcHVwKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVBvcHVwKCkge1xuICAgIGlmICh0aGlzLnJlZikge1xuICAgICAgdGhpcy5jbG9zZVBvcHVwKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlblBvcHVwKCk7XG4gICAgfVxuICB9XG5cbiAgb3BlblBvcHVwKCkge1xuICAgIGlmICghdGhpcy5yZWYpIHtcbiAgICAgIGNvbnN0IHJlZiA9IERieEZpcmViYXNlRGV2ZWxvcG1lbnRQb3B1cENvbXBvbmVudC5vcGVuUG9wdXAodGhpcy5wb3B1cFNlcnZpY2UpO1xuICAgICAgcmVmLmFmdGVyQ2xvc2VkJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5yZWYgPT09IHJlZikge1xuICAgICAgICAgIHRoaXMucmVmID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZWYgPSByZWY7XG4gICAgfVxuICB9XG5cbiAgY2xvc2VQb3B1cCgpIHtcbiAgICBpZiAodGhpcy5yZWYgIT0gbnVsbCkge1xuICAgICAgdGhpcy5yZWYuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZW5hYmxlZCkge1xuICAgICAgdGhpcy5tYXRTbmFja0JhclxuICAgICAgICAub3BlbignRGV2IFRvb2xzOiBhbHQvb3B0aW9uICsgc2hpZnQgKyBEJywgJ09wZW4nLCB7XG4gICAgICAgICAgaG9yaXpvbnRhbFBvc2l0aW9uOiAnY2VudGVyJyxcbiAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiAnYm90dG9tJyxcbiAgICAgICAgICBkdXJhdGlvbjogOCAqIDEwMDBcbiAgICAgICAgfSlcbiAgICAgICAgLm9uQWN0aW9uKClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZVBvcHVwKCk7XG4gIH1cbn1cbiJdfQ==
|