From 30038e43df4062fce0292846313c99d5fb503bb0 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Fri, 13 Dec 2024 13:17:23 -0700
Subject: [PATCH 1/7] add interceptor

---
 projects/nshmp-apps/src/main.ts               |  5 ++--
 .../too-many-requests.interceptor.ts          | 28 +++++++++++++++++++
 2 files changed, 31 insertions(+), 2 deletions(-)
 create mode 100644 projects/nshmp-apps/src/shared/interceptors/too-many-requests.interceptor.ts

diff --git a/projects/nshmp-apps/src/main.ts b/projects/nshmp-apps/src/main.ts
index c5e4a2adc..2c37f0ca7 100644
--- a/projects/nshmp-apps/src/main.ts
+++ b/projects/nshmp-apps/src/main.ts
@@ -1,4 +1,4 @@
-import {provideHttpClient} from '@angular/common/http';
+import {provideHttpClient, withInterceptors} from '@angular/common/http';
 import {enableProdMode, importProvidersFrom} from '@angular/core';
 import {bootstrapApplication, BrowserModule} from '@angular/platform-browser';
 import {provideAnimations} from '@angular/platform-browser/animations';
@@ -7,6 +7,7 @@ import {provideRouter} from '@angular/router';
 import {AppComponent} from './app/app.component';
 import {appRoutes} from './app/app.routes';
 import {environment} from './environments/environment';
+import {tooManyRequestsInterceptor} from './shared/interceptors/too-many-requests.interceptor';
 
 if (environment.production) {
   enableProdMode();
@@ -17,6 +18,6 @@ bootstrapApplication(AppComponent, {
     importProvidersFrom(BrowserModule),
     provideRouter(appRoutes()),
     provideAnimations(),
-    provideHttpClient(),
+    provideHttpClient(withInterceptors([tooManyRequestsInterceptor])),
   ],
 }).catch(err => console.error(err));
diff --git a/projects/nshmp-apps/src/shared/interceptors/too-many-requests.interceptor.ts b/projects/nshmp-apps/src/shared/interceptors/too-many-requests.interceptor.ts
new file mode 100644
index 000000000..a843e5599
--- /dev/null
+++ b/projects/nshmp-apps/src/shared/interceptors/too-many-requests.interceptor.ts
@@ -0,0 +1,28 @@
+import {
+  HttpErrorResponse,
+  HttpEvent,
+  HttpHandlerFn,
+  HttpRequest,
+} from '@angular/common/http';
+import {catchError, Observable} from 'rxjs';
+
+export function tooManyRequestsInterceptor(
+  req: HttpRequest<unknown>,
+  next: HttpHandlerFn
+): Observable<HttpEvent<unknown>> {
+  return next(req).pipe(
+    catchError(error => {
+      console.log(error);
+
+      if (error instanceof HttpErrorResponse) {
+        console.log(error.status);
+
+        if (error.status === 429) {
+          console.log(error.statusText);
+        }
+      }
+
+      throw error;
+    })
+  );
+}
-- 
GitLab


From cbae117c5143b38436fac8194a80562f8555fc9a Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Fri, 13 Dec 2024 13:19:29 -0700
Subject: [PATCH 2/7] test

---
 .gitlab-ci.yml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d2c108618..a7909aa3b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -281,6 +281,11 @@ End to End Tests:
 ####
 
 Trigger AWS Deployment:
+  needs:
+    - Init
+    - CHS Registry
+    - Container Registry
+    - Build
   rules:
     - <<: *development-env
       when: manual
-- 
GitLab


From 5828b107fd39921095adaafdc12c1e033c8c06bb Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Fri, 13 Dec 2024 13:19:55 -0700
Subject: [PATCH 3/7] test

---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a7909aa3b..b37835e2b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -285,7 +285,7 @@ Trigger AWS Deployment:
     - Init
     - CHS Registry
     - Container Registry
-    - Build
+    - Build Project
   rules:
     - <<: *development-env
       when: manual
-- 
GitLab


From bbedd76f93bdbec63cc207eb33aaec842d9d02fa Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Fri, 13 Dec 2024 13:58:22 -0700
Subject: [PATCH 4/7] test

---
 .../shared/interceptors/too-many-requests.interceptor.ts   | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/projects/nshmp-apps/src/shared/interceptors/too-many-requests.interceptor.ts b/projects/nshmp-apps/src/shared/interceptors/too-many-requests.interceptor.ts
