diff --git a/MySQL_conf_pbx/test1/db_asterisk/security.sql b/MySQL_conf_pbx/test1/db_asterisk/security.sql index 9c6429d..951c79c 100644 --- a/MySQL_conf_pbx/test1/db_asterisk/security.sql +++ b/MySQL_conf_pbx/test1/db_asterisk/security.sql @@ -79,6 +79,8 @@ CREATE TABLE `user`( CONSTRAINT `user_table_pk` PRIMARY KEY(`u_id`) )ENGINE = 'Innodb', AUTO_INCREMENT = 1, DEFAULT CHARSET 'latin1'; +ALTER TABLE `user` ADD COLUMN `user_email_id` VARCHAR(50) UNIQUE NOT NULL; + ALTER TABLE `user_roles` ADD CONSTRAINT `user_lones_U_fk_to_user` FOREIGN KEY(`u_id`) REFERENCES `user`(`u_id`); ALTER TABLE `user_roles` ADD CONSTRAINT `user_lones_R_fk_to_user` FOREIGN KEY(`role_id`) REFERENCES `roles`(`role_id`); @@ -92,7 +94,7 @@ SELECT * FROM `user_roles`; SELECT * FROM `roles`; DELETE FROM `user` WHERE `user_name` = 'Mathew Francis'; -DELETE FROM `user_roles` WHERE `u_id` = 9; +DELETE FROM `user_roles` WHERE `u_id` = (SELECT `u_id` FROM `user_roles` LIMIT 1); DELETE FROM `roles` WHERE `roles`.`role_name` = 'ROLE_admin' diff --git a/MySQL_conf_pbx/test1/mariadb_data/aria_log.00000001 b/MySQL_conf_pbx/test1/mariadb_data/aria_log.00000001 index 48d311a..11fe1d3 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/aria_log.00000001 and b/MySQL_conf_pbx/test1/mariadb_data/aria_log.00000001 differ diff --git a/MySQL_conf_pbx/test1/mariadb_data/aria_log_control b/MySQL_conf_pbx/test1/mariadb_data/aria_log_control index ff04066..d4b3e74 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/aria_log_control and b/MySQL_conf_pbx/test1/mariadb_data/aria_log_control differ diff --git a/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/roles.ibd b/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/roles.ibd index cc6ef77..8e7d863 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/roles.ibd and b/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/roles.ibd differ diff --git a/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/user.frm b/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/user.frm index bb1d28e..43809b8 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/user.frm and b/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/user.frm differ diff --git a/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/user.ibd b/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/user.ibd index 4b1f398..95d8e61 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/user.ibd and b/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/user.ibd differ diff --git a/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/user_roles.ibd b/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/user_roles.ibd index 9de9c88..8d181c2 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/user_roles.ibd and b/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/user_roles.ibd differ diff --git a/MySQL_conf_pbx/test1/mariadb_data/ib_buffer_pool b/MySQL_conf_pbx/test1/mariadb_data/ib_buffer_pool index e33b8c1..7603c98 100644 --- a/MySQL_conf_pbx/test1/mariadb_data/ib_buffer_pool +++ b/MySQL_conf_pbx/test1/mariadb_data/ib_buffer_pool @@ -1,12 +1,9 @@ -3,51 -1,53 -3,50 -1,52 -2,47 -1,51 -3,49 -2,46 -1,50 +19,5 +19,4 +19,3 +19,2 +19,1 +19,0 18,4 18,3 18,2 @@ -175,11 +172,14 @@ 3,8 2,8 1,8 +3,49 3,7 2,7 1,7 3,6 +2,46 2,6 +1,50 1,6 3,5 2,5 diff --git a/MySQL_conf_pbx/test1/mariadb_data/ib_logfile0 b/MySQL_conf_pbx/test1/mariadb_data/ib_logfile0 index 1f39461..e129207 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/ib_logfile0 and b/MySQL_conf_pbx/test1/mariadb_data/ib_logfile0 differ diff --git a/MySQL_conf_pbx/test1/mariadb_data/ibdata1 b/MySQL_conf_pbx/test1/mariadb_data/ibdata1 index dae34e7..1fa06ce 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/ibdata1 and b/MySQL_conf_pbx/test1/mariadb_data/ibdata1 differ diff --git a/MySQL_conf_pbx/test1/mariadb_data/mysql/innodb_index_stats.ibd b/MySQL_conf_pbx/test1/mariadb_data/mysql/innodb_index_stats.ibd index e97fe42..ac79356 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/mysql/innodb_index_stats.ibd and b/MySQL_conf_pbx/test1/mariadb_data/mysql/innodb_index_stats.ibd differ diff --git a/MySQL_conf_pbx/test1/mariadb_data/mysql/innodb_table_stats.ibd b/MySQL_conf_pbx/test1/mariadb_data/mysql/innodb_table_stats.ibd index 8650b7c..9ffb1a8 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/mysql/innodb_table_stats.ibd and b/MySQL_conf_pbx/test1/mariadb_data/mysql/innodb_table_stats.ibd differ diff --git a/MySQL_conf_pbx/test1/mariadb_data/undo001 b/MySQL_conf_pbx/test1/mariadb_data/undo001 index 4b95374..63a9ad2 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/undo001 and b/MySQL_conf_pbx/test1/mariadb_data/undo001 differ diff --git a/MySQL_conf_pbx/test1/mariadb_data/undo002 b/MySQL_conf_pbx/test1/mariadb_data/undo002 index 233edb7..7ff929e 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/undo002 and b/MySQL_conf_pbx/test1/mariadb_data/undo002 differ diff --git a/MySQL_conf_pbx/test1/mariadb_data/undo003 b/MySQL_conf_pbx/test1/mariadb_data/undo003 index 9b15b35..b722516 100644 Binary files a/MySQL_conf_pbx/test1/mariadb_data/undo003 and b/MySQL_conf_pbx/test1/mariadb_data/undo003 differ diff --git a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/DTO/user/AdminSetPasswordDTO.java b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/DTO/user/AdminSetPasswordDTO.java index 9fc1c9c..b2f2002 100644 --- a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/DTO/user/AdminSetPasswordDTO.java +++ b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/DTO/user/AdminSetPasswordDTO.java @@ -1,5 +1,6 @@ package com.example.cezenPBX.DTO.user; +import jakarta.validation.constraints.Email; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Size; @@ -7,6 +8,9 @@ public record AdminSetPasswordDTO( @NotBlank(message = "Username cannot be blank") String userName, + @Email(message = "Email is not valid") + String email, + @NotBlank(message = "Password cannot be blank") @Size(min = 8, message = "Password must be at least 8 characters long") String password, diff --git a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/controller/SignUpController.java b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/controller/SignUpController.java index 6f99116..34f2814 100644 --- a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/controller/SignUpController.java +++ b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/controller/SignUpController.java @@ -24,7 +24,8 @@ public class SignUpController { return this.pbxUserService.adminSetUserNamePasswordSet( adminSetPasswordDTO.userName(), adminSetPasswordDTO.password(), - adminSetPasswordDTO.confirmPassword() + adminSetPasswordDTO.confirmPassword(), + adminSetPasswordDTO.email() ); } diff --git a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/entity/user/UserEntity.java b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/entity/user/UserEntity.java index c10873b..b4ac6e4 100644 --- a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/entity/user/UserEntity.java +++ b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/entity/user/UserEntity.java @@ -22,6 +22,9 @@ final public class UserEntity { @Column(name = "password") private String password; + @Column(name = "user_email_id") + private String email; + //ROLE @ManyToMany( fetch = FetchType.LAZY, @@ -44,10 +47,12 @@ final public class UserEntity { public UserEntity(){} - public UserEntity(String userName, String password) { + public UserEntity(String userName, String password, String email) { this.userName = userName; this.password = password; + this.email = email; } + public int getId() { return id; } @@ -67,6 +72,14 @@ final public class UserEntity { return roles; } + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + public void setARole(Role role){ if(this.roles == null){ this.roles = new HashSet(); diff --git a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/service/PbxUserService.java b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/service/PbxUserService.java index ee4a5de..d74c4d9 100644 --- a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/service/PbxUserService.java +++ b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/service/PbxUserService.java @@ -22,13 +22,13 @@ public class PbxUserService { // must perform the sanity checks before being set to the database // method will return a faulty return status if the damin exists - public ReturnStatus adminSetUserNamePasswordSet(String userName, String password, String confirmPassword){ + public ReturnStatus adminSetUserNamePasswordSet(String userName, String password, String confirmPassword, String email){ // password will be checked here if(!password.equals(confirmPassword)){ return new ReturnStatus(false, "Passwords do not match", "Passwords do not match"); } // password encryption - UserEntity userEntity = new UserEntity(userName, "{bcrypt}"+passwordEncoder.encode(password)); + UserEntity userEntity = new UserEntity(userName, "{bcrypt}"+passwordEncoder.encode(password), email); // commit the username and password to the database return userOpsDAO.adminSetPasswordToDb(userEntity);