diff --git a/main.js b/main.js index 51e61ea..361a735 100644 --- a/main.js +++ b/main.js @@ -3241,46 +3241,75 @@ const _c0 = function (a0) { return { "active": a0 }; }; const _c1 = function (a0, a1) { return { "badge-success": a0, "badge-danger": a1 }; }; const _c2 = function (a0, a1) { return { "fa-check": a0, "fa-times": a1 }; }; function WebhookLogsComponent_a_54_Template(rf, ctx) { if (rf & 1) { - const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "a", 26); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function WebhookLogsComponent_a_54_Template_a_click_0_listener() { const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r6); const delivery_r4 = restoredCtx.$implicit; const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r5.selectedWebhookDelivery = delivery_r4); }); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "span", 27); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](2, "i", 28); + const _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "a", 28); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function WebhookLogsComponent_a_54_Template_a_click_0_listener() { const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r11); const delivery_r9 = restoredCtx.$implicit; const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r10.selectedWebhookDelivery = delivery_r9); }); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "span", 29); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](2, "i", 30); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](3); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "span", 29); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "span", 31); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipe"](5, "amDateFormat"); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](6); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipe"](7, "amTimeAgo"); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); } if (rf & 2) { - const delivery_r4 = ctx.$implicit; + const delivery_r9 = ctx.$implicit; const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpureFunction1"](11, _c0, (ctx_r2.selectedWebhookDelivery == null ? null : ctx_r2.selectedWebhookDelivery.timestamp_event_id) == (delivery_r4 == null ? null : delivery_r4.timestamp_event_id))); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpureFunction1"](11, _c0, (ctx_r2.selectedWebhookDelivery == null ? null : ctx_r2.selectedWebhookDelivery.timestamp_event_id) == (delivery_r9 == null ? null : delivery_r9.timestamp_event_id))); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpureFunction2"](13, _c1, (delivery_r4 == null ? null : delivery_r4.status) === "success", (delivery_r4 == null ? null : delivery_r4.status) === "failure")); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpureFunction2"](13, _c1, (delivery_r9 == null ? null : delivery_r9.status) === "success", (delivery_r9 == null ? null : delivery_r9.status) === "failure")); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpureFunction2"](16, _c2, (delivery_r4 == null ? null : delivery_r4.status) === "success", (delivery_r4 == null ? null : delivery_r4.status) === "failure")); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpureFunction2"](16, _c2, (delivery_r9 == null ? null : delivery_r9.status) === "success", (delivery_r9 == null ? null : delivery_r9.status) === "failure")); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate1"](" ", delivery_r4.event_payload.type, " "); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate1"](" ", delivery_r9.event_payload.type, " "); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngbTooltip", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipeBind2"](5, 6, delivery_r4 == null ? null : delivery_r4.created_at, "YYYY-MM-DD HH:mm")); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngbTooltip", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipeBind2"](5, 6, delivery_r9 == null ? null : delivery_r9.created_at, "YYYY-MM-DD HH:mm")); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](2); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate"](_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipeBind1"](7, 9, delivery_r4 == null ? null : delivery_r4.created_at)); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate"](_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipeBind1"](7, 9, delivery_r9 == null ? null : delivery_r9.created_at)); +} } +function WebhookLogsComponent_div_56_Template(rf, ctx) { if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div")(1, "div", 32); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](2, " No webhook deliveries yet. "); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); } } -function WebhookLogsComponent_button_56_Template(rf, ctx) { if (rf & 1) { - const _r8 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "button", 30); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function WebhookLogsComponent_button_56_Template_button_click_0_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r8); const ctx_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r7.showAllDeliveries = !ctx_r7.showAllDeliveries); }); +function WebhookLogsComponent_button_57_Template(rf, ctx) { if (rf & 1) { + const _r13 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "button", 33); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function WebhookLogsComponent_button_57_Template_button_click_0_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r13); const ctx_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r12.showAllDeliveries = !ctx_r12.showAllDeliveries); }); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](1); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); } if (rf & 2) { - const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); + const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate"](ctx_r3.showAllDeliveries ? "Show Less" : "Show More"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate"](ctx_r4.showAllDeliveries ? "Show Less" : "Show More"); } } const _c3 = function () { return ["https"]; }; +function WebhookLogsComponent_pre_62_Template(rf, ctx) { if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "pre"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](1, "code", 34); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); +} if (rf & 2) { + const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("languages", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpureFunction0"](2, _c3))("highlight", (ctx_r5.selectedWebhookDelivery == null ? null : ctx_r5.selectedWebhookDelivery.http_response) || ""); +} } const _c4 = function () { return ["json"]; }; +function WebhookLogsComponent_pre_67_Template(rf, ctx) { if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "pre"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](1, "code", 34); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipe"](2, "json"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); +} if (rf & 2) { + const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("languages", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpureFunction0"](4, _c4))("highlight", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipeBind1"](2, 2, ctx_r6.selectedWebhookDelivery == null ? null : ctx_r6.selectedWebhookDelivery.event_payload)); +} } +function WebhookLogsComponent_ng_template_68_Template(rf, ctx) { if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 32); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](1, " Waiting for delivery... "); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); +} } class WebhookLogsComponent { constructor(connectService, portalConfig, route) { this.connectService = connectService; @@ -3298,7 +3327,7 @@ class WebhookLogsComponent { } this.connectService.getOrgWebhookDeliveries(this.portalConfig.config$.user?.org_id, webhookId).subscribe((data) => { console.log("Webhook Deliveries", data); - this.webhookDeliveries = data.deliveries.reverse(); + this.webhookDeliveries = (data.deliveries || []).reverse(); this.webhook = data.webhook; if (this.webhookDeliveries.length > 0) { this.selectedWebhookDelivery = this.webhookDeliveries[0]; @@ -3313,8 +3342,8 @@ class WebhookLogsComponent { } } WebhookLogsComponent.ɵfac = function WebhookLogsComponent_Factory(t) { return new (t || WebhookLogsComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_services_connect_service__WEBPACK_IMPORTED_MODULE_0__.ConnectService), _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_services_portal_config_service__WEBPACK_IMPORTED_MODULE_1__.PortalConfigService), _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_3__.ActivatedRoute)); }; -WebhookLogsComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineComponent"]({ type: WebhookLogsComponent, selectors: [["app-webhook-logs"]], decls: 70, vars: 29, consts: [[1, "mg-t-10", "container", "mg-b-35"], [1, "mg-l-auto", "nav", "nav-pills", "flex-column", "flex-md-row"], ["data-bs-toggle", "tab", 1, "nav-link", 3, "routerLink"], ["data-bs-toggle", "tab", "href", "#", 1, "nav-link", "active"], [1, "card", "mg-t-20"], [1, "card-header", "d-flex", "justify-content-between", "align-items-center"], [1, "card-body"], [1, "table-responsive"], [1, "table", "mg-b-0"], ["scope", "row"], [1, "badge", 3, "ngClass"], [3, "ngbTooltip"], [1, "cursor-pointer", 3, "click"], ["revealBtn", ""], [1, "fas", "fa-lock"], ["hidden", ""], ["secret", ""], ["ngbTooltip", "Copy to Clipboard", 1, "mg-l-2", "cursor-pointer", "fas", "fa-clipboard", 3, "mousedown"], [1, "container"], [1, "row"], [1, "col-6", "bd-r"], [1, "list-group"], ["class", "cursor-pointer list-group-item list-group-item-action bd-x-0 bd-y-0", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], ["class", "btn btn-outline-indigo btn-block", 3, "click", 4, "ngIf"], [1, "col-6"], [3, "languages", "highlight"], [1, "cursor-pointer", "list-group-item", "list-group-item-action", "bd-x-0", "bd-y-0", 3, "ngClass", "click"], [1, "badge", "mg-r-2", 3, "ngClass"], [1, "fas", 3, "ngClass"], [1, "float-right", 3, "ngbTooltip"], [1, "btn", "btn-outline-indigo", "btn-block", 3, "click"]], template: function WebhookLogsComponent_Template(rf, ctx) { if (rf & 1) { - const _r9 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); +WebhookLogsComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineComponent"]({ type: WebhookLogsComponent, selectors: [["app-webhook-logs"]], decls: 70, vars: 26, consts: [[1, "mg-t-10", "container", "mg-b-35"], [1, "mg-l-auto", "nav", "nav-pills", "flex-column", "flex-md-row"], ["data-bs-toggle", "tab", 1, "nav-link", 3, "routerLink"], ["data-bs-toggle", "tab", "href", "#", 1, "nav-link", "active"], [1, "card", "mg-t-20"], [1, "card-header", "d-flex", "justify-content-between", "align-items-center"], [1, "card-body"], [1, "table-responsive"], [1, "table", "mg-b-0"], ["scope", "row"], [1, "badge", 3, "ngClass"], [3, "ngbTooltip"], [1, "cursor-pointer", 3, "click"], ["revealBtn", ""], [1, "fas", "fa-lock"], ["hidden", ""], ["secret", ""], ["ngbTooltip", "Copy to Clipboard", 1, "mg-l-2", "cursor-pointer", "fas", "fa-clipboard", 3, "mousedown"], [1, "container"], [1, "row"], [1, "col-6", "bd-r"], [1, "list-group"], ["class", "cursor-pointer list-group-item list-group-item-action bd-x-0 bd-y-0", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["class", "btn btn-outline-indigo btn-block", 3, "click", 4, "ngIf"], [1, "col-6"], [4, "ngIf", "ngIfElse"], ["waitingResponse", ""], [1, "cursor-pointer", "list-group-item", "list-group-item-action", "bd-x-0", "bd-y-0", 3, "ngClass", "click"], [1, "badge", "mg-r-2", 3, "ngClass"], [1, "fas", 3, "ngClass"], [1, "float-right", 3, "ngbTooltip"], ["role", "alert", 1, "alert", "alert-info", "mg-t-10"], [1, "btn", "btn-outline-indigo", "btn-block", 3, "click"], [3, "languages", "highlight"]], template: function WebhookLogsComponent_Template(rf, ctx) { if (rf & 1) { + const _r14 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 0)(1, "nav", 1)(2, "a", 2); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](3, "API Clients"); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); @@ -3337,7 +3366,7 @@ WebhookLogsComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODUL _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](21, "Signing Secret"); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](22, "th"); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](23, "Created"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](23, "Last Updated"); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()()(); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](24, "tbody")(25, "tr")(26, "th", 9)(27, "span", 10); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](28); @@ -3349,7 +3378,7 @@ WebhookLogsComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODUL _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](33); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](34, "td")(35, "a", 12, 13); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function WebhookLogsComponent_Template_a_click_35_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r9); const _r0 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](36); const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](40); _r0.hidden = true; return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](_r1.hidden = false); }); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function WebhookLogsComponent_Template_a_click_35_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r14); const _r0 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](36); const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](40); _r0.hidden = true; return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](_r1.hidden = false); }); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](37, "reveal "); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](38, "i", 14); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); @@ -3368,30 +3397,31 @@ WebhookLogsComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODUL _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](49, "div", 6)(50, "div", 18)(51, "div", 19)(52, "div", 20)(53, "div", 21); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](54, WebhookLogsComponent_a_54_Template, 8, 19, "a", 22); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipe"](55, "slice"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](56, WebhookLogsComponent_div_56_Template, 3, 0, "div", 23); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](56, WebhookLogsComponent_button_56_Template, 2, 1, "button", 23); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](57, WebhookLogsComponent_button_57_Template, 2, 1, "button", 24); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](57, "div", 24)(58, "div")(59, "strong"); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](60, "Response"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](58, "div", 25)(59, "div")(60, "strong"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](61, "Response"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](62, WebhookLogsComponent_pre_62_Template, 2, 3, "pre", 26); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](61, "pre"); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](62, "code", 25); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](63, "hr"); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](64, "div")(65, "strong"); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](66, "Request"); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](67, "pre"); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](68, "code", 25); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipe"](69, "json"); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()()()()()()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](67, WebhookLogsComponent_pre_67_Template, 3, 5, "pre", 26); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](68, WebhookLogsComponent_ng_template_68_Template, 2, 0, "ng-template", null, 27, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplateRefExtractor"]); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()()()()()(); } if (rf & 2) { + const _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](69); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](2); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("routerLink", "developers/"); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](6); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate1"](" ", ctx.webhook == null ? null : ctx.webhook.endpoint_uri, "\n"); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](19); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpureFunction2"](24, _c1, (ctx.webhook == null ? null : ctx.webhook.status) === "active", (ctx.webhook == null ? null : ctx.webhook.status) === "inactive")); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpureFunction2"](23, _c1, (ctx.webhook == null ? null : ctx.webhook.status) === "active", (ctx.webhook == null ? null : ctx.webhook.status) === "inactive")); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate"](ctx.webhook == null ? null : ctx.webhook.status); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](2); @@ -3403,15 +3433,17 @@ WebhookLogsComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODUL _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](8); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate1"]("", ctx.webhook == null ? null : ctx.webhook.secret_token, " "); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](3); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate"](_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipeBind2"](45, 15, ctx.webhook == null ? null : ctx.webhook.created_at, "LL")); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate"](_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipeBind2"](45, 16, ctx.webhook == null ? null : ctx.webhook.updated_at, "LL")); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](10); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngForOf", ctx.showAllDeliveries ? ctx.webhookDeliveries : _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipeBind3"](55, 18, ctx.webhookDeliveries, 0, 15)); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngForOf", ctx.showAllDeliveries ? ctx.webhookDeliveries : _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipeBind3"](55, 19, ctx.webhookDeliveries, 0, 15)); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", ctx.webhookDeliveries.length == 0); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1); _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", ((ctx.webhookDeliveries == null ? null : ctx.webhookDeliveries.length) || 0) > 15); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](6); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("languages", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpureFunction0"](27, _c3))("highlight", (ctx.selectedWebhookDelivery == null ? null : ctx.selectedWebhookDelivery.http_response) || ""); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](6); - _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("languages", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpureFunction0"](28, _c4))("highlight", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipeBind1"](69, 22, ctx.selectedWebhookDelivery == null ? null : ctx.selectedWebhookDelivery.event_payload)); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](5); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", !!ctx.selectedWebhookDelivery)("ngIfElse", _r7); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](5); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", !!ctx.selectedWebhookDelivery)("ngIfElse", _r7); } }, dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgClass, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf, _angular_router__WEBPACK_IMPORTED_MODULE_3__.RouterLinkWithHref, _ng_bootstrap_ng_bootstrap__WEBPACK_IMPORTED_MODULE_5__.NgbTooltip, ngx_highlightjs__WEBPACK_IMPORTED_MODULE_6__.Highlight, _angular_common__WEBPACK_IMPORTED_MODULE_4__.JsonPipe, _angular_common__WEBPACK_IMPORTED_MODULE_4__.SlicePipe, ngx_moment__WEBPACK_IMPORTED_MODULE_7__.DateFormatPipe, ngx_moment__WEBPACK_IMPORTED_MODULE_7__.TimeAgoPipe], styles: ["\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ3ZWJob29rLWxvZ3MuY29tcG9uZW50LnNjc3MifQ== */"] }); diff --git a/main.js.map b/main.js.map index de1f6ad..ae922bc 100644 --- a/main.js.map +++ b/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.constants.ts","./src/app/app.module.ts","./src/app/auth-guards/is-authenticated-auth-guard.ts","./src/app/components/footer/footer.component.ts","./src/app/components/footer/footer.component.html","./src/app/components/header/header.component.ts","./src/app/components/header/header.component.html","./src/app/components/logo-cropper/logo-cropper.component.ts","./src/app/components/logo-cropper/logo-cropper.component.html","./src/app/components/org-credentials-editor/org-credentials-editor.component.ts","./src/app/components/org-credentials-editor/org-credentials-editor.component.html","./src/app/components/org-webhooks-editor/org-webhooks-editor.component.ts","./src/app/components/org-webhooks-editor/org-webhooks-editor.component.html","./src/app/directives/password-confirm-validator.directive.ts","./src/app/models/fasten/organization.ts","./src/app/models/fasten/user.ts","./src/app/models/portal-config.ts","./src/app/pages/account-settings/account-settings.component.ts","./src/app/pages/account-settings/account-settings.component.html","./src/app/pages/auth-signin/auth-signin.component.ts","./src/app/pages/auth-signin/auth-signin.component.html","./src/app/pages/auth-signup-organization/auth-signup-organization.component.ts","./src/app/pages/auth-signup-organization/auth-signup-organization.component.html","./src/app/pages/auth-signup/auth-signup.component.ts","./src/app/pages/auth-signup/auth-signup.component.html","./src/app/pages/dashboard/dashboard.component.ts","./src/app/pages/dashboard/dashboard.component.html","./src/app/pages/developers/developers.component.ts","./src/app/pages/developers/developers.component.html","./src/app/pages/org-settings/org-settings.component.ts","./src/app/pages/org-settings/org-settings.component.html","./src/app/pages/webhook-logs/webhook-logs.component.ts","./src/app/pages/webhook-logs/webhook-logs.component.html","./src/app/services/auth-interceptor.service.ts","./src/app/services/auth.service.ts","./src/app/services/connect.service.ts","./src/app/services/portal-config.service.ts","./src/environments/environment.dev.ts","./src/environments/versions.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport {DevelopersComponent} from './pages/developers/developers.component';\nimport {DashboardComponent} from './pages/dashboard/dashboard.component';\nimport {AuthSigninComponent} from './pages/auth-signin/auth-signin.component';\nimport {AuthSignupComponent} from './pages/auth-signup/auth-signup.component';\nimport {AuthSignupOrganizationComponent} from './pages/auth-signup-organization/auth-signup-organization.component';\nimport {IsAuthenticatedAuthGuard} from './auth-guards/is-authenticated-auth-guard';\nimport {OrgSettingsComponent} from './pages/org-settings/org-settings.component';\nimport {AccountSettingsComponent} from './pages/account-settings/account-settings.component';\nimport {WebhookLogsComponent} from './pages/webhook-logs/webhook-logs.component';\n\nconst routes: Routes = [\n\n { path: 'auth/signin', component: AuthSigninComponent },\n { path: 'auth/signup', component: AuthSignupComponent },\n { path: 'auth/signup/org', component: AuthSignupOrganizationComponent },\n\n { path: '', redirectTo: '/developers', pathMatch: 'full' },\n { path: 'dashboard', component: DashboardComponent, canActivate: [ IsAuthenticatedAuthGuard] },\n { path: 'developers', component: DevelopersComponent, canActivate: [ IsAuthenticatedAuthGuard] },\n { path: 'developers/webhooks/:webhookId/logs', component: WebhookLogsComponent, canActivate: [ IsAuthenticatedAuthGuard] },\n { path: 'org/settings', component: OrgSettingsComponent, canActivate: [ IsAuthenticatedAuthGuard] },\n { path: 'account/settings', component: AccountSettingsComponent, canActivate: [ IsAuthenticatedAuthGuard] },\n\n //must be at bottom of list\n { path: '**', redirectTo: 'developers' },\n\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component } from '@angular/core';\nimport {NavigationEnd, Router, RouterEvent} from '@angular/router';\nimport {NgbModal} from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'fastenhealth';\n\n showHeader:boolean = false;\n showFooter:boolean = true;\n\n constructor(\n private router: Router,\n // private toastService: ToastService,\n private modalService: NgbModal\n ) {}\n\n ngOnInit() {\n\n // navbar backdrop for mobile only\n const navbarBackdrop = document.createElement('div');\n navbarBackdrop.classList.add('az-navbar-backdrop');\n document.querySelector('body')?.appendChild(navbarBackdrop);\n\n //determine if we should show the header\n this.router.events.subscribe(event => this.routerEvent(event));\n }\n\n routerEvent(event: any) {\n if (event instanceof NavigationEnd) {\n //modify header\n if (event.url?.startsWith('/auth') || event.url?.startsWith('/desktop')) {\n this.showHeader = false;\n } else {\n // console.log(\"NU\")\n this.showHeader = true;\n }\n\n // close all open modals when route change\n this.modalService.dismissAll();\n }\n }\n}\n","
\n \n
\n \n
\n \n
\n","export const URL_PATTERN = /^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$/;\n\n// https://medium.com/@ojiofor/angular-reactive-forms-strong-password-validation-8dbcce92eb6c\n// Minimum Length: A strong password should have a minimum length, typically at least 8 characters.\n// Uppercase Letters: It should contain at least one uppercase letter.\n// Lowercase Letters: It should contain at least one lowercase letter.\n// Numbers: It should contain at least one number.\n// Special Characters: It should contain at least one special character (e.g., !, @, #, $).\nexport const STRONG_PASSWORD_PATTERN = /^(?=[^A-Z]*[A-Z])(?=[^a-z]*[a-z])(?=\\D*\\d).{8,}$/;\n\nexport enum ApiMode {\n Live = 'live',\n Test = 'test',\n}\n\nexport enum CredentialStatus {\n Active = 'active',\n Inactive = 'inactive',\n}\n\nexport enum WebhookStatus {\n Active = 'active',\n Inactive = 'inactive',\n}\n\nexport enum WebhookDeliveryStatus {\n Success = 'success',\n Failure = 'failure',\n}\n\nexport enum CRUDMode {\n Create = 'create',\n Update = 'update',\n Delete = 'delete',\n}\n\nexport enum EventTypes{\n EventTypesPatientEHIExportFailed = \"patient.ehi_export_failed\",\n EventTypesPatientEHIExportSuccess = \"patient.ehi_export_success\",\n EventTypesPatientAuthorizationRevoked = \"patient.authorization_revoked\",\n EventTypesWebhookTest = \"webhook.test\",\n}\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\n\nimport { fas } from '@fortawesome/free-solid-svg-icons';\nimport { far } from '@fortawesome/free-regular-svg-icons';\nimport { HighlightModule, HIGHLIGHT_OPTIONS } from 'ngx-highlightjs';\n\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {InfiniteScrollModule} from 'ngx-infinite-scroll';\nimport {FontAwesomeModule, FaIconLibrary} from '@fortawesome/angular-fontawesome';\nimport {HeaderComponent} from './components/header/header.component';\nimport {FooterComponent} from './components/footer/footer.component';\nimport { DevelopersComponent } from './pages/developers/developers.component';\nimport { DashboardComponent } from './pages/dashboard/dashboard.component';\nimport { AuthSigninComponent } from './pages/auth-signin/auth-signin.component';\nimport { AuthSignupComponent } from './pages/auth-signup/auth-signup.component';\nimport { AuthSignupOrganizationComponent } from './pages/auth-signup-organization/auth-signup-organization.component';\nimport { PasswordConfirmValidatorDirective } from './directives/password-confirm-validator.directive';\nimport {IsAuthenticatedAuthGuard} from './auth-guards/is-authenticated-auth-guard';\nimport {Router} from '@angular/router';\nimport {AuthService} from './services/auth.service';\nimport {AuthInterceptorService} from './services/auth-interceptor.service';\nimport { ImageCropperModule } from 'ngx-image-cropper';\nimport { LogoCropperComponent } from './components/logo-cropper/logo-cropper.component';\nimport { NgChartsModule } from 'ng2-charts';\nimport {MomentModule} from 'ngx-moment';\nimport { OrgSettingsComponent } from './pages/org-settings/org-settings.component';\nimport { AccountSettingsComponent } from './pages/account-settings/account-settings.component';\nimport { OrgCredentialsEditorComponent } from './components/org-credentials-editor/org-credentials-editor.component';\nimport { OrgWebhooksEditorComponent } from './components/org-webhooks-editor/org-webhooks-editor.component';\nimport { WebhookLogsComponent } from './pages/webhook-logs/webhook-logs.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n HeaderComponent,\n FooterComponent,\n DevelopersComponent,\n DashboardComponent,\n AuthSigninComponent,\n AuthSignupComponent,\n AuthSignupOrganizationComponent,\n LogoCropperComponent,\n OrgSettingsComponent,\n AccountSettingsComponent,\n OrgCredentialsEditorComponent,\n OrgWebhooksEditorComponent,\n WebhookLogsComponent,\n ],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n BrowserModule,\n HttpClientModule,\n AppRoutingModule,\n PasswordConfirmValidatorDirective,\n\n NgbModule,\n NgChartsModule,\n InfiniteScrollModule,\n FontAwesomeModule,\n ImageCropperModule,\n MomentModule,\n HighlightModule\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthInterceptorService,\n multi: true,\n deps: [AuthService, Router]\n },\n IsAuthenticatedAuthGuard,\n {\n provide: HIGHLIGHT_OPTIONS,\n useValue: {\n fullLibraryLoader: () => import('highlight.js'),\n }\n }\n ],\n bootstrap: [AppComponent],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ]\n})\nexport class AppModule {\n constructor(library: FaIconLibrary) {\n library.addIconPacks(fas, far);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router} from '@angular/router';\nimport {AuthService} from '../services/auth.service';\n\n@Injectable()\nexport class IsAuthenticatedAuthGuard implements CanActivate {\n constructor(private authService: AuthService, private router: Router) {\n\n }\n\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\n let jwtPayload = await this.authService.GetJWTPayload()\n\n //check if the user is authenticated, if not, redirect to login\n if (!jwtPayload) {\n return await this.router.navigate(['/auth/signin']);\n } else if(jwtPayload.org_id == '' || jwtPayload.org_id == null){\n console.log(\"User is not associated with an organization, redirecting to org signup\", jwtPayload)\n return await this.router.navigate(['/auth/signup/org']);\n }\n\n\n // continue as normal\n return true\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport {versionInfo} from '../../../environments/versions';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n appVersion: string;\n\n constructor() {\n this.appVersion = versionInfo.version\n }\n\n ngOnInit() {\n }\n\n}\n","\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {AuthService} from '../../services/auth.service';\nimport {Router} from '@angular/router';\nimport {ConnectService} from '../../services/connect.service';\nimport {PortalConfig} from '../../models/portal-config';\nimport {PortalConfigService} from '../../services/portal-config.service';\nimport {Organization} from '../../models/fasten/organization';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n\n constructor(\n private authService: AuthService,\n private connectService: ConnectService,\n public portalConfigService: PortalConfigService,\n private router: Router,\n ) { }\n\n ngOnInit() {\n\n this.portalConfigService.ConfigSubject.subscribe((config: PortalConfig) => {\n console.log(\"Configuration changed:\", config)\n if(config.user && config.user.org_id && !config.org){\n console.log(\"attempt to download org information, and store in config\")\n this.connectService.getOrg(config.user.org_id).subscribe((org: Organization )=>{\n console.log(\"org:\", org)\n this.portalConfigService.config = {org: org}\n })\n }\n });\n\n }\n\n toggleHeaderMenu(event: Event) {\n event.preventDefault();\n document.querySelector('body')?.classList.toggle('az-header-menu-show');\n }\n closeMenu(e: Event) {\n (e.target as HTMLElement).closest('.dropdown')?.classList.remove('show');\n (e.target as HTMLElement).closest('.dropdown .dropdown-menu')?.classList.remove('show');\n }\n\n signOut(event: Event) {\n this.authService.Signout().then(r => {\n return this.router.navigate(['/auth/signin'])\n })\n }\n}\n","
\n Test Mode Enabled\n You're using test data. You will only be able to access sandbox accounts.\n
\n\n
\n
\n
\n \n \n \n \n
\n
\n
\n \n \"fasten\"\n \n ×\n
\n \n
\n
\n\n
\n \n
\n
\n \n
\n
Notifications
\n

Background Jobs & Updates

\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \"\"\n
\n
{{portalConfigService.config$.user?.name}}
\n
\n\n Profile Settings\n Org Settings\n Get Support\n Sign Out\n
\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport {ImageCroppedEvent, LoadedImage} from 'ngx-image-cropper';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport {NgbActiveModal, NgbModal} from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-logo-cropper',\n templateUrl: './logo-cropper.component.html',\n styleUrls: ['./logo-cropper.component.scss']\n})\nexport class LogoCropperComponent implements OnInit {\n\n //image cropper\n imageChangedEvent: any = '';\n croppedImage: any = '';\n croppedImageEvent: ImageCroppedEvent | null = null;\n submitLogoLoading = false;\n\n constructor(\n public activeModal: NgbActiveModal,\n private modalService: NgbModal,\n private sanitizer: DomSanitizer\n ) { }\n\n ngOnInit(): void {\n }\n\n fileChangeEvent(event: any): void {\n this.imageChangedEvent = event;\n }\n imageCropped(event: ImageCroppedEvent) {\n this.croppedImage = this.sanitizer.bypassSecurityTrustUrl(event.objectUrl!);\n // event.blob can be used to upload the cropped image\n this.croppedImageEvent = event;\n }\n imageLoaded(image: LoadedImage) {\n // show cropper\n }\n cropperReady() {\n // cropper ready\n }\n loadImageFailed() {\n // show message\n }\n\n onSubmit() {\n console.log(this.croppedImage)\n this.activeModal.close(this.croppedImageEvent)\n }\n}\n","
\n

Organization Logo

\n \n
\n\n
\n
\n
\n

Fasten Connect requires a logo for display when connecting providers

\n \n\n \n\n
\n
\n
\n\n
\n \n \n
\n","import {Component, Input, OnInit} from '@angular/core';\nimport {ApiMode, URL_PATTERN} from '../../app.constants';\nimport {OrganizationCredential} from '../../models/fasten/organization-credential';\nimport {ConnectService} from '../../services/connect.service';\nimport {Organization} from '../../models/fasten/organization';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-org-credentials-editor',\n templateUrl: './org-credentials-editor.component.html',\n styleUrls: ['./org-credentials-editor.component.scss']\n})\nexport class OrgCredentialsEditorComponent implements OnInit {\n urlPattern = URL_PATTERN\n\n @Input() editorMode: 'create' | 'edit' = 'create'\n @Input() org: Organization | null = null\n @Input() apiMode: ApiMode = ApiMode.Test\n @Input() orgCredential: OrganizationCredential | null = null //only set when editing\n\n submitOrgCredentialLoading: boolean = false\n deleteOrgCredentialLoading: boolean = false\n redirectUri: string = \"\"\n submitOrgCredentialError: string = ''\n\n\n constructor(\n private connectService: ConnectService,\n public activeModal: NgbActiveModal\n ) { }\n\n ngOnInit(): void {\n if (this.editorMode === 'edit' && this.orgCredential) {\n this.redirectUri = this.orgCredential.redirect_uri\n }\n }\n\n public deleteOrgCredential() {\n if (confirm(\"Are you sure you'd like to delete these API Credentials?\") == true) {\n this.deleteOrgCredentialLoading = true\n\n if(!this.orgCredential?.id){\n this.deleteOrgCredentialLoading = false\n this.submitOrgCredentialError = \"Unknown Organization Credential ID\"\n return\n }\n\n this.connectService.deleteOrgCredential(this.org!.id, this.orgCredential.id).subscribe((result) => {\n console.log(\"Deleted Org Credential\", result)\n this.deleteOrgCredentialLoading = false\n this.activeModal.close(result)\n }, (error: any) => {\n console.log(\"Error Updating Org Credential\", error)\n this.deleteOrgCredentialLoading = false\n this.submitOrgCredentialError = JSON.stringify(error)\n\n },\n () => {\n console.log(\"Completed Deleting Org Credential\")\n this.deleteOrgCredentialLoading = false\n })\n\n }\n }\n\n public updateOrgCredential() {\n this.submitOrgCredentialLoading = true\n this.submitOrgCredentialError = ''\n\n if(!this.orgCredential?.id){\n this.submitOrgCredentialLoading = false\n this.submitOrgCredentialError = \"Unknown Organization Credential ID\"\n return\n }\n if(this.redirectUri == this.orgCredential.redirect_uri){\n this.submitOrgCredentialLoading = false\n this.submitOrgCredentialError = \"Redirect URI has not changed\"\n }\n\n this.connectService.updateOrgCredential(this.org!.id, this.orgCredential.id, this.redirectUri).subscribe((result) => {\n console.log(\"Updated Org Credential\", result)\n this.submitOrgCredentialLoading = false\n this.activeModal.close(result)\n }, (error: any) => {\n console.log(\"Error Updating Org Credential\", error)\n this.submitOrgCredentialLoading = false\n this.submitOrgCredentialError = JSON.stringify(error)\n\n },\n () => {\n console.log(\"Completed Updating Org Credential\")\n this.submitOrgCredentialLoading = false\n })\n }\n\n public createOrgCredential() {\n this.submitOrgCredentialLoading = true\n this.submitOrgCredentialError = ''\n\n if(!this.org?.id){\n this.submitOrgCredentialLoading = false\n this.submitOrgCredentialError = \"Unknown Organization ID\"\n return\n }\n\n\n this.connectService.createOrgCredentials(this.org.id, this.apiMode, this.redirectUri).subscribe((result) => {\n console.log(\"Added Org Credential\", result)\n this.submitOrgCredentialLoading = false\n this.activeModal.close(result)\n }, (error: any) => {\n console.log(\"Error Adding Org Credential\", error)\n this.submitOrgCredentialLoading = false\n this.submitOrgCredentialError = JSON.stringify(error)\n\n },\n () => {\n console.log(\"Completed Adding Org Credential\")\n this.submitOrgCredentialLoading = false\n })\n }\n\n}\n","
\n

{{editorMode == 'create' ? 'Create' : 'Update' }} Credential

\n \n
\n
\n

\n API Credentials are used by your application to access the Fasten Connect API\n

\n\n
\n
\n \n
\n \n
\n
\n\n
\n\n
\n Redirect Url is required.\n
\n
\n Redirect Url must be a valid url starting with https://\n
\n
\n\n
\n {{submitOrgCredentialError}}\n
\n\n
\n
\n
\n
\n \n \n\n \n \n\n \n \n \n
\n
\n","import {Component, Input, OnInit} from '@angular/core';\nimport {ApiMode, URL_PATTERN} from '../../app.constants';\nimport {Organization} from '../../models/fasten/organization';\nimport {OrganizationCredential} from '../../models/fasten/organization-credential';\nimport {OrganizationWebhook} from '../../models/fasten/organization-webhook';\nimport {ConnectService} from '../../services/connect.service';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-org-webhooks-editor',\n templateUrl: './org-webhooks-editor.component.html',\n styleUrls: ['./org-webhooks-editor.component.scss']\n})\nexport class OrgWebhooksEditorComponent implements OnInit {\n urlPattern = URL_PATTERN\n\n @Input() editorMode: 'create' | 'edit' = 'create'\n @Input() org: Organization | null = null\n @Input() apiMode: ApiMode = ApiMode.Test\n @Input() orgWebhook: OrganizationWebhook | null = null //only set when editing\n\n submitOrgWebhookLoading: boolean = false\n deleteOrgWebhookLoading: boolean = false\n endpointUri: string = \"\"\n submitOrgWebhookError: string = ''\n\n constructor(\n private connectService: ConnectService,\n public activeModal: NgbActiveModal\n ) { }\n\n ngOnInit(): void {\n if (this.editorMode === 'edit' && this.orgWebhook) {\n this.endpointUri = this.orgWebhook.endpoint_uri\n }\n }\n\n public deleteOrgWebhook() {\n if (confirm(\"Are you sure you'd like to delete this Webhook?\") == true) {\n this.deleteOrgWebhookLoading = true\n\n if(!this.orgWebhook?.id){\n this.deleteOrgWebhookLoading = false\n this.submitOrgWebhookError = \"Unknown Organization Webhook ID\"\n return\n }\n\n this.connectService.deleteOrgWebhook(this.org!.id, this.orgWebhook.id).subscribe((result) => {\n console.log(\"Deleted Org Webhook\", result)\n this.deleteOrgWebhookLoading = false\n this.activeModal.close(result)\n }, (error: any) => {\n console.log(\"Error Updating Org Webhook\", error)\n this.deleteOrgWebhookLoading = false\n this.submitOrgWebhookError = JSON.stringify(error)\n\n },\n () => {\n console.log(\"Completed Deleting Org Webhook\")\n this.deleteOrgWebhookLoading = false\n })\n\n }\n }\n\n public updateOrgWebhook() {\n this.submitOrgWebhookLoading = true\n this.submitOrgWebhookError = ''\n\n if(!this.orgWebhook?.id){\n this.submitOrgWebhookLoading = false\n this.submitOrgWebhookError = \"Unknown Organization Webhook ID\"\n return\n }\n if(this.endpointUri == this.orgWebhook.endpoint_uri){\n this.submitOrgWebhookLoading = false\n this.submitOrgWebhookError = \"Endpoint URI has not changed\"\n }\n\n this.connectService.updateOrgWebhook(this.org!.id, this.orgWebhook.id, this.endpointUri).subscribe((result) => {\n console.log(\"Updated Org Webhook\", result)\n this.submitOrgWebhookLoading = false\n this.activeModal.close(result)\n }, (error: any) => {\n console.log(\"Error Updating Org Webhook\", error)\n this.submitOrgWebhookLoading = false\n this.submitOrgWebhookError = JSON.stringify(error)\n\n },\n () => {\n console.log(\"Completed Updating Org Webhook\")\n this.submitOrgWebhookLoading = false\n })\n }\n\n public createOrgWebhook() {\n this.submitOrgWebhookLoading = true\n this.submitOrgWebhookError = ''\n\n if(!this.org?.id){\n this.submitOrgWebhookLoading = false\n this.submitOrgWebhookError = \"Unknown Organization ID\"\n return\n }\n\n\n this.connectService.createOrgWebhooks(this.org.id, this.apiMode!, this.endpointUri).subscribe((result) => {\n this.submitOrgWebhookLoading = false\n this.activeModal.close(result)\n }, (error: any) => {\n console.log(\"Error Adding Org Webhook\", error)\n this.submitOrgWebhookLoading = false\n this.submitOrgWebhookError = JSON.stringify(error)\n\n },\n () => {\n console.log(\"Completed Adding Org Webhook\")\n this.submitOrgWebhookLoading = false\n })\n }\n\n}\n","
\n

{{editorMode == 'create' ? 'Create' : 'Update' }} Webhook

\n \n
\n
\n

\n Webhooks allow Fasten Connect to notify you once patient medical records have been retrieved and are ready for download.\n

\n

\n\n

\n\n
\n Testing If you don't have an environment to receive webhooks, you can use requestbin.com to test.\n
\n\n
\n
\n \n
\n \n
\n
\n\n
\n\n
\n Endpoint Url is required\n
\n
\n Endpoint Url must be a valid url starting with https://\n
\n
\n\n
\n {{submitOrgWebhookError}}\n
\n\n
\n
\n
\n
\n \n \n\n \n \n\n \n \n \n
\n
\n","import { Directive } from '@angular/core';\nimport {AbstractControl, NG_VALIDATORS, ValidationErrors, Validator} from '@angular/forms';\n\n@Directive({\n selector: '[passwordConfirmValidator]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: PasswordConfirmValidatorDirective,\n multi: true,\n },\n ],\n standalone: true,\n})\nexport class PasswordConfirmValidatorDirective implements Validator {\n\n validate(control: AbstractControl): ValidationErrors | null {\n const password = control.get('password');\n const passwordConfirm = control.get('password_confirm');\n\n return password && passwordConfirm && password.value !== passwordConfirm.value\n ? { password_confirm: true }\n : null;\n }\n}\n","\nexport class Organization {\n id: string = \"\"\n name: string = \"\"\n logo_uri: string = \"\"\n privacy_policy_uri: string = \"\"\n website_uri: string = \"\"\n terms_and_conditions_uri?: string = \"\"\n company_size?: string = \"\"\n plan?: string = \"\"\n}\n","export class User {\n id?: string\n name?: string\n email?: string\n password?: string\n org_id?: string\n\n //not sent to the server\n password_confirm?: string = \"\"\n agree_terms?: boolean = false\n}\n","/**\n * AppConfig interface. Update this interface to strictly type your config\n * object.\n */\nimport {ApiMode} from '../app.constants';\nimport {Organization} from './fasten/organization';\nimport {User} from './fasten/user';\n\nexport interface PortalConfig {\n apiMode?: ApiMode;\n org?: Organization;\n user?: User\n}\n\n/**\n * Default configuration for the entire application. This object is used by\n * \"PortalConfigService\" to set the default configuration.\n */\nexport const portalConfigDefaults: PortalConfig = {\n apiMode: ApiMode.Test\n};\n","import { Component, OnInit } from '@angular/core';\nimport {PortalConfigService} from '../../services/portal-config.service';\n\n@Component({\n selector: 'app-account-settings',\n templateUrl: './account-settings.component.html',\n styleUrls: ['./account-settings.component.scss']\n})\nexport class AccountSettingsComponent implements OnInit {\n\n constructor(\n public portalConfig: PortalConfigService,\n ) { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n\n\n
\n
\n

{{portalConfig.config$?.user?.name}}

\n

{{portalConfig.config$?.user?.email}}

\n
\n
\n\n\n
\n
\n
\n
\n Update Password\n
\n\n
\n

Use this form to change the password you use to login to your account

\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n \n\n
\n\n
\n
\n\n\n
\n\n
\n
\n Update Email Address\n
\n\n
\n

Use this form to change the email address associated with your account.

\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n \n
\n
\n
\n
\n\n
\n","import {Component, OnInit} from '@angular/core';\nimport {User} from '../../models/fasten/user';\nimport {Router} from '@angular/router';\nimport {AuthService} from '../../services/auth.service';\n\n@Component({\n selector: 'app-auth-signin',\n templateUrl: './auth-signin.component.html',\n styleUrls: ['./auth-signin.component.scss']\n})\nexport class AuthSigninComponent implements OnInit {\n loading: boolean = false\n\n submitted: boolean = false\n existingUser: User = new User()\n errorMsg: string = \"\"\n\n constructor(\n private authService: AuthService,\n private router: Router,\n ) { }\n\n ngOnInit(): void {}\n\n signinSubmit(){\n this.submitted = true;\n this.loading = true\n\n this.authService.Signin(this.existingUser.email!, this.existingUser.password!)\n .then(() => {\n this.loading = false\n this.router.navigateByUrl('/dashboard')\n })\n .catch((err)=>{\n this.loading = false\n if(err?.name){\n this.errorMsg = \"email or password is incorrect\"\n } else{\n this.errorMsg = \"an unknown error occurred during sign-in\"\n }\n // const toastNotification = new ToastNotification()\n // toastNotification.type = ToastType.Error\n // toastNotification.message = this.errorMsg\n // this.toastService.show(toastNotification)\n })\n }\n}\n","
\n
\n \"fasten\"\n\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport {AuthService} from '../../services/auth.service';\nimport {Router} from '@angular/router';\nimport {Organization} from '../../models/fasten/organization';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport {ImageCroppedEvent, LoadedImage} from 'ngx-image-cropper';\nimport {NgbModal} from '@ng-bootstrap/ng-bootstrap';\nimport {LogoCropperComponent} from '../../components/logo-cropper/logo-cropper.component';\nimport {ConnectService} from '../../services/connect.service';\nimport {URL_PATTERN} from '../../app.constants';\n\n@Component({\n selector: 'app-auth-signup-organization',\n templateUrl: './auth-signup-organization.component.html',\n styleUrls: ['./auth-signup-organization.component.scss']\n})\nexport class AuthSignupOrganizationComponent implements OnInit {\n\n gridImages: string[] = [\n \"f8f9ce28-d79b-4b54-9f7d-3f0aaba88c2c.png\",\n \"89bb6993-b806-49a2-84e2-6e70705c504a.png\",\n \"9fcc4529-7dc9-4c66-9198-574f978c8bb7.png\",\n \"68952002-f17e-4086-aae5-841241b194dd.png\",\n \"767b97b9-4538-433f-ab7a-14ccb0053323.png\",\n \"74078880-4084-430e-bc6c-223e5990cef8.png\",\n \"10668246-1077-4c1d-a6ce-0557c9476e77.png\",\n \"f7e4fc08-c6f6-426b-be98-d60aa36d3b8b.png\",\n \"65308856-beaa-46a0-9775-20c6c9322add.png\",\n \"6e901e85-8f45-4c60-8d1f-12621aad07f1.png\",\n \"e675376d-03de-4e66-8196-eaccda536ad5.png\",\n \"a36fd256-2751-464f-b6d7-418279595b1e.png\",\n \"c623f37e-6399-4a13-909f-3d9886130673.png\",\n \"467592a3-7f5f-4258-909e-a99ca971ce15.png\",\n \"5ad8a5ab-6570-4f1e-8002-30a051ec52c2.png\",\n \"ddbef50d-3940-4411-9dea-6bf759704c6e.png\",\n \"fc2dcde0-0848-4b09-aeaf-bfef58120de9.png\",\n \"347c0df7-5817-470e-8b28-2802f90461f6.png\",\n \"ec5bc181-5466-4ebd-9e42-471593b8d104.png\",\n \"d3b1eba5-ec53-4e6d-9600-9510afbc4dda.png\",\n \"16483fad-5c24-4766-ad53-bd78551f0768.png\",\n \"ae8026ed-e74b-4bf3-9f53-458c250420ba.png\",\n \"907d39f4-6b30-46cd-b0c8-f525c636c933.png\",\n \"6b076b97-18f7-452d-9f09-20dffb01729f.png\",\n \"c7feccc5-ad10-4aeb-91b0-12b6b93feeba.png\",\n \"c66a7c1e-21f2-44aa-9486-cdfb5ad699ba.png\",\n \"82af2366-1d27-4665-ba99-e5a60a75205a.png\",\n \"2289e832-64da-47d9-82ef-1f4e15ccf627.png\",\n \"26768525-2b04-4715-9159-3679598289a3.png\",\n \"80af4067-77e9-4c13-b617-4f370dc14d3f.png\",\n \"ec6c5f06-d7f8-4eac-8e2f-6cda4536d8ab.png\",\n \"93ee1d70-6eaa-487b-84d1-cc18bcda253f.png\",\n \"6d5ba4db-4b63-4277-bb80-dc278dbe28bd.png\",\n \"b22e4e71-1121-4fca-b158-efbb906918e9.png\",\n \"49fd46d0-05ce-4c7d-923c-3891935f6947.png\",\n \"19652f82-98b9-44e6-9964-e426192a723d.png\",\n \"314a06fc-4efc-4e34-8048-565455e4f3e1.png\",\n \"8123cfc7-53b6-45d6-ace3-b64d4bd3234b.png\",\n \"35159b16-a1b5-45ba-9d4f-83f471d5f44b.png\",\n \"d6c0016f-aaec-4764-ac28-7a6eda64b693.png\",\n \"d09c7811-213b-4c19-9154-48e57174f239.png\",\n \"2bcdcc4c-0f13-4edb-85f4-2c9f4f948df0.png\",\n \"4a4720a0-0efc-4b63-a83d-a8cc5b1c15ad.png\",\n \"98f680b2-15c4-4854-902b-ed6b69425164.png\",\n \"32283b0a-3c36-4f92-b9c2-dd2edf3a3db1.png\",\n \"d56e9e82-3f62-4ce8-8a55-27da90fbe183.png\",\n \"4fc37973-195c-4e25-8751-331a3b88e685.png\",\n \"fb0bb8fa-8336-4b26-bdc5-7f8a432c1d94.png\",\n \"7ca2d9d1-d300-479d-ab85-f956b6ef60de.png\",\n \"4fd8bb55-bb2d-4748-a134-bbab7a22e4db.png\",\n \"63cde119-f9d8-468d-900a-1976211739f8.png\",\n \"e8290a84-88a1-4eac-a5b4-b2c63146b2c9.png\",\n \"13b592f9-5c8b-4f90-aa54-5ab57a29ea89.png\",\n \"0398ce8e-9200-430c-a654-f2057bc9a2d4.png\",\n \"92b1d310-99a1-4de2-99b6-975eaf5a3744.png\",\n \"418d563f-bd82-473f-a738-cd9775db4e56.png\",\n \"8fb52893-1e93-4fea-adba-838e9b42e4d2.png\",\n \"acec8466-8b0a-4adc-9929-561b7136fccb.png\",\n \"3d01addb-1103-49ca-9c74-3027112e4aa8.png\",\n \"5f5973bf-d11c-4f99-9b86-b1303cea3503.png\",\n \"1317665c-e5c4-48b8-b3a5-2a90aa0283d7.png\",\n \"48f2153e-6f4a-4da5-99a5-775a888c218a.png\",\n \"34451b52-0f65-4e1a-91aa-5f2b1420f4b7.png\",\n \"d3a10e7c-63c1-4309-b801-e42ce6e575d5.png\",\n \"4c74937f-c30d-49c8-993e-c5a133f92414.png\",\n \"5c4c748f-acd5-4fc8-b6cd-a37f629709fb.png\",\n \"0293e1f1-291e-48ad-a5d0-cc7fcb062603.png\",\n \"407f63d2-8fc7-42dd-9a46-23c76693789b.png\",\n \"6d5de058-cc60-4f07-89db-bcc6817bb115.png\",\n \"a1c9be32-3539-4390-bf01-828d5fb9f57d.png\",\n \"562c8d0a-e524-49d7-81c2-70b34b4b9a15.png\",\n \"8023b832-eaca-414a-9a53-c2fe423087d2.png\",\n \"e8e73128-7722-4514-9684-1c17d43d880e.png\",\n \"24cb81a7-dd2b-4b07-808b-f6611fea0393.png\",\n \"5266bc57-58db-4171-8d73-a2a40ff380d2.png\",\n \"9752c0a1-49f5-4842-8554-bfa3a6a3c3b4.png\",\n \"df4a6dd3-672f-4547-8ade-609df28dcda9.png\",\n \"921bb517-fdc9-4ca2-b9fc-a9e17e6cb8fc.png\",\n \"e3f229a1-8637-49b1-abaa-84d228aff34a.png\",\n \"53f22687-4635-4bff-99e2-2eacdc402359.png\",\n \"c7fe32b2-97c6-45f7-90f8-47213c9b85f1.png\",\n \"a7a87c72-1d8a-42d6-b0a4-c72b7dd8933a.png\",\n \"2630415e-1871-437a-84de-52ad7ce88f3e.png\",\n \"b53ff282-4725-45f7-a436-89f77320f062.png\",\n ]\n\n loading: boolean = false\n\n urlPattern = URL_PATTERN\n\n submitted: boolean = false\n newOrg: Organization = new Organization()\n errorMsg: string = \"\"\n\n croppedImage: any = '';\n croppedImageEvent: ImageCroppedEvent | null = null;\n\n constructor(\n private connectService: ConnectService,\n private router: Router,\n private modalService: NgbModal,\n private sanitizer: DomSanitizer\n ) { }\n\n ngOnInit(): void {\n }\n\n signupOrgSubmit(){\n this.loading = true\n this.submitted = true;\n\n this.newOrg.logo_uri = \"https://example.com\" //TODO: placeholder logo url.\n console.log(\"starting signup process...\",this.newOrg)\n this.connectService.createOrg(this.newOrg, this.croppedImageEvent?.blob!).subscribe(\n (resp) => {\n console.log(\"Organization Created\", resp)\n this.router.navigate(['/dashboard'])\n },\n (err) => {\n console.error(\"Error creating Organization\", err)\n this.errorMsg = err.error.message\n this.loading = false\n }\n )\n\n }\n openLogoCropper(){\n this.modalService.open(LogoCropperComponent).result.then(\n (result) => {\n this.croppedImageEvent = result\n this.croppedImage = this.sanitizer.bypassSecurityTrustUrl(this.croppedImageEvent?.objectUrl!);\n },\n (reason) => {\n console.log(`Dismissed`, reason);\n },\n );\n }\n\n}\n","
\n
\n\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n \n\n
\n
\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport {User} from '../../models/fasten/user';\nimport {AuthService} from '../../services/auth.service';\nimport {Router} from '@angular/router';\nimport {STRONG_PASSWORD_PATTERN} from '../../app.constants';\n\n@Component({\n selector: 'app-auth-signup',\n templateUrl: './auth-signup.component.html',\n styleUrls: ['./auth-signup.component.scss']\n})\nexport class AuthSignupComponent implements OnInit {\n\n strong_password_pattern = STRONG_PASSWORD_PATTERN\n\n gridImages: string[] = [\n \"f8f9ce28-d79b-4b54-9f7d-3f0aaba88c2c.png\",\n \"89bb6993-b806-49a2-84e2-6e70705c504a.png\",\n \"9fcc4529-7dc9-4c66-9198-574f978c8bb7.png\",\n \"68952002-f17e-4086-aae5-841241b194dd.png\",\n \"767b97b9-4538-433f-ab7a-14ccb0053323.png\",\n \"74078880-4084-430e-bc6c-223e5990cef8.png\",\n \"10668246-1077-4c1d-a6ce-0557c9476e77.png\",\n \"f7e4fc08-c6f6-426b-be98-d60aa36d3b8b.png\",\n \"65308856-beaa-46a0-9775-20c6c9322add.png\",\n \"6e901e85-8f45-4c60-8d1f-12621aad07f1.png\",\n \"e675376d-03de-4e66-8196-eaccda536ad5.png\",\n \"a36fd256-2751-464f-b6d7-418279595b1e.png\",\n \"c623f37e-6399-4a13-909f-3d9886130673.png\",\n \"467592a3-7f5f-4258-909e-a99ca971ce15.png\",\n \"5ad8a5ab-6570-4f1e-8002-30a051ec52c2.png\",\n \"ddbef50d-3940-4411-9dea-6bf759704c6e.png\",\n \"fc2dcde0-0848-4b09-aeaf-bfef58120de9.png\",\n \"347c0df7-5817-470e-8b28-2802f90461f6.png\",\n \"ec5bc181-5466-4ebd-9e42-471593b8d104.png\",\n \"d3b1eba5-ec53-4e6d-9600-9510afbc4dda.png\",\n \"16483fad-5c24-4766-ad53-bd78551f0768.png\",\n \"ae8026ed-e74b-4bf3-9f53-458c250420ba.png\",\n \"907d39f4-6b30-46cd-b0c8-f525c636c933.png\",\n \"6b076b97-18f7-452d-9f09-20dffb01729f.png\",\n \"c7feccc5-ad10-4aeb-91b0-12b6b93feeba.png\",\n \"c66a7c1e-21f2-44aa-9486-cdfb5ad699ba.png\",\n \"82af2366-1d27-4665-ba99-e5a60a75205a.png\",\n \"2289e832-64da-47d9-82ef-1f4e15ccf627.png\",\n \"26768525-2b04-4715-9159-3679598289a3.png\",\n \"80af4067-77e9-4c13-b617-4f370dc14d3f.png\",\n \"ec6c5f06-d7f8-4eac-8e2f-6cda4536d8ab.png\",\n \"93ee1d70-6eaa-487b-84d1-cc18bcda253f.png\",\n \"6d5ba4db-4b63-4277-bb80-dc278dbe28bd.png\",\n \"b22e4e71-1121-4fca-b158-efbb906918e9.png\",\n \"49fd46d0-05ce-4c7d-923c-3891935f6947.png\",\n \"19652f82-98b9-44e6-9964-e426192a723d.png\",\n \"314a06fc-4efc-4e34-8048-565455e4f3e1.png\",\n \"8123cfc7-53b6-45d6-ace3-b64d4bd3234b.png\",\n \"35159b16-a1b5-45ba-9d4f-83f471d5f44b.png\",\n \"d6c0016f-aaec-4764-ac28-7a6eda64b693.png\",\n \"d09c7811-213b-4c19-9154-48e57174f239.png\",\n \"2bcdcc4c-0f13-4edb-85f4-2c9f4f948df0.png\",\n \"4a4720a0-0efc-4b63-a83d-a8cc5b1c15ad.png\",\n \"98f680b2-15c4-4854-902b-ed6b69425164.png\",\n \"32283b0a-3c36-4f92-b9c2-dd2edf3a3db1.png\",\n \"d56e9e82-3f62-4ce8-8a55-27da90fbe183.png\",\n \"4fc37973-195c-4e25-8751-331a3b88e685.png\",\n \"fb0bb8fa-8336-4b26-bdc5-7f8a432c1d94.png\",\n \"7ca2d9d1-d300-479d-ab85-f956b6ef60de.png\",\n \"4fd8bb55-bb2d-4748-a134-bbab7a22e4db.png\",\n \"63cde119-f9d8-468d-900a-1976211739f8.png\",\n \"e8290a84-88a1-4eac-a5b4-b2c63146b2c9.png\",\n \"13b592f9-5c8b-4f90-aa54-5ab57a29ea89.png\",\n \"0398ce8e-9200-430c-a654-f2057bc9a2d4.png\",\n \"92b1d310-99a1-4de2-99b6-975eaf5a3744.png\",\n \"418d563f-bd82-473f-a738-cd9775db4e56.png\",\n \"8fb52893-1e93-4fea-adba-838e9b42e4d2.png\",\n \"acec8466-8b0a-4adc-9929-561b7136fccb.png\",\n \"3d01addb-1103-49ca-9c74-3027112e4aa8.png\",\n \"5f5973bf-d11c-4f99-9b86-b1303cea3503.png\",\n \"1317665c-e5c4-48b8-b3a5-2a90aa0283d7.png\",\n \"48f2153e-6f4a-4da5-99a5-775a888c218a.png\",\n \"34451b52-0f65-4e1a-91aa-5f2b1420f4b7.png\",\n \"d3a10e7c-63c1-4309-b801-e42ce6e575d5.png\",\n \"4c74937f-c30d-49c8-993e-c5a133f92414.png\",\n \"5c4c748f-acd5-4fc8-b6cd-a37f629709fb.png\",\n \"0293e1f1-291e-48ad-a5d0-cc7fcb062603.png\",\n \"407f63d2-8fc7-42dd-9a46-23c76693789b.png\",\n \"6d5de058-cc60-4f07-89db-bcc6817bb115.png\",\n \"a1c9be32-3539-4390-bf01-828d5fb9f57d.png\",\n \"562c8d0a-e524-49d7-81c2-70b34b4b9a15.png\",\n \"8023b832-eaca-414a-9a53-c2fe423087d2.png\",\n \"e8e73128-7722-4514-9684-1c17d43d880e.png\",\n \"24cb81a7-dd2b-4b07-808b-f6611fea0393.png\",\n \"5266bc57-58db-4171-8d73-a2a40ff380d2.png\",\n \"9752c0a1-49f5-4842-8554-bfa3a6a3c3b4.png\",\n \"df4a6dd3-672f-4547-8ade-609df28dcda9.png\",\n \"921bb517-fdc9-4ca2-b9fc-a9e17e6cb8fc.png\",\n \"e3f229a1-8637-49b1-abaa-84d228aff34a.png\",\n \"53f22687-4635-4bff-99e2-2eacdc402359.png\",\n \"c7fe32b2-97c6-45f7-90f8-47213c9b85f1.png\",\n \"a7a87c72-1d8a-42d6-b0a4-c72b7dd8933a.png\",\n \"2630415e-1871-437a-84de-52ad7ce88f3e.png\",\n \"b53ff282-4725-45f7-a436-89f77320f062.png\",\n ]\n\n loading: boolean = false\n\n submitted: boolean = false\n newUser: User = new User()\n errorMsg: string = \"\"\n\n\n constructor(\n private authService: AuthService,\n private router: Router,\n ) { }\n\n ngOnInit(): void {\n }\n\n signupSubmit(){\n this.loading = true\n this.submitted = true;\n\n this.authService.Signup(this.newUser).then((tokenResp: any) => {\n this.loading = false\n console.log(tokenResp);\n //after creating a user, proceed to create an organization\n this.router.navigateByUrl('/auth/signup/org');\n },\n (err)=>{\n this.loading = false\n console.error(\"an error occured while signup\",err)\n if(err.name === 'conflict') {\n // \"batman\" already exists, choose another username\n this.errorMsg = \"username already exists\"\n } else if (err.name === 'forbidden') {\n // invalid username\n this.errorMsg = \"invalid username\"\n } else {\n this.errorMsg = \"an unknown error occurred during sign-up\"\n }\n\n // TODO:\n // const toastNotificaiton = new ToastNotification()\n // toastNotificaiton.type = ToastType.Error\n // toastNotificaiton.message = this.errorMsg\n // this.toastService.show(toastNotificaiton)\n })\n }\n\n}\n","
\n
\n\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n \n\n
\n
\n\n\n\n","import {Component, OnInit} from '@angular/core';\nimport {ChartConfiguration} from 'chart.js';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss']\n})\nexport class DashboardComponent implements OnInit {\n\n\n constructor() { }\n\n ngOnInit(): void {\n\n }\n\n bounceRateChartData = [{\n label: 'This week',\n data: [27.2, 29.9, 29.6, 25.7, 25.9, 29.3, 31.1, 27.9, 28.4, 25.4, 23.2, 18.2, 14, 12.7, 11, 13.7, 9.7, 12.6, 10.9, 12.7, 13.8, 12.9, 13.8, 10.2, 5.8, 7.6, 8.8, 5.6, 5.6, 6.3, 4.2, 3.6, 5.4, 6.5, 8.1, 10.9, 7.6, 9.7, 10.9, 9.5, 5.4, 4.9, .7, 2.3, 5.5, 10, 10.6, 8.3, 8.4, 8.5, 5.8 ],\n borderWidth: 2,\n fill: true\n }];\n\n bounceRateChartLabels = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51'];\n\n bounceRateChartOptions = {\n\n responsive:true,\n maintainAspectRatio:false,\n scales: {\n y: {\n display: false,\n gridLines: {\n drawBorder: false,\n display: true,\n drawTicks: false,\n },\n ticks: {\n display: false,\n beginAtZero: true,\n min: 0,\n max: 40,\n stepSize: 10,\n }\n },\n x: {\n display: false,\n position: 'bottom',\n gridLines: {\n drawBorder: false,\n display: false,\n drawTicks: false,\n },\n ticks: {\n beginAtZero: true,\n stepSize: 10,\n fontColor: \"#a7afb7\",\n padding: 10,\n }\n },\n },\n plugins: {\n legend: {\n display: false,\n },\n },\n\n elements: {\n point: {\n radius: 0\n },\n line: {\n tension: 0\n }\n },\n tooltips: {\n backgroundColor: 'rgba(2, 171, 254, 1)',\n },\n backgroundColor: 'rgba(0, 204, 212, .2)',\n borderColor: 'rgb(0, 204, 212)',\n } as ChartConfiguration<'line'>['options']\n\n // Total users chart\n usersBarChartData = [{\n label: '# of Votes',\n data: [27.2, 29.9, 29.6, 25.7, 25.9, 29.3, 31.1, 27.9, 28.4, 25.4, 23.2, 18.2, 14, 12.7, 11, 13.7, 9.7, 12.6, 10.9, 12.7, 13.8],\n borderWidth: 1,\n fill: false\n }];\n\n usersBarChartLabels = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18'];\n\n usersBarChartOptions = {\n\n responsive:true,\n maintainAspectRatio:false,\n scales: {\n y: {\n display: false,\n ticks: {\n display: false,\n },\n gridLines: {\n drawBorder: false,\n display: false\n }\n },\n x: {\n display: false,\n barThickness: 5.5,\n ticks: {\n display: false,\n },\n gridLines: {\n drawBorder: false,\n display: false\n }\n }\n },\n plugins: {\n legend: {\n display: false\n },\n },\n elements: {\n point: {\n radius: 0\n }\n },\n backgroundColor: '#007bff',\n borderColor: '#007bff'\n } as ChartConfiguration<'bar'>['options']\n\n}\n","
\n
\n
\n
\n
\n

Welcome back!

\n
\n
\n
\n
\n \n
Mar 24, 2024
\n
\n
\n
\n
\n \n
None
\n
\n
\n\n
\n
\n\n
\n \n Under Construction! The Dashboard is still under development. We will notify you once you can start using it.\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n
33.50% 18.02%
\n

API Requests

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
86 0.86%
\n

Webhooks

\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n\n
\n
\n
Connections
\n Total number of authorized patient connections for this billing period.\n
\n
\n
\n
\n 6,4,7,5,7\n
\n
\n \n

33

\n
\n
\n
\n
\n 7,4,5,7,2\n
\n
\n \n

9

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Authorized Connections
\n

Recently connected healthcare insitutions.

\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 Portal NameSynced RecordsPatient Auth IDStatus
Epic134 (1.51%)6f3f3770-ad00-...complete
eClincalWorks290 (3.30%)ae5e7f40-4e7c-...complete
Medicare250 (3.00%)b3af4ab6-9275-...complete
Epic216 (2.79%)baccf6e8-f020-...complete
Epic216 (2.79%)61a193cc-33ed-...error
United Healthcare197 (2.12%)6a79f333-9408-...complete
\n
\n
\n
\n\n
\n\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport {NgbModal} from '@ng-bootstrap/ng-bootstrap';\nimport {ConnectService} from '../../services/connect.service';\nimport {ApiMode, CRUDMode, URL_PATTERN} from '../../app.constants';\nimport {PortalConfigService} from '../../services/portal-config.service';\nimport {OrganizationCredential} from '../../models/fasten/organization-credential';\nimport {PortalConfig} from '../../models/portal-config';\nimport {OrganizationWebhook} from '../../models/fasten/organization-webhook';\nimport {OrgCredentialsEditorComponent} from '../../components/org-credentials-editor/org-credentials-editor.component';\nimport {OrgWebhooksEditorComponent} from '../../components/org-webhooks-editor/org-webhooks-editor.component';\n\n@Component({\n selector: 'app-developers',\n templateUrl: './developers.component.html',\n styleUrls: ['./developers.component.scss']\n})\nexport class DevelopersComponent implements OnInit {\n\n\n orgCredentials: {[name: string]: OrganizationCredential[]} = {\n [ApiMode.Live]: [],\n [ApiMode.Test]: [],\n }\n\n newCredential: {org_credential: OrganizationCredential, private_key: string} | null = null\n\n orgWebhooks: {[name: string]: OrganizationWebhook[]} = {\n [ApiMode.Live]: [],\n [ApiMode.Test]: [],\n }\n\n\n constructor(\n private connectService: ConnectService,\n private modalService: NgbModal,\n public portalConfig: PortalConfigService,\n ) { }\n\n ngOnInit(): void {\n\n this.connectService.getOrgCredentials(this.portalConfig.config$.user?.org_id!).subscribe((data) => {\n for(let cred of data){\n this.orgCredentials[cred.api_mode].push(cred)\n }\n })\n this.connectService.getOrgWebhooks(this.portalConfig.config$.user?.org_id!).subscribe((data) => {\n for(let hook of data){\n this.orgWebhooks[hook.api_mode].push(hook)\n }\n })\n }\n\n\n public showOrgCredentialEditorModal(editorMode: 'create' | 'edit', orgCredential?: OrganizationCredential) {\n let orgCredentialEditorModal = this.modalService.open(OrgCredentialsEditorComponent, { ariaLabelledBy: 'modal-basic-title' })\n orgCredentialEditorModal.componentInstance.org = this.portalConfig.config$.org\n orgCredentialEditorModal.componentInstance.apiMode = this.portalConfig.config$.apiMode!\n orgCredentialEditorModal.componentInstance.editorMode = editorMode\n\n if(editorMode === 'edit'){\n orgCredentialEditorModal.componentInstance.orgCredential = orgCredential\n }\n\n orgCredentialEditorModal.result.then(\n (result: {action: CRUDMode, org_credential: OrganizationCredential, private_key: string}) => {\n console.log(`Closed with:`, result)\n\n if(editorMode == 'create'){\n this.orgCredentials[result.org_credential.api_mode].push(result.org_credential)\n this.newCredential = result\n } else {\n //find the credential and update it or delete it\n let apiMode = result.org_credential.api_mode\n for(let i = 0; i < this.orgCredentials[apiMode].length; i++){\n if(this.orgCredentials[apiMode][i].id == result.org_credential.id){\n if(result.action == CRUDMode.Delete){\n this.orgCredentials[apiMode].splice(i, 1)\n break\n } else {\n //update the credential\n this.orgCredentials[apiMode][i] = result.org_credential\n break\n }\n }\n }\n }\n },\n (reason) => {\n console.log(`Dismissed ${reason}`)\n },\n );\n }\n\n public copyPublicId(credential: OrganizationCredential) {\n navigator.clipboard.writeText(credential.id);\n }\n\n\n public showOrgWebhookEditorModal(editorMode: 'create' | 'edit', orgWebhook?: OrganizationWebhook) {\n let orgWebhookEditorModal = this.modalService.open(OrgWebhooksEditorComponent, { ariaLabelledBy: 'modal-basic-title' })\n orgWebhookEditorModal.componentInstance.org = this.portalConfig.config$.org\n orgWebhookEditorModal.componentInstance.apiMode = this.portalConfig.config$.apiMode!\n orgWebhookEditorModal.componentInstance.editorMode = editorMode\n\n if(editorMode === 'edit'){\n orgWebhookEditorModal.componentInstance.orgWebhook = orgWebhook\n }\n orgWebhookEditorModal.result.then(\n (result: {action: CRUDMode, org_webhook: OrganizationWebhook}) => {\n console.log(`Closed with:`, result)\n\n let apiMode = result.org_webhook.api_mode\n if(editorMode == 'create'){\n this.orgWebhooks[apiMode].push(result.org_webhook)\n } else {\n apiMode = orgWebhook?.api_mode!\n //find the webhook and update it\n for(let i = 0; i < this.orgWebhooks[apiMode].length; i++){\n if(this.orgWebhooks[apiMode][i].id == result.org_webhook.id){\n if(result.action == CRUDMode.Delete){\n this.orgWebhooks[apiMode].splice(i, 1)\n break\n } else {\n //update the webhook\n this.orgWebhooks[apiMode][i] = result.org_webhook\n break\n }\n }\n }\n }\n },\n (reason) => {\n console.log(`Dismissed ${reason}`)\n },\n );\n }\n\n}\n","
\n \n\n\n
\n
\n API Credentials\n Learn more about API authentication\n
\n
\n\n\n
\n
\n Credentials\n \n
\n\n
\n

Create a key that unlocks full API access, enabling extensive interaction with your account.

\n\n
\n \n Credential Created! Make sure to copy your Private Key now. You won’t be able to see it again!\n
\n Public Id: {{newCredential.org_credential.id}}
\n Private Key: {{newCredential.private_key}}\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
StatusPublic IdPrivate KeyCreated
\n {{cred.status}}\n {{cred.id}} {{cred.private_key || 'REDACTED'}}{{cred.created_at | amDateFormat:'LL'}}\n \n
\n
\n\n
\n\n
\n
\n Webhooks\n \n
\n\n\n
\n

Set up your webhook endpoint to receive events from Fasten Connect or learn more about Webhooks.

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
StatusUrlEventsDelivery Logs
\n {{webhook.status}}\n {{webhook.endpoint_uri}}\n \n {{webhook?.event_types?.length}} event(s)\n \n \n \n
\n
\n\n\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport {PortalConfigService} from '../../services/portal-config.service';\nimport {environment} from '../../../environments/environment';\nimport {ConnectService} from '../../services/connect.service';\n\n@Component({\n selector: 'app-org-settings',\n templateUrl: './org-settings.component.html',\n styleUrls: ['./org-settings.component.scss']\n})\nexport class OrgSettingsComponent implements OnInit {\n\n stripe_customer_portal = environment.stripe_customer_portal;\n loading = false\n recentlyChanged = false\n\n constructor(\n public portalConfig: PortalConfigService,\n public connectService: ConnectService,\n ) { }\n\n ngOnInit(): void {\n\n //read query string parameters\n const urlParams = new URLSearchParams(window.location.search);\n const sessionId = urlParams.get('session_id');\n if(sessionId){\n this.recentlyChanged = true\n }\n\n }\n\n onUpgradePlan() {\n this.loading = true\n this.connectService.upgradePlanCheckoutRedirect().subscribe(() => {\n this.loading = false\n console.log(\"waiting for redirect\")\n })\n }\n}\n","
\n
\n
\n\n
\n
\n \"\"\n
\n
\n
\n
{{portalConfig.config$.org?.name}}
\n

{{portalConfig.config$.org?.plan}}

\n
\n
\n\n
\n \n
\n\n
\n\n
\n\n
\n
\n
\n\n
\n\n
\n
\n
\n Invoices & Payment Methods\n Please visit the Billing Portal\n
\n
\n\n
\n
\n\n
\n\n
\n
\n
\n \n Plan Changed! Your plan changed recently. It may take up to 24 hours to reflect plan changes in your organization profile.\n
\n\n\n
\n
\n
\n
\n
\n

Development

\n
\n

Free

\n
\n
Monthly
\n \n
    \n
  • Test mode only
  • \n
  • Sandbox EHR Integrations
  • \n
  • No live Patient Data
  • \n
  • Email Support
  • \n
\n
\n
\n
\n
\n
\n
\n

Live

\n
\n

$100.00

\n
\n
Minimum Monthly
\n \n
    \n
  • Test & Live mode
  • \n
  • 27,000+ EHR Integrations
  • \n
  • Live Patient Data
  • \n
  • Email & Live Chat Support
  • \n
\n
\n
\n
\n
\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport {ConnectService} from '../../services/connect.service';\nimport {NgbModal} from '@ng-bootstrap/ng-bootstrap';\nimport {PortalConfigService} from '../../services/portal-config.service';\nimport {ActivatedRoute} from '@angular/router';\nimport {OrganizationWebhookDelivery} from '../../models/fasten/organization-webhook-delivery';\nimport {OrganizationWebhook} from '../../models/fasten/organization-webhook';\nimport {OrganizationCredential} from '../../models/fasten/organization-credential';\n\n@Component({\n selector: 'app-webhook-logs',\n templateUrl: './webhook-logs.component.html',\n styleUrls: ['./webhook-logs.component.scss']\n})\nexport class WebhookLogsComponent implements OnInit {\n\n showAllDeliveries = false\n webhookDeliveries: OrganizationWebhookDelivery[] = []\n webhook: OrganizationWebhook | null = null\n selectedWebhookDelivery: OrganizationWebhookDelivery | null = null\n\n constructor(\n private connectService: ConnectService,\n public portalConfig: PortalConfigService,\n private route: ActivatedRoute,\n ) { }\n\n ngOnInit(): void {\n let webhookId = this.route.snapshot.paramMap.get('webhookId')\n if (!webhookId) {\n return\n }\n\n this.connectService.getOrgWebhookDeliveries(this.portalConfig.config$.user?.org_id!, webhookId!).subscribe((data) => {\n console.log(\"Webhook Deliveries\", data)\n this.webhookDeliveries = data.deliveries.reverse()\n this.webhook = data.webhook\n\n if (this.webhookDeliveries.length > 0) {\n this.selectedWebhookDelivery = this.webhookDeliveries[0]\n }\n\n })\n }\n\n public copySecretToken(secretToken: string | undefined) {\n if (!secretToken) {\n return\n }\n navigator.clipboard.writeText(secretToken);\n }\n}\n","
\n \n\n
\n
\n {{webhook?.endpoint_uri}}\n\n
\n\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
StatusAPI ModeListening ForSigning SecretCreated
\n {{webhook?.status}}\n \n {{webhook?.api_mode}}\n \n {{webhook?.event_types?.length}} event(s)\n \n reveal \n \n {{webhook?.created_at | amDateFormat:'LL'}}
\n
\n\n
\n\n
\n\n
\n
\n Delivery Logs\n
\n
\n
\n
\n
\n \n \n
\n
\n\n
\n Response\n
\n
\n
\n
\n Request\n
\n
\n\n
\n
\n
\n
\n
\n\n
\n","import { Injectable, Injector } from '@angular/core';\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {Router} from '@angular/router';\nimport {Observable, of, throwError} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\nimport {AuthService} from './auth.service';\nimport {environment} from '../../environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\n\n// based on https://stackoverflow.com/questions/46017245/how-to-handle-unauthorized-requestsstatus-with-401-or-403-with-new-httpclient\nexport class AuthInterceptorService implements HttpInterceptor {\n\n constructor(private authService: AuthService, private router: Router) { }\n\n private handleAuthError(err: HttpErrorResponse): Observable {\n //handle your auth error or rethrow\n if (err.status === 401 || err.status === 403) {\n //navigate /delete cookies or whatever\n this.authService.Signout()\n this.router.navigateByUrl(`/auth/signin`);\n // if you've caught / handled the error, you don't want to rethrow it unless you also want downstream consumers to have to handle it as well.\n return of(err.message); // or EMPTY may be appropriate here\n }\n return throwError(err);\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n\n console.log(\"Intercepting Request\", req)\n\n //only intercept requests to the fasten API & lighthouse, all other requests should be sent as-is\n let reqUrl = new URL(req.url)\n let lighthouseUrl = new URL(environment.lighthouse_api_endpoint_base)\n let apiUrl = new URL(environment.connect_api_endpoint_base)\n\n if(\n !((reqUrl.origin == apiUrl.origin && reqUrl.pathname.startsWith(apiUrl.pathname)) ||\n (reqUrl.origin == lighthouseUrl.origin && reqUrl.pathname.startsWith(lighthouseUrl.pathname)))\n ){\n return next.handle(req)\n }\n\n // Clone the request and ensure that cookies are sent\n const authReq = req.clone({withCredentials: true});\n // catch the error, make specific functions for catching specific errors and you can chain through them with more catch operators\n return next.handle(authReq).pipe(catchError(x=> this.handleAuthError(x))); //here use an arrow function, otherwise you may get \"Cannot read property 'navigate' of undefined\" on angular 4.4.2/net core 2/webpack 2.70\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {User} from '../models/fasten/user';\nimport {environment} from '../../environments/environment';\nimport {HttpClient} from '@angular/common/http';\nimport {ResponseWrapper} from '../models/response-wrapper';\nimport {BehaviorSubject} from 'rxjs';\nimport * as jose from 'jose'\nimport {PortalConfigService} from './portal-config.service';\n\nexport const FASTEN_AUTH_COOKIE_NAME = 'fasten_connect_auth'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n public IsAuthenticatedSubject = new BehaviorSubject(false)\n\n constructor(private _httpClient: HttpClient, private portalConfigService: PortalConfigService) {}\n\n /**\n * Signup (and Signin) both require an \"online\" user.\n * @param newUser\n * @constructor\n */\n public async Signup(newUser?: User): Promise {\n let resp = await this._httpClient.post(`${environment.connect_api_endpoint_base}/auth/signup`, newUser, { withCredentials: true }).toPromise()\n console.log(resp)\n return resp\n }\n\n public async Signin(email: string, pass: string): Promise {\n let currentUser = new User()\n currentUser.email = email\n currentUser.password = pass\n let resp = await this._httpClient.post(`${environment.connect_api_endpoint_base}/auth/login`, currentUser, { withCredentials: true }).toPromise()\n return resp\n }\n\n public async Signout(): Promise {\n this.publishAuthenticationState(false)\n return this.deleteCookie(FASTEN_AUTH_COOKIE_NAME)\n // // let remotePouchDb = new PouchDB(this.getRemoteUserDb(localStorage.getItem(\"current_user\")), {skip_setup: true});\n // if(this.pouchDb){\n // await this.pouchDb.logOut()\n // }\n // await this.Close()\n }\n\n public async GetJWTPayload(): Promise {\n let authToken = this.getCookie(FASTEN_AUTH_COOKIE_NAME)\n if (!authToken) {\n return null\n }\n let jwks = jose.createRemoteJWKSet(new URL(environment.jwks_uri))\n let issuerHost = environment.connect_api_endpoint_base\n\n try {\n //audience and issuer must be the same. This token is only valid on the fasten connect api\n const {payload, protectedHeader} = await jose.jwtVerify(authToken, jwks, {\n issuer: issuerHost,\n audience: issuerHost,\n })\n // @ts-ignore\n this.portalConfigService.config = {user: payload}\n return payload\n } catch (e) {\n console.error(\"failed to verify jwt:\", e, issuerHost)\n return null\n }\n }\n\n public async IsAuthenticated(): Promise {\n let payload = await this.GetJWTPayload()\n let isAuthenticated = payload != null\n this.publishAuthenticationState(isAuthenticated)\n return isAuthenticated\n }\n\n //https://stackoverflow.com/questions/34298133/angular-cookies\n private getCookie(name: string): string {\n const ca: Array = decodeURIComponent(document.cookie).split(';');\n const caLen: number = ca.length;\n const cookieName = `${name}=`;\n let c: string;\n\n for (let i = 0; i < caLen; i += 1) {\n c = ca[i].replace(/^\\s+/g, '');\n if (c.indexOf(cookieName) === 0) {\n return c.substring(cookieName.length, c.length);\n }\n }\n return '';\n }\n\n private deleteCookie(name: string) {\n this.setCookie(name, '', -1);\n }\n private setCookie(name: string, value: string, expireDays: number, path: string = '') {\n const d: Date = new Date();\n d.setTime(d.getTime() + expireDays * 24 * 60 * 60 * 1000);\n const expires = `expires=${d.toUTCString()}`;\n const cpath = path ? `; path=${path}` : '';\n document.cookie = `${name}=${value}; ${expires}${cpath}; SameSite=Lax`;\n }\n\n private publishAuthenticationState(authenticated: boolean){\n if(this.IsAuthenticatedSubject.value != authenticated){\n this.IsAuthenticatedSubject.next(authenticated)\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ResponseWrapper} from '../models/response-wrapper';\nimport {environment} from '../../environments/environment';\nimport {Organization} from '../models/fasten/organization';\nimport {map, Observable} from 'rxjs';\nimport {ApiMode, CRUDMode} from '../app.constants';\nimport {OrganizationCredential} from '../models/fasten/organization-credential';\nimport {OrganizationWebhook} from '../models/fasten/organization-webhook';\nimport {OrganizationWebhookDelivery} from '../models/fasten/organization-webhook-delivery';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConnectService {\n\n constructor(private _httpClient: HttpClient) { }\n\n\n /**\n * Create a new organization and associate it with the current User\n * @param newOrg\n * @param logoBlob\n * @constructor\n */\n public createOrg(newOrg: Organization, logoBlob: Blob): Observable {\n const formData = new FormData();\n\n //add the org data to the form data\n const orgJson = JSON.stringify(newOrg);\n const orgJsonBlob = new Blob([orgJson], {\n type: 'application/json'\n });\n formData.append(\"org\", orgJsonBlob);\n formData.append(\"logo\", logoBlob);\n\n let resp = this._httpClient.post(`${environment.connect_api_endpoint_base}/org`, formData)\n console.log(resp)\n return resp\n }\n\n\n public getOrg(orgId: String): Observable {\n return this._httpClient.get(`${environment.connect_api_endpoint_base}/org/${orgId}`)\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization\", response)\n return response.data as Organization;\n })\n );\n }\n\n\n public createOrgCredentials(orgId: string, apiMode: ApiMode, redirectUrl: string): Observable<{ action: CRUDMode, org_credential: OrganizationCredential, private_key: string}> {\n return this._httpClient.post(`${environment.connect_api_endpoint_base}/org/${orgId}/credentials`, {\n api_mode: apiMode,\n redirect_uri: redirectUrl\n })\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization Credential\", response)\n response.data.action = CRUDMode.Create\n return response.data as { action: CRUDMode, org_credential: OrganizationCredential, private_key: string};\n })\n );\n }\n public updateOrgCredential(orgId: string, orgCredentialId: string, redirectUrl: string): Observable<{ action: CRUDMode, org_credential: OrganizationCredential}> {\n return this._httpClient.put(`${environment.connect_api_endpoint_base}/org/${orgId}/credentials/${orgCredentialId}`, {\n redirect_uri: redirectUrl\n })\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization Credential\", response)\n return { action: CRUDMode.Update, org_credential: response.data} as { action: CRUDMode, org_credential: OrganizationCredential};\n })\n );\n }\n\n public deleteOrgCredential(orgId: string, orgCredentialId: string): Observable<{ action: CRUDMode, org_credential: OrganizationCredential}> {\n return this._httpClient.delete(`${environment.connect_api_endpoint_base}/org/${orgId}/credentials/${orgCredentialId}`)\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Deleted Organization Credential\", response)\n return { action: CRUDMode.Delete, org_credential: response.data} as { action: CRUDMode, org_credential: OrganizationCredential};\n })\n );\n }\n\n public getOrgCredentials(orgId: string): Observable {\n return this._httpClient.get(`${environment.connect_api_endpoint_base}/org/${orgId}/credentials`)\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization Credentials\", response)\n return response.data as OrganizationCredential[];\n })\n );\n }\n\n\n public createOrgWebhooks(orgId: string, apiMode: ApiMode, endpointUri: string): Observable<{ action: CRUDMode, org_webhook: OrganizationWebhook}> {\n return this._httpClient.post(`${environment.connect_api_endpoint_base}/org/${orgId}/webhooks`, {\n api_mode: apiMode,\n endpoint_uri: endpointUri\n })\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization Credential\", response)\n return {action: CRUDMode.Create, org_webhook: response.data};\n })\n );\n }\n\n public deleteOrgWebhook(orgId: string, orgWebhookId: string): Observable<{ action: CRUDMode, org_webhook: OrganizationWebhook}> {\n return this._httpClient.delete(`${environment.connect_api_endpoint_base}/org/${orgId}/webhooks/${orgWebhookId}`)\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Deleted Organization Webhook\", response)\n return { action: CRUDMode.Delete, org_webhook: response.data};\n })\n );\n }\n\n public updateOrgWebhook(orgId: string, orgWebhookId: string, endpointUri: string): Observable<{ action: CRUDMode, org_webhook: OrganizationWebhook}> {\n return this._httpClient.put(`${environment.connect_api_endpoint_base}/org/${orgId}/webhooks/${orgWebhookId}`, {\n endpoint_uri: endpointUri\n })\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization Webhook\", response)\n return { action: CRUDMode.Update, org_webhook: response.data};\n })\n );\n }\n\n public getOrgWebhooks(orgId: string): Observable {\n return this._httpClient.get(`${environment.connect_api_endpoint_base}/org/${orgId}/webhooks`)\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization Webhooks\", response)\n return response.data as OrganizationWebhook[];\n })\n );\n }\n\n public getOrgWebhookDeliveries(orgId: string, orgWebhookId: string): Observable<{webhook: OrganizationWebhook, deliveries: OrganizationWebhookDelivery[]}> {\n return this._httpClient.get(`${environment.connect_api_endpoint_base}/org/${orgId}/webhooks/${orgWebhookId}/deliveries`)\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Webhooks Deliveries\", response)\n return response.data as {webhook: OrganizationWebhook, deliveries: OrganizationWebhookDelivery[]};\n })\n );\n }\n\n\n /**\n * Generate Stripe Checkout Link to Upgrade Plan\n * @param orgId\n * @constructor\n */\n public upgradePlanCheckoutRedirect(): Observable {\n return this._httpClient.post(`${environment.connect_api_endpoint_base}/store/checkout`, {})\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"redirect URL\", response)\n\n let redirectData = response.data as { \"redirect_url\": string };\n window.location.href = redirectData.redirect_url;\n\n return null\n })\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\nimport {PortalConfig, portalConfigDefaults} from '../models/portal-config';\nimport {merge} from 'lodash';\nimport {ApiMode} from '../app.constants';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PortalConfigService {\n // Private\n public ConfigSubject: BehaviorSubject;\n private _defaultConfig: PortalConfig;\n constructor() {\n this._defaultConfig = portalConfigDefaults\n this.ConfigSubject = new BehaviorSubject(this._defaultConfig);\n }\n\n\n // -----------------------------------------------------------------------------------------------------\n // @ Accessors\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Setter & getter for config\n */\n set config(value: PortalConfig) {\n // get the current config, merge the new values, and then submit.\n const mergedSettings = merge({}, this.ConfigSubject.getValue(), value);\n\n // Store the value\n if(JSON.stringify(mergedSettings) !== JSON.stringify(this.ConfigSubject.getValue())){\n console.log('updating settings:', mergedSettings)\n this.ConfigSubject.next(mergedSettings);\n }\n }\n\n get config$(): PortalConfig {\n console.log('using cached settings:', this.ConfigSubject.getValue())\n return this.ConfigSubject.getValue()\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Resets the config to the default\n */\n reset(): void {\n // Set the config\n this.config = this._defaultConfig\n }\n\n toggleApiMode(): void {\n this.config = {\n apiMode: this.config$.apiMode === 'live' ? ApiMode.Test : ApiMode.Live\n }\n }\n}\n","export const environment = {\n name: \"development\",\n\n //specify the lighthouse base that we're going to use to authenticate against all our source/providers. Must not have trailing slash\n lighthouse_api_endpoint_base: 'https://lighthouse.fastenhealth.com',\n\n //used to specify the api server that we're going to use (can be relative or absolute). Must not have trailing slash\n // connect_api_endpoint_base: 'https://api.connect-dev.fastenhealth.com/v1',\n // if relative, must start with /\n connect_api_endpoint_base: 'https://api.connect-dev.fastenhealth.com/v1',\n\n jwks_uri: 'https://cdn.fastenhealth.com/jwks/fasten-connect/dev.json',\n\n //Stripe pricing table (Test mode in Dev)\n stripe_customer_portal: 'https://billing.stripe.com/p/login/test_bIY7thbZL5g6gXC000'\n // stripe_customer_portal: 'https://billing.stripe.com/p/login/dR6aEYe5h4AYe2I144'\n};\n","// this file is automatically generated by git.version.ts script\nexport const versionInfo = {\n version: 'dev',\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.name != \"local\") {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-ps\": 46235,\n\t\"./ar-ps.js\": 46235,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku-kmr\": 19619,\n\t\"./ku-kmr.js\": 19619,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["ActivatedRouteSnapshot","RouterStateSnapshot","Router","IsAuthenticatedAuthGuard","constructor","authService","router","canActivate","route","state","_this","_asyncToGenerator","jwtPayload","GetJWTPayload","navigate","org_id","console","log","i0","ɵɵinject","i1","AuthService","i2","factory","ɵfac","User","environment","BehaviorSubject","jose","FASTEN_AUTH_COOKIE_NAME","_httpClient","portalConfigService","IsAuthenticatedSubject","Signup","newUser","resp","post","connect_api_endpoint_base","withCredentials","toPromise","Signin","email","pass","_this2","currentUser","password","Signout","_this3","publishAuthenticationState","deleteCookie","_this4","authToken","getCookie","jwks","createRemoteJWKSet","URL","jwks_uri","issuerHost","payload","protectedHeader","jwtVerify","issuer","audience","config","user","e","error","IsAuthenticated","_this5","isAuthenticated","name","ca","decodeURIComponent","document","cookie","split","caLen","length","cookieName","c","i","replace","indexOf","substring","setCookie","value","expireDays","path","d","Date","setTime","getTime","expires","toUTCString","cpath","authenticated","next","HttpClient","PortalConfigService","providedIn"],"sourceRoot":"webpack:///","x_google_ignoreList":[43]} \ No newline at end of file +{"version":3,"file":"main.js","mappings":"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AAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACXpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.constants.ts","./src/app/app.module.ts","./src/app/auth-guards/is-authenticated-auth-guard.ts","./src/app/components/footer/footer.component.ts","./src/app/components/footer/footer.component.html","./src/app/components/header/header.component.ts","./src/app/components/header/header.component.html","./src/app/components/logo-cropper/logo-cropper.component.ts","./src/app/components/logo-cropper/logo-cropper.component.html","./src/app/components/org-credentials-editor/org-credentials-editor.component.ts","./src/app/components/org-credentials-editor/org-credentials-editor.component.html","./src/app/components/org-webhooks-editor/org-webhooks-editor.component.ts","./src/app/components/org-webhooks-editor/org-webhooks-editor.component.html","./src/app/directives/password-confirm-validator.directive.ts","./src/app/models/fasten/organization.ts","./src/app/models/fasten/user.ts","./src/app/models/portal-config.ts","./src/app/pages/account-settings/account-settings.component.ts","./src/app/pages/account-settings/account-settings.component.html","./src/app/pages/auth-signin/auth-signin.component.ts","./src/app/pages/auth-signin/auth-signin.component.html","./src/app/pages/auth-signup-organization/auth-signup-organization.component.ts","./src/app/pages/auth-signup-organization/auth-signup-organization.component.html","./src/app/pages/auth-signup/auth-signup.component.ts","./src/app/pages/auth-signup/auth-signup.component.html","./src/app/pages/dashboard/dashboard.component.ts","./src/app/pages/dashboard/dashboard.component.html","./src/app/pages/developers/developers.component.ts","./src/app/pages/developers/developers.component.html","./src/app/pages/org-settings/org-settings.component.ts","./src/app/pages/org-settings/org-settings.component.html","./src/app/pages/webhook-logs/webhook-logs.component.ts","./src/app/pages/webhook-logs/webhook-logs.component.html","./src/app/services/auth-interceptor.service.ts","./src/app/services/auth.service.ts","./src/app/services/connect.service.ts","./src/app/services/portal-config.service.ts","./src/environments/environment.dev.ts","./src/environments/versions.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport {DevelopersComponent} from './pages/developers/developers.component';\nimport {DashboardComponent} from './pages/dashboard/dashboard.component';\nimport {AuthSigninComponent} from './pages/auth-signin/auth-signin.component';\nimport {AuthSignupComponent} from './pages/auth-signup/auth-signup.component';\nimport {AuthSignupOrganizationComponent} from './pages/auth-signup-organization/auth-signup-organization.component';\nimport {IsAuthenticatedAuthGuard} from './auth-guards/is-authenticated-auth-guard';\nimport {OrgSettingsComponent} from './pages/org-settings/org-settings.component';\nimport {AccountSettingsComponent} from './pages/account-settings/account-settings.component';\nimport {WebhookLogsComponent} from './pages/webhook-logs/webhook-logs.component';\n\nconst routes: Routes = [\n\n { path: 'auth/signin', component: AuthSigninComponent },\n { path: 'auth/signup', component: AuthSignupComponent },\n { path: 'auth/signup/org', component: AuthSignupOrganizationComponent },\n\n { path: '', redirectTo: '/developers', pathMatch: 'full' },\n { path: 'dashboard', component: DashboardComponent, canActivate: [ IsAuthenticatedAuthGuard] },\n { path: 'developers', component: DevelopersComponent, canActivate: [ IsAuthenticatedAuthGuard] },\n { path: 'developers/webhooks/:webhookId/logs', component: WebhookLogsComponent, canActivate: [ IsAuthenticatedAuthGuard] },\n { path: 'org/settings', component: OrgSettingsComponent, canActivate: [ IsAuthenticatedAuthGuard] },\n { path: 'account/settings', component: AccountSettingsComponent, canActivate: [ IsAuthenticatedAuthGuard] },\n\n //must be at bottom of list\n { path: '**', redirectTo: 'developers' },\n\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component } from '@angular/core';\nimport {NavigationEnd, Router, RouterEvent} from '@angular/router';\nimport {NgbModal} from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'fastenhealth';\n\n showHeader:boolean = false;\n showFooter:boolean = true;\n\n constructor(\n private router: Router,\n // private toastService: ToastService,\n private modalService: NgbModal\n ) {}\n\n ngOnInit() {\n\n // navbar backdrop for mobile only\n const navbarBackdrop = document.createElement('div');\n navbarBackdrop.classList.add('az-navbar-backdrop');\n document.querySelector('body')?.appendChild(navbarBackdrop);\n\n //determine if we should show the header\n this.router.events.subscribe(event => this.routerEvent(event));\n }\n\n routerEvent(event: any) {\n if (event instanceof NavigationEnd) {\n //modify header\n if (event.url?.startsWith('/auth') || event.url?.startsWith('/desktop')) {\n this.showHeader = false;\n } else {\n // console.log(\"NU\")\n this.showHeader = true;\n }\n\n // close all open modals when route change\n this.modalService.dismissAll();\n }\n }\n}\n","
\n \n
\n \n
\n \n
\n","export const URL_PATTERN = /^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$/;\n\n// https://medium.com/@ojiofor/angular-reactive-forms-strong-password-validation-8dbcce92eb6c\n// Minimum Length: A strong password should have a minimum length, typically at least 8 characters.\n// Uppercase Letters: It should contain at least one uppercase letter.\n// Lowercase Letters: It should contain at least one lowercase letter.\n// Numbers: It should contain at least one number.\n// Special Characters: It should contain at least one special character (e.g., !, @, #, $).\nexport const STRONG_PASSWORD_PATTERN = /^(?=[^A-Z]*[A-Z])(?=[^a-z]*[a-z])(?=\\D*\\d).{8,}$/;\n\nexport enum ApiMode {\n Live = 'live',\n Test = 'test',\n}\n\nexport enum CredentialStatus {\n Active = 'active',\n Inactive = 'inactive',\n}\n\nexport enum WebhookStatus {\n Active = 'active',\n Inactive = 'inactive',\n}\n\nexport enum WebhookDeliveryStatus {\n Success = 'success',\n Failure = 'failure',\n}\n\nexport enum CRUDMode {\n Create = 'create',\n Update = 'update',\n Delete = 'delete',\n}\n\nexport enum EventTypes{\n EventTypesPatientEHIExportFailed = \"patient.ehi_export_failed\",\n EventTypesPatientEHIExportSuccess = \"patient.ehi_export_success\",\n EventTypesPatientAuthorizationRevoked = \"patient.authorization_revoked\",\n EventTypesWebhookTest = \"webhook.test\",\n}\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\n\nimport { fas } from '@fortawesome/free-solid-svg-icons';\nimport { far } from '@fortawesome/free-regular-svg-icons';\nimport { HighlightModule, HIGHLIGHT_OPTIONS } from 'ngx-highlightjs';\n\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {InfiniteScrollModule} from 'ngx-infinite-scroll';\nimport {FontAwesomeModule, FaIconLibrary} from '@fortawesome/angular-fontawesome';\nimport {HeaderComponent} from './components/header/header.component';\nimport {FooterComponent} from './components/footer/footer.component';\nimport { DevelopersComponent } from './pages/developers/developers.component';\nimport { DashboardComponent } from './pages/dashboard/dashboard.component';\nimport { AuthSigninComponent } from './pages/auth-signin/auth-signin.component';\nimport { AuthSignupComponent } from './pages/auth-signup/auth-signup.component';\nimport { AuthSignupOrganizationComponent } from './pages/auth-signup-organization/auth-signup-organization.component';\nimport { PasswordConfirmValidatorDirective } from './directives/password-confirm-validator.directive';\nimport {IsAuthenticatedAuthGuard} from './auth-guards/is-authenticated-auth-guard';\nimport {Router} from '@angular/router';\nimport {AuthService} from './services/auth.service';\nimport {AuthInterceptorService} from './services/auth-interceptor.service';\nimport { ImageCropperModule } from 'ngx-image-cropper';\nimport { LogoCropperComponent } from './components/logo-cropper/logo-cropper.component';\nimport { NgChartsModule } from 'ng2-charts';\nimport {MomentModule} from 'ngx-moment';\nimport { OrgSettingsComponent } from './pages/org-settings/org-settings.component';\nimport { AccountSettingsComponent } from './pages/account-settings/account-settings.component';\nimport { OrgCredentialsEditorComponent } from './components/org-credentials-editor/org-credentials-editor.component';\nimport { OrgWebhooksEditorComponent } from './components/org-webhooks-editor/org-webhooks-editor.component';\nimport { WebhookLogsComponent } from './pages/webhook-logs/webhook-logs.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n HeaderComponent,\n FooterComponent,\n DevelopersComponent,\n DashboardComponent,\n AuthSigninComponent,\n AuthSignupComponent,\n AuthSignupOrganizationComponent,\n LogoCropperComponent,\n OrgSettingsComponent,\n AccountSettingsComponent,\n OrgCredentialsEditorComponent,\n OrgWebhooksEditorComponent,\n WebhookLogsComponent,\n ],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n BrowserModule,\n HttpClientModule,\n AppRoutingModule,\n PasswordConfirmValidatorDirective,\n\n NgbModule,\n NgChartsModule,\n InfiniteScrollModule,\n FontAwesomeModule,\n ImageCropperModule,\n MomentModule,\n HighlightModule\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthInterceptorService,\n multi: true,\n deps: [AuthService, Router]\n },\n IsAuthenticatedAuthGuard,\n {\n provide: HIGHLIGHT_OPTIONS,\n useValue: {\n fullLibraryLoader: () => import('highlight.js'),\n }\n }\n ],\n bootstrap: [AppComponent],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ]\n})\nexport class AppModule {\n constructor(library: FaIconLibrary) {\n library.addIconPacks(fas, far);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router} from '@angular/router';\nimport {AuthService} from '../services/auth.service';\n\n@Injectable()\nexport class IsAuthenticatedAuthGuard implements CanActivate {\n constructor(private authService: AuthService, private router: Router) {\n\n }\n\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\n let jwtPayload = await this.authService.GetJWTPayload()\n\n //check if the user is authenticated, if not, redirect to login\n if (!jwtPayload) {\n return await this.router.navigate(['/auth/signin']);\n } else if(jwtPayload.org_id == '' || jwtPayload.org_id == null){\n console.log(\"User is not associated with an organization, redirecting to org signup\", jwtPayload)\n return await this.router.navigate(['/auth/signup/org']);\n }\n\n\n // continue as normal\n return true\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport {versionInfo} from '../../../environments/versions';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n appVersion: string;\n\n constructor() {\n this.appVersion = versionInfo.version\n }\n\n ngOnInit() {\n }\n\n}\n","\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {AuthService} from '../../services/auth.service';\nimport {Router} from '@angular/router';\nimport {ConnectService} from '../../services/connect.service';\nimport {PortalConfig} from '../../models/portal-config';\nimport {PortalConfigService} from '../../services/portal-config.service';\nimport {Organization} from '../../models/fasten/organization';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n\n constructor(\n private authService: AuthService,\n private connectService: ConnectService,\n public portalConfigService: PortalConfigService,\n private router: Router,\n ) { }\n\n ngOnInit() {\n\n this.portalConfigService.ConfigSubject.subscribe((config: PortalConfig) => {\n console.log(\"Configuration changed:\", config)\n if(config.user && config.user.org_id && !config.org){\n console.log(\"attempt to download org information, and store in config\")\n this.connectService.getOrg(config.user.org_id).subscribe((org: Organization )=>{\n console.log(\"org:\", org)\n this.portalConfigService.config = {org: org}\n })\n }\n });\n\n }\n\n toggleHeaderMenu(event: Event) {\n event.preventDefault();\n document.querySelector('body')?.classList.toggle('az-header-menu-show');\n }\n closeMenu(e: Event) {\n (e.target as HTMLElement).closest('.dropdown')?.classList.remove('show');\n (e.target as HTMLElement).closest('.dropdown .dropdown-menu')?.classList.remove('show');\n }\n\n signOut(event: Event) {\n this.authService.Signout().then(r => {\n return this.router.navigate(['/auth/signin'])\n })\n }\n}\n","
\n Test Mode Enabled\n You're using test data. You will only be able to access sandbox accounts.\n
\n\n
\n
\n
\n \n \n \n \n
\n
\n
\n \n \"fasten\"\n \n ×\n
\n \n
\n
\n\n
\n \n
\n
\n \n
\n
Notifications
\n

Background Jobs & Updates

\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \"\"\n
\n
{{portalConfigService.config$.user?.name}}
\n
\n\n Profile Settings\n Org Settings\n Get Support\n Sign Out\n
\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport {ImageCroppedEvent, LoadedImage} from 'ngx-image-cropper';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport {NgbActiveModal, NgbModal} from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-logo-cropper',\n templateUrl: './logo-cropper.component.html',\n styleUrls: ['./logo-cropper.component.scss']\n})\nexport class LogoCropperComponent implements OnInit {\n\n //image cropper\n imageChangedEvent: any = '';\n croppedImage: any = '';\n croppedImageEvent: ImageCroppedEvent | null = null;\n submitLogoLoading = false;\n\n constructor(\n public activeModal: NgbActiveModal,\n private modalService: NgbModal,\n private sanitizer: DomSanitizer\n ) { }\n\n ngOnInit(): void {\n }\n\n fileChangeEvent(event: any): void {\n this.imageChangedEvent = event;\n }\n imageCropped(event: ImageCroppedEvent) {\n this.croppedImage = this.sanitizer.bypassSecurityTrustUrl(event.objectUrl!);\n // event.blob can be used to upload the cropped image\n this.croppedImageEvent = event;\n }\n imageLoaded(image: LoadedImage) {\n // show cropper\n }\n cropperReady() {\n // cropper ready\n }\n loadImageFailed() {\n // show message\n }\n\n onSubmit() {\n console.log(this.croppedImage)\n this.activeModal.close(this.croppedImageEvent)\n }\n}\n","
\n

Organization Logo

\n \n
\n\n
\n
\n
\n

Fasten Connect requires a logo for display when connecting providers

\n \n\n \n\n
\n
\n
\n\n
\n \n \n
\n","import {Component, Input, OnInit} from '@angular/core';\nimport {ApiMode, URL_PATTERN} from '../../app.constants';\nimport {OrganizationCredential} from '../../models/fasten/organization-credential';\nimport {ConnectService} from '../../services/connect.service';\nimport {Organization} from '../../models/fasten/organization';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-org-credentials-editor',\n templateUrl: './org-credentials-editor.component.html',\n styleUrls: ['./org-credentials-editor.component.scss']\n})\nexport class OrgCredentialsEditorComponent implements OnInit {\n urlPattern = URL_PATTERN\n\n @Input() editorMode: 'create' | 'edit' = 'create'\n @Input() org: Organization | null = null\n @Input() apiMode: ApiMode = ApiMode.Test\n @Input() orgCredential: OrganizationCredential | null = null //only set when editing\n\n submitOrgCredentialLoading: boolean = false\n deleteOrgCredentialLoading: boolean = false\n redirectUri: string = \"\"\n submitOrgCredentialError: string = ''\n\n\n constructor(\n private connectService: ConnectService,\n public activeModal: NgbActiveModal\n ) { }\n\n ngOnInit(): void {\n if (this.editorMode === 'edit' && this.orgCredential) {\n this.redirectUri = this.orgCredential.redirect_uri\n }\n }\n\n public deleteOrgCredential() {\n if (confirm(\"Are you sure you'd like to delete these API Credentials?\") == true) {\n this.deleteOrgCredentialLoading = true\n\n if(!this.orgCredential?.id){\n this.deleteOrgCredentialLoading = false\n this.submitOrgCredentialError = \"Unknown Organization Credential ID\"\n return\n }\n\n this.connectService.deleteOrgCredential(this.org!.id, this.orgCredential.id).subscribe((result) => {\n console.log(\"Deleted Org Credential\", result)\n this.deleteOrgCredentialLoading = false\n this.activeModal.close(result)\n }, (error: any) => {\n console.log(\"Error Updating Org Credential\", error)\n this.deleteOrgCredentialLoading = false\n this.submitOrgCredentialError = JSON.stringify(error)\n\n },\n () => {\n console.log(\"Completed Deleting Org Credential\")\n this.deleteOrgCredentialLoading = false\n })\n\n }\n }\n\n public updateOrgCredential() {\n this.submitOrgCredentialLoading = true\n this.submitOrgCredentialError = ''\n\n if(!this.orgCredential?.id){\n this.submitOrgCredentialLoading = false\n this.submitOrgCredentialError = \"Unknown Organization Credential ID\"\n return\n }\n if(this.redirectUri == this.orgCredential.redirect_uri){\n this.submitOrgCredentialLoading = false\n this.submitOrgCredentialError = \"Redirect URI has not changed\"\n }\n\n this.connectService.updateOrgCredential(this.org!.id, this.orgCredential.id, this.redirectUri).subscribe((result) => {\n console.log(\"Updated Org Credential\", result)\n this.submitOrgCredentialLoading = false\n this.activeModal.close(result)\n }, (error: any) => {\n console.log(\"Error Updating Org Credential\", error)\n this.submitOrgCredentialLoading = false\n this.submitOrgCredentialError = JSON.stringify(error)\n\n },\n () => {\n console.log(\"Completed Updating Org Credential\")\n this.submitOrgCredentialLoading = false\n })\n }\n\n public createOrgCredential() {\n this.submitOrgCredentialLoading = true\n this.submitOrgCredentialError = ''\n\n if(!this.org?.id){\n this.submitOrgCredentialLoading = false\n this.submitOrgCredentialError = \"Unknown Organization ID\"\n return\n }\n\n\n this.connectService.createOrgCredentials(this.org.id, this.apiMode, this.redirectUri).subscribe((result) => {\n console.log(\"Added Org Credential\", result)\n this.submitOrgCredentialLoading = false\n this.activeModal.close(result)\n }, (error: any) => {\n console.log(\"Error Adding Org Credential\", error)\n this.submitOrgCredentialLoading = false\n this.submitOrgCredentialError = JSON.stringify(error)\n\n },\n () => {\n console.log(\"Completed Adding Org Credential\")\n this.submitOrgCredentialLoading = false\n })\n }\n\n}\n","
\n

{{editorMode == 'create' ? 'Create' : 'Update' }} Credential

\n \n
\n
\n

\n API Credentials are used by your application to access the Fasten Connect API\n

\n\n
\n
\n \n
\n \n
\n
\n\n
\n\n
\n Redirect Url is required.\n
\n
\n Redirect Url must be a valid url starting with https://\n
\n
\n\n
\n {{submitOrgCredentialError}}\n
\n\n
\n
\n
\n
\n \n \n\n \n \n\n \n \n \n
\n
\n","import {Component, Input, OnInit} from '@angular/core';\nimport {ApiMode, URL_PATTERN} from '../../app.constants';\nimport {Organization} from '../../models/fasten/organization';\nimport {OrganizationCredential} from '../../models/fasten/organization-credential';\nimport {OrganizationWebhook} from '../../models/fasten/organization-webhook';\nimport {ConnectService} from '../../services/connect.service';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-org-webhooks-editor',\n templateUrl: './org-webhooks-editor.component.html',\n styleUrls: ['./org-webhooks-editor.component.scss']\n})\nexport class OrgWebhooksEditorComponent implements OnInit {\n urlPattern = URL_PATTERN\n\n @Input() editorMode: 'create' | 'edit' = 'create'\n @Input() org: Organization | null = null\n @Input() apiMode: ApiMode = ApiMode.Test\n @Input() orgWebhook: OrganizationWebhook | null = null //only set when editing\n\n submitOrgWebhookLoading: boolean = false\n deleteOrgWebhookLoading: boolean = false\n endpointUri: string = \"\"\n submitOrgWebhookError: string = ''\n\n constructor(\n private connectService: ConnectService,\n public activeModal: NgbActiveModal\n ) { }\n\n ngOnInit(): void {\n if (this.editorMode === 'edit' && this.orgWebhook) {\n this.endpointUri = this.orgWebhook.endpoint_uri\n }\n }\n\n public deleteOrgWebhook() {\n if (confirm(\"Are you sure you'd like to delete this Webhook?\") == true) {\n this.deleteOrgWebhookLoading = true\n\n if(!this.orgWebhook?.id){\n this.deleteOrgWebhookLoading = false\n this.submitOrgWebhookError = \"Unknown Organization Webhook ID\"\n return\n }\n\n this.connectService.deleteOrgWebhook(this.org!.id, this.orgWebhook.id).subscribe((result) => {\n console.log(\"Deleted Org Webhook\", result)\n this.deleteOrgWebhookLoading = false\n this.activeModal.close(result)\n }, (error: any) => {\n console.log(\"Error Updating Org Webhook\", error)\n this.deleteOrgWebhookLoading = false\n this.submitOrgWebhookError = JSON.stringify(error)\n\n },\n () => {\n console.log(\"Completed Deleting Org Webhook\")\n this.deleteOrgWebhookLoading = false\n })\n\n }\n }\n\n public updateOrgWebhook() {\n this.submitOrgWebhookLoading = true\n this.submitOrgWebhookError = ''\n\n if(!this.orgWebhook?.id){\n this.submitOrgWebhookLoading = false\n this.submitOrgWebhookError = \"Unknown Organization Webhook ID\"\n return\n }\n if(this.endpointUri == this.orgWebhook.endpoint_uri){\n this.submitOrgWebhookLoading = false\n this.submitOrgWebhookError = \"Endpoint URI has not changed\"\n }\n\n this.connectService.updateOrgWebhook(this.org!.id, this.orgWebhook.id, this.endpointUri).subscribe((result) => {\n console.log(\"Updated Org Webhook\", result)\n this.submitOrgWebhookLoading = false\n this.activeModal.close(result)\n }, (error: any) => {\n console.log(\"Error Updating Org Webhook\", error)\n this.submitOrgWebhookLoading = false\n this.submitOrgWebhookError = JSON.stringify(error)\n\n },\n () => {\n console.log(\"Completed Updating Org Webhook\")\n this.submitOrgWebhookLoading = false\n })\n }\n\n public createOrgWebhook() {\n this.submitOrgWebhookLoading = true\n this.submitOrgWebhookError = ''\n\n if(!this.org?.id){\n this.submitOrgWebhookLoading = false\n this.submitOrgWebhookError = \"Unknown Organization ID\"\n return\n }\n\n\n this.connectService.createOrgWebhooks(this.org.id, this.apiMode!, this.endpointUri).subscribe((result) => {\n this.submitOrgWebhookLoading = false\n this.activeModal.close(result)\n }, (error: any) => {\n console.log(\"Error Adding Org Webhook\", error)\n this.submitOrgWebhookLoading = false\n this.submitOrgWebhookError = JSON.stringify(error)\n\n },\n () => {\n console.log(\"Completed Adding Org Webhook\")\n this.submitOrgWebhookLoading = false\n })\n }\n\n}\n","
\n

{{editorMode == 'create' ? 'Create' : 'Update' }} Webhook

\n \n
\n
\n

\n Webhooks allow Fasten Connect to notify you once patient medical records have been retrieved and are ready for download.\n

\n

\n\n

\n\n
\n Testing If you don't have an environment to receive webhooks, you can use requestbin.com to test.\n
\n\n
\n
\n \n
\n \n
\n
\n\n
\n\n
\n Endpoint Url is required\n
\n
\n Endpoint Url must be a valid url starting with https://\n
\n
\n\n
\n {{submitOrgWebhookError}}\n
\n\n
\n
\n
\n
\n \n \n\n \n \n\n \n \n \n
\n
\n","import { Directive } from '@angular/core';\nimport {AbstractControl, NG_VALIDATORS, ValidationErrors, Validator} from '@angular/forms';\n\n@Directive({\n selector: '[passwordConfirmValidator]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: PasswordConfirmValidatorDirective,\n multi: true,\n },\n ],\n standalone: true,\n})\nexport class PasswordConfirmValidatorDirective implements Validator {\n\n validate(control: AbstractControl): ValidationErrors | null {\n const password = control.get('password');\n const passwordConfirm = control.get('password_confirm');\n\n return password && passwordConfirm && password.value !== passwordConfirm.value\n ? { password_confirm: true }\n : null;\n }\n}\n","\nexport class Organization {\n id: string = \"\"\n name: string = \"\"\n logo_uri: string = \"\"\n privacy_policy_uri: string = \"\"\n website_uri: string = \"\"\n terms_and_conditions_uri?: string = \"\"\n company_size?: string = \"\"\n plan?: string = \"\"\n}\n","export class User {\n id?: string\n name?: string\n email?: string\n password?: string\n org_id?: string\n\n //not sent to the server\n password_confirm?: string = \"\"\n agree_terms?: boolean = false\n}\n","/**\n * AppConfig interface. Update this interface to strictly type your config\n * object.\n */\nimport {ApiMode} from '../app.constants';\nimport {Organization} from './fasten/organization';\nimport {User} from './fasten/user';\n\nexport interface PortalConfig {\n apiMode?: ApiMode;\n org?: Organization;\n user?: User\n}\n\n/**\n * Default configuration for the entire application. This object is used by\n * \"PortalConfigService\" to set the default configuration.\n */\nexport const portalConfigDefaults: PortalConfig = {\n apiMode: ApiMode.Test\n};\n","import { Component, OnInit } from '@angular/core';\nimport {PortalConfigService} from '../../services/portal-config.service';\n\n@Component({\n selector: 'app-account-settings',\n templateUrl: './account-settings.component.html',\n styleUrls: ['./account-settings.component.scss']\n})\nexport class AccountSettingsComponent implements OnInit {\n\n constructor(\n public portalConfig: PortalConfigService,\n ) { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n\n\n
\n
\n

{{portalConfig.config$?.user?.name}}

\n

{{portalConfig.config$?.user?.email}}

\n
\n
\n\n\n
\n
\n
\n
\n Update Password\n
\n\n
\n

Use this form to change the password you use to login to your account

\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n \n\n
\n\n
\n
\n\n\n
\n\n
\n
\n Update Email Address\n
\n\n
\n

Use this form to change the email address associated with your account.

\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n \n
\n
\n
\n
\n\n
\n","import {Component, OnInit} from '@angular/core';\nimport {User} from '../../models/fasten/user';\nimport {Router} from '@angular/router';\nimport {AuthService} from '../../services/auth.service';\n\n@Component({\n selector: 'app-auth-signin',\n templateUrl: './auth-signin.component.html',\n styleUrls: ['./auth-signin.component.scss']\n})\nexport class AuthSigninComponent implements OnInit {\n loading: boolean = false\n\n submitted: boolean = false\n existingUser: User = new User()\n errorMsg: string = \"\"\n\n constructor(\n private authService: AuthService,\n private router: Router,\n ) { }\n\n ngOnInit(): void {}\n\n signinSubmit(){\n this.submitted = true;\n this.loading = true\n\n this.authService.Signin(this.existingUser.email!, this.existingUser.password!)\n .then(() => {\n this.loading = false\n this.router.navigateByUrl('/dashboard')\n })\n .catch((err)=>{\n this.loading = false\n if(err?.name){\n this.errorMsg = \"email or password is incorrect\"\n } else{\n this.errorMsg = \"an unknown error occurred during sign-in\"\n }\n // const toastNotification = new ToastNotification()\n // toastNotification.type = ToastType.Error\n // toastNotification.message = this.errorMsg\n // this.toastService.show(toastNotification)\n })\n }\n}\n","\n","import { Component, OnInit } from '@angular/core';\nimport {AuthService} from '../../services/auth.service';\nimport {Router} from '@angular/router';\nimport {Organization} from '../../models/fasten/organization';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport {ImageCroppedEvent, LoadedImage} from 'ngx-image-cropper';\nimport {NgbModal} from '@ng-bootstrap/ng-bootstrap';\nimport {LogoCropperComponent} from '../../components/logo-cropper/logo-cropper.component';\nimport {ConnectService} from '../../services/connect.service';\nimport {URL_PATTERN} from '../../app.constants';\n\n@Component({\n selector: 'app-auth-signup-organization',\n templateUrl: './auth-signup-organization.component.html',\n styleUrls: ['./auth-signup-organization.component.scss']\n})\nexport class AuthSignupOrganizationComponent implements OnInit {\n\n gridImages: string[] = [\n \"f8f9ce28-d79b-4b54-9f7d-3f0aaba88c2c.png\",\n \"89bb6993-b806-49a2-84e2-6e70705c504a.png\",\n \"9fcc4529-7dc9-4c66-9198-574f978c8bb7.png\",\n \"68952002-f17e-4086-aae5-841241b194dd.png\",\n \"767b97b9-4538-433f-ab7a-14ccb0053323.png\",\n \"74078880-4084-430e-bc6c-223e5990cef8.png\",\n \"10668246-1077-4c1d-a6ce-0557c9476e77.png\",\n \"f7e4fc08-c6f6-426b-be98-d60aa36d3b8b.png\",\n \"65308856-beaa-46a0-9775-20c6c9322add.png\",\n \"6e901e85-8f45-4c60-8d1f-12621aad07f1.png\",\n \"e675376d-03de-4e66-8196-eaccda536ad5.png\",\n \"a36fd256-2751-464f-b6d7-418279595b1e.png\",\n \"c623f37e-6399-4a13-909f-3d9886130673.png\",\n \"467592a3-7f5f-4258-909e-a99ca971ce15.png\",\n \"5ad8a5ab-6570-4f1e-8002-30a051ec52c2.png\",\n \"ddbef50d-3940-4411-9dea-6bf759704c6e.png\",\n \"fc2dcde0-0848-4b09-aeaf-bfef58120de9.png\",\n \"347c0df7-5817-470e-8b28-2802f90461f6.png\",\n \"ec5bc181-5466-4ebd-9e42-471593b8d104.png\",\n \"d3b1eba5-ec53-4e6d-9600-9510afbc4dda.png\",\n \"16483fad-5c24-4766-ad53-bd78551f0768.png\",\n \"ae8026ed-e74b-4bf3-9f53-458c250420ba.png\",\n \"907d39f4-6b30-46cd-b0c8-f525c636c933.png\",\n \"6b076b97-18f7-452d-9f09-20dffb01729f.png\",\n \"c7feccc5-ad10-4aeb-91b0-12b6b93feeba.png\",\n \"c66a7c1e-21f2-44aa-9486-cdfb5ad699ba.png\",\n \"82af2366-1d27-4665-ba99-e5a60a75205a.png\",\n \"2289e832-64da-47d9-82ef-1f4e15ccf627.png\",\n \"26768525-2b04-4715-9159-3679598289a3.png\",\n \"80af4067-77e9-4c13-b617-4f370dc14d3f.png\",\n \"ec6c5f06-d7f8-4eac-8e2f-6cda4536d8ab.png\",\n \"93ee1d70-6eaa-487b-84d1-cc18bcda253f.png\",\n \"6d5ba4db-4b63-4277-bb80-dc278dbe28bd.png\",\n \"b22e4e71-1121-4fca-b158-efbb906918e9.png\",\n \"49fd46d0-05ce-4c7d-923c-3891935f6947.png\",\n \"19652f82-98b9-44e6-9964-e426192a723d.png\",\n \"314a06fc-4efc-4e34-8048-565455e4f3e1.png\",\n \"8123cfc7-53b6-45d6-ace3-b64d4bd3234b.png\",\n \"35159b16-a1b5-45ba-9d4f-83f471d5f44b.png\",\n \"d6c0016f-aaec-4764-ac28-7a6eda64b693.png\",\n \"d09c7811-213b-4c19-9154-48e57174f239.png\",\n \"2bcdcc4c-0f13-4edb-85f4-2c9f4f948df0.png\",\n \"4a4720a0-0efc-4b63-a83d-a8cc5b1c15ad.png\",\n \"98f680b2-15c4-4854-902b-ed6b69425164.png\",\n \"32283b0a-3c36-4f92-b9c2-dd2edf3a3db1.png\",\n \"d56e9e82-3f62-4ce8-8a55-27da90fbe183.png\",\n \"4fc37973-195c-4e25-8751-331a3b88e685.png\",\n \"fb0bb8fa-8336-4b26-bdc5-7f8a432c1d94.png\",\n \"7ca2d9d1-d300-479d-ab85-f956b6ef60de.png\",\n \"4fd8bb55-bb2d-4748-a134-bbab7a22e4db.png\",\n \"63cde119-f9d8-468d-900a-1976211739f8.png\",\n \"e8290a84-88a1-4eac-a5b4-b2c63146b2c9.png\",\n \"13b592f9-5c8b-4f90-aa54-5ab57a29ea89.png\",\n \"0398ce8e-9200-430c-a654-f2057bc9a2d4.png\",\n \"92b1d310-99a1-4de2-99b6-975eaf5a3744.png\",\n \"418d563f-bd82-473f-a738-cd9775db4e56.png\",\n \"8fb52893-1e93-4fea-adba-838e9b42e4d2.png\",\n \"acec8466-8b0a-4adc-9929-561b7136fccb.png\",\n \"3d01addb-1103-49ca-9c74-3027112e4aa8.png\",\n \"5f5973bf-d11c-4f99-9b86-b1303cea3503.png\",\n \"1317665c-e5c4-48b8-b3a5-2a90aa0283d7.png\",\n \"48f2153e-6f4a-4da5-99a5-775a888c218a.png\",\n \"34451b52-0f65-4e1a-91aa-5f2b1420f4b7.png\",\n \"d3a10e7c-63c1-4309-b801-e42ce6e575d5.png\",\n \"4c74937f-c30d-49c8-993e-c5a133f92414.png\",\n \"5c4c748f-acd5-4fc8-b6cd-a37f629709fb.png\",\n \"0293e1f1-291e-48ad-a5d0-cc7fcb062603.png\",\n \"407f63d2-8fc7-42dd-9a46-23c76693789b.png\",\n \"6d5de058-cc60-4f07-89db-bcc6817bb115.png\",\n \"a1c9be32-3539-4390-bf01-828d5fb9f57d.png\",\n \"562c8d0a-e524-49d7-81c2-70b34b4b9a15.png\",\n \"8023b832-eaca-414a-9a53-c2fe423087d2.png\",\n \"e8e73128-7722-4514-9684-1c17d43d880e.png\",\n \"24cb81a7-dd2b-4b07-808b-f6611fea0393.png\",\n \"5266bc57-58db-4171-8d73-a2a40ff380d2.png\",\n \"9752c0a1-49f5-4842-8554-bfa3a6a3c3b4.png\",\n \"df4a6dd3-672f-4547-8ade-609df28dcda9.png\",\n \"921bb517-fdc9-4ca2-b9fc-a9e17e6cb8fc.png\",\n \"e3f229a1-8637-49b1-abaa-84d228aff34a.png\",\n \"53f22687-4635-4bff-99e2-2eacdc402359.png\",\n \"c7fe32b2-97c6-45f7-90f8-47213c9b85f1.png\",\n \"a7a87c72-1d8a-42d6-b0a4-c72b7dd8933a.png\",\n \"2630415e-1871-437a-84de-52ad7ce88f3e.png\",\n \"b53ff282-4725-45f7-a436-89f77320f062.png\",\n ]\n\n loading: boolean = false\n\n urlPattern = URL_PATTERN\n\n submitted: boolean = false\n newOrg: Organization = new Organization()\n errorMsg: string = \"\"\n\n croppedImage: any = '';\n croppedImageEvent: ImageCroppedEvent | null = null;\n\n constructor(\n private connectService: ConnectService,\n private router: Router,\n private modalService: NgbModal,\n private sanitizer: DomSanitizer\n ) { }\n\n ngOnInit(): void {\n }\n\n signupOrgSubmit(){\n this.loading = true\n this.submitted = true;\n\n this.newOrg.logo_uri = \"https://example.com\" //TODO: placeholder logo url.\n console.log(\"starting signup process...\",this.newOrg)\n this.connectService.createOrg(this.newOrg, this.croppedImageEvent?.blob!).subscribe(\n (resp) => {\n console.log(\"Organization Created\", resp)\n this.router.navigate(['/dashboard'])\n },\n (err) => {\n console.error(\"Error creating Organization\", err)\n this.errorMsg = err.error.message\n this.loading = false\n }\n )\n\n }\n openLogoCropper(){\n this.modalService.open(LogoCropperComponent).result.then(\n (result) => {\n this.croppedImageEvent = result\n this.croppedImage = this.sanitizer.bypassSecurityTrustUrl(this.croppedImageEvent?.objectUrl!);\n },\n (reason) => {\n console.log(`Dismissed`, reason);\n },\n );\n }\n\n}\n","
\n
\n\n
\n
\n \n
\n
\n
\n
\n\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport {User} from '../../models/fasten/user';\nimport {AuthService} from '../../services/auth.service';\nimport {Router} from '@angular/router';\nimport {STRONG_PASSWORD_PATTERN} from '../../app.constants';\n\n@Component({\n selector: 'app-auth-signup',\n templateUrl: './auth-signup.component.html',\n styleUrls: ['./auth-signup.component.scss']\n})\nexport class AuthSignupComponent implements OnInit {\n\n strong_password_pattern = STRONG_PASSWORD_PATTERN\n\n gridImages: string[] = [\n \"f8f9ce28-d79b-4b54-9f7d-3f0aaba88c2c.png\",\n \"89bb6993-b806-49a2-84e2-6e70705c504a.png\",\n \"9fcc4529-7dc9-4c66-9198-574f978c8bb7.png\",\n \"68952002-f17e-4086-aae5-841241b194dd.png\",\n \"767b97b9-4538-433f-ab7a-14ccb0053323.png\",\n \"74078880-4084-430e-bc6c-223e5990cef8.png\",\n \"10668246-1077-4c1d-a6ce-0557c9476e77.png\",\n \"f7e4fc08-c6f6-426b-be98-d60aa36d3b8b.png\",\n \"65308856-beaa-46a0-9775-20c6c9322add.png\",\n \"6e901e85-8f45-4c60-8d1f-12621aad07f1.png\",\n \"e675376d-03de-4e66-8196-eaccda536ad5.png\",\n \"a36fd256-2751-464f-b6d7-418279595b1e.png\",\n \"c623f37e-6399-4a13-909f-3d9886130673.png\",\n \"467592a3-7f5f-4258-909e-a99ca971ce15.png\",\n \"5ad8a5ab-6570-4f1e-8002-30a051ec52c2.png\",\n \"ddbef50d-3940-4411-9dea-6bf759704c6e.png\",\n \"fc2dcde0-0848-4b09-aeaf-bfef58120de9.png\",\n \"347c0df7-5817-470e-8b28-2802f90461f6.png\",\n \"ec5bc181-5466-4ebd-9e42-471593b8d104.png\",\n \"d3b1eba5-ec53-4e6d-9600-9510afbc4dda.png\",\n \"16483fad-5c24-4766-ad53-bd78551f0768.png\",\n \"ae8026ed-e74b-4bf3-9f53-458c250420ba.png\",\n \"907d39f4-6b30-46cd-b0c8-f525c636c933.png\",\n \"6b076b97-18f7-452d-9f09-20dffb01729f.png\",\n \"c7feccc5-ad10-4aeb-91b0-12b6b93feeba.png\",\n \"c66a7c1e-21f2-44aa-9486-cdfb5ad699ba.png\",\n \"82af2366-1d27-4665-ba99-e5a60a75205a.png\",\n \"2289e832-64da-47d9-82ef-1f4e15ccf627.png\",\n \"26768525-2b04-4715-9159-3679598289a3.png\",\n \"80af4067-77e9-4c13-b617-4f370dc14d3f.png\",\n \"ec6c5f06-d7f8-4eac-8e2f-6cda4536d8ab.png\",\n \"93ee1d70-6eaa-487b-84d1-cc18bcda253f.png\",\n \"6d5ba4db-4b63-4277-bb80-dc278dbe28bd.png\",\n \"b22e4e71-1121-4fca-b158-efbb906918e9.png\",\n \"49fd46d0-05ce-4c7d-923c-3891935f6947.png\",\n \"19652f82-98b9-44e6-9964-e426192a723d.png\",\n \"314a06fc-4efc-4e34-8048-565455e4f3e1.png\",\n \"8123cfc7-53b6-45d6-ace3-b64d4bd3234b.png\",\n \"35159b16-a1b5-45ba-9d4f-83f471d5f44b.png\",\n \"d6c0016f-aaec-4764-ac28-7a6eda64b693.png\",\n \"d09c7811-213b-4c19-9154-48e57174f239.png\",\n \"2bcdcc4c-0f13-4edb-85f4-2c9f4f948df0.png\",\n \"4a4720a0-0efc-4b63-a83d-a8cc5b1c15ad.png\",\n \"98f680b2-15c4-4854-902b-ed6b69425164.png\",\n \"32283b0a-3c36-4f92-b9c2-dd2edf3a3db1.png\",\n \"d56e9e82-3f62-4ce8-8a55-27da90fbe183.png\",\n \"4fc37973-195c-4e25-8751-331a3b88e685.png\",\n \"fb0bb8fa-8336-4b26-bdc5-7f8a432c1d94.png\",\n \"7ca2d9d1-d300-479d-ab85-f956b6ef60de.png\",\n \"4fd8bb55-bb2d-4748-a134-bbab7a22e4db.png\",\n \"63cde119-f9d8-468d-900a-1976211739f8.png\",\n \"e8290a84-88a1-4eac-a5b4-b2c63146b2c9.png\",\n \"13b592f9-5c8b-4f90-aa54-5ab57a29ea89.png\",\n \"0398ce8e-9200-430c-a654-f2057bc9a2d4.png\",\n \"92b1d310-99a1-4de2-99b6-975eaf5a3744.png\",\n \"418d563f-bd82-473f-a738-cd9775db4e56.png\",\n \"8fb52893-1e93-4fea-adba-838e9b42e4d2.png\",\n \"acec8466-8b0a-4adc-9929-561b7136fccb.png\",\n \"3d01addb-1103-49ca-9c74-3027112e4aa8.png\",\n \"5f5973bf-d11c-4f99-9b86-b1303cea3503.png\",\n \"1317665c-e5c4-48b8-b3a5-2a90aa0283d7.png\",\n \"48f2153e-6f4a-4da5-99a5-775a888c218a.png\",\n \"34451b52-0f65-4e1a-91aa-5f2b1420f4b7.png\",\n \"d3a10e7c-63c1-4309-b801-e42ce6e575d5.png\",\n \"4c74937f-c30d-49c8-993e-c5a133f92414.png\",\n \"5c4c748f-acd5-4fc8-b6cd-a37f629709fb.png\",\n \"0293e1f1-291e-48ad-a5d0-cc7fcb062603.png\",\n \"407f63d2-8fc7-42dd-9a46-23c76693789b.png\",\n \"6d5de058-cc60-4f07-89db-bcc6817bb115.png\",\n \"a1c9be32-3539-4390-bf01-828d5fb9f57d.png\",\n \"562c8d0a-e524-49d7-81c2-70b34b4b9a15.png\",\n \"8023b832-eaca-414a-9a53-c2fe423087d2.png\",\n \"e8e73128-7722-4514-9684-1c17d43d880e.png\",\n \"24cb81a7-dd2b-4b07-808b-f6611fea0393.png\",\n \"5266bc57-58db-4171-8d73-a2a40ff380d2.png\",\n \"9752c0a1-49f5-4842-8554-bfa3a6a3c3b4.png\",\n \"df4a6dd3-672f-4547-8ade-609df28dcda9.png\",\n \"921bb517-fdc9-4ca2-b9fc-a9e17e6cb8fc.png\",\n \"e3f229a1-8637-49b1-abaa-84d228aff34a.png\",\n \"53f22687-4635-4bff-99e2-2eacdc402359.png\",\n \"c7fe32b2-97c6-45f7-90f8-47213c9b85f1.png\",\n \"a7a87c72-1d8a-42d6-b0a4-c72b7dd8933a.png\",\n \"2630415e-1871-437a-84de-52ad7ce88f3e.png\",\n \"b53ff282-4725-45f7-a436-89f77320f062.png\",\n ]\n\n loading: boolean = false\n\n submitted: boolean = false\n newUser: User = new User()\n errorMsg: string = \"\"\n\n\n constructor(\n private authService: AuthService,\n private router: Router,\n ) { }\n\n ngOnInit(): void {\n }\n\n signupSubmit(){\n this.loading = true\n this.submitted = true;\n\n this.authService.Signup(this.newUser).then((tokenResp: any) => {\n this.loading = false\n console.log(tokenResp);\n //after creating a user, proceed to create an organization\n this.router.navigateByUrl('/auth/signup/org');\n },\n (err)=>{\n this.loading = false\n console.error(\"an error occured while signup\",err)\n if(err.name === 'conflict') {\n // \"batman\" already exists, choose another username\n this.errorMsg = \"username already exists\"\n } else if (err.name === 'forbidden') {\n // invalid username\n this.errorMsg = \"invalid username\"\n } else {\n this.errorMsg = \"an unknown error occurred during sign-up\"\n }\n\n // TODO:\n // const toastNotificaiton = new ToastNotification()\n // toastNotificaiton.type = ToastType.Error\n // toastNotificaiton.message = this.errorMsg\n // this.toastService.show(toastNotificaiton)\n })\n }\n\n}\n","
\n
\n\n
\n
\n \n
\n
\n
\n
\n\n\n\n\n\n","import {Component, OnInit} from '@angular/core';\nimport {ChartConfiguration} from 'chart.js';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss']\n})\nexport class DashboardComponent implements OnInit {\n\n\n constructor() { }\n\n ngOnInit(): void {\n\n }\n\n bounceRateChartData = [{\n label: 'This week',\n data: [27.2, 29.9, 29.6, 25.7, 25.9, 29.3, 31.1, 27.9, 28.4, 25.4, 23.2, 18.2, 14, 12.7, 11, 13.7, 9.7, 12.6, 10.9, 12.7, 13.8, 12.9, 13.8, 10.2, 5.8, 7.6, 8.8, 5.6, 5.6, 6.3, 4.2, 3.6, 5.4, 6.5, 8.1, 10.9, 7.6, 9.7, 10.9, 9.5, 5.4, 4.9, .7, 2.3, 5.5, 10, 10.6, 8.3, 8.4, 8.5, 5.8 ],\n borderWidth: 2,\n fill: true\n }];\n\n bounceRateChartLabels = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51'];\n\n bounceRateChartOptions = {\n\n responsive:true,\n maintainAspectRatio:false,\n scales: {\n y: {\n display: false,\n gridLines: {\n drawBorder: false,\n display: true,\n drawTicks: false,\n },\n ticks: {\n display: false,\n beginAtZero: true,\n min: 0,\n max: 40,\n stepSize: 10,\n }\n },\n x: {\n display: false,\n position: 'bottom',\n gridLines: {\n drawBorder: false,\n display: false,\n drawTicks: false,\n },\n ticks: {\n beginAtZero: true,\n stepSize: 10,\n fontColor: \"#a7afb7\",\n padding: 10,\n }\n },\n },\n plugins: {\n legend: {\n display: false,\n },\n },\n\n elements: {\n point: {\n radius: 0\n },\n line: {\n tension: 0\n }\n },\n tooltips: {\n backgroundColor: 'rgba(2, 171, 254, 1)',\n },\n backgroundColor: 'rgba(0, 204, 212, .2)',\n borderColor: 'rgb(0, 204, 212)',\n } as ChartConfiguration<'line'>['options']\n\n // Total users chart\n usersBarChartData = [{\n label: '# of Votes',\n data: [27.2, 29.9, 29.6, 25.7, 25.9, 29.3, 31.1, 27.9, 28.4, 25.4, 23.2, 18.2, 14, 12.7, 11, 13.7, 9.7, 12.6, 10.9, 12.7, 13.8],\n borderWidth: 1,\n fill: false\n }];\n\n usersBarChartLabels = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18'];\n\n usersBarChartOptions = {\n\n responsive:true,\n maintainAspectRatio:false,\n scales: {\n y: {\n display: false,\n ticks: {\n display: false,\n },\n gridLines: {\n drawBorder: false,\n display: false\n }\n },\n x: {\n display: false,\n barThickness: 5.5,\n ticks: {\n display: false,\n },\n gridLines: {\n drawBorder: false,\n display: false\n }\n }\n },\n plugins: {\n legend: {\n display: false\n },\n },\n elements: {\n point: {\n radius: 0\n }\n },\n backgroundColor: '#007bff',\n borderColor: '#007bff'\n } as ChartConfiguration<'bar'>['options']\n\n}\n","
\n
\n
\n
\n
\n

Welcome back!

\n
\n
\n
\n
\n \n
Mar 24, 2024
\n
\n
\n
\n
\n \n
None
\n
\n
\n\n
\n
\n\n
\n \n Under Construction! The Dashboard is still under development. We will notify you once you can start using it.\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n
33.50% 18.02%
\n

API Requests

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
86 0.86%
\n

Webhooks

\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n\n
\n
\n
Connections
\n Total number of authorized patient connections for this billing period.\n
\n
\n
\n
\n 6,4,7,5,7\n
\n
\n \n

33

\n
\n
\n
\n
\n 7,4,5,7,2\n
\n
\n \n

9

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Authorized Connections
\n

Recently connected healthcare insitutions.

\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 Portal NameSynced RecordsPatient Auth IDStatus
Epic134 (1.51%)6f3f3770-ad00-...complete
eClincalWorks290 (3.30%)ae5e7f40-4e7c-...complete
Medicare250 (3.00%)b3af4ab6-9275-...complete
Epic216 (2.79%)baccf6e8-f020-...complete
Epic216 (2.79%)61a193cc-33ed-...error
United Healthcare197 (2.12%)6a79f333-9408-...complete
\n
\n
\n
\n\n
\n\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport {NgbModal} from '@ng-bootstrap/ng-bootstrap';\nimport {ConnectService} from '../../services/connect.service';\nimport {ApiMode, CRUDMode, URL_PATTERN} from '../../app.constants';\nimport {PortalConfigService} from '../../services/portal-config.service';\nimport {OrganizationCredential} from '../../models/fasten/organization-credential';\nimport {PortalConfig} from '../../models/portal-config';\nimport {OrganizationWebhook} from '../../models/fasten/organization-webhook';\nimport {OrgCredentialsEditorComponent} from '../../components/org-credentials-editor/org-credentials-editor.component';\nimport {OrgWebhooksEditorComponent} from '../../components/org-webhooks-editor/org-webhooks-editor.component';\n\n@Component({\n selector: 'app-developers',\n templateUrl: './developers.component.html',\n styleUrls: ['./developers.component.scss']\n})\nexport class DevelopersComponent implements OnInit {\n\n\n orgCredentials: {[name: string]: OrganizationCredential[]} = {\n [ApiMode.Live]: [],\n [ApiMode.Test]: [],\n }\n\n newCredential: {org_credential: OrganizationCredential, private_key: string} | null = null\n\n orgWebhooks: {[name: string]: OrganizationWebhook[]} = {\n [ApiMode.Live]: [],\n [ApiMode.Test]: [],\n }\n\n\n constructor(\n private connectService: ConnectService,\n private modalService: NgbModal,\n public portalConfig: PortalConfigService,\n ) { }\n\n ngOnInit(): void {\n\n this.connectService.getOrgCredentials(this.portalConfig.config$.user?.org_id!).subscribe((data) => {\n for(let cred of data){\n this.orgCredentials[cred.api_mode].push(cred)\n }\n })\n this.connectService.getOrgWebhooks(this.portalConfig.config$.user?.org_id!).subscribe((data) => {\n for(let hook of data){\n this.orgWebhooks[hook.api_mode].push(hook)\n }\n })\n }\n\n\n public showOrgCredentialEditorModal(editorMode: 'create' | 'edit', orgCredential?: OrganizationCredential) {\n let orgCredentialEditorModal = this.modalService.open(OrgCredentialsEditorComponent, { ariaLabelledBy: 'modal-basic-title' })\n orgCredentialEditorModal.componentInstance.org = this.portalConfig.config$.org\n orgCredentialEditorModal.componentInstance.apiMode = this.portalConfig.config$.apiMode!\n orgCredentialEditorModal.componentInstance.editorMode = editorMode\n\n if(editorMode === 'edit'){\n orgCredentialEditorModal.componentInstance.orgCredential = orgCredential\n }\n\n orgCredentialEditorModal.result.then(\n (result: {action: CRUDMode, org_credential: OrganizationCredential, private_key: string}) => {\n console.log(`Closed with:`, result)\n\n if(editorMode == 'create'){\n this.orgCredentials[result.org_credential.api_mode].push(result.org_credential)\n this.newCredential = result\n } else {\n //find the credential and update it or delete it\n let apiMode = result.org_credential.api_mode\n for(let i = 0; i < this.orgCredentials[apiMode].length; i++){\n if(this.orgCredentials[apiMode][i].id == result.org_credential.id){\n if(result.action == CRUDMode.Delete){\n this.orgCredentials[apiMode].splice(i, 1)\n break\n } else {\n //update the credential\n this.orgCredentials[apiMode][i] = result.org_credential\n break\n }\n }\n }\n }\n },\n (reason) => {\n console.log(`Dismissed ${reason}`)\n },\n );\n }\n\n public copyPublicId(credential: OrganizationCredential) {\n navigator.clipboard.writeText(credential.id);\n }\n\n\n public showOrgWebhookEditorModal(editorMode: 'create' | 'edit', orgWebhook?: OrganizationWebhook) {\n let orgWebhookEditorModal = this.modalService.open(OrgWebhooksEditorComponent, { ariaLabelledBy: 'modal-basic-title' })\n orgWebhookEditorModal.componentInstance.org = this.portalConfig.config$.org\n orgWebhookEditorModal.componentInstance.apiMode = this.portalConfig.config$.apiMode!\n orgWebhookEditorModal.componentInstance.editorMode = editorMode\n\n if(editorMode === 'edit'){\n orgWebhookEditorModal.componentInstance.orgWebhook = orgWebhook\n }\n orgWebhookEditorModal.result.then(\n (result: {action: CRUDMode, org_webhook: OrganizationWebhook}) => {\n console.log(`Closed with:`, result)\n\n let apiMode = result.org_webhook.api_mode\n if(editorMode == 'create'){\n this.orgWebhooks[apiMode].push(result.org_webhook)\n } else {\n apiMode = orgWebhook?.api_mode!\n //find the webhook and update it\n for(let i = 0; i < this.orgWebhooks[apiMode].length; i++){\n if(this.orgWebhooks[apiMode][i].id == result.org_webhook.id){\n if(result.action == CRUDMode.Delete){\n this.orgWebhooks[apiMode].splice(i, 1)\n break\n } else {\n //update the webhook\n this.orgWebhooks[apiMode][i] = result.org_webhook\n break\n }\n }\n }\n }\n },\n (reason) => {\n console.log(`Dismissed ${reason}`)\n },\n );\n }\n\n}\n","
\n \n\n\n
\n
\n API Credentials\n Learn more about API authentication\n
\n
\n\n\n
\n
\n Credentials\n \n
\n\n
\n

Create a key that unlocks full API access, enabling extensive interaction with your account.

\n\n
\n \n Credential Created! Make sure to copy your Private Key now. You won’t be able to see it again!\n
\n Public Id: {{newCredential.org_credential.id}}
\n Private Key: {{newCredential.private_key}}\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
StatusPublic IdPrivate KeyCreated
\n {{cred.status}}\n {{cred.id}} {{cred.private_key || 'REDACTED'}}{{cred.created_at | amDateFormat:'LL'}}\n \n
\n
\n\n
\n\n
\n
\n Webhooks\n \n
\n\n\n
\n

Set up your webhook endpoint to receive events from Fasten Connect or learn more about Webhooks.

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
StatusUrlEventsDelivery Logs
\n {{webhook.status}}\n {{webhook.endpoint_uri}}\n \n {{webhook?.event_types?.length}} event(s)\n \n \n \n
\n
\n\n\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport {PortalConfigService} from '../../services/portal-config.service';\nimport {environment} from '../../../environments/environment';\nimport {ConnectService} from '../../services/connect.service';\n\n@Component({\n selector: 'app-org-settings',\n templateUrl: './org-settings.component.html',\n styleUrls: ['./org-settings.component.scss']\n})\nexport class OrgSettingsComponent implements OnInit {\n\n stripe_customer_portal = environment.stripe_customer_portal;\n loading = false\n recentlyChanged = false\n\n constructor(\n public portalConfig: PortalConfigService,\n public connectService: ConnectService,\n ) { }\n\n ngOnInit(): void {\n\n //read query string parameters\n const urlParams = new URLSearchParams(window.location.search);\n const sessionId = urlParams.get('session_id');\n if(sessionId){\n this.recentlyChanged = true\n }\n\n }\n\n onUpgradePlan() {\n this.loading = true\n this.connectService.upgradePlanCheckoutRedirect().subscribe(() => {\n this.loading = false\n console.log(\"waiting for redirect\")\n })\n }\n}\n","
\n
\n
\n\n
\n
\n \"\"\n
\n
\n
\n
{{portalConfig.config$.org?.name}}
\n

{{portalConfig.config$.org?.plan}}

\n
\n
\n\n
\n \n
\n\n
\n\n
\n\n
\n
\n
\n\n
\n\n
\n
\n
\n Invoices & Payment Methods\n Please visit the Billing Portal\n
\n
\n\n
\n
\n\n
\n\n
\n
\n
\n \n Plan Changed! Your plan changed recently. It may take up to 24 hours to reflect plan changes in your organization profile.\n
\n\n\n
\n
\n
\n
\n
\n

Development

\n
\n

Free

\n
\n
Monthly
\n \n
    \n
  • Test mode only
  • \n
  • Sandbox EHR Integrations
  • \n
  • No live Patient Data
  • \n
  • Email Support
  • \n
\n
\n
\n
\n
\n
\n
\n

Live

\n
\n

$100.00

\n
\n
Minimum Monthly
\n \n
    \n
  • Test & Live mode
  • \n
  • 27,000+ EHR Integrations
  • \n
  • Live Patient Data
  • \n
  • Email & Live Chat Support
  • \n
\n
\n
\n
\n
\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport {ConnectService} from '../../services/connect.service';\nimport {NgbModal} from '@ng-bootstrap/ng-bootstrap';\nimport {PortalConfigService} from '../../services/portal-config.service';\nimport {ActivatedRoute} from '@angular/router';\nimport {OrganizationWebhookDelivery} from '../../models/fasten/organization-webhook-delivery';\nimport {OrganizationWebhook} from '../../models/fasten/organization-webhook';\nimport {OrganizationCredential} from '../../models/fasten/organization-credential';\n\n@Component({\n selector: 'app-webhook-logs',\n templateUrl: './webhook-logs.component.html',\n styleUrls: ['./webhook-logs.component.scss']\n})\nexport class WebhookLogsComponent implements OnInit {\n\n showAllDeliveries = false\n webhookDeliveries: OrganizationWebhookDelivery[] = []\n webhook: OrganizationWebhook | null = null\n selectedWebhookDelivery: OrganizationWebhookDelivery | null = null\n\n constructor(\n private connectService: ConnectService,\n public portalConfig: PortalConfigService,\n private route: ActivatedRoute,\n ) { }\n\n ngOnInit(): void {\n let webhookId = this.route.snapshot.paramMap.get('webhookId')\n if (!webhookId) {\n return\n }\n\n this.connectService.getOrgWebhookDeliveries(this.portalConfig.config$.user?.org_id!, webhookId!).subscribe((data) => {\n console.log(\"Webhook Deliveries\", data)\n this.webhookDeliveries = (data.deliveries || []).reverse()\n this.webhook = data.webhook\n\n if (this.webhookDeliveries.length > 0) {\n this.selectedWebhookDelivery = this.webhookDeliveries[0]\n }\n\n })\n }\n\n public copySecretToken(secretToken: string | undefined) {\n if (!secretToken) {\n return\n }\n navigator.clipboard.writeText(secretToken);\n }\n}\n","
\n \n\n
\n
\n {{webhook?.endpoint_uri}}\n\n
\n\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
StatusAPI ModeListening ForSigning SecretLast Updated
\n {{webhook?.status}}\n \n {{webhook?.api_mode}}\n \n {{webhook?.event_types?.length}} event(s)\n \n reveal \n \n {{webhook?.updated_at | amDateFormat:'LL'}}
\n
\n\n
\n\n
\n\n
\n
\n Delivery Logs\n
\n
\n
\n
\n
\n \n \n
\n
\n\n
\n Response\n
\n\n
\n
\n
\n Request\n
\n
\n \n
\n Waiting for delivery...\n
\n
\n
\n
\n
\n
\n
\n\n
\n","import { Injectable, Injector } from '@angular/core';\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {Router} from '@angular/router';\nimport {Observable, of, throwError} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\nimport {AuthService} from './auth.service';\nimport {environment} from '../../environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\n\n// based on https://stackoverflow.com/questions/46017245/how-to-handle-unauthorized-requestsstatus-with-401-or-403-with-new-httpclient\nexport class AuthInterceptorService implements HttpInterceptor {\n\n constructor(private authService: AuthService, private router: Router) { }\n\n private handleAuthError(err: HttpErrorResponse): Observable {\n //handle your auth error or rethrow\n if (err.status === 401 || err.status === 403) {\n //navigate /delete cookies or whatever\n this.authService.Signout()\n this.router.navigateByUrl(`/auth/signin`);\n // if you've caught / handled the error, you don't want to rethrow it unless you also want downstream consumers to have to handle it as well.\n return of(err.message); // or EMPTY may be appropriate here\n }\n return throwError(err);\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n\n console.log(\"Intercepting Request\", req)\n\n //only intercept requests to the fasten API & lighthouse, all other requests should be sent as-is\n let reqUrl = new URL(req.url)\n let lighthouseUrl = new URL(environment.lighthouse_api_endpoint_base)\n let apiUrl = new URL(environment.connect_api_endpoint_base)\n\n if(\n !((reqUrl.origin == apiUrl.origin && reqUrl.pathname.startsWith(apiUrl.pathname)) ||\n (reqUrl.origin == lighthouseUrl.origin && reqUrl.pathname.startsWith(lighthouseUrl.pathname)))\n ){\n return next.handle(req)\n }\n\n // Clone the request and ensure that cookies are sent\n const authReq = req.clone({withCredentials: true});\n // catch the error, make specific functions for catching specific errors and you can chain through them with more catch operators\n return next.handle(authReq).pipe(catchError(x=> this.handleAuthError(x))); //here use an arrow function, otherwise you may get \"Cannot read property 'navigate' of undefined\" on angular 4.4.2/net core 2/webpack 2.70\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {User} from '../models/fasten/user';\nimport {environment} from '../../environments/environment';\nimport {HttpClient} from '@angular/common/http';\nimport {ResponseWrapper} from '../models/response-wrapper';\nimport {BehaviorSubject} from 'rxjs';\nimport * as jose from 'jose'\nimport {PortalConfigService} from './portal-config.service';\n\nexport const FASTEN_AUTH_COOKIE_NAME = 'fasten_connect_auth'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n public IsAuthenticatedSubject = new BehaviorSubject(false)\n\n constructor(private _httpClient: HttpClient, private portalConfigService: PortalConfigService) {}\n\n /**\n * Signup (and Signin) both require an \"online\" user.\n * @param newUser\n * @constructor\n */\n public async Signup(newUser?: User): Promise {\n let resp = await this._httpClient.post(`${environment.connect_api_endpoint_base}/auth/signup`, newUser, { withCredentials: true }).toPromise()\n console.log(resp)\n return resp\n }\n\n public async Signin(email: string, pass: string): Promise {\n let currentUser = new User()\n currentUser.email = email\n currentUser.password = pass\n let resp = await this._httpClient.post(`${environment.connect_api_endpoint_base}/auth/login`, currentUser, { withCredentials: true }).toPromise()\n return resp\n }\n\n public async Signout(): Promise {\n this.publishAuthenticationState(false)\n return this.deleteCookie(FASTEN_AUTH_COOKIE_NAME)\n // // let remotePouchDb = new PouchDB(this.getRemoteUserDb(localStorage.getItem(\"current_user\")), {skip_setup: true});\n // if(this.pouchDb){\n // await this.pouchDb.logOut()\n // }\n // await this.Close()\n }\n\n public async GetJWTPayload(): Promise {\n let authToken = this.getCookie(FASTEN_AUTH_COOKIE_NAME)\n if (!authToken) {\n return null\n }\n let jwks = jose.createRemoteJWKSet(new URL(environment.jwks_uri))\n let issuerHost = environment.connect_api_endpoint_base\n\n try {\n //audience and issuer must be the same. This token is only valid on the fasten connect api\n const {payload, protectedHeader} = await jose.jwtVerify(authToken, jwks, {\n issuer: issuerHost,\n audience: issuerHost,\n })\n // @ts-ignore\n this.portalConfigService.config = {user: payload}\n return payload\n } catch (e) {\n console.error(\"failed to verify jwt:\", e, issuerHost)\n return null\n }\n }\n\n public async IsAuthenticated(): Promise {\n let payload = await this.GetJWTPayload()\n let isAuthenticated = payload != null\n this.publishAuthenticationState(isAuthenticated)\n return isAuthenticated\n }\n\n //https://stackoverflow.com/questions/34298133/angular-cookies\n private getCookie(name: string): string {\n const ca: Array = decodeURIComponent(document.cookie).split(';');\n const caLen: number = ca.length;\n const cookieName = `${name}=`;\n let c: string;\n\n for (let i = 0; i < caLen; i += 1) {\n c = ca[i].replace(/^\\s+/g, '');\n if (c.indexOf(cookieName) === 0) {\n return c.substring(cookieName.length, c.length);\n }\n }\n return '';\n }\n\n private deleteCookie(name: string) {\n this.setCookie(name, '', -1);\n }\n private setCookie(name: string, value: string, expireDays: number, path: string = '') {\n const d: Date = new Date();\n d.setTime(d.getTime() + expireDays * 24 * 60 * 60 * 1000);\n const expires = `expires=${d.toUTCString()}`;\n const cpath = path ? `; path=${path}` : '';\n document.cookie = `${name}=${value}; ${expires}${cpath}; SameSite=Lax`;\n }\n\n private publishAuthenticationState(authenticated: boolean){\n if(this.IsAuthenticatedSubject.value != authenticated){\n this.IsAuthenticatedSubject.next(authenticated)\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ResponseWrapper} from '../models/response-wrapper';\nimport {environment} from '../../environments/environment';\nimport {Organization} from '../models/fasten/organization';\nimport {map, Observable} from 'rxjs';\nimport {ApiMode, CRUDMode} from '../app.constants';\nimport {OrganizationCredential} from '../models/fasten/organization-credential';\nimport {OrganizationWebhook} from '../models/fasten/organization-webhook';\nimport {OrganizationWebhookDelivery} from '../models/fasten/organization-webhook-delivery';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConnectService {\n\n constructor(private _httpClient: HttpClient) { }\n\n\n /**\n * Create a new organization and associate it with the current User\n * @param newOrg\n * @param logoBlob\n * @constructor\n */\n public createOrg(newOrg: Organization, logoBlob: Blob): Observable {\n const formData = new FormData();\n\n //add the org data to the form data\n const orgJson = JSON.stringify(newOrg);\n const orgJsonBlob = new Blob([orgJson], {\n type: 'application/json'\n });\n formData.append(\"org\", orgJsonBlob);\n formData.append(\"logo\", logoBlob);\n\n let resp = this._httpClient.post(`${environment.connect_api_endpoint_base}/org`, formData)\n console.log(resp)\n return resp\n }\n\n\n public getOrg(orgId: String): Observable {\n return this._httpClient.get(`${environment.connect_api_endpoint_base}/org/${orgId}`)\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization\", response)\n return response.data as Organization;\n })\n );\n }\n\n\n public createOrgCredentials(orgId: string, apiMode: ApiMode, redirectUrl: string): Observable<{ action: CRUDMode, org_credential: OrganizationCredential, private_key: string}> {\n return this._httpClient.post(`${environment.connect_api_endpoint_base}/org/${orgId}/credentials`, {\n api_mode: apiMode,\n redirect_uri: redirectUrl\n })\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization Credential\", response)\n response.data.action = CRUDMode.Create\n return response.data as { action: CRUDMode, org_credential: OrganizationCredential, private_key: string};\n })\n );\n }\n public updateOrgCredential(orgId: string, orgCredentialId: string, redirectUrl: string): Observable<{ action: CRUDMode, org_credential: OrganizationCredential}> {\n return this._httpClient.put(`${environment.connect_api_endpoint_base}/org/${orgId}/credentials/${orgCredentialId}`, {\n redirect_uri: redirectUrl\n })\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization Credential\", response)\n return { action: CRUDMode.Update, org_credential: response.data} as { action: CRUDMode, org_credential: OrganizationCredential};\n })\n );\n }\n\n public deleteOrgCredential(orgId: string, orgCredentialId: string): Observable<{ action: CRUDMode, org_credential: OrganizationCredential}> {\n return this._httpClient.delete(`${environment.connect_api_endpoint_base}/org/${orgId}/credentials/${orgCredentialId}`)\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Deleted Organization Credential\", response)\n return { action: CRUDMode.Delete, org_credential: response.data} as { action: CRUDMode, org_credential: OrganizationCredential};\n })\n );\n }\n\n public getOrgCredentials(orgId: string): Observable {\n return this._httpClient.get(`${environment.connect_api_endpoint_base}/org/${orgId}/credentials`)\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization Credentials\", response)\n return response.data as OrganizationCredential[];\n })\n );\n }\n\n\n public createOrgWebhooks(orgId: string, apiMode: ApiMode, endpointUri: string): Observable<{ action: CRUDMode, org_webhook: OrganizationWebhook}> {\n return this._httpClient.post(`${environment.connect_api_endpoint_base}/org/${orgId}/webhooks`, {\n api_mode: apiMode,\n endpoint_uri: endpointUri\n })\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization Credential\", response)\n return {action: CRUDMode.Create, org_webhook: response.data};\n })\n );\n }\n\n public deleteOrgWebhook(orgId: string, orgWebhookId: string): Observable<{ action: CRUDMode, org_webhook: OrganizationWebhook}> {\n return this._httpClient.delete(`${environment.connect_api_endpoint_base}/org/${orgId}/webhooks/${orgWebhookId}`)\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Deleted Organization Webhook\", response)\n return { action: CRUDMode.Delete, org_webhook: response.data};\n })\n );\n }\n\n public updateOrgWebhook(orgId: string, orgWebhookId: string, endpointUri: string): Observable<{ action: CRUDMode, org_webhook: OrganizationWebhook}> {\n return this._httpClient.put(`${environment.connect_api_endpoint_base}/org/${orgId}/webhooks/${orgWebhookId}`, {\n endpoint_uri: endpointUri\n })\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization Webhook\", response)\n return { action: CRUDMode.Update, org_webhook: response.data};\n })\n );\n }\n\n public getOrgWebhooks(orgId: string): Observable {\n return this._httpClient.get(`${environment.connect_api_endpoint_base}/org/${orgId}/webhooks`)\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Organization Webhooks\", response)\n return response.data as OrganizationWebhook[];\n })\n );\n }\n\n public getOrgWebhookDeliveries(orgId: string, orgWebhookId: string): Observable<{webhook: OrganizationWebhook, deliveries: OrganizationWebhookDelivery[]}> {\n return this._httpClient.get(`${environment.connect_api_endpoint_base}/org/${orgId}/webhooks/${orgWebhookId}/deliveries`)\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"Webhooks Deliveries\", response)\n return response.data as {webhook: OrganizationWebhook, deliveries: OrganizationWebhookDelivery[]};\n })\n );\n }\n\n\n /**\n * Generate Stripe Checkout Link to Upgrade Plan\n * @param orgId\n * @constructor\n */\n public upgradePlanCheckoutRedirect(): Observable {\n return this._httpClient.post(`${environment.connect_api_endpoint_base}/store/checkout`, {})\n .pipe(\n map((response: ResponseWrapper) => {\n console.log(\"redirect URL\", response)\n\n let redirectData = response.data as { \"redirect_url\": string };\n window.location.href = redirectData.redirect_url;\n\n return null\n })\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\nimport {PortalConfig, portalConfigDefaults} from '../models/portal-config';\nimport {merge} from 'lodash';\nimport {ApiMode} from '../app.constants';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PortalConfigService {\n // Private\n public ConfigSubject: BehaviorSubject;\n private _defaultConfig: PortalConfig;\n constructor() {\n this._defaultConfig = portalConfigDefaults\n this.ConfigSubject = new BehaviorSubject(this._defaultConfig);\n }\n\n\n // -----------------------------------------------------------------------------------------------------\n // @ Accessors\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Setter & getter for config\n */\n set config(value: PortalConfig) {\n // get the current config, merge the new values, and then submit.\n const mergedSettings = merge({}, this.ConfigSubject.getValue(), value);\n\n // Store the value\n if(JSON.stringify(mergedSettings) !== JSON.stringify(this.ConfigSubject.getValue())){\n console.log('updating settings:', mergedSettings)\n this.ConfigSubject.next(mergedSettings);\n }\n }\n\n get config$(): PortalConfig {\n console.log('using cached settings:', this.ConfigSubject.getValue())\n return this.ConfigSubject.getValue()\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Resets the config to the default\n */\n reset(): void {\n // Set the config\n this.config = this._defaultConfig\n }\n\n toggleApiMode(): void {\n this.config = {\n apiMode: this.config$.apiMode === 'live' ? ApiMode.Test : ApiMode.Live\n }\n }\n}\n","export const environment = {\n name: \"development\",\n\n //specify the lighthouse base that we're going to use to authenticate against all our source/providers. Must not have trailing slash\n lighthouse_api_endpoint_base: 'https://lighthouse.fastenhealth.com',\n\n //used to specify the api server that we're going to use (can be relative or absolute). Must not have trailing slash\n // connect_api_endpoint_base: 'https://api.connect-dev.fastenhealth.com/v1',\n // if relative, must start with /\n connect_api_endpoint_base: 'https://api.connect-dev.fastenhealth.com/v1',\n\n jwks_uri: 'https://cdn.fastenhealth.com/jwks/fasten-connect/dev.json',\n\n //Stripe pricing table (Test mode in Dev)\n stripe_customer_portal: 'https://billing.stripe.com/p/login/test_bIY7thbZL5g6gXC000'\n // stripe_customer_portal: 'https://billing.stripe.com/p/login/dR6aEYe5h4AYe2I144'\n};\n","// this file is automatically generated by git.version.ts script\nexport const versionInfo = {\n version: 'dev',\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.name != \"local\") {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-ps\": 46235,\n\t\"./ar-ps.js\": 46235,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku-kmr\": 19619,\n\t\"./ku-kmr.js\": 19619,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["ActivatedRouteSnapshot","RouterStateSnapshot","Router","IsAuthenticatedAuthGuard","constructor","authService","router","canActivate","route","state","_this","_asyncToGenerator","jwtPayload","GetJWTPayload","navigate","org_id","console","log","i0","ɵɵinject","i1","AuthService","i2","factory","ɵfac","User","environment","BehaviorSubject","jose","FASTEN_AUTH_COOKIE_NAME","_httpClient","portalConfigService","IsAuthenticatedSubject","Signup","newUser","resp","post","connect_api_endpoint_base","withCredentials","toPromise","Signin","email","pass","_this2","currentUser","password","Signout","_this3","publishAuthenticationState","deleteCookie","_this4","authToken","getCookie","jwks","createRemoteJWKSet","URL","jwks_uri","issuerHost","payload","protectedHeader","jwtVerify","issuer","audience","config","user","e","error","IsAuthenticated","_this5","isAuthenticated","name","ca","decodeURIComponent","document","cookie","split","caLen","length","cookieName","c","i","replace","indexOf","substring","setCookie","value","expireDays","path","d","Date","setTime","getTime","expires","toUTCString","cpath","authenticated","next","HttpClient","PortalConfigService","providedIn"],"sourceRoot":"webpack:///","x_google_ignoreList":[43]} \ No newline at end of file