Skip to content

Commit b03c25a

Browse files
committed
Add first and last names to User model.
Signed-off-by: montesm <[email protected]>
1 parent 9c1d53d commit b03c25a

File tree

7 files changed

+57
-26
lines changed

7 files changed

+57
-26
lines changed

UnityAuth/src/main/java/io/unityfoundation/auth/AuthController.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,32 +41,32 @@ public HttpResponse<HasPermissionResponse> hasPermission(@Body HasPermissionRequ
4141

4242
Optional<Tenant> tenantOptional = tenantRepo.findById(requestDTO.tenantId());
4343
if (tenantOptional.isEmpty()) {
44-
return createHasPermissionResponse(false, authentication.getName(),"Cannot find tenant!", List.of());
44+
return createHasPermissionResponse(false, authentication.getName(),null, null, "Cannot find tenant!", List.of());
4545
}
4646

4747
User user = userRepo.findByEmail(authentication.getName()).orElse(null);
4848
if (checkUserStatus(user)) {
49-
return createHasPermissionResponse(false, authentication.getName(), "The user’s account has been disabled!", List.of());
49+
return createHasPermissionResponse(false, authentication.getName(), null, null, "The user’s account has been disabled!", List.of());
5050
}
5151

5252
Optional<Service> service = serviceRepo.findById(requestDTO.serviceId());
5353

5454
String serviceStatusCheckResult = checkServiceStatus(service);
5555
if (serviceStatusCheckResult != null) {
56-
return createHasPermissionResponse(false, user.getEmail(), serviceStatusCheckResult, List.of());
56+
return createHasPermissionResponse(false, user.getEmail(), user.getFirstName(), user.getLastName(), serviceStatusCheckResult, List.of());
5757
}
5858

5959
if (!userRepo.isServiceAvailable(user.getId(), service.get().getId())) {
60-
return createHasPermissionResponse(false, user.getEmail(),
60+
return createHasPermissionResponse(false, user.getEmail(), user.getFirstName(), user.getLastName(),
6161
"The requested service is not enabled for the requested tenant!", List.of());
6262
}
6363

6464
List<String> commonPermissions = checkUserPermission(user, tenantOptional.get(), requestDTO.permissions());
6565
if (commonPermissions.isEmpty()) {
66-
return createHasPermissionResponse(false, user.getEmail(), "The user does not have permission!", commonPermissions);
66+
return createHasPermissionResponse(false, user.getEmail(), user.getFirstName(), user.getLastName(), "The user does not have permission!", commonPermissions);
6767
}
6868

69-
return createHasPermissionResponse(true, user.getEmail(), null, commonPermissions);
69+
return createHasPermissionResponse(true, user.getEmail(), user.getFirstName(), user.getLastName(), null, commonPermissions);
7070
}
7171

7272
private boolean checkUserStatus(User user) {
@@ -105,14 +105,19 @@ private List<String> checkUserPermission(User user, Tenant tenant, List<String>
105105

106106
private HttpResponse<HasPermissionResponse> createHasPermissionResponse(boolean hasPermission,
107107
String userEmail,
108-
String message, List<String> permissions) {
109-
return HttpResponse.ok(new HasPermissionResponse(hasPermission, userEmail, message, permissions));
108+
String firstName,
109+
String lastName,
110+
String message,
111+
List<String> permissions) {
112+
return HttpResponse.ok(new HasPermissionResponse(hasPermission, userEmail, firstName, lastName, message, permissions));
110113
}
111114

112115
@Serdeable
113116
public record HasPermissionResponse(
114117
boolean hasPermission,
115118
@Nullable String userEmail,
119+
@Nullable String firstName,
120+
@Nullable String lastName,
116121
@Nullable String errorMessage,
117122
List<String> permissions
118123
) {

UnityAuth/src/main/java/io/unityfoundation/auth/entities/User.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ public class User {
1515
@NotNull
1616
private String email;
1717

18+
private String firstName;
19+
20+
private String lastName;
21+
1822
private UserStatus status;
1923

2024
private String password;
@@ -31,6 +35,22 @@ public enum UserStatus {
3135
ENABLED, DISABLED
3236
}
3337

38+
public String getFirstName() {
39+
return firstName;
40+
}
41+
42+
public void setFirstName(String firstName) {
43+
this.firstName = firstName;
44+
}
45+
46+
public String getLastName() {
47+
return lastName;
48+
}
49+
50+
public void setLastName(String lastName) {
51+
this.lastName = lastName;
52+
}
53+
3454
public Long getId() {
3555
return id;
3656
}

UnityAuth/src/main/java/io/unityfoundation/auth/entities/UserRepo.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ SELECT count(*) > 0
3232
SELECT id,
3333
password,
3434
email,
35+
first_name,
36+
last_name,
3537
status
3638
FROM user
3739
WHERE email = :email
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTER TABLE user ADD COLUMN first_name varchar(255);
2+
ALTER TABLE user ADD COLUMN last_name varchar(255);

UnityAuth/src/main/resources/local/afterMigrate.sql

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -89,33 +89,33 @@ VALUES (6, 15), -- LIBRE311_REQUEST_EDIT-SUBTENANT
8989

9090
-- Password for all the following accounts is 'test'
9191
-- Unity Administrator
92-
INSERT IGNORE INTO user (id, email, password, status) VALUES
93-
(1, '[email protected]', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
92+
INSERT IGNORE INTO user (id, email, first_name, last_name, password, status) VALUES
93+
(1, '[email protected]', 'Unity', 'Admin', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
9494

9595
-- Tenant Administrator
96-
INSERT IGNORE INTO user (id, email, password, status) VALUES
97-
(2, '[email protected]', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
96+
INSERT IGNORE INTO user (id, email, first_name, last_name, password, status) VALUES
97+
(2, '[email protected]', 'Tenant', 'Admin', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
9898

9999
-- Libre311 Administrator
100-
INSERT IGNORE INTO user (id, email, password, status) VALUES
101-
(3, '[email protected]', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
100+
INSERT IGNORE INTO user (id, email, first_name, last_name, password, status) VALUES
101+
(3, '[email protected]', 'Libre', 'Admin', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
102102

103103
-- Libre311 Request Manager
104-
INSERT IGNORE INTO user (id, email, password, status) VALUES
105-
(4, '[email protected]', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
104+
INSERT IGNORE INTO user (id, email, first_name, last_name, password, status) VALUES
105+
(4, '[email protected]', 'Request', 'Manager', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
106106

107107
-- Libre311 Jurisdiction Administrator
108-
INSERT IGNORE INTO user (id, email, password, status) VALUES
109-
(5, '[email protected]', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
108+
INSERT IGNORE INTO user (id, email, first_name, last_name, password, status) VALUES
109+
(5, '[email protected]', 'Jurisdiction', 'Admin', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
110110

111111
-- Libre311 Jurisdiction Request Manager
112-
INSERT IGNORE INTO user (id, email, password, status) VALUES
113-
(6, '[email protected]', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
114-
112+
INSERT IGNORE INTO user (id, email, first_name, last_name, password, status) VALUES
113+
(6, '[email protected]', 'Jurisdiction', 'Request Manager', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
115114

116115
-- Stl sub-tenant admin
117-
INSERT IGNORE INTO user (id, email, password, status) VALUES
118-
(7, '[email protected]', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
116+
INSERT IGNORE INTO user (id, email, first_name, last_name, password, status) VALUES
117+
(7, '[email protected]', 'Subtenant', 'Admin', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
118+
119119

120120
-- Unity Administrator
121121
INSERT IGNORE INTO user_role (tenant_id, user_id, role_id) VALUES

UnityAuth/src/test/java/io/unityfoundation/UnityIamTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ void testHasSystemPermission() {
4949
assertEquals(Boolean.TRUE, response.getBody().get().hasPermission());
5050
assertEquals("[email protected]", response.getBody().get().userEmail());
5151
assertTrue(response.getBody().get().permissions().contains("AUTH_SERVICE_EDIT-SYSTEM"));
52+
assertEquals("Person", response.getBody().get().firstName());
53+
assertEquals("One", response.getBody().get().lastName());
5254
}
5355

5456
@Test

UnityAuth/src/test/resources/db/migration/afterMigrate.sql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ DELETE FROM tenant;
66
DELETE FROM service;
77
DELETE FROM permission;
88
DELETE FROM role;
9-
INSERT INTO user (id, email, password, status) VALUES(1, '[email protected]', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
10-
INSERT INTO user (id, email, password, status) VALUES(2, '[email protected]', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
11-
INSERT INTO user (id, email, password, status) VALUES(3, '[email protected]', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'DISABLED');
9+
INSERT INTO user (id, email, first_name, last_name, password, status) VALUES(1, '[email protected]', 'Person', 'One', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
10+
INSERT INTO user (id, email, first_name, last_name, password, status) VALUES(2, '[email protected]', 'Test', 'Test', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'ENABLED');
11+
INSERT INTO user (id, email, first_name, last_name, password, status) VALUES(3, '[email protected]', 'Disabled', 'User', '$2a$10$YJetsyoS.EzlVlb249w07uBR8uSqgtlqVH9Hl7bsHtvvwdKAhJp82', 'DISABLED');
1212
INSERT INTO tenant (id, name, description, status) VALUES(1, 'SYSTEM', 'SYSTEM', 'ENABLED');
1313
INSERT INTO tenant (id, name, description, status) VALUES(2, 'acme', 'Acme Corporation', 'ENABLED');
1414
INSERT INTO service (id, name, description, status) VALUES(1, 'Libre311', 'Libre311', 'ENABLED');

0 commit comments

Comments
 (0)