@@ -204,6 +250,7 @@
| {{ item.userId }} |
{{ item.userFullname }} |
+ {{item.role}} |
diff --git a/src/app/user-management/setup-user/setup-user.component.ts b/src/app/user-management/setup-user/setup-user.component.ts
index 48202df..28bf7fd 100644
--- a/src/app/user-management/setup-user/setup-user.component.ts
+++ b/src/app/user-management/setup-user/setup-user.component.ts
@@ -10,8 +10,10 @@ import { ButtonManagementService } from '../../services/button-management.servic
import { StorageService } from '../../shared/services/storage.service';
import { TableFilterPipe } from '../../shared/pipes/table-filter.pipe';
import { URIKey } from '../../utils/uri-enums';
-import { HttpParams } from '@angular/common/http';
+import { HttpErrorResponse, HttpParams } from '@angular/common/http';
import { HttpURIService } from '../../app.http.uri.service';
+import { I18NService } from '../../services/i18n.service';
+import { SuccessMessages } from '../../utils/enums';
@@ -52,7 +54,8 @@ export class SetupUserComponent implements OnInit {
private fb: FormBuilder,
private buttonManagementService: ButtonManagementService,
private storageService: StorageService,
- private httpService: HttpURIService
+ private httpService: HttpURIService,
+ private i18nService: I18NService
){}
onSearch(value: string): void {
@@ -95,13 +98,14 @@ export class SetupUserComponent implements OnInit {
}
this.httpService.requestPOST(URIKey.CREATE_USER, newUser).subscribe({
- next: () => {
- this.userForm.reset();
- this.mode = 'edit';
- this.loadUsersDirect()
- },
-
- error: (err: any) => console.error(err)
+ next: (response) => {
+ if (!(response instanceof HttpErrorResponse)) {
+ this.i18nService.success(SuccessMessages.USER_CREATED_SUCCESS, []);
+ this.userForm.reset();
+ this.mode = 'edit';
+ this.loadUsersDirect()
+ }
+ }
});
@@ -126,9 +130,25 @@ ngOnInit(): void {
this.getButtonPermissions();
this.userForm = this.fb.group({
- userId: ['', [Validators.required]],
- userFullname: ['', [Validators.required, Validators.maxLength(500)]],
- defaultPassword: ['', Validators.required],
+ userId: ['', [
+ Validators.required,
+ Validators.minLength(5),
+ Validators.pattern(/^\S+$/)
+ ]
+ ],
+ userFullname: ['', [
+ Validators.required,
+ Validators.minLength(5),
+ Validators.pattern(/^\S+$/)
+ ]
+ ],
+ defaultPassword: ['', [
+ Validators.required,
+ Validators.pattern(
+ /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,20}$/
+ )
+ ]
+ ],
email: ['', [Validators.required, Validators.email]],
userRole: [null, Validators.required]
});
@@ -182,14 +202,13 @@ ngOnInit(): void {
let params = new HttpParams().set('userId', userId);
this.httpService.requestDELETE(URIKey.DELETE_USER, params).subscribe({
next: (response) =>{
+ if (!(response instanceof HttpErrorResponse)) {
+ this.i18nService.success(SuccessMessages.USER_DELETE_SUCCESS, []);
this.loadUsersDirect();
- this.userForm.reset()
+ this.userForm.reset();
this.selectedUserId = null;
- },
- error: (err) =>{
- console.error('Error fetching users:', err);
- this.allItems = [];
- this.isLoading = false;
+ }
+
}
})
}
diff --git a/src/app/utils/enums.ts b/src/app/utils/enums.ts
index 9cc8c4d..b4898ac 100644
--- a/src/app/utils/enums.ts
+++ b/src/app/utils/enums.ts
@@ -59,7 +59,10 @@ TRANSACTION_SUCCESSFUL = "TRANSACTION_SUCCESSFUL",
SAVED_SUCCESSFULLY = "SAVED_SUCCESSFULLY",
RECORD_DELETED_SUCCESSFULY = "RECORD_DELETED_SUCCESSFULY",
ACCOUNT_CLOSED_SUCCESSFULLY = "ACCOUNT_CLOSED_SUCCESSFULLY",
-SUCCESS_MESSAGE = "SUCCESS_MESSAGE"
+SUCCESS_MESSAGE = "SUCCESS_MESSAGE",
+USER_CREATED_SUCCESS = "USER_CREATED_SUCCESS",
+USER_DELETE_SUCCESS = "USER_DELETE_SUCCESS"
+
}
export enum MESSAGEKEY {
diff --git a/src/assets/data/sideMenu.json b/src/assets/data/sideMenu.json
index c1a3f6d..91e9a1a 100644
--- a/src/assets/data/sideMenu.json
+++ b/src/assets/data/sideMenu.json
@@ -5,27 +5,6 @@
"checked": false,
"expanded": false,
"children": [
- {
- "name": "thirdPartyRegistration",
- "route": "/home/thirdPartyRegistration",
- "checked": false,
- "expanded": false,
- "children": [],
- "buttons": [
- {
- "name": "edit",
- "route": "",
- "checked": false,
- "expanded": false
- },
- {
- "name": "delete",
- "route": "",
- "checked": false,
- "expanded": false
- }
- ]
- },
{
"name": "setupUser",
"route": "/home/setupUser",
@@ -113,99 +92,6 @@
}
]
},
- {
- "name": "SMSBanking",
- "route": "",
- "checked": false,
- "expanded": false,
- "children": [
- {
- "name": "smsLogger",
- "route": "/home/smsLogger",
- "checked": false,
- "expanded": false,
- "children": []
- },
- {
- "name": "smsGateway",
- "route": "/home/smsGateway",
- "checked": false,
- "expanded": false,
- "children": [],
- "buttons": [
- {
- "name": "edit",
- "route": "",
- "checked": false,
- "expanded": false
- },
- {
- "name": "delete",
- "route": "",
- "checked": false,
- "expanded": false
- }
- ]
- }
- ]
- },
- {
- "name": "ibSupport",
- "route": "",
- "checked": false,
- "expanded": false,
- "children": [
- {
- "name": "ibUnblockUser",
- "route": "/home/ibUnblockUser",
- "checked": false,
- "expanded": false,
- "children": [],
- "buttons": [
- {
- "name": "edit",
- "route": "",
- "checked": false,
- "expanded": false
- },
- {
- "name": "delete",
- "route": "",
- "checked": false,
- "expanded": false
- }
- ]
- },
- {
- "name": "feedbackSetup",
- "route": "/home/feedbackSetup",
- "checked": false,
- "expanded": false,
- "children": []
- },
- {
- "name": "purposeSetup",
- "route": "/home/purposeSetup",
- "checked": false,
- "expanded": false,
- "children": [],
- "buttons": [
- {
- "name": "edit",
- "route": "",
- "checked": false,
- "expanded": false
- },
- {
- "name": "delete",
- "route": "",
- "checked": false,
- "expanded": false
- }
- ]
- }
- ]
- },
{
"name": "permissions",
"route": "/home/permissions",
diff --git a/src/assets/i18n/Arabic.json b/src/assets/i18n/Arabic.json
index 309c84e..1f67ef6 100644
--- a/src/assets/i18n/Arabic.json
+++ b/src/assets/i18n/Arabic.json
@@ -256,6 +256,15 @@
"ERR_SEC_0001": "البريد الإلكتروني موجود بالفعل",
"ERR_SEC_0002": "اسم المستخدم موجود بالفعل",
"ERR_SEC_0003": "كلمة المرور القديمة غير صحيحة",
+ "ERR_SEC_0004": "اسم المستخدم أو كلمة المرور غير صحيحة",
+ "ERR_SEC_0005": "المستخدم غير موجود",
+ "ERR_SEC_0006": "كلمة المرور التي تم إدخالها غير صحيحة",
"toDateGreaterThanToday": "يجب أن يكون التاريخ الحالي أقل من التاريخ الحالي",
- "fromDateGreaterThanToday": "يجب أن يكون تاريخ البدء أقل من التاريخ الحالي"
+ "fromDateGreaterThanToday": "يجب أن يكون تاريخ البدء أقل من التاريخ الحالي",
+ "userIdMinLength": "يجب أن يكون معرف المستخدم مكوّنًا من 5 أحرف على الأقل",
+ "nameMinLength": "يجب أن يكون الاسم مكوّنًا من 5 أحرف على الأقل",
+ "emptySpaceRestriction": "المسافات الفارغة غير مسموح بها",
+ "USER_CREATED_SUCCESS": "تم إنشاء المستخدم",
+ "USER_DELETE_SUCCESS": "تم حذف المستخدم"
+
}
\ No newline at end of file
diff --git a/src/assets/i18n/English.json b/src/assets/i18n/English.json
index e08fdab..c30915b 100644
--- a/src/assets/i18n/English.json
+++ b/src/assets/i18n/English.json
@@ -112,7 +112,7 @@
"oldPassword":"Old Password",
"newPasswordStatic":"New Password",
"savePassword":"Save",
- "passwordPattern":"Password must be over 8 characters and include an uppercase letter, a lower case letter, a number and a special character",
+ "passwordPattern":"Password must be 8–20 characters and include uppercase, lowercase, number, and special character",
"SMSGatewaySelect":"Select Gateway",
"selectIdentValueType": "Select Type",
"IdTypeSelect":"Select Select Type",
@@ -256,6 +256,14 @@
"ERR_SEC_0001": "Email already exists",
"ERR_SEC_0002": "Username already exists",
"ERR_SEC_0003": "Old Password is not correct",
+ "ERR_SEC_0004":"Invalid credentials",
+ "ERR_SEC_0005": "User not found",
+ "ERR_SEC_0006": "Incorrect password",
"toDateGreaterThanToday": "To Date must be less than Current Date",
- "fromDateGreaterThanToday": "From Date must be less than Current Date"
+ "fromDateGreaterThanToday": "From Date must be less than Current Date",
+ "userIdMinLength" : "User ID must be at least 5 characters",
+ "nameMinLength" : "Name must be at least 5 characters",
+ "emptySpaceRestriction" : "Empty spaces are not allowed",
+ "USER_CREATED_SUCCESS": "User Created",
+ "USER_DELETE_SUCCESS": "User Deleted"
}
\ No newline at end of file
diff --git a/src/environments/environment.dev.ts b/src/environments/environment.dev.ts
index 22d8e44..143536d 100644
--- a/src/environments/environment.dev.ts
+++ b/src/environments/environment.dev.ts
@@ -5,6 +5,6 @@ export const environment = {
buildDate: '08-01-2026',
enableEncryption: true,
moduleHost: new Map([
- ["ACONNECT_DOMAIN_URI", "https://api.redmetic.com"]
+ ["ACONNECT_DOMAIN_URI", "http://localhost:8080"]
])
};
diff --git a/src/index.html b/src/index.html
index aa569e3..0095b99 100644
--- a/src/index.html
+++ b/src/index.html
@@ -2,7 +2,7 @@
- ACONNECTUX
+ aConnect
|