index a843e5599..1e0920f51 100644
--- a/projects/nshmp-apps/src/shared/interceptors/too-many-requests.interceptor.ts
+++ b/projects/nshmp-apps/src/shared/interceptors/too-many-requests.interceptor.ts
@@ -15,10 +15,9 @@ export function tooManyRequestsInterceptor(
       console.log(error);
 
       if (error instanceof HttpErrorResponse) {
-        console.log(error.status);
-
-        if (error.status === 429) {
-          console.log(error.statusText);
+        if (typeof error.error === 'string') {
+          console.log('is string');
+          throw new Error(error.error);
         }
       }
 
-- 
GitLab


From 5d569234d10a638e6b7fce82e48dff293a979058 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Fri, 13 Dec 2024 14:26:25 -0700
Subject: [PATCH 5/7] add http interceptor

---
 projects/nshmp-apps/src/main.ts                              | 4 ++--
 ...any-requests.interceptor.ts => http-error.interceptor.ts} | 5 +----
 2 files changed, 3 insertions(+), 6 deletions(-)
 rename projects/nshmp-apps/src/shared/interceptors/{too-many-requests.interceptor.ts => http-error.interceptor.ts} (81%)

diff --git a/projects/nshmp-apps/src/main.ts b/projects/nshmp-apps/src/main.ts
index 2c37f0ca7..4f81ffd98 100644
--- a/projects/nshmp-apps/src/main.ts
+++ b/projects/nshmp-apps/src/main.ts
@@ -7,7 +7,7 @@ import {provideRouter} from '@angular/router';
 import {AppComponent} from './app/app.component';
 import {appRoutes} from './app/app.routes';
 import {environment} from './environments/environment';
-import {tooManyRequestsInterceptor} from './shared/interceptors/too-many-requests.interceptor';
+import {httpErrorInterceptor} from './shared/interceptors/http-error.interceptor';
 
 if (environment.production) {
   enableProdMode();
@@ -18,6 +18,6 @@ bootstrapApplication(AppComponent, {
     importProvidersFrom(BrowserModule),
     provideRouter(appRoutes()),
     provideAnimations(),
-    provideHttpClient(withInterceptors([tooManyRequestsInterceptor])),
+    provideHttpClient(withInterceptors([httpErrorInterceptor])),
   ],
 }).catch(err => console.error(err));
diff --git a/projects/nshmp-apps/src/shared/interceptors/too-many-requests.interceptor.ts b/projects/nshmp-apps/src/shared/interceptors/http-error.interceptor.ts
similarity index 81%
rename from projects/nshmp-apps/src/shared/interceptors/too-many-requests.interceptor.ts
rename to projects/nshmp-apps/src/shared/interceptors/http-error.interceptor.ts
index 1e0920f51..100340041 100644
--- a/projects/nshmp-apps/src/shared/interceptors/too-many-requests.interceptor.ts
+++ b/projects/nshmp-apps/src/shared/interceptors/http-error.interceptor.ts
@@ -6,17 +6,14 @@ import {
 } from '@angular/common/http';
 import {catchError, Observable} from 'rxjs';
 
-export function tooManyRequestsInterceptor(
+export function httpErrorInterceptor(
   req: HttpRequest<unknown>,
   next: HttpHandlerFn
 ): Observable<HttpEvent<unknown>> {
   return next(req).pipe(
     catchError(error => {
-      console.log(error);
-
       if (error instanceof HttpErrorResponse) {
         if (typeof error.error === 'string') {
-          console.log('is string');
           throw new Error(error.error);
         }
       }
-- 
GitLab


From edb65d4449b422b899a05c67dae937def6c95211 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Fri, 13 Dec 2024 14:26:49 -0700
Subject: [PATCH 6/7] remove needs

---
 .gitlab-ci.yml | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b37835e2b..d2c108618 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -281,11 +281,6 @@ End to End Tests:
 ####
 
 Trigger AWS Deployment:
-  needs:
-    - Init
-    - CHS Registry
-    - Container Registry
-    - Build Project
   rules:
     - <<: *development-env
       when: manual
-- 
GitLab


From b869c42aee8562fb1c64fad8373c93ce0f930812 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Fri, 13 Dec 2024 14:28:19 -0700
Subject: [PATCH 7/7] make one liner

---
 .../src/shared/interceptors/http-error.interceptor.ts    | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/projects/nshmp-apps/src/shared/interceptors/http-error.interceptor.ts b/projects/nshmp-apps/src/shared/interceptors/http-error.interceptor.ts
index 100340041..1de70ea45 100644
--- a/projects/nshmp-apps/src/shared/interceptors/http-error.interceptor.ts
+++ b/projects/nshmp-apps/src/shared/interceptors/http-error.interceptor.ts
@@ -12,10 +12,11 @@ export function httpErrorInterceptor(
 ): Observable<HttpEvent<unknown>> {
   return next(req).pipe(
     catchError(error => {
-      if (error instanceof HttpErrorResponse) {
-        if (typeof error.error === 'string') {
-          throw new Error(error.error);
-        }
+      if (
+        error instanceof HttpErrorResponse &&
+        typeof error.error === 'string'
+      ) {
+        throw new Error(error.error);
       }
 
       throw error;
-- 
GitLab