Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OGD invite user flow #1239

Open
wants to merge 273 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
273 commits
Select commit Hold shift + click to select a range
b0ae207
fix failing test
codaimaster Sep 6, 2023
54d59a8
fix failing build
codaimaster Sep 7, 2023
9d335c3
skip test:a11y as it's broken
codaimaster Sep 7, 2023
1a9a764
Merge branch 'master' into EXUI-628_EXUI-634_upgrade-node18-and-ng15
olusegz07 Oct 5, 2023
ad2f0bd
Bumping chart version/ fixing aliases
hmcts-jenkins-j-to-z[bot] Oct 5, 2023
cf69998
EXUI-803: Use ccpay-web-component's
MunishSharmaHMCTS Oct 6, 2023
212c45b
Merge pull request #1134 from hmcts/EXUI-803-CcpayWebComponentUpgraded
olusegz07 Oct 6, 2023
f460ca7
EMUI-803: chart 2.4.18 is deprecated, upgraded to at least 3.0.0
MunishSharmaHMCTS Oct 10, 2023
6624276
setting functionality use 18
MunishSharmaHMCTS Oct 10, 2023
dd15a64
changes for functional tests
MunishSharmaHMCTS Oct 10, 2023
fb76eb0
Merge pull request #1137 from hmcts/EXUI-803-CcpayWebComponentUpgraded
olusegz07 Oct 10, 2023
ffdda23
more logging
MunishSharmaHMCTS Oct 10, 2023
a71ab4a
functional test fixes
MunishSharmaHMCTS Oct 10, 2023
a216ee4
removed mocking client
MunishSharmaHMCTS Oct 11, 2023
6ee93fc
diable parallel execution
MunishSharmaHMCTS Oct 11, 2023
35c9b20
Merge pull request #1138 from hmcts/EXUI-803-CcpayWebComponentUpgraded
MunishSharmaHMCTS Oct 12, 2023
edcd45f
task: EXUI-804 - ccd ui toolkit's upgraded version added
olusegz07 Oct 16, 2023
d5d4618
Added yarn stable version
olusegz07 Oct 16, 2023
23f9243
yarn audit file updated
olusegz07 Oct 16, 2023
853d5f5
Merge pull request #1145 from hmcts/fix/EXUI-847-yarn-audit-file
olusegz07 Oct 16, 2023
fe98716
yarn audit file updated
olusegz07 Oct 18, 2023
93c21dc
Fix broken jenkin build
olusegz07 Oct 18, 2023
399a606
code tidy
olusegz07 Oct 23, 2023
debeec8
Merge branch 'master' into EXUI-628_EXUI-634_upgrade-node18-and-ng15
olusegz07 Oct 24, 2023
72a4621
fixed issues with merge from master branch
olusegz07 Oct 24, 2023
0025a04
Update localServer.ts
olusegz07 Oct 24, 2023
804f53c
Ignore test due failing address lookup failing for the new feature added
olusegz07 Oct 25, 2023
7260f7f
Bumping chart version/ fixing aliases
hmcts-jenkins-j-to-z[bot] Oct 25, 2023
d78fed5
Update yarn-audit-known-issues
olusegz07 Oct 25, 2023
b781201
Merge branch 'EXUI-628_EXUI-634_upgrade-node18-and-ng15' of https://g…
olusegz07 Oct 25, 2023
a803b8f
Code tidy
olusegz07 Oct 25, 2023
f9b32f4
Merge branch 'master' into EXUI-628_EXUI-634_upgrade-node18-and-ng15
olusegz07 Oct 25, 2023
1f25833
Merge branch 'master' into EXUI-628_EXUI-634_upgrade-node18-and-ng15
olusegz07 Nov 2, 2023
54ad2ac
package.json updated
olusegz07 Nov 2, 2023
7156cd7
toolkit version update
olusegz07 Nov 2, 2023
bac1602
fix -EXUI-1030 - styling resolved
olusegz07 Nov 2, 2023
79dd3ac
code tidy
olusegz07 Nov 3, 2023
f8ab1b9
Merge branch 'master' into EXUI-628_EXUI-634_upgrade-node18-and-ng15
olusegz07 Nov 8, 2023
ae1d73f
Merge branch 'master' into EXUI-628_EXUI-634_upgrade-node18-and-ng15
olusegz07 Nov 8, 2023
f99588b
toolkit version update
olusegz07 Nov 8, 2023
3422491
Merge branch 'master' into EXUI-628_EXUI-634_upgrade-node18-and-ng15
olusegz07 Nov 23, 2023
7433ace
Update yarn-audit-known-issues
olusegz07 Nov 23, 2023
caac76f
ccpay-web-component version updated
olusegz07 Nov 29, 2023
9bdd935
Merge branch 'master' into EXUI-628_EXUI-634_upgrade-node18-and-ng15
olusegz07 Nov 29, 2023
7fec49f
toolkit version update
olusegz07 Nov 29, 2023
16cf13d
yarn-audit update
olusegz07 Nov 30, 2023
187310c
yarn audit update
olusegz07 Dec 1, 2023
16dfac2
library version update
olusegz07 Dec 5, 2023
e325a8b
toolkit version
olusegz07 Dec 7, 2023
66a0a71
enable all tests and fix broken setup (#1216)
shaed-parkar Dec 13, 2023
9a4f418
Merge branch 'master' into EXUI-628_EXUI-634_upgrade-node18-and-ng15
andywilkinshmcts Dec 13, 2023
1db078b
Update user loading
Josh-HMCTS Dec 14, 2023
3499698
Initial commit
TomForniCGI Dec 14, 2023
50abf5e
GA-31 Update the organisation model to include the profileids propert…
shaed-parkar Dec 14, 2023
fb2f7b5
GA-90 Add a shell manage user container component
shaed-parkar Dec 14, 2023
b974ca9
Update yarn-audit-known-issues
olusegz07 Dec 15, 2023
ce177ff
GA-88 subscribe to the ogd-invite-user-flow feature toggle (#1218)
shaed-parkar Dec 18, 2023
d48835a
GA-89 create ogd user invite flow guard (#1221)
shaed-parkar Dec 19, 2023
d8a46bd
Generated new components for profile specific content
ben-james-hmcts Dec 19, 2023
731f00f
Updated content within components - No accordion added currently as G…
ben-james-hmcts Dec 19, 2023
1081890
Added instruction comments for when to display each component
ben-james-hmcts Dec 19, 2023
4949b2e
Fixed lint errors
ben-james-hmcts Dec 19, 2023
c793f49
removed scss files for new components as not required
ben-james-hmcts Dec 19, 2023
7c8a0a2
removed scss files for new components as not required
ben-james-hmcts Dec 19, 2023
dd903e2
Removed test files for new components as not required
ben-james-hmcts Dec 19, 2023
8a3e65e
Merge pull request #1222 from hmcts/development/GA/GA-82-create-profi…
ben-james-hmcts Dec 19, 2023
3129264
NgRx Changes
TomForniCGI Dec 20, 2023
cc4c5d2
Remove comment in searchFilter spec file
Josh-HMCTS Jan 2, 2024
8bb4cda
GA-90 Add a shell manage user container component
shaed-parkar Dec 14, 2023
28fbd14
GA-88 subscribe to the ogd-invite-user-flow feature toggle (#1218)
shaed-parkar Dec 18, 2023
50fd11f
GA-89 create ogd user invite flow guard (#1221)
shaed-parkar Dec 19, 2023
52ff33d
Generated new components for profile specific content
ben-james-hmcts Dec 19, 2023
2877f51
Updated content within components - No accordion added currently as G…
ben-james-hmcts Dec 19, 2023
f451cf6
Added instruction comments for when to display each component
ben-james-hmcts Dec 19, 2023
d56fb52
Fixed lint errors
ben-james-hmcts Dec 19, 2023
7621769
removed scss files for new components as not required
ben-james-hmcts Dec 19, 2023
2c16941
removed scss files for new components as not required
ben-james-hmcts Dec 19, 2023
848f680
Removed test files for new components as not required
ben-james-hmcts Dec 19, 2023
a2607aa
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into feature/GA-44
Josh-HMCTS Jan 2, 2024
471c9a6
Fix merge bugs,
Josh-HMCTS Jan 3, 2024
1cac975
Made changes from comments
TomForniCGI Jan 3, 2024
9340ace
GA-75 manage user additional access checkboxes from organisation (#1223)
shaed-parkar Jan 3, 2024
57ea5de
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into feature/GA-44
Josh-HMCTS Jan 4, 2024
bb61cc9
Added 6 new components for static content for each of the OGD profiles
ben-james-hmcts Jan 4, 2024
a68ef77
Update searchFilter to use xui-common-lib select
Josh-HMCTS Jan 4, 2024
8abc2cc
Match pre-existing style
Josh-HMCTS Jan 4, 2024
1b15ccd
Merge pull request #1227 from hmcts/development/GA/GA-96-Additional-P…
ben-james-hmcts Jan 4, 2024
c639e86
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into feature/GA-44
Josh-HMCTS Jan 4, 2024
4a63bba
Remove duplicate load call from user.component
Josh-HMCTS Jan 4, 2024
94f208c
Merge pull request #1217 from hmcts/feature/GA-44
Josh-HMCTS Jan 4, 2024
3c01da3
Update search container styling
Josh-HMCTS Jan 5, 2024
d67140e
updated terraform and azurerm version
cpareek Jan 4, 2024
0be6fa8
Changed from User to Organisation
TomForniCGI Jan 5, 2024
0d4be38
Housekeeping
TomForniCGI Jan 5, 2024
dc1c80f
Housekeeping
TomForniCGI Jan 5, 2024
9de8d41
Merge remote-tracking branch 'origin/development/GA/OGD-73-Invite-Use…
TomForniCGI Jan 5, 2024
10375ac
Dispatch loadOrganisationProfileIds
TomForniCGI Jan 5, 2024
9937fb4
Linting Issues Fixed
TomForniCGI Jan 8, 2024
beae772
GA-95 user details section for manage user (#1229)
shaed-parkar Jan 8, 2024
8fe237c
Created new model for edit user
ben-james-hmcts Jan 8, 2024
ddc6a32
Changes to editUserRolesObj to work with new strongly typed edit user…
ben-james-hmcts Jan 8, 2024
4d4a2c6
Amended editUser constructor to be strongly typed to the new edit use…
ben-james-hmcts Jan 8, 2024
c5397f5
Merge branch 'development/GA/OGD-73-Invite-User-Flow' of github.com:h…
ben-james-hmcts Jan 8, 2024
a85e6eb
GA-96 update profile into accordions (#1230)
shaed-parkar Jan 9, 2024
3e2e17d
invite user button redirect to new manage user component when ogd tog…
shaed-parkar Jan 10, 2024
84cc4cc
Merge remote-tracking branch 'origin/development/GA/OGD-73-Invite-Use…
TomForniCGI Jan 10, 2024
e6b12b0
Updated userid to just id due to model change from user to inviteUser
ben-james-hmcts Jan 10, 2024
1530d7c
Made a start on manage user submit code - paused to do some BA checks…
ben-james-hmcts Jan 10, 2024
c2dd057
Merge branch 'development/GA/OGD-73-Invite-User-Flow' of github.com:h…
ben-james-hmcts Jan 10, 2024
a9d0274
Error Handling
TomForniCGI Jan 10, 2024
bfa36d0
Yarn audit
TomForniCGI Jan 11, 2024
adf3b22
Housekeeping
TomForniCGI Jan 11, 2024
d62dc5a
Changes to 5xx error handling
TomForniCGI Jan 11, 2024
8a15b52
Right Jurisdiction model
TomForniCGI Jan 11, 2024
9f6e4f5
prompt validation on submit
shaed-parkar Jan 11, 2024
143fd32
bugfix logger to include additional params for debug
shaed-parkar Jan 11, 2024
e97c030
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into GA-62
shaed-parkar Jan 11, 2024
9e3a0df
Merge pull request #1224 from hmcts/GA-62
TomForniCGI Jan 12, 2024
0e95180
Add access types to invite user post
Josh-HMCTS Jan 15, 2024
d20bb97
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into developmen…
Josh-HMCTS Jan 15, 2024
d8d5b87
add missing tests
Josh-HMCTS Jan 15, 2024
021885f
GA-121 accessibility fixes (#1236)
shaed-parkar Jan 15, 2024
905b0e3
update to error handling
Josh-HMCTS Jan 16, 2024
f52363d
Fixed bug in logger
ben-james-hmcts Jan 16, 2024
428293f
Corrected roles types on edituser model and edited mapedituserroles m…
ben-james-hmcts Jan 16, 2024
9fb761b
Added updateUser method and corrected a number of bugs in manage user…
ben-james-hmcts Jan 16, 2024
015b436
Added initial test for update user on manage user component
ben-james-hmcts Jan 16, 2024
99d76cd
Merge branch 'master' into development/GA/OGD-73-Invite-User-Flow
shaed-parkar Jan 16, 2024
66b17b0
fix linting warnings form ogd changes
shaed-parkar Jan 16, 2024
3af220c
Additional changes to correct unit tests
ben-james-hmcts Jan 17, 2024
30d7c0e
fix test setup up
shaed-parkar Jan 17, 2024
27bc71e
GA-125 ogd successful update page (#1244)
shaed-parkar Jan 17, 2024
8ff08c8
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into developmen…
ben-james-hmcts Jan 17, 2024
c6ff67d
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into developmen…
Josh-HMCTS Jan 18, 2024
1624fb8
Added several subscribes for edit user return actions
ben-james-hmcts Jan 18, 2024
e8a0760
Amended vars being passed to PUT method to line up with new model bei…
ben-james-hmcts Jan 18, 2024
f98c9dc
Committing my TODO comments to allow reviews to understand work still…
ben-james-hmcts Jan 18, 2024
2bcde8e
added check for changes to a const to improve code legibility
ben-james-hmcts Jan 18, 2024
cecc047
Various fixes in unit tests to mock forms, now required to pass the o…
ben-james-hmcts Jan 18, 2024
74d9ec7
Removed tick import, no longer required
ben-james-hmcts Jan 18, 2024
d926f5b
Removed userId var from mapEditUserRoles method as it is contained wi…
ben-james-hmcts Jan 18, 2024
7f846b5
Removed focus from my tests to ensure all tests run
ben-james-hmcts Jan 18, 2024
2b0a74c
Added EditUserModel type to the editUser param to ensure all calls to…
ben-james-hmcts Jan 18, 2024
1c9a456
Amended version of xui common lib to latest pre release
ben-james-hmcts Jan 18, 2024
2d350db
Minor bug fixes, null checks, etc
ben-james-hmcts Jan 18, 2024
e85526f
fixed indentation
ben-james-hmcts Jan 18, 2024
0d73bcf
Getting feature flag from store instead of feature toggle service for…
ben-james-hmcts Jan 18, 2024
4551d28
Corrected version of xui common lib
ben-james-hmcts Jan 18, 2024
6b71b94
commit missing lock file
shaed-parkar Jan 18, 2024
22cb6d6
Fixed a number of tests broken due to method param changes on mapEdit…
ben-james-hmcts Jan 19, 2024
c44b410
Added userId param back to mapEditUserRoles method as we cannot guara…
ben-james-hmcts Jan 19, 2024
c434ad8
Corrected rolesAdd and rolesDelete objects for unit test
ben-james-hmcts Jan 19, 2024
6f65d1c
mock user fix to resolve failing tests
sreekanthpuligadda Jan 19, 2024
475443f
Add refresh user API endpoint and corresponding actions and effects t…
shaed-parkar Jan 19, 2024
68e1a39
Merge pull request #1245 from hmcts/development/GA/OGD-86-Update-Exis…
ben-james-hmcts Jan 19, 2024
4f49218
add in access types comparison function, updates save code to call co…
Josh-HMCTS Jan 22, 2024
bb652a9
move hardcoded values out of component into node api
shaed-parkar Jan 22, 2024
d1f4504
add null operator to handle new user flow
shaed-parkar Jan 22, 2024
7b710d5
fix form check
shaed-parkar Jan 22, 2024
49657a6
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into developmen…
Josh-HMCTS Jan 22, 2024
8ee2e44
Merge pull request #1238 from hmcts/development/GA/GA-101
Josh-HMCTS Jan 23, 2024
2c578e6
GA-130 update selectors for next user pagination (#1252)
shaed-parkar Jan 23, 2024
7bbccbc
update typeahead to sort alphabetically
Josh-HMCTS Jan 24, 2024
62fb874
bugfixes for reinvite
shaed-parkar Jan 24, 2024
75d7f89
resolve review comments
Josh-HMCTS Jan 24, 2024
8c24849
GA-61 Map access profile data to AccessType selection checkboxes for …
TomForniCGI Jan 24, 2024
d156daf
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into developmen…
Josh-HMCTS Jan 24, 2024
b237e43
deploy
Josh-HMCTS Jan 25, 2024
c2d5ee1
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into developmen…
Josh-HMCTS Jan 25, 2024
e3500e6
Merge branch 'master' into development/GA/OGD-73-Invite-User-Flow
sanjayparekh-hmcts Jan 25, 2024
c429016
update search component for bugs found
Josh-HMCTS Jan 29, 2024
55eaeea
GA-44-FunctionalTests
poojithanag Jan 29, 2024
55d2bfd
Merge pull request #1253 from hmcts/development/GA/GA-128
Josh-HMCTS Jan 29, 2024
1d11289
rename, cleanup
Josh-HMCTS Jan 29, 2024
38965fc
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into developmen…
Josh-HMCTS Jan 30, 2024
eed7aad
fix unit test
Josh-HMCTS Jan 30, 2024
45683d6
update models from acccessTypes to userAccessTypes after initial inte…
shaed-parkar Jan 30, 2024
eb108cd
Resolve search bug
Josh-HMCTS Jan 31, 2024
4ae3fb8
update yarn audit
Josh-HMCTS Jan 31, 2024
4e374dd
fix filtering bug on input change
Josh-HMCTS Jan 31, 2024
022147c
fix unit test
Josh-HMCTS Feb 1, 2024
0fa51f2
GA-61-B (#1254)
TomForniCGI Feb 1, 2024
a1630af
Amended accessTypes to userAccessTypes for editUserModel
ben-james-hmcts Feb 1, 2024
a68176d
Added new component for manage user failure
ben-james-hmcts Feb 1, 2024
09bea66
Merge branch 'development/GA/OGD-73-Invite-User-Flow' of github.com:h…
ben-james-hmcts Feb 1, 2024
f2b5332
add new ngrx action to check if user list available on user-details page
Josh-HMCTS Feb 6, 2024
b62fc71
Reset edit user failure upon hitting the failure page (copied from pr…
ben-james-hmcts Feb 7, 2024
4920d74
Check for 500 response from API and throw edit user failure
ben-james-hmcts Feb 7, 2024
ef078e3
Add route to new manage user failure component
ben-james-hmcts Feb 7, 2024
52a0760
Call new manage user failure route if edit user failure comes back true
ben-james-hmcts Feb 7, 2024
dbd6e24
Additional code to fix unit tests
ben-james-hmcts Feb 7, 2024
cec5bc2
Removed import detected by lint as not required
ben-james-hmcts Feb 7, 2024
cf5c21c
update access-type api to remove dummy data and point to backend
Josh-HMCTS Feb 7, 2024
5e7e8ab
Minor change to trigger build on PR
ben-james-hmcts Feb 7, 2024
b7fd76f
Updated yarn known issues file as flagged by jenkins build
ben-james-hmcts Feb 7, 2024
941b04e
Added manageUserFailureComponent to component exports
ben-james-hmcts Feb 8, 2024
7fec0fe
Merge branch 'development/GA/GA-59' into development/GA/OGD-73-Integr…
Josh-HMCTS Feb 8, 2024
ecd8cad
Fixed unit test for manage user failure component
ben-james-hmcts Feb 8, 2024
d276f98
Merge pull request #1265 from hmcts/development/GA/OGD-86-Update-Exis…
ben-james-hmcts Feb 8, 2024
4a9389f
Update profileIds to use constants
Josh-HMCTS Feb 13, 2024
e2296e0
Remove left padding on GA info panels, fix typo on solicitor profile …
Josh-HMCTS Feb 13, 2024
63e522f
Update organisation profileIds to retrieve from loadAllUsersNoRoleDat…
Josh-HMCTS Feb 13, 2024
db2d273
Update model/implementation for retrieveAccessTypes enpoint
Josh-HMCTS Feb 13, 2024
a72eed2
update yarn audit
Josh-HMCTS Feb 13, 2024
bc21810
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into developmen…
Josh-HMCTS Feb 13, 2024
47b706f
update yarn audit
Josh-HMCTS Feb 13, 2024
59d5541
Merge pull request #1264 from hmcts/development/GA/manage-user-refresh
Josh-HMCTS Feb 13, 2024
4952776
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into developmen…
Josh-HMCTS Feb 13, 2024
29214be
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into developmen…
Josh-HMCTS Feb 14, 2024
57d2bb0
Dont show roles on user details if the access type display set to false
Josh-HMCTS Feb 19, 2024
19ee6bd
Rework OGD invite/edit to be handled in single node endpoint
Josh-HMCTS Feb 23, 2024
ee2d617
Merge branch 'master' into development/GA/OGD-73-Invite-User-Flow
Josh-HMCTS Feb 23, 2024
4a5203a
GA-127 update profile accordion text and style for manage user form
shaed-parkar Feb 23, 2024
cdb8d57
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into developmen…
Josh-HMCTS Feb 23, 2024
dfd26b0
code reviews
Josh-HMCTS Feb 27, 2024
c94f1fe
update yarn audit
Josh-HMCTS Feb 27, 2024
2d1e7e7
Merge pull request #1255 from hmcts/development/GA/Bug-GA-44
Josh-HMCTS Feb 27, 2024
4ba553f
Merge branch 'master' into development/GA/OGD-73-Invite-User-Flow
shaed-parkar Feb 27, 2024
d1c58ec
Merge branch 'development/GA/OGD-73-Invite-User-Flow' into developmen…
Josh-HMCTS Feb 27, 2024
3cbca55
Merge pull request #1270 from hmcts/development/GA/OGD-73-Integration
Josh-HMCTS Feb 27, 2024
96b50b9
Add CCD Definition Store API path
shaed-parkar Mar 1, 2024
e69bc98
Bumping chart version/ fixing aliases
hmcts-jenkins-j-to-z[bot] Mar 1, 2024
ad6db6b
Update copy and OGD flow
Josh-HMCTS Mar 1, 2024
4776d20
temp remove refresh user call
Josh-HMCTS Mar 1, 2024
967323e
Merge pull request #1272 from hmcts/development/GA/OGD-183
Josh-HMCTS Mar 5, 2024
f6ae937
fix roles on edit
Josh-HMCTS Mar 5, 2024
c16bdba
readd refresh-user endpoint
Josh-HMCTS Mar 6, 2024
bb7c3ea
uncomment api call to refresh user
Josh-HMCTS Mar 7, 2024
7018769
yarn audit
Josh-HMCTS Mar 7, 2024
fed0273
move userID for refresh call to req param
Josh-HMCTS Mar 8, 2024
56b373f
yarn audit
Josh-HMCTS Mar 8, 2024
d9fc77e
add userId as param
Josh-HMCTS Mar 8, 2024
ee3446f
Resolve review comments - Olu
Josh-HMCTS Mar 18, 2024
d5bc05f
Merge branch 'master' into development/GA/OGD-73-Invite-User-Flow
Josh-HMCTS Mar 18, 2024
f13b896
Code review comments - Andy
Josh-HMCTS Mar 19, 2024
58d56cf
Resolve typos on 'onDestroy'
Josh-HMCTS Mar 19, 2024
ee3cb24
Fix unit test
Josh-HMCTS Mar 20, 2024
7c9f5ff
Add org-role-mapping endpoint for refresh-user call
Josh-HMCTS Mar 21, 2024
3357919
Resolve edge case where user would be blocked from loading organisati…
Josh-HMCTS Mar 21, 2024
fe116c6
resolve edge case where users selection can override mandatory access…
Josh-HMCTS Mar 21, 2024
bed5a3b
remove console logs, adjust ogd enpoints to point to right role
Josh-HMCTS Mar 25, 2024
59a6586
Added new test for the new update user functionality - copied all oth…
ben-james-hmcts Mar 25, 2024
a47a79c
Merge branch 'master' into development/GA/OGD-73-Invite-User-Flow
shaed-parkar Mar 27, 2024
e1d067a
update audit file
shaed-parkar Mar 27, 2024
9c4e93a
Refactor UsersEffects to conditionally load data based on feature flag
shaed-parkar Mar 27, 2024
99cfc6b
Merge bugfixes for GA-101
shaed-parkar Mar 27, 2024
b7a4bf7
fix linting
shaed-parkar Mar 27, 2024
925f77b
fix linting
shaed-parkar Mar 27, 2024
53f8c9f
Update nodejs dependency version to 3.1.0
shaed-parkar Mar 27, 2024
85a9d3a
GA OGD Functional Tests (#1284)
shaed-parkar Mar 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,12 @@
"src/styles.scss"
],
"scripts": [],
"sourceMap": true
"sourceMap": true,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you verified that these changes are overriden by the "production" config section below?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

"vendorChunk": true,
"extractLicenses": false,
"buildOptimizer": false,
"optimization": false,
"namedChunks": true
},
"configurations": {
"production": {
Expand Down Expand Up @@ -74,7 +79,8 @@
"production": {
"browserTarget": "rpx-xui-manage-organisations:build:production"
}
}
},
"defaultConfiguration": ""
},
"serveTest": {
"builder": "@angular-devkit/build-angular:dev-server",
Expand Down
2 changes: 1 addition & 1 deletion api/allUserListWithoutRoles/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export async function handleAllUserListRoute(req: Request, res: Response) {
try {
const rdProfessionalApiPath = getConfigValue(SERVICES_RD_PROFESSIONAL_API_PATH);
const response = await req.http.get(getRefdataAllUserListUrl(rdProfessionalApiPath));
logger.info('response::', response.data);
logger.info('response::', JSON.stringify(response.data));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know it was already there, but this needs to be removed before release. It will put PII into the logs, because the user data has names, emails etc

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed comment in commit:
f13b896

res.send(response.data);
} catch (error) {
logger.error('error', error);
Expand Down
3 changes: 3 additions & 0 deletions api/application.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import {
FEATURE_REDIS_ENABLED,
FEATURE_TERMS_AND_CONDITIONS_ENABLED,
HELMET, SERVICES_CCD_DATA_STORE_API_PATH,
SERVICES_CCD_DEFINITION_STORE_API_PATH,
SERVICES_FEE_AND_PAY_API_PATH,
SERVICES_MCA_PROXY_API_PATH,
SERVICES_RD_PROFESSIONAL_API_PATH,
Expand Down Expand Up @@ -99,6 +100,8 @@ console.log('healthChecks', healthChecks);

console.log('ccdData', getConfigValue(SERVICES_CCD_DATA_STORE_API_PATH));

console.log('ccdDefinition', getConfigValue(SERVICES_CCD_DEFINITION_STORE_API_PATH));

console.log('caseAssignmentApi', getConfigValue(SERVICES_MCA_PROXY_API_PATH));

console.log('caseTypes', getConfigValue(CASE_TYPES));
Expand Down
1 change: 1 addition & 0 deletions api/configuration/references.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ export const SERVICES_RD_PROFESSIONAL_API_PATH = 'services.rdProfessionalApi';
export const SERVICES_FEE_AND_PAY_API_PATH = 'services.feeAndPayApi';
export const SERVICES_TERMS_AND_CONDITIONS_API_PATH = 'services.termsAndConditions';

export const SERVICES_CCD_DEFINITION_STORE_API_PATH = 'services.ccdDefinitionApi';
export const SERVICES_CCD_DATA_STORE_API_PATH = 'services.ccdDataApi';
export const SERVICES_MCA_PROXY_API_PATH = 'services.caseAssignmentApi';
export const SERVICES_IDAM_ISS_URL = 'iss';
Expand Down
20 changes: 20 additions & 0 deletions api/editUserPermissions/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,26 @@ async function inviteUserRoute(req: Request, res: Response) {
}
}

export async function ogdEditUserRoute(req: Request) {
let ogdErrReport: ErrorReport;
if (!req.params.userId) {
ogdErrReport = getErrorReport('UserId is missing', '400', 'User Permissions route error');
throw (ogdErrReport);
}
const payload = req.body;
try {
const response = await req.http.put(getEditPermissionsUrl(getConfigValue(SERVICES_RD_PROFESSIONAL_API_PATH), req.params.userId), payload);
logger.info('response::', response.data);

return (response.data);
} catch (error) {
logger.info('error', error);
const ogdEditStatus = error.status ? error.status : 500;
ogdErrReport = getErrorReport(getErrorMessage(error), ogdEditStatus, getErrorMessage(error));
throw (ogdErrReport);
}
}

function getErrorMessage(error: any): string {
return error && error.data ? error.data.message : '';
}
Expand Down
24 changes: 22 additions & 2 deletions api/inviteUser/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ const logger = log4jui.getLogger('invite-user');

router.post('/', inviteUserRoute);

const rdProfessionalApiPath = getConfigValue(SERVICES_RD_PROFESSIONAL_API_PATH);
const reqUrl = getRefdataUserCommonUrlUtil(rdProfessionalApiPath);

export async function inviteUserRoute(req: Request, res: Response) {
const payload = req.body;
try {
const rdProfessionalApiPath = getConfigValue(SERVICES_RD_PROFESSIONAL_API_PATH);
const reqUrl = getRefdataUserCommonUrlUtil(rdProfessionalApiPath);
logger.info('INVITE USER: request URL:: ', reqUrl);
logger.info('INVITE USER: payload:: ', payload);
const response = await req.http.post(reqUrl, payload);
Expand All @@ -31,4 +32,23 @@ export async function inviteUserRoute(req: Request, res: Response) {
res.status(status).send(errReport);
}
}

export async function inviteUserRouteOGD(req: Request) {
const payload = req.body.userPayload;
try {
logger.info('INVITE USER OGD: request URL:: ', reqUrl);
const response = await req.http.post(reqUrl, payload);
logger.info('response::', response.data);
return (response.data);
} catch (error) {
logger.error('error', error);
const ogdStatus = exists(error, 'status') ? error.status : 500;
const ogdErrReport = {
apiError: valueOrNull(error, 'data.errorMessage'),
apiStatusCode: ogdStatus,
message: valueOrNull(error, 'data.errorDescription')
};
throw (ogdErrReport);
}
}
export default router;
50 changes: 50 additions & 0 deletions api/ogd/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import { Request, Response, Router } from 'express';
import { compareAccessTypes } from '../retrieveAccessTypes';
import { inviteUserRouteOGD } from '../inviteUser';
import { ogdEditUserRoute } from '../editUserPermissions';
import { refreshUser } from '../refresh-user';
import * as log4jui from '../lib/log4jui';

export const router = Router({ mergeParams: true });
const logger = log4jui.getLogger('OGD-FLOW');

export async function ogdInvite(req: Request, res: Response) {
try {
logger.info('ogdInvite:: Invite Request received');
const userPayload = req.body.userPayload;
if (userPayload.roles.includes('pui-caa')) {
const compareResult = await compareAccessTypes(req);
req.body.userPayload = { ...userPayload, ...compareResult };
}
const operationResult = await inviteUserRouteOGD(req);
const userId = operationResult.userIdentifier;
req.body = { userId };
await refreshUser(req);
res.send(operationResult);
} catch (error) {
logger.error('ogdInvite:: Error ', error);
res.status(error.apiStatusCode || 500).json(error);
}
}

export async function ogdUpdate(req: Request, res: Response) {
try {
logger.info('ogdUpdate:: Edit User Request received');
const userPayload = req.body.userPayload;
const userId = req.params.userId;
const compareResult = await compareAccessTypes(req);
req.body = { ...userPayload, ...compareResult };
const operationResult = await ogdEditUserRoute(req);
req.body = { userId };
await refreshUser(req);
res.send(operationResult);
} catch (error) {
logger.error('ogdUpdate:: Error ', error);
res.status(error.apiStatusCode || 500).json(error);
}
}

router.post('/invite', ogdInvite);
router.put('/update/:userId', ogdUpdate);

export default router;
33 changes: 33 additions & 0 deletions api/refresh-user/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { Request, Router } from 'express';
import { getConfigValue } from '../configuration';
import { SERVICES_ROLE_ASSIGNMENT_API_PATH } from '../configuration/references';
import * as log4jui from '../lib/log4jui';
import { exists, valueOrNull } from '../lib/util';

const logger = log4jui.getLogger('refresh-user');

export async function refreshUser(req: Request) {
const payload = req.body;
try {
const serviceApiBasePath = getConfigValue(SERVICES_ROLE_ASSIGNMENT_API_PATH);
const userId = payload.userId;
const reqUrl = `${serviceApiBasePath}/am/role-mapping/professional/refresh?userId=${userId}`;
logger.info('REFRESH USER: request URL:: ', reqUrl);
const response = await req.http.post(reqUrl);
logger.info('response::', response.data);
return response.data;
} catch (error) {
logger.error('error', error);
const status = exists(error, 'status') ? error.status : 500;
const errReport = {
apiError: valueOrNull(error, 'data.errorMessage'),
apiStatusCode: status,
message: valueOrNull(error, 'data.errorDescription')
};
throw (errReport);
}
}

export const router = Router({ mergeParams: true });
router.post('/', refreshUser);
export default router;
51 changes: 51 additions & 0 deletions api/retrieveAccessTypes/accessTypesComparison.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
// Function to compare the users accessType selections with the most recently obtained ones
export function processAccessTypes(currentOrganisationAccessTypes, userAccessTypeOptions) {
const processedAccessTypes = [];
const accessTypesMap = new Map();
currentOrganisationAccessTypes.forEach((jurisdiction) => {
jurisdiction.accessTypes.forEach((accessType) => {
const key = `${jurisdiction.jurisdictionId}-${accessType.organisationProfileId}-${accessType.accessTypeId}`;
accessTypesMap.set(key, accessType);
});
});

userAccessTypeOptions.userAccessTypes.forEach((userAccessType) => {
const key = `${userAccessType.jurisdictionId}-${userAccessType.organisationProfileId}-${userAccessType.accessTypeId}`;
const accessType = accessTypesMap.get(key);

if (accessType && accessType.display) {
if (accessType.accessMandatory && accessType.accessDefault) {
// If access type is mandatory and default is true, set it to true
processedAccessTypes.push({
jurisdictionId: userAccessType.jurisdictionId,
organisationProfileId: userAccessType.organisationProfileId,
accessTypeId: userAccessType.accessTypeId,
enabled: true
});
} else {
// For non-mandatory access types or mandatory with default false, use user's selection
processedAccessTypes.push(userAccessType);
}
}

// Remove the processed access type from the map
accessTypesMap.delete(key);
});

accessTypesMap.forEach((accessType, key) => {
if (accessType.display) {
const [jurisdictionId, organisationProfileId, accessTypeId] = key.split('-');
processedAccessTypes.push({
jurisdictionId,
organisationProfileId,
accessTypeId,
enabled: accessType.accessDefault
});
}
});

return {
...userAccessTypeOptions,
userAccessTypes: processedAccessTypes
};
}
56 changes: 56 additions & 0 deletions api/retrieveAccessTypes/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import { Request, Response, Router } from 'express';
import { getConfigValue } from '../configuration';
import { SERVICES_CCD_DEFINITION_STORE_API_PATH } from '../configuration/references';
import * as log4jui from '../lib/log4jui';
import { exists, valueOrNull } from '../lib/util';
import { processAccessTypes } from './accessTypesComparison';

const logger = log4jui.getLogger('retrive-access-types');

async function fetchAccessTypes(req: Request, payload: any): Promise<any> {
try {
const ccdDefinitionStore = getConfigValue(SERVICES_CCD_DEFINITION_STORE_API_PATH);
const url = `${ccdDefinitionStore}/retrieve-access-types`;
logger.info('RETRIEVE ACCESS TYPES: request URL:: ', url);
const response = await req.http.post(url, payload);
return response.data;
} catch (error) {
logger.error(error);
throw error;
}
}

export async function handleRetrieveAccessTypes(req: Request, res: Response) {
const payload = req.body;
try {
const data = await fetchAccessTypes(req, payload);
res.send(data);
} catch (error) {
const status = exists(error, 'status') ? error.status : 500;
const errReport = {
apiError: valueOrNull(error, 'data.errorMessage'),
apiStatusCode: status,
message: valueOrNull(error, 'data.errorDescription')
};
res.status(status).send(errReport);
}
}

export async function compareAccessTypes(req: Request) {
try {
const orgIdPayload = { organisationProfileIds: req.body.orgIdsPayload };
const userAccessTypesPayload = req.body.userPayload;
const accessTypes = await fetchAccessTypes(req, orgIdPayload);
const comparedUserSelections = processAccessTypes(accessTypes.jurisdictions, userAccessTypesPayload);
return (comparedUserSelections);
} catch (error) {
logger.error('Error in compareAccessTypes:', error);
return ({ error: 'An error occurred while processing your request.' });
}
}

export const router = Router({ mergeParams: true });

router.post('/', handleRetrieveAccessTypes);
router.post('/compare', compareAccessTypes);
export default router;
6 changes: 6 additions & 0 deletions api/routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ import getTermsAndConditions from './termsAndConditions';
import userDetailsRouter from './user';
import getUserDetails from './user-details';
import getUserList from './userList';
import refreshUser from './refresh-user';
import retriveAccessTypes from './retrieveAccessTypes';
import ogdInvite from './ogd';

const router = Router({ mergeParams: true });

Expand All @@ -40,6 +43,7 @@ router.use('/accounts', accountsRouter);
router.use('/user', userDetailsRouter);
router.use('/healthCheck', healthCheck);
router.use('/inviteUser', inviteUser);
router.use('/refresh-user', refreshUser);
router.use('/allUserList', getAllUserList);
router.use('/allUserListWithoutRoles', getAllUserListWithoutRoles);
router.use('/userList', getUserList);
Expand All @@ -57,4 +61,6 @@ router.use('/caseshare', caseShareRouter);
router.use('/pba', pbaRouter);
router.use('/register-org', registerRouter);
router.use('/user-details', getUserDetails);
router.use('/retrieve-access-types', retriveAccessTypes);
router.use('/ogd-flow', ogdInvite);
export default router;
2 changes: 1 addition & 1 deletion charts/xui-mo-webapp/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v2
name: xui-mo-webapp
home: https://github.com/hmcts/rpx-xui-manage-organisations
version: 1.1.16
version: 1.1.17
description: Expert UI
maintainers:
- name: HMCTS RPX XUI
Expand Down
1 change: 1 addition & 0 deletions charts/xui-mo-webapp/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ nodejs:
MANAGE_CASE_LINK: https://manage-case.{{ .Values.global.environment }}.platform.hmcts.net/cases
MANAGE_ORG_LINK: https://manage-org.{{ .Values.global.environment }}.platform.hmcts.net
SERVICES_CCD_DATA_STORE_API: http://ccd-data-store-api-{{ .Values.global.environment }}.service.core-compute-{{ .Values.global.environment }}.internal
SERVICES_CCD_DEFINITION_STORE_API: http://ccd-definition-store-api-{{ .Values.global.environment }}.service.core-compute-{{ .Values.global.environment }}.internal
SERVICES_MCA_PROXY_API: http://aac-manage-case-assignment-{{ .Values.global.environment }}.service.core-compute-{{ .Values.global.environment }}.internal
SERVICES_IDAM_ISS_URL: https://forgerock-am.service.core-compute-idam-{{ .Values.global.environment }}2.internal:8443/openam/oauth2/realms/root/realms/hmcts
SERVICES_ROLE_ASSIGNMENT_API: http://am-role-assignment-service-{{ .Values.global.environment }}.service.core-compute-{{ .Values.global.environment }}.internal
Expand Down
1 change: 1 addition & 0 deletions config/custom-environment-variables.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
"feeAndPayApi": "FEE_AND_PAY_API",
"termsAndConditions": "SERVICES_TERMS_AND_CONDITIONS_API_SERVICE",
"ccdDataApi": "SERVICES_CCD_DATA_STORE_API",
"ccdDefinitionApi": "SERVICES_CCD_DEFINITION_STORE_API",
"caseAssignmentApi": "SERVICES_MCA_PROXY_API",
"role_assignment": {
"roleApi": "SERVICES_ROLE_ASSIGNMENT_API"
Expand Down
1 change: 1 addition & 0 deletions config/default.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"feeAndPayApi": "https://payment-api-prod.service.core-compute-prod.internal",
"termsAndConditions": "http://xui-terms-and-conditions-aat.service.core-compute-aat.internal",
"ccdDataApi": "http://ccd-data-store-api-prod.service.core-compute-prod.internal",
"ccdDefinitionApi": "http://ccd-definition-store-api-prod.service.core-compute-prod.internal",
"caseAssignmentApi": "http://aac-manage-case-assignment-prod.service.core-compute-prod.internal",
"role_assignment": {
"roleApi": "http://am-role-assignment-service-prod.service.core-compute-prod.internal"
Expand Down
3 changes: 2 additions & 1 deletion src/app/app-initializer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ export function initApplication(store: Store<fromApp.State>): VoidFunction {
store.dispatch(new fromApp.LoadFeatureToggleConfig([AppConstants.FEATURE_NAMES.feeAccount,
AppConstants.FEATURE_NAMES.editUserPermissions,
AppConstants.FEATURE_NAMES.caaMenuItems,
AppConstants.FEATURE_NAMES.newRegisterOrg]));
AppConstants.FEATURE_NAMES.newRegisterOrg,
AppConstants.FEATURE_NAMES.ogdInviteUserFlow]));

store.pipe(
select(fromSelectors.getAppState),
Expand Down
Loading