@rangs/auth0-lib 0.0.17 → 0.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/rangs-auth0-lib.mjs +42 -36
- package/fesm2022/rangs-auth0-lib.mjs.map +1 -1
- package/index.d.ts +15 -14
- package/package.json +1 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, computed, Injectable, effect,
|
|
2
|
+
import { signal, computed, Injectable, effect, Component, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@auth0/auth0-angular';
|
|
4
4
|
import { AuthModule as AuthModule$1 } from '@auth0/auth0-angular';
|
|
5
5
|
import { BehaviorSubject, firstValueFrom } from 'rxjs';
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
6
|
|
|
8
7
|
class CredentialingService {
|
|
9
8
|
store = new Map();
|
|
@@ -124,6 +123,10 @@ class RoleContextService {
|
|
|
124
123
|
const raw = localStorage.getItem(this.STORAGE_KEY);
|
|
125
124
|
return raw ? JSON.parse(raw) : null;
|
|
126
125
|
}
|
|
126
|
+
// Internal store for Cloud Front URL
|
|
127
|
+
applyCloudUrl(ctx) {
|
|
128
|
+
this.cloudFrontUrlSignal.set(ctx);
|
|
129
|
+
}
|
|
127
130
|
// Load Cloud Front URL
|
|
128
131
|
getCloudFrontUrl() {
|
|
129
132
|
const raw = localStorage.getItem(this.STORAGE_KEY);
|
|
@@ -225,24 +228,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
|
|
|
225
228
|
}]
|
|
226
229
|
}], ctorParameters: () => [{ type: i1.AuthService }] });
|
|
227
230
|
|
|
228
|
-
class AuthModule {
|
|
229
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
230
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, imports: [AuthModule$1,
|
|
231
|
-
TermsConditionsComponent] });
|
|
232
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, providers: [RoleContextService, TokenService], imports: [AuthModule$1,
|
|
233
|
-
TermsConditionsComponent] });
|
|
234
|
-
}
|
|
235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, decorators: [{
|
|
236
|
-
type: NgModule,
|
|
237
|
-
args: [{
|
|
238
|
-
imports: [
|
|
239
|
-
AuthModule$1,
|
|
240
|
-
TermsConditionsComponent,
|
|
241
|
-
],
|
|
242
|
-
providers: [RoleContextService, TokenService]
|
|
243
|
-
}]
|
|
244
|
-
}] });
|
|
245
|
-
|
|
246
231
|
class LegalService {
|
|
247
232
|
_config = signal({
|
|
248
233
|
companyName: 'Inspection Depot, Inc',
|
|
@@ -268,44 +253,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
|
|
|
268
253
|
args: [{ providedIn: 'root' }]
|
|
269
254
|
}] });
|
|
270
255
|
|
|
271
|
-
class
|
|
256
|
+
class TermsConditionsComponent {
|
|
272
257
|
legal;
|
|
273
|
-
website = computed(() => this.config().websiteUrl, ...(ngDevMode ? [{ debugName: "website" }] : []));
|
|
274
|
-
privacyEmail = computed(() => this.config().privacyEmail, ...(ngDevMode ? [{ debugName: "privacyEmail" }] : []));
|
|
275
258
|
constructor(legal) {
|
|
276
259
|
this.legal = legal;
|
|
277
260
|
}
|
|
278
261
|
get config() {
|
|
279
262
|
return this.legal.config;
|
|
280
263
|
}
|
|
281
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type:
|
|
282
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type:
|
|
264
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TermsConditionsComponent, deps: [{ token: LegalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
265
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: TermsConditionsComponent, isStandalone: false, selector: "app-terms-conditions", ngImport: i0, template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Terms of Use</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().termsLastUpdated }}\r\n </p>\r\n\r\n <h2>Acceptance of Terms</h2>\r\n <p>\r\n By accessing {{ config().websiteUrl }},\r\n you agree to be bound by these Terms of Use\r\n provided by {{ config().companyName }}.\r\n </p>\r\n\r\n <h2>Eligibility</h2>\r\n <p>\r\n This Website is available only to users 18 years or older\r\n residing in the United States.\r\n </p>\r\n\r\n <h2>Intellectual Property</h2>\r\n <p>\r\n All content is owned by {{ config().companyName }}\r\n and protected by intellectual property laws.\r\n </p>\r\n\r\n <h2>Limitation of Liability</h2>\r\n <p>\r\n {{ config().companyName }} shall not be liable for damages\r\n arising from the use of this Website.\r\n </p>\r\n\r\n <h2>Governing Law</h2>\r\n <p>\r\n These terms are governed by the laws of the State of Florida.\r\n </p>\r\n\r\n <h2>Contact</h2>\r\n <p>\r\n Questions may be sent to\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </p>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"] });
|
|
283
266
|
}
|
|
284
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type:
|
|
267
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TermsConditionsComponent, decorators: [{
|
|
285
268
|
type: Component,
|
|
286
|
-
args: [{
|
|
287
|
-
CommonModule
|
|
288
|
-
], standalone: true, selector: 'app-privacy-policy', template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Privacy Policy</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().privacyLastUpdated }}\r\n </p>\r\n\r\n <h2>Introduction</h2>\r\n <p>\r\n {{ config().companyName }}, a {{ config().companyType }},\r\n respects your privacy and is committed to protecting it.\r\n This policy explains how we collect, use, and safeguard information\r\n when you visit\r\n <a [href]=\"website()\" target=\"_blank\">{{ website() }}</a>.\r\n </p>\r\n\r\n <h2>Children Under the Age of 16</h2>\r\n <p>\r\n Our Website is not intended for children under 16 years of age.\r\n We do not knowingly collect personal information from children.\r\n If you believe we have collected such information, contact us at\r\n <a [href]=\"'mailto:' + privacyEmail()\">\r\n {{ privacyEmail() }}\r\n </a>.\r\n </p>\r\n\r\n <h2>Information We Collect</h2>\r\n <ul>\r\n <li>Personal identifiers (name, email, phone)</li>\r\n <li>Internet and device information</li>\r\n <li>Usage and interaction data</li>\r\n </ul>\r\n\r\n <h2>How We Use Information</h2>\r\n <ul>\r\n <li>To operate and maintain services</li>\r\n <li>To communicate with users</li>\r\n <li>To improve performance and security</li>\r\n <li>To comply with legal obligations</li>\r\n </ul>\r\n\r\n <h2>Disclosure of Information</h2>\r\n <p>\r\n We may share information with service providers, affiliates,\r\n or when required by law.\r\n </p>\r\n\r\n <h2>Data Security</h2>\r\n <p>\r\n While we implement reasonable safeguards, no system is 100% secure.\r\n </p>\r\n\r\n <h2>Contact Information</h2>\r\n <address>\r\n {{ config().companyName }}<br />\r\n {{ config().address }}<br />\r\n {{ config().country }}<br />\r\n Email:\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </address>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"] }]
|
|
269
|
+
args: [{ standalone: false, selector: 'app-terms-conditions', template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Terms of Use</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().termsLastUpdated }}\r\n </p>\r\n\r\n <h2>Acceptance of Terms</h2>\r\n <p>\r\n By accessing {{ config().websiteUrl }},\r\n you agree to be bound by these Terms of Use\r\n provided by {{ config().companyName }}.\r\n </p>\r\n\r\n <h2>Eligibility</h2>\r\n <p>\r\n This Website is available only to users 18 years or older\r\n residing in the United States.\r\n </p>\r\n\r\n <h2>Intellectual Property</h2>\r\n <p>\r\n All content is owned by {{ config().companyName }}\r\n and protected by intellectual property laws.\r\n </p>\r\n\r\n <h2>Limitation of Liability</h2>\r\n <p>\r\n {{ config().companyName }} shall not be liable for damages\r\n arising from the use of this Website.\r\n </p>\r\n\r\n <h2>Governing Law</h2>\r\n <p>\r\n These terms are governed by the laws of the State of Florida.\r\n </p>\r\n\r\n <h2>Contact</h2>\r\n <p>\r\n Questions may be sent to\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </p>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"] }]
|
|
289
270
|
}], ctorParameters: () => [{ type: LegalService }] });
|
|
290
271
|
|
|
291
|
-
class
|
|
272
|
+
class PrivacyPolicyComponent {
|
|
292
273
|
legal;
|
|
274
|
+
website = computed(() => this.config().websiteUrl, ...(ngDevMode ? [{ debugName: "website" }] : []));
|
|
275
|
+
privacyEmail = computed(() => this.config().privacyEmail, ...(ngDevMode ? [{ debugName: "privacyEmail" }] : []));
|
|
293
276
|
constructor(legal) {
|
|
294
277
|
this.legal = legal;
|
|
295
278
|
}
|
|
296
279
|
get config() {
|
|
297
280
|
return this.legal.config;
|
|
298
281
|
}
|
|
299
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type:
|
|
300
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type:
|
|
282
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: PrivacyPolicyComponent, deps: [{ token: LegalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
283
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: PrivacyPolicyComponent, isStandalone: false, selector: "app-privacy-policy", ngImport: i0, template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Privacy Policy</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().privacyLastUpdated }}\r\n </p>\r\n\r\n <h2>Introduction</h2>\r\n <p>\r\n {{ config().companyName }}, a {{ config().companyType }},\r\n respects your privacy and is committed to protecting it.\r\n This policy explains how we collect, use, and safeguard information\r\n when you visit\r\n <a [href]=\"website()\" target=\"_blank\">{{ website() }}</a>.\r\n </p>\r\n\r\n <h2>Children Under the Age of 16</h2>\r\n <p>\r\n Our Website is not intended for children under 16 years of age.\r\n We do not knowingly collect personal information from children.\r\n If you believe we have collected such information, contact us at\r\n <a [href]=\"'mailto:' + privacyEmail()\">\r\n {{ privacyEmail() }}\r\n </a>.\r\n </p>\r\n\r\n <h2>Information We Collect</h2>\r\n <ul>\r\n <li>Personal identifiers (name, email, phone)</li>\r\n <li>Internet and device information</li>\r\n <li>Usage and interaction data</li>\r\n </ul>\r\n\r\n <h2>How We Use Information</h2>\r\n <ul>\r\n <li>To operate and maintain services</li>\r\n <li>To communicate with users</li>\r\n <li>To improve performance and security</li>\r\n <li>To comply with legal obligations</li>\r\n </ul>\r\n\r\n <h2>Disclosure of Information</h2>\r\n <p>\r\n We may share information with service providers, affiliates,\r\n or when required by law.\r\n </p>\r\n\r\n <h2>Data Security</h2>\r\n <p>\r\n While we implement reasonable safeguards, no system is 100% secure.\r\n </p>\r\n\r\n <h2>Contact Information</h2>\r\n <address>\r\n {{ config().companyName }}<br />\r\n {{ config().address }}<br />\r\n {{ config().country }}<br />\r\n Email:\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </address>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"] });
|
|
301
284
|
}
|
|
302
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type:
|
|
285
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: PrivacyPolicyComponent, decorators: [{
|
|
303
286
|
type: Component,
|
|
304
|
-
args: [{
|
|
305
|
-
CommonModule
|
|
306
|
-
], standalone: true, selector: 'app-terms-conditions', template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Terms of Use</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().termsLastUpdated }}\r\n </p>\r\n\r\n <h2>Acceptance of Terms</h2>\r\n <p>\r\n By accessing {{ config().websiteUrl }},\r\n you agree to be bound by these Terms of Use\r\n provided by {{ config().companyName }}.\r\n </p>\r\n\r\n <h2>Eligibility</h2>\r\n <p>\r\n This Website is available only to users 18 years or older\r\n residing in the United States.\r\n </p>\r\n\r\n <h2>Intellectual Property</h2>\r\n <p>\r\n All content is owned by {{ config().companyName }}\r\n and protected by intellectual property laws.\r\n </p>\r\n\r\n <h2>Limitation of Liability</h2>\r\n <p>\r\n {{ config().companyName }} shall not be liable for damages\r\n arising from the use of this Website.\r\n </p>\r\n\r\n <h2>Governing Law</h2>\r\n <p>\r\n These terms are governed by the laws of the State of Florida.\r\n </p>\r\n\r\n <h2>Contact</h2>\r\n <p>\r\n Questions may be sent to\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </p>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"] }]
|
|
287
|
+
args: [{ standalone: false, selector: 'app-privacy-policy', template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Privacy Policy</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().privacyLastUpdated }}\r\n </p>\r\n\r\n <h2>Introduction</h2>\r\n <p>\r\n {{ config().companyName }}, a {{ config().companyType }},\r\n respects your privacy and is committed to protecting it.\r\n This policy explains how we collect, use, and safeguard information\r\n when you visit\r\n <a [href]=\"website()\" target=\"_blank\">{{ website() }}</a>.\r\n </p>\r\n\r\n <h2>Children Under the Age of 16</h2>\r\n <p>\r\n Our Website is not intended for children under 16 years of age.\r\n We do not knowingly collect personal information from children.\r\n If you believe we have collected such information, contact us at\r\n <a [href]=\"'mailto:' + privacyEmail()\">\r\n {{ privacyEmail() }}\r\n </a>.\r\n </p>\r\n\r\n <h2>Information We Collect</h2>\r\n <ul>\r\n <li>Personal identifiers (name, email, phone)</li>\r\n <li>Internet and device information</li>\r\n <li>Usage and interaction data</li>\r\n </ul>\r\n\r\n <h2>How We Use Information</h2>\r\n <ul>\r\n <li>To operate and maintain services</li>\r\n <li>To communicate with users</li>\r\n <li>To improve performance and security</li>\r\n <li>To comply with legal obligations</li>\r\n </ul>\r\n\r\n <h2>Disclosure of Information</h2>\r\n <p>\r\n We may share information with service providers, affiliates,\r\n or when required by law.\r\n </p>\r\n\r\n <h2>Data Security</h2>\r\n <p>\r\n While we implement reasonable safeguards, no system is 100% secure.\r\n </p>\r\n\r\n <h2>Contact Information</h2>\r\n <address>\r\n {{ config().companyName }}<br />\r\n {{ config().address }}<br />\r\n {{ config().country }}<br />\r\n Email:\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </address>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"] }]
|
|
307
288
|
}], ctorParameters: () => [{ type: LegalService }] });
|
|
308
289
|
|
|
290
|
+
class AuthModule {
|
|
291
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
292
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, declarations: [TermsConditionsComponent,
|
|
293
|
+
PrivacyPolicyComponent], imports: [AuthModule$1], exports: [TermsConditionsComponent,
|
|
294
|
+
PrivacyPolicyComponent] });
|
|
295
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, providers: [RoleContextService, TokenService, LegalService], imports: [AuthModule$1] });
|
|
296
|
+
}
|
|
297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, decorators: [{
|
|
298
|
+
type: NgModule,
|
|
299
|
+
args: [{
|
|
300
|
+
declarations: [
|
|
301
|
+
TermsConditionsComponent,
|
|
302
|
+
PrivacyPolicyComponent
|
|
303
|
+
],
|
|
304
|
+
imports: [
|
|
305
|
+
AuthModule$1
|
|
306
|
+
],
|
|
307
|
+
exports: [
|
|
308
|
+
TermsConditionsComponent,
|
|
309
|
+
PrivacyPolicyComponent
|
|
310
|
+
],
|
|
311
|
+
providers: [RoleContextService, TokenService, LegalService]
|
|
312
|
+
}]
|
|
313
|
+
}] });
|
|
314
|
+
|
|
309
315
|
/**
|
|
310
316
|
* Generated bundle index. Do not edit.
|
|
311
317
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rangs-auth0-lib.mjs","sources":["../../../projects/auth0-lib/src/lib/services/credentialing.service.ts","../../../projects/auth0-lib/src/lib/services/role-context.service.ts","../../../projects/auth0-lib/src/lib/services/token.service.ts","../../../projects/auth0-lib/src/lib/auth.module.ts","../../../projects/auth0-lib/src/lib/src/legal.service.ts","../../../projects/auth0-lib/src/lib/src/privacy-policy/privacy-policy.component.ts","../../../projects/auth0-lib/src/lib/src/privacy-policy/privacy-policy.component.html","../../../projects/auth0-lib/src/lib/src/terms-conditions/terms-conditions.component.ts","../../../projects/auth0-lib/src/lib/src/terms-conditions/terms-conditions.component.html","../../../projects/auth0-lib/src/rangs-auth0-lib.ts"],"sourcesContent":["import { computed, Injectable, Signal, signal } from '@angular/core';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CredentialingService {\r\n\r\n\r\n private store = new Map<string, ReturnType<typeof signal<any>>>();\r\n\r\n /** Get signal for a key (auto-create if missing) */\r\n get<T>(key: string): Signal<T | null> {\r\n if (!this.store.has(key)) {\r\n this.store.set(key, signal<T | null>(null));\r\n }\r\n return computed(() => this.store.get(key)!());\r\n }\r\n\r\n /** Set value for a key */\r\n set<T>(key: string, value: T): void {\r\n if (!this.store.has(key)) {\r\n this.store.set(key, signal<T | null>(value));\r\n } else {\r\n this.store.get(key)!.set(value);\r\n }\r\n }\r\n\r\n /** Optional: clear single key */\r\n clear(key: string): void {\r\n this.store.delete(key);\r\n }\r\n\r\n /** Optional: clear everything */\r\n clearAll(): void {\r\n this.store.clear();\r\n }\r\n\r\n}\r\n","import { Injectable, signal, computed, effect } from '@angular/core';\r\nimport { RoleContextModel } from './role-context.model';\r\n//import { NgxPermissionsService } from 'ngx-permissions';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { TempUserModel } from './temp-user.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RoleContextService {\r\n\r\n private readonly STORAGE_KEY = 'im-role-context';\r\n private readonly bc = new BroadcastChannel('im-role-context-channel');\r\n\r\n // Store role context in signal (without permissions)\r\n private contextSignal = signal<RoleContextModel | null>(this.getStoredContext());\r\n context = this.contextSignal;\r\n\r\n // Store role context in signal (without permissions)\r\n private tempUserContextSignal = signal<TempUserModel | null>(null);\r\n tempUserContext = this.tempUserContextSignal;\r\n\r\n /** For opening side Nav after tenant/role switch */\r\n private sidNav = new BehaviorSubject<RoleContextModel | null>(null);\r\n readonly sidNav$ = this.sidNav.asObservable();\r\n\r\n // Store role context in signal (without permissions)\r\n private cloudFrontUrlSignal = signal<string | null>(this.getCloudFrontUrl());\r\n cloudFrontUrl = this.cloudFrontUrlSignal;\r\n\r\n constructor(\r\n // private permissionsService: NgxPermissionsService\r\n ) {\r\n\r\n /** Sync from BroadcastChannel */\r\n this.bc.onmessage = (ev) => {\r\n if (!this.isSameContext(ev.data)) {\r\n this.showCustomPopup();\r\n }\r\n };\r\n\r\n /** Sync from LocalStorage events (multi-tab) */\r\n window.addEventListener('storage', (ev) => {\r\n if (ev.key === this.STORAGE_KEY) {\r\n const newCtx = ev.newValue ? JSON.parse(ev.newValue) : null;\r\n if (!this.isSameContext(newCtx)) {\r\n this.showCustomPopup();\r\n }\r\n }\r\n });\r\n\r\n // 🔥 IMPORTANT: Load permissions in memory — DO NOT save them\r\n effect(() => {\r\n const ctx = this.contextSignal();\r\n });\r\n }\r\n\r\n isSameContext(newCtx: RoleContextModel | null): boolean {\r\n const current = this.contextSignal();\r\n return !!current && !!newCtx && current.roleName === newCtx.roleName && current.tenantId === newCtx.tenantId;\r\n }\r\n\r\n private showCustomPopup() {\r\n const modal = document.getElementById('roleChangeModal')!;\r\n modal.style.display = 'flex';\r\n\r\n const okBtn = document.getElementById('roleChangeOkBtn')!;\r\n okBtn.onclick = () => {\r\n window.location.href = window.location.origin;\r\n };\r\n }\r\n\r\n // Set role context WITHOUT saving permissions to storage\r\n setContext(ctx: RoleContextModel | null) {\r\n // Clone without permissions\r\n const saveCtx = ctx ? { ...ctx, permissions: undefined } : null;\r\n this.applyContext(saveCtx, true);\r\n\r\n // Notify subscribers\r\n this.sidNav.next(ctx);\r\n\r\n }\r\n\r\n clearContext() {\r\n this.applyContext(null, true);\r\n }\r\n\r\n clearTempUserContext() {\r\n this.applyTempUserContext(null);\r\n }\r\n\r\n\r\n // Internal store + broadcast\r\n private applyContext(ctx: RoleContextModel | null, broadcast: boolean) {\r\n if (ctx) {\r\n\r\n localStorage.setItem(this.STORAGE_KEY, JSON.stringify(ctx));\r\n } else {\r\n localStorage.removeItem(this.STORAGE_KEY);\r\n }\r\n\r\n this.contextSignal.set(ctx);\r\n\r\n if (broadcast) this.bc.postMessage(ctx);\r\n }\r\n\r\n // Internal store for Temp User Context\r\n applyTempUserContext(ctx: TempUserModel | null) {\r\n this.tempUserContextSignal.set(ctx);\r\n\r\n }\r\n // Load existing context (no permissions)\r\n private getStoredContext(): RoleContextModel | null {\r\n const raw = localStorage.getItem(this.STORAGE_KEY);\r\n return raw ? JSON.parse(raw) : null;\r\n }\r\n\r\n // Load Cloud Front URL\r\n private getCloudFrontUrl(): string | null {\r\n const raw = localStorage.getItem(this.STORAGE_KEY);\r\n return raw ?? null;\r\n }\r\n\r\n // Role check used by directive\r\n hasAnyRole(roles: string[]) {\r\n return computed(() => {\r\n const currentRole = this.contextSignal()?.roleName?.toLowerCase();\r\n return roles.some(r => r.toLowerCase() === currentRole);\r\n });\r\n }\r\n\r\n notAnyRole(roles: string[]) {\r\n return computed(() => !this.hasAnyRole(roles)());\r\n }\r\n\r\n hasRole(role: string) {\r\n return computed(() => {\r\n const currentRole = this.contextSignal()?.roleName?.toLowerCase();\r\n return currentRole === role.toLowerCase();\r\n });\r\n }\r\n\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { AuthService } from '@auth0/auth0-angular';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TokenService {\r\n\r\n constructor(private auth: AuthService) { }\r\n\r\n\r\n\r\n async isAuthenticated(): Promise<boolean> {\r\n return await firstValueFrom(this.auth.isAuthenticated$);\r\n }\r\n\r\n\r\n async getUserId(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n return user?.['user_id'] ?? null;\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return null;\r\n }\r\n }\r\n\r\n async getUserEmail(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n //console.log(user);\r\n return user?.email ?? null;\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return null;\r\n }\r\n }\r\n\r\n async getUserFirstName(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n return user?.given_name ?? '';\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return '';\r\n }\r\n }\r\n async getUserLastName(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n return user?.family_name ?? '';\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return '';\r\n }\r\n }\r\n\r\n async getUserFullName(): Promise<string> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n const fullName = `${user?.family_name ?? ''} ${user?.given_name ?? ''}`.trim();\r\n return fullName || '';\r\n } catch (err) {\r\n console.warn('User not available:', err);\r\n return '';\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AuthModule as OAuthModule } from '@auth0/auth0-angular';\r\nimport { RoleContextService,TokenService } from './services';\r\nimport { TermsConditionsComponent } from '../public-api';\r\n\r\n@NgModule({\r\n imports: [\r\n OAuthModule,\r\n TermsConditionsComponent,\r\n \r\n ],\r\n providers: [RoleContextService, TokenService]\r\n})\r\nexport class AuthModule { }\r\n","import { Injectable, signal, WritableSignal } from '@angular/core';\r\nimport { LegalConfig } from './legal.config';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LegalService {\r\n\r\n private readonly _config: WritableSignal<LegalConfig> = signal({\r\n companyName: 'Inspection Depot, Inc',\r\n companyType: 'LLC',\r\n websiteUrl: 'https://www.bootog.com',\r\n supportEmail: 'support@bootog.com',\r\n privacyEmail: 'privacy@bootog.com',\r\n address: '3131 St Johns Bluff Rd S, Jacksonville, FL 32246',\r\n country: 'United States',\r\n privacyLastUpdated: 'September 30, 2025',\r\n termsLastUpdated: 'October 18, 2025'\r\n });\r\n\r\n readonly config = this._config.asReadonly();\r\n\r\n /** Optional: update dynamically from API / env / tenant */\r\n update(config: Partial<LegalConfig>) {\r\n this._config.update(c => ({ ...c, ...config }));\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, computed, OnInit } from '@angular/core';\r\nimport { LegalService } from '../legal.service';\r\n@Component({\r\n imports: [\r\n CommonModule\r\n ],\r\n standalone: true,\r\n selector: 'app-privacy-policy',\r\n templateUrl: './privacy-policy.component.html',\r\n styleUrl: './privacy-policy.component.scss',\r\n})\r\nexport class PrivacyPolicyComponent {\r\n\r\n website = computed(() => this.config().websiteUrl);\r\n privacyEmail = computed(() => this.config().privacyEmail);\r\n\r\n constructor(private legal: LegalService) { }\r\n get config() {\r\n return this.legal.config;\r\n }\r\n\r\n}\r\n","<section class=\"legal-container\">\r\n\r\n <h1>Website Privacy Policy</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().privacyLastUpdated }}\r\n </p>\r\n\r\n <h2>Introduction</h2>\r\n <p>\r\n {{ config().companyName }}, a {{ config().companyType }},\r\n respects your privacy and is committed to protecting it.\r\n This policy explains how we collect, use, and safeguard information\r\n when you visit\r\n <a [href]=\"website()\" target=\"_blank\">{{ website() }}</a>.\r\n </p>\r\n\r\n <h2>Children Under the Age of 16</h2>\r\n <p>\r\n Our Website is not intended for children under 16 years of age.\r\n We do not knowingly collect personal information from children.\r\n If you believe we have collected such information, contact us at\r\n <a [href]=\"'mailto:' + privacyEmail()\">\r\n {{ privacyEmail() }}\r\n </a>.\r\n </p>\r\n\r\n <h2>Information We Collect</h2>\r\n <ul>\r\n <li>Personal identifiers (name, email, phone)</li>\r\n <li>Internet and device information</li>\r\n <li>Usage and interaction data</li>\r\n </ul>\r\n\r\n <h2>How We Use Information</h2>\r\n <ul>\r\n <li>To operate and maintain services</li>\r\n <li>To communicate with users</li>\r\n <li>To improve performance and security</li>\r\n <li>To comply with legal obligations</li>\r\n </ul>\r\n\r\n <h2>Disclosure of Information</h2>\r\n <p>\r\n We may share information with service providers, affiliates,\r\n or when required by law.\r\n </p>\r\n\r\n <h2>Data Security</h2>\r\n <p>\r\n While we implement reasonable safeguards, no system is 100% secure.\r\n </p>\r\n\r\n <h2>Contact Information</h2>\r\n <address>\r\n {{ config().companyName }}<br />\r\n {{ config().address }}<br />\r\n {{ config().country }}<br />\r\n Email:\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </address>\r\n\r\n</section>","import { CommonModule } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { LegalService } from '../legal.service';\r\n@Component({\r\n imports: [\r\n CommonModule\r\n ],\r\n standalone: true,\r\n selector: 'app-terms-conditions',\r\n templateUrl: './terms-conditions.component.html',\r\n styleUrl: './terms-conditions.component.scss',\r\n})\r\nexport class TermsConditionsComponent {\r\n\r\n constructor(private legal: LegalService) { }\r\n\r\n get config() {\r\n return this.legal.config;\r\n }\r\n}\r\n","<section class=\"legal-container\">\r\n\r\n <h1>Website Terms of Use</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().termsLastUpdated }}\r\n </p>\r\n\r\n <h2>Acceptance of Terms</h2>\r\n <p>\r\n By accessing {{ config().websiteUrl }},\r\n you agree to be bound by these Terms of Use\r\n provided by {{ config().companyName }}.\r\n </p>\r\n\r\n <h2>Eligibility</h2>\r\n <p>\r\n This Website is available only to users 18 years or older\r\n residing in the United States.\r\n </p>\r\n\r\n <h2>Intellectual Property</h2>\r\n <p>\r\n All content is owned by {{ config().companyName }}\r\n and protected by intellectual property laws.\r\n </p>\r\n\r\n <h2>Limitation of Liability</h2>\r\n <p>\r\n {{ config().companyName }} shall not be liable for damages\r\n arising from the use of this Website.\r\n </p>\r\n\r\n <h2>Governing Law</h2>\r\n <p>\r\n These terms are governed by the laws of the State of Florida.\r\n </p>\r\n\r\n <h2>Contact</h2>\r\n <p>\r\n Questions may be sent to\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </p>\r\n\r\n</section>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["OAuthModule","i1.LegalService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rangs-auth0-lib.mjs","sources":["../../../projects/auth0-lib/src/lib/services/credentialing.service.ts","../../../projects/auth0-lib/src/lib/services/role-context.service.ts","../../../projects/auth0-lib/src/lib/services/token.service.ts","../../../projects/auth0-lib/src/lib/src/legal.service.ts","../../../projects/auth0-lib/src/lib/src/terms-conditions/terms-conditions.component.ts","../../../projects/auth0-lib/src/lib/src/terms-conditions/terms-conditions.component.html","../../../projects/auth0-lib/src/lib/src/privacy-policy/privacy-policy.component.ts","../../../projects/auth0-lib/src/lib/src/privacy-policy/privacy-policy.component.html","../../../projects/auth0-lib/src/lib/auth.module.ts","../../../projects/auth0-lib/src/rangs-auth0-lib.ts"],"sourcesContent":["import { computed, Injectable, Signal, signal } from '@angular/core';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CredentialingService {\r\n\r\n\r\n private store = new Map<string, ReturnType<typeof signal<any>>>();\r\n\r\n /** Get signal for a key (auto-create if missing) */\r\n get<T>(key: string): Signal<T | null> {\r\n if (!this.store.has(key)) {\r\n this.store.set(key, signal<T | null>(null));\r\n }\r\n return computed(() => this.store.get(key)!());\r\n }\r\n\r\n /** Set value for a key */\r\n set<T>(key: string, value: T): void {\r\n if (!this.store.has(key)) {\r\n this.store.set(key, signal<T | null>(value));\r\n } else {\r\n this.store.get(key)!.set(value);\r\n }\r\n }\r\n\r\n /** Optional: clear single key */\r\n clear(key: string): void {\r\n this.store.delete(key);\r\n }\r\n\r\n /** Optional: clear everything */\r\n clearAll(): void {\r\n this.store.clear();\r\n }\r\n\r\n}\r\n","import { Injectable, signal, computed, effect } from '@angular/core';\r\nimport { RoleContextModel } from './role-context.model';\r\n//import { NgxPermissionsService } from 'ngx-permissions';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { TempUserModel } from './temp-user.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RoleContextService {\r\n\r\n private readonly STORAGE_KEY = 'im-role-context';\r\n private readonly bc = new BroadcastChannel('im-role-context-channel');\r\n\r\n // Store role context in signal (without permissions)\r\n private contextSignal = signal<RoleContextModel | null>(this.getStoredContext());\r\n context = this.contextSignal;\r\n\r\n // Store role context in signal (without permissions)\r\n private tempUserContextSignal = signal<TempUserModel | null>(null);\r\n tempUserContext = this.tempUserContextSignal;\r\n\r\n /** For opening side Nav after tenant/role switch */\r\n private sidNav = new BehaviorSubject<RoleContextModel | null>(null);\r\n readonly sidNav$ = this.sidNav.asObservable();\r\n\r\n // Store role context in signal (without permissions)\r\n private cloudFrontUrlSignal = signal<string | null>(this.getCloudFrontUrl());\r\n cloudFrontUrl = this.cloudFrontUrlSignal;\r\n\r\n constructor(\r\n // private permissionsService: NgxPermissionsService\r\n ) {\r\n\r\n /** Sync from BroadcastChannel */\r\n this.bc.onmessage = (ev) => {\r\n if (!this.isSameContext(ev.data)) {\r\n this.showCustomPopup();\r\n }\r\n };\r\n\r\n /** Sync from LocalStorage events (multi-tab) */\r\n window.addEventListener('storage', (ev) => {\r\n if (ev.key === this.STORAGE_KEY) {\r\n const newCtx = ev.newValue ? JSON.parse(ev.newValue) : null;\r\n if (!this.isSameContext(newCtx)) {\r\n this.showCustomPopup();\r\n }\r\n }\r\n });\r\n\r\n // 🔥 IMPORTANT: Load permissions in memory — DO NOT save them\r\n effect(() => {\r\n const ctx = this.contextSignal();\r\n });\r\n }\r\n\r\n isSameContext(newCtx: RoleContextModel | null): boolean {\r\n const current = this.contextSignal();\r\n return !!current && !!newCtx && current.roleName === newCtx.roleName && current.tenantId === newCtx.tenantId;\r\n }\r\n\r\n private showCustomPopup() {\r\n const modal = document.getElementById('roleChangeModal')!;\r\n modal.style.display = 'flex';\r\n\r\n const okBtn = document.getElementById('roleChangeOkBtn')!;\r\n okBtn.onclick = () => {\r\n window.location.href = window.location.origin;\r\n };\r\n }\r\n\r\n // Set role context WITHOUT saving permissions to storage\r\n setContext(ctx: RoleContextModel | null) {\r\n // Clone without permissions\r\n const saveCtx = ctx ? { ...ctx, permissions: undefined } : null;\r\n this.applyContext(saveCtx, true);\r\n\r\n // Notify subscribers\r\n this.sidNav.next(ctx);\r\n\r\n }\r\n\r\n clearContext() {\r\n this.applyContext(null, true);\r\n }\r\n\r\n clearTempUserContext() {\r\n this.applyTempUserContext(null);\r\n }\r\n\r\n\r\n // Internal store + broadcast\r\n private applyContext(ctx: RoleContextModel | null, broadcast: boolean) {\r\n if (ctx) {\r\n\r\n localStorage.setItem(this.STORAGE_KEY, JSON.stringify(ctx));\r\n } else {\r\n localStorage.removeItem(this.STORAGE_KEY);\r\n }\r\n\r\n this.contextSignal.set(ctx);\r\n\r\n if (broadcast) this.bc.postMessage(ctx);\r\n }\r\n\r\n // Internal store for Temp User Context\r\n applyTempUserContext(ctx: TempUserModel | null) {\r\n this.tempUserContextSignal.set(ctx);\r\n\r\n }\r\n // Load existing context (no permissions)\r\n private getStoredContext(): RoleContextModel | null {\r\n const raw = localStorage.getItem(this.STORAGE_KEY);\r\n return raw ? JSON.parse(raw) : null;\r\n }\r\n\r\n\r\n // Internal store for Cloud Front URL\r\n applyCloudUrl(ctx: string | null) {\r\n this.cloudFrontUrlSignal.set(ctx);\r\n }\r\n\r\n // Load Cloud Front URL\r\n private getCloudFrontUrl(): string | null {\r\n const raw = localStorage.getItem(this.STORAGE_KEY);\r\n return raw ?? null;\r\n }\r\n\r\n // Role check used by directive\r\n hasAnyRole(roles: string[]) {\r\n return computed(() => {\r\n const currentRole = this.contextSignal()?.roleName?.toLowerCase();\r\n return roles.some(r => r.toLowerCase() === currentRole);\r\n });\r\n }\r\n\r\n notAnyRole(roles: string[]) {\r\n return computed(() => !this.hasAnyRole(roles)());\r\n }\r\n\r\n hasRole(role: string) {\r\n return computed(() => {\r\n const currentRole = this.contextSignal()?.roleName?.toLowerCase();\r\n return currentRole === role.toLowerCase();\r\n });\r\n }\r\n\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { AuthService } from '@auth0/auth0-angular';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TokenService {\r\n\r\n constructor(private auth: AuthService) { }\r\n\r\n\r\n\r\n async isAuthenticated(): Promise<boolean> {\r\n return await firstValueFrom(this.auth.isAuthenticated$);\r\n }\r\n\r\n\r\n async getUserId(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n return user?.['user_id'] ?? null;\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return null;\r\n }\r\n }\r\n\r\n async getUserEmail(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n //console.log(user);\r\n return user?.email ?? null;\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return null;\r\n }\r\n }\r\n\r\n async getUserFirstName(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n return user?.given_name ?? '';\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return '';\r\n }\r\n }\r\n async getUserLastName(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n return user?.family_name ?? '';\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return '';\r\n }\r\n }\r\n\r\n async getUserFullName(): Promise<string> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n const fullName = `${user?.family_name ?? ''} ${user?.given_name ?? ''}`.trim();\r\n return fullName || '';\r\n } catch (err) {\r\n console.warn('User not available:', err);\r\n return '';\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Injectable, signal, WritableSignal } from '@angular/core';\r\nimport { LegalConfig } from './legal.config';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LegalService {\r\n\r\n private readonly _config: WritableSignal<LegalConfig> = signal({\r\n companyName: 'Inspection Depot, Inc',\r\n companyType: 'LLC',\r\n websiteUrl: 'https://www.bootog.com',\r\n supportEmail: 'support@bootog.com',\r\n privacyEmail: 'privacy@bootog.com',\r\n address: '3131 St Johns Bluff Rd S, Jacksonville, FL 32246',\r\n country: 'United States',\r\n privacyLastUpdated: 'September 30, 2025',\r\n termsLastUpdated: 'October 18, 2025'\r\n });\r\n\r\n readonly config = this._config.asReadonly();\r\n\r\n /** Optional: update dynamically from API / env / tenant */\r\n update(config: Partial<LegalConfig>) {\r\n this._config.update(c => ({ ...c, ...config }));\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LegalService } from '../legal.service';\r\n@Component({\r\n standalone: false,\r\n selector: 'app-terms-conditions',\r\n templateUrl: './terms-conditions.component.html',\r\n styleUrl: './terms-conditions.component.scss',\r\n})\r\nexport class TermsConditionsComponent {\r\n\r\n constructor(private legal: LegalService) { }\r\n\r\n get config() {\r\n return this.legal.config;\r\n }\r\n}\r\n","<section class=\"legal-container\">\r\n\r\n <h1>Website Terms of Use</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().termsLastUpdated }}\r\n </p>\r\n\r\n <h2>Acceptance of Terms</h2>\r\n <p>\r\n By accessing {{ config().websiteUrl }},\r\n you agree to be bound by these Terms of Use\r\n provided by {{ config().companyName }}.\r\n </p>\r\n\r\n <h2>Eligibility</h2>\r\n <p>\r\n This Website is available only to users 18 years or older\r\n residing in the United States.\r\n </p>\r\n\r\n <h2>Intellectual Property</h2>\r\n <p>\r\n All content is owned by {{ config().companyName }}\r\n and protected by intellectual property laws.\r\n </p>\r\n\r\n <h2>Limitation of Liability</h2>\r\n <p>\r\n {{ config().companyName }} shall not be liable for damages\r\n arising from the use of this Website.\r\n </p>\r\n\r\n <h2>Governing Law</h2>\r\n <p>\r\n These terms are governed by the laws of the State of Florida.\r\n </p>\r\n\r\n <h2>Contact</h2>\r\n <p>\r\n Questions may be sent to\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </p>\r\n\r\n</section>","import { Component, computed, OnInit } from '@angular/core';\r\nimport { LegalService } from '../legal.service';\r\n@Component({\r\n standalone: false,\r\n selector: 'app-privacy-policy',\r\n templateUrl: './privacy-policy.component.html',\r\n styleUrl: './privacy-policy.component.scss',\r\n})\r\nexport class PrivacyPolicyComponent {\r\n\r\n website = computed(() => this.config().websiteUrl);\r\n privacyEmail = computed(() => this.config().privacyEmail);\r\n\r\n constructor(private legal: LegalService) { }\r\n get config() {\r\n return this.legal.config;\r\n }\r\n\r\n}\r\n","<section class=\"legal-container\">\r\n\r\n <h1>Website Privacy Policy</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().privacyLastUpdated }}\r\n </p>\r\n\r\n <h2>Introduction</h2>\r\n <p>\r\n {{ config().companyName }}, a {{ config().companyType }},\r\n respects your privacy and is committed to protecting it.\r\n This policy explains how we collect, use, and safeguard information\r\n when you visit\r\n <a [href]=\"website()\" target=\"_blank\">{{ website() }}</a>.\r\n </p>\r\n\r\n <h2>Children Under the Age of 16</h2>\r\n <p>\r\n Our Website is not intended for children under 16 years of age.\r\n We do not knowingly collect personal information from children.\r\n If you believe we have collected such information, contact us at\r\n <a [href]=\"'mailto:' + privacyEmail()\">\r\n {{ privacyEmail() }}\r\n </a>.\r\n </p>\r\n\r\n <h2>Information We Collect</h2>\r\n <ul>\r\n <li>Personal identifiers (name, email, phone)</li>\r\n <li>Internet and device information</li>\r\n <li>Usage and interaction data</li>\r\n </ul>\r\n\r\n <h2>How We Use Information</h2>\r\n <ul>\r\n <li>To operate and maintain services</li>\r\n <li>To communicate with users</li>\r\n <li>To improve performance and security</li>\r\n <li>To comply with legal obligations</li>\r\n </ul>\r\n\r\n <h2>Disclosure of Information</h2>\r\n <p>\r\n We may share information with service providers, affiliates,\r\n or when required by law.\r\n </p>\r\n\r\n <h2>Data Security</h2>\r\n <p>\r\n While we implement reasonable safeguards, no system is 100% secure.\r\n </p>\r\n\r\n <h2>Contact Information</h2>\r\n <address>\r\n {{ config().companyName }}<br />\r\n {{ config().address }}<br />\r\n {{ config().country }}<br />\r\n Email:\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </address>\r\n\r\n</section>","import { NgModule } from '@angular/core';\r\nimport { AuthModule as OAuthModule } from '@auth0/auth0-angular';\r\nimport { RoleContextService, TokenService } from './services';\r\nimport { TermsConditionsComponent } from './src/terms-conditions/terms-conditions.component';\r\nimport { PrivacyPolicyComponent } from './src/privacy-policy/privacy-policy.component';\r\nimport { LegalService } from '../public-api';\r\n@NgModule({\r\n declarations: [\r\n TermsConditionsComponent,\r\n PrivacyPolicyComponent\r\n ],\r\n imports: [\r\n OAuthModule\r\n ],\r\n exports: [\r\n TermsConditionsComponent,\r\n PrivacyPolicyComponent\r\n ],\r\n providers: [RoleContextService, TokenService, LegalService]\r\n})\r\nexport class AuthModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LegalService","OAuthModule"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Signal } from '@angular/core';
|
|
3
|
-
import * as i1 from '@auth0/auth0-angular';
|
|
4
|
-
import { AuthService } from '@auth0/auth0-angular';
|
|
5
3
|
import * as _rangs_auth0_lib from '@rangs/auth0-lib';
|
|
4
|
+
import * as i3 from '@auth0/auth0-angular';
|
|
5
|
+
import { AuthService } from '@auth0/auth0-angular';
|
|
6
6
|
import * as rxjs from 'rxjs';
|
|
7
7
|
|
|
8
8
|
interface LegalConfig {
|
|
@@ -31,12 +31,22 @@ declare class TermsConditionsComponent {
|
|
|
31
31
|
constructor(legal: LegalService);
|
|
32
32
|
get config(): i0.Signal<_rangs_auth0_lib.LegalConfig>;
|
|
33
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<TermsConditionsComponent, never>;
|
|
34
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TermsConditionsComponent, "app-terms-conditions", never, {}, {}, never, never,
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TermsConditionsComponent, "app-terms-conditions", never, {}, {}, never, never, false, never>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
declare class PrivacyPolicyComponent {
|
|
38
|
+
private legal;
|
|
39
|
+
website: i0.Signal<string>;
|
|
40
|
+
privacyEmail: i0.Signal<string>;
|
|
41
|
+
constructor(legal: LegalService);
|
|
42
|
+
get config(): i0.Signal<_rangs_auth0_lib.LegalConfig>;
|
|
43
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrivacyPolicyComponent, never>;
|
|
44
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PrivacyPolicyComponent, "app-privacy-policy", never, {}, {}, never, never, false, never>;
|
|
35
45
|
}
|
|
36
46
|
|
|
37
47
|
declare class AuthModule {
|
|
38
48
|
static ɵfac: i0.ɵɵFactoryDeclaration<AuthModule, never>;
|
|
39
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AuthModule,
|
|
49
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AuthModule, [typeof TermsConditionsComponent, typeof PrivacyPolicyComponent], [typeof i3.AuthModule], [typeof TermsConditionsComponent, typeof PrivacyPolicyComponent]>;
|
|
40
50
|
static ɵinj: i0.ɵɵInjectorDeclaration<AuthModule>;
|
|
41
51
|
}
|
|
42
52
|
|
|
@@ -105,6 +115,7 @@ declare class RoleContextService {
|
|
|
105
115
|
private applyContext;
|
|
106
116
|
applyTempUserContext(ctx: TempUserModel | null): void;
|
|
107
117
|
private getStoredContext;
|
|
118
|
+
applyCloudUrl(ctx: string | null): void;
|
|
108
119
|
private getCloudFrontUrl;
|
|
109
120
|
hasAnyRole(roles: string[]): i0.Signal<boolean>;
|
|
110
121
|
notAnyRole(roles: string[]): i0.Signal<boolean>;
|
|
@@ -140,15 +151,5 @@ declare class CredentialingService {
|
|
|
140
151
|
static ɵprov: i0.ɵɵInjectableDeclaration<CredentialingService>;
|
|
141
152
|
}
|
|
142
153
|
|
|
143
|
-
declare class PrivacyPolicyComponent {
|
|
144
|
-
private legal;
|
|
145
|
-
website: i0.Signal<string>;
|
|
146
|
-
privacyEmail: i0.Signal<string>;
|
|
147
|
-
constructor(legal: LegalService);
|
|
148
|
-
get config(): i0.Signal<_rangs_auth0_lib.LegalConfig>;
|
|
149
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PrivacyPolicyComponent, never>;
|
|
150
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PrivacyPolicyComponent, "app-privacy-policy", never, {}, {}, never, never, true, never>;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
154
|
export { AuthModule, CredentialingService, LegalService, PrivacyPolicyComponent, RoleContextService, TermsConditionsComponent, TokenService };
|
|
154
155
|
export type { LegalConfig, RoleContextModel, TempUserModel };
|