@dsivd/prestations-ng 18.3.8 → 18.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@
5
5
  - **You can follow how these changes are used in a real project. See: [Skeleton repo](https://portail.etat-de-vaud.ch/outils/git/projects/CYBSDK/repos/skeleton/browse)**
6
6
 
7
7
  ---
8
+ ## [18.3.9]
9
+
10
+ ### Fixed
11
+
12
+ - [foehn-header.component.ts](projects/prestations-ng/src/foehn-header/foehn-header.component.ts)
13
+ - Do not display preferences in the menu if they are not ready
14
+
15
+ ## [18.3.10]
16
+
17
+ ### Fixed
18
+
19
+ - [IamExpiredInterceptorService](projects/prestations-ng/src/sdk-redirect/iam-expired-interceptor.service.ts)
20
+ - [gesdem-error-handler.service.ts](projects/prestations-ng/src/gesdem/gesdem-error-handler.service.ts)
21
+ - fix action recovery not showing OTP for since v18.3.5
8
22
 
9
23
  ## [18.3.8]
10
24
 
Binary file
@@ -1964,9 +1964,11 @@ class IamExpiredInterceptorService {
1964
1964
  const errorUrl = err.url ?? '';
1965
1965
  const isUrlAcvLogin = this.iamAcvRedirectLocationRegex.test(errorUrl);
1966
1966
  const isUrlAcvOidcLogin = this.iamAcvOidcRedirectLocationRegex.test(errorUrl);
1967
- if (err.status === HttpStatusCode.Unauthorized ||
1968
- isUrlAcvLogin ||
1969
- isUrlAcvOidcLogin) {
1967
+ const isIamSessionExpired = err.status === HttpStatusCode.Unauthorized &&
1968
+ // ensure this is not a session token error to let GesdemErrorHandlerService do its job
1969
+ (!err.error?.message ||
1970
+ err.error?.message !== 'Session expired');
1971
+ if (isIamSessionExpired || isUrlAcvLogin || isUrlAcvOidcLogin) {
1970
1972
  this.setIamSessionExpiredManually();
1971
1973
  }
1972
1974
  }
@@ -2007,10 +2009,10 @@ class GesdemErrorHandlerService {
2007
2009
  if (isPdfGenerationError) {
2008
2010
  return this.onPdfGenerationError(response.error.message);
2009
2011
  }
2010
- const isSessionExpired = response.status === 401 &&
2012
+ const isSessionTokenExpired = response.status === 401 &&
2011
2013
  response.error &&
2012
- response.error.code === 'Unauthorized';
2013
- const errorCode = isSessionExpired
2014
+ response.error.message === 'Session expired';
2015
+ const errorCode = isSessionTokenExpired
2014
2016
  ? SESSION_EXPIRED
2015
2017
  : response.error
2016
2018
  ? response.error.code
@@ -7044,41 +7046,43 @@ class FoehnHeaderComponent {
7044
7046
  }
7045
7047
  ]
7046
7048
  });
7047
- menu.push({
7048
- items: [
7049
- {
7050
- title: this.dictionaryService.getKeySync('espace-securise.menu.item.preferences.title'),
7051
- label: this.dictionaryService.getKeySync('espace-securise.menu.item.preferences.label'),
7052
- href: '/100002/preferences'
7053
- },
7054
- {
7055
- title: this.dictionaryService.getKeySync('espace-securise.menu.item.gestion-compte.title'),
7056
- label: this.dictionaryService.getKeySync('espace-securise.menu.item.gestion-compte.label'),
7057
- href: '/100013/'
7058
- }
7059
- ]
7060
- });
7061
- if (this.userInfo.type !== this.AVS) {
7049
+ if (!!info.preferences) {
7062
7050
  menu.push({
7063
7051
  items: [
7064
7052
  {
7065
- title: this.dictionaryService.getKeySync('espace-securise.menu.item.administrer-espace-pro.title'),
7066
- label: this.dictionaryService.getKeySync('espace-securise.menu.item.administrer-espace-pro.label'),
7067
- href: '/100002/administrer-espace-pro'
7068
- }
7069
- ]
7070
- });
7071
- }
7072
- if (this.userInfo.type === this.AVS) {
7073
- menu.push({
7074
- items: [
7053
+ title: this.dictionaryService.getKeySync('espace-securise.menu.item.preferences.title'),
7054
+ label: this.dictionaryService.getKeySync('espace-securise.menu.item.preferences.label'),
7055
+ href: '/100002/preferences'
7056
+ },
7075
7057
  {
7076
- title: this.dictionaryService.getKeySync('espace-securise.menu.item.operations-liees-espace-pro.title'),
7077
- label: this.dictionaryService.getKeySync('espace-securise.menu.item.operations-liees-espace-pro.label'),
7078
- href: '/100002/espaces-professionnels'
7058
+ title: this.dictionaryService.getKeySync('espace-securise.menu.item.gestion-compte.title'),
7059
+ label: this.dictionaryService.getKeySync('espace-securise.menu.item.gestion-compte.label'),
7060
+ href: '/100013/'
7079
7061
  }
7080
7062
  ]
7081
7063
  });
7064
+ if (this.userInfo.type !== this.AVS) {
7065
+ menu.push({
7066
+ items: [
7067
+ {
7068
+ title: this.dictionaryService.getKeySync('espace-securise.menu.item.administrer-espace-pro.title'),
7069
+ label: this.dictionaryService.getKeySync('espace-securise.menu.item.administrer-espace-pro.label'),
7070
+ href: '/100002/administrer-espace-pro'
7071
+ }
7072
+ ]
7073
+ });
7074
+ }
7075
+ if (this.userInfo.type === this.AVS) {
7076
+ menu.push({
7077
+ items: [
7078
+ {
7079
+ title: this.dictionaryService.getKeySync('espace-securise.menu.item.operations-liees-espace-pro.title'),
7080
+ label: this.dictionaryService.getKeySync('espace-securise.menu.item.operations-liees-espace-pro.label'),
7081
+ href: '/100002/espaces-professionnels'
7082
+ }
7083
+ ]
7084
+ });
7085
+ }
7082
7086
  }
7083
7087
  menu.push({
7084
7088
  items: [