verben-authentication-ui 1.0.34 → 1.0.35

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.
@@ -1 +1 @@
1
- {"version":3,"file":"verben-authentication-ui-src-lib-components-user-request.mjs","sources":["../../../projects/verben-authentication-ui/src/lib/components/user-request/user-request.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request/user-request.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request/user-request.module.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request/verben-authentication-ui-src-lib-components-user-request.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport { HttpWebRequestService } from 'verben-authentication-ui/src/lib/services';\nimport { UserRequestPayload } from 'verben-authentication-ui/src/lib/models';\nimport { ObjectState } from 'verben-authentication-ui/src/lib/models';\nimport { UtilService } from 'verben-authentication-ui/src/lib/services';\nimport { ResponseKeyValue } from 'verben-authentication-ui/src/lib/models';\nimport { ErrorResponse } from 'verben-authentication-ui/src/lib/models';\nimport { Status } from 'verben-authentication-ui/src/lib/models';\nimport { RequestStatus } from 'verben-authentication-ui/src/lib/models';\nimport { EnvironmentService } from 'verben-authentication-ui/src/lib/services';\nimport {\n AuthMechanism,\n MechanismType,\n} from 'verben-authentication-ui/src/lib/models';\nimport { ActivatedRoute } from '@angular/router';\nimport { OAuthResponse } from 'verben-authentication-ui/src/lib/models';\nimport { Role } from 'verben-authentication-ui/src/lib/models';\nimport CryptoJS from 'crypto-js';\nimport { UserAgentType } from 'verben-authentication-ui/src/lib/models';\n@Component({\n selector: 'lib-user-request',\n templateUrl: './user-request.component.html',\n styleUrls: ['./user-request.component.css'],\n})\nexport class UserRequestComponent {\n @Input() width: string = '500px';\n @Input() headingTitle: string = 'Request an account';\n @Input() headingClass: string =\n 'font-medium text-[2rem] leading-[48px] text-[#333]';\n @Input() customClass: string = '';\n @Input() bgColor: string = '#fff';\n @Input() boxShadow: string = '4px 4px 4px rgba(0, 0, 0, 0.25)';\n @Input() border: string = '1px solid #66666680';\n @Input() borderRadius: string = '24px';\n @Input() textColor: string = '#333';\n @Input() height: string = 'auto';\n @Input() pd: string = '32px 48px';\n isFormEditable: boolean = true;\n tenant: string = '';\n secret: string;\n hidePassword: boolean = false;\n isCode: boolean = false;\n @Input() text: string = 'Send Request';\n @Input() color: string = 'black';\n @Input() btnBorder: string = '1px solid #FFE681';\n @Input() btnBorderRadius: string = '40px';\n @Input() btnBgColor: string = '#FFE681';\n @Input() btnWidth: string = '100%';\n @Input() btnPd: string = '10px 20px';\n @Input() termsLink: string = '';\n @Input() privacyLink: string = '';\n @Input() routerLink: string = '';\n @Output() formSubmit = new EventEmitter<UserRequestPayload[]>();\n @Output() googleClick = new EventEmitter();\n @Output() onSubmitSuccess = new EventEmitter<any>();\n @Output() appleClick = new EventEmitter();\n @Output() microsoftClick = new EventEmitter();\n @Output() onSubmitGoogleAuth: EventEmitter<ResponseKeyValue | ErrorResponse> =\n new EventEmitter();\n @Output() onSubmitResponseEnd: EventEmitter<any> = new EventEmitter();\n userRequestForm: FormGroup;\n tenantDetails: any | null = null;\n AuthMechanisms: AuthMechanism[] | null = null;\n showform: boolean = false;\n code: string = '';\n type: string = '';\n constructor(\n private fb: FormBuilder,\n private server: HttpWebRequestService,\n private utilService: UtilService,\n private envSvc: EnvironmentService,\n private route: ActivatedRoute,\n ) {\n this.secret = this.envSvc.environment.Secret;\n this.userRequestForm = this.fb.group<{\n [K in keyof UserRequestPayload]: FormControl<UserRequestPayload[K]>;\n }>(\n {\n Code: new FormControl('', { nonNullable: true }),\n FirstName: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required],\n }),\n LastName: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required],\n }),\n MailAddress: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required, Validators.email],\n }),\n Password: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required, Validators.minLength(8)],\n }),\n PhoneNumber: new FormControl('', { nonNullable: true }),\n OtherName: new FormControl('', { nonNullable: true }),\n Role: new FormControl<Role>(\n {\n Name: '',\n Description: '',\n Application: '',\n RoleContexts: [],\n APIKey: '',\n Id: '',\n id: '',\n ServiceName: '',\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n DataState: ObjectState.New,\n TenantId: '',\n Code: '',\n },\n { nonNullable: true },\n ),\n Tags: new FormControl<[]>([], { nonNullable: true }),\n Status: new FormControl<Status>(Status.Active, { nonNullable: true }),\n RequestStatus: new FormControl<RequestStatus>(RequestStatus.Pending, {\n nonNullable: true,\n }),\n UpdatedAt: new FormControl(new Date(), { nonNullable: true }),\n CreatedAt: new FormControl(new Date(), { nonNullable: true }),\n Id: new FormControl('', { nonNullable: true }),\n DataState: new FormControl<ObjectState>(ObjectState.New, {\n nonNullable: true,\n }),\n TenantId: new FormControl('', { nonNullable: true }),\n Token: new FormControl('', { nonNullable: true }),\n SignUpType: new FormControl(MechanismType.InApp, { nonNullable: true }),\n ServiceName: new FormControl('', { nonNullable: true }),\n ActionBy: new FormControl('', { nonNullable: true }),\n Comment: new FormControl('', { nonNullable: true }),\n },\n { validators: this.passwordMatchValidator },\n );\n }\n passwordMatchValidator(control: AbstractControl): ValidationErrors | null {\n const password = control.get('Password')?.value;\n const confirmPassword = control.get('ConfirmPassword')?.value;\n\n return password === confirmPassword ? null : { passwordMismatch: true };\n }\n\n get passwordMismatchError(): boolean {\n return this.userRequestForm.hasError('passwordMismatch');\n }\n\n get styles() {\n return {\n 'background-color': this.bgColor,\n 'box-shadow': this.boxShadow,\n border: this.border,\n 'border-radius': this.borderRadius,\n color: this.textColor,\n 'max-width': this.width,\n height: this.height,\n padding: this.pd,\n };\n }\n async ngOnInit() {\n await this.getTenantConfig();\n this.route.queryParams.subscribe((params) => {\n this.code = params['code'];\n this.type = params['type'];\n if (this.code) {\n this.verifyUserDetails();\n }\n });\n }\n\n async getTenantConfig() {\n this.userRequestForm.addControl(\n 'ConfirmPassword',\n new FormControl('', Validators.required),\n );\n const isLocalhost = window?.location?.hostname === 'localhost';\n const payload = isLocalhost\n ? {\n Key: 'UrlKey',\n Value: 'https://bovas.white360.net',\n }\n : undefined;\n const res = await this.server.post(`GetTenantConfigByUrlKey`, payload);\n this.tenantDetails = res;\n this.tenant = this.tenantDetails.TenantId;\n\n this.AuthMechanisms = this.tenantDetails?.AuthMechanisms?.filter(\n (m: AuthMechanism) => m.UserAgent === UserAgentType.Web,\n );\n if (\n !this.tenantDetails?.AuthMechanism &&\n this.tenantDetails?.AuthMechanism !== MechanismType.InApp\n ) {\n this.showform = false;\n } else if (this.tenantDetails?.AuthMechanism === MechanismType.InApp) {\n this.showform = true;\n } else if (this.AuthMechanisms !== null) {\n this.showform = this.AuthMechanisms.some((item) =>\n item.AuthMechanism.includes(MechanismType.InApp),\n );\n }\n }\n checkForm(): boolean {\n return this.userRequestForm.valid;\n }\n handleGoogleAuth() {\n if (this.AuthMechanisms !== null) {\n const data = this.AuthMechanisms.filter(\n (item) => item.AuthMechanism === MechanismType.Google,\n );\n this.googleClick.emit();\n }\n }\n handleAppleAuth() {\n this.appleClick.emit();\n }\n handleMicrosoft() {\n if (this.AuthMechanisms !== null) {\n const data = this.AuthMechanisms.filter(\n (item) => item.AuthMechanism === MechanismType.Microsoft,\n );\n this.microsoftClick.emit();\n }\n }\n\n async submitForm() {\n if (!this.checkForm()) {\n return;\n }\n\n const formValue = this.userRequestForm.getRawValue();\n const hashedPassword = CryptoJS.MD5(\n this.userRequestForm.controls['Password'].value,\n ).toString();\n const { ConfirmPassword, TenantId, ...rest } = formValue;\n const payload = {\n ...rest,\n TenantId: this.tenantDetails.TenantId,\n Password: hashedPassword,\n };\n\n const payloadToSubmit: UserRequestPayload[] = [payload];\n\n this.formSubmit.emit(payloadToSubmit);\n this.utilService.sendBI(true);\n\n try {\n const res = await this.server.post(\n `SaveUserAccessRequests`,\n payloadToSubmit,\n );\n\n this.utilService.sendBI(false);\n\n if (res instanceof ErrorResponse) {\n this.onSubmitResponseEnd.emit(res);\n } else {\n const result = res as ResponseKeyValue;\n this.onSubmitResponseEnd.emit(result);\n this.onSubmitSuccess.emit(result);\n }\n } catch (error) {\n this.utilService.sendBI(false);\n console.error('Unexpected error:', error);\n this.onSubmitResponseEnd.emit(error);\n }\n }\n async verifyUserDetails() {\n if (this.AuthMechanisms !== null && this.tenant) {\n const data: any = this.AuthMechanisms.find((item) =>\n item.AuthMechanism.includes(this.type),\n );\n const payload = {\n AuthCode: this.code,\n Tenant: this.tenant,\n AuthMechanism: data.AuthMechanism,\n };\n\n this.utilService.sendBI(true);\n const res: OAuthResponse = await this.server.post(\n `GetUserDetails`,\n payload,\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n this.onSubmitGoogleAuth.emit(res);\n } else {\n this.userRequestForm.controls['FirstName'].setValue(res.FirstName);\n this.userRequestForm.controls['LastName'].setValue(res.LastName);\n this.userRequestForm.controls['MailAddress'].setValue(res.Email);\n this.userRequestForm.controls['Token'].setValue(res.AccessToken);\n this.userRequestForm.controls['SignUpType'].setValue(this.type);\n this.userRequestForm.controls['Password'].clearValidators();\n this.userRequestForm.controls['Password'].updateValueAndValidity();\n this.userRequestForm.controls['ConfirmPassword'].clearValidators();\n this.userRequestForm.controls[\n 'ConfirmPassword'\n ].updateValueAndValidity();\n this.hidePassword = true;\n }\n }\n }\n}\n","<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{ headingClass }}\">\n {{ headingTitle }}\n </h2>\n\n <form\n [formGroup]=\"userRequestForm\"\n (ngSubmit)=\"submitForm()\"\n class=\"flex flex-col gap-5 mt-3\"\n >\n <verbena-input\n [label]=\"'First Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"FirstName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"LastName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'E-mail Address'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [customErrorMessages]=\"{\n required: 'Email address is required',\n email: 'Email address must be valid'\n }\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [passwordToggle]=\"true\"\n formControlName=\"Password\"\n [required]=\"true\"\n [type]=\"'password'\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Confirm Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"ConfirmPassword\"\n [showBorder]=\"true\"\n [passwordToggle]=\"true\"\n [bgColor]=\"'white'\"\n [minLength]=\"userRequestForm.controls['Password'].value?.length\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [customErrorMessages]=\"{\n minLength:'Confirm Password must match password',\n required: 'Confirm Password is required and must match password',\n password: 'Password does not match',\n }\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-button\n [class]=\"'mt-6'\"\n [disable]=\"!this.checkForm()\"\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n [buttonClass]=\"'cursor-not-allowed'\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n [ngClass]=\"{\n 'cursor-not-allowed':!checkForm()\n }\"\n [width]=\"btnWidth\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n </form>\n\n <div class=\"mt-2\" *ngIf=\"AuthMechanisms !== null\"> \n <verben-o-auth \n [authMechanisms]=\"AuthMechanisms\"\n ></verben-o-auth>\n </div>\n</section>\n\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { CommonModule } from '@angular/common';\nimport { UserRequestComponent } from './user-request.component';\nimport { OAuthModule } from 'verben-authentication-ui/src/lib/components/o-auth';\n\n@NgModule({\n declarations: [UserRequestComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n CommonModule,\n OAuthModule,\n ],\n exports: [UserRequestComponent],\n})\nexport class UserRequestModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verben-authentication-ui-src-lib-components-user-request.mjs","sources":["../../../projects/verben-authentication-ui/src/lib/components/user-request/user-request.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request/user-request.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request/user-request.module.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request/verben-authentication-ui-src-lib-components-user-request.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport { HttpWebRequestService } from 'verben-authentication-ui/src/lib/services';\nimport { UserRequestPayload } from 'verben-authentication-ui/src/lib/models';\nimport { ObjectState } from 'verben-authentication-ui/src/lib/models';\nimport { UtilService } from 'verben-authentication-ui/src/lib/services';\nimport { ResponseKeyValue } from 'verben-authentication-ui/src/lib/models';\nimport { ErrorResponse } from 'verben-authentication-ui/src/lib/models';\nimport { Status } from 'verben-authentication-ui/src/lib/models';\nimport { RequestStatus } from 'verben-authentication-ui/src/lib/models';\nimport { EnvironmentService } from 'verben-authentication-ui/src/lib/services';\nimport {\n AuthMechanism,\n MechanismType,\n} from 'verben-authentication-ui/src/lib/models';\nimport { ActivatedRoute } from '@angular/router';\nimport { OAuthResponse } from 'verben-authentication-ui/src/lib/models';\nimport { Role } from 'verben-authentication-ui/src/lib/models';\nimport CryptoJS from 'crypto-js';\nimport { UserAgentType } from 'verben-authentication-ui/src/lib/models';\n@Component({\n selector: 'lib-user-request',\n templateUrl: './user-request.component.html',\n styleUrls: ['./user-request.component.css'],\n})\nexport class UserRequestComponent {\n @Input() width: string = '500px';\n @Input() headingTitle: string = 'Request an account';\n @Input() headingClass: string =\n 'font-medium text-[2rem] leading-[48px] text-[#333]';\n @Input() customClass: string = '';\n @Input() bgColor: string = '#fff';\n @Input() boxShadow: string = '4px 4px 4px rgba(0, 0, 0, 0.25)';\n @Input() border: string = '1px solid #66666680';\n @Input() borderRadius: string = '24px';\n @Input() textColor: string = '#333';\n @Input() height: string = 'auto';\n @Input() pd: string = '32px 48px';\n isFormEditable: boolean = true;\n tenant: string = '';\n secret: string;\n hidePassword: boolean = false;\n isCode: boolean = false;\n @Input() text: string = 'Send Request';\n @Input() color: string = 'black';\n @Input() btnBorder: string = '1px solid #FFE681';\n @Input() btnBorderRadius: string = '40px';\n @Input() btnBgColor: string = '#FFE681';\n @Input() btnWidth: string = '100%';\n @Input() btnPd: string = '10px 20px';\n @Input() termsLink: string = '';\n @Input() privacyLink: string = '';\n @Input() routerLink: string = '';\n @Output() formSubmit = new EventEmitter<UserRequestPayload[]>();\n @Output() googleClick = new EventEmitter();\n @Output() onSubmitSuccess = new EventEmitter<any>();\n @Output() appleClick = new EventEmitter();\n @Output() microsoftClick = new EventEmitter();\n @Output() onSubmitGoogleAuth: EventEmitter<ResponseKeyValue | ErrorResponse> =\n new EventEmitter();\n @Output() onSubmitResponseEnd: EventEmitter<any> = new EventEmitter();\n userRequestForm: FormGroup;\n tenantDetails: any | null = null;\n AuthMechanisms: AuthMechanism[] | null = null;\n showform: boolean = false;\n code: string = '';\n type: string = '';\n constructor(\n private fb: FormBuilder,\n private server: HttpWebRequestService,\n private utilService: UtilService,\n private envSvc: EnvironmentService,\n private route: ActivatedRoute,\n ) {\n this.secret = this.envSvc.environment.Secret;\n this.userRequestForm = this.fb.group<{\n [K in keyof UserRequestPayload]: FormControl<UserRequestPayload[K]>;\n }>(\n {\n Code: new FormControl('', { nonNullable: true }),\n FirstName: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required],\n }),\n LastName: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required],\n }),\n MailAddress: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required, Validators.email],\n }),\n Password: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required, Validators.minLength(8)],\n }),\n PhoneNumber: new FormControl('', { nonNullable: true }),\n OtherName: new FormControl('', { nonNullable: true }),\n Role: new FormControl<Role>(\n {\n Name: '',\n Description: '',\n Application: '',\n RoleContexts: [],\n APIKey: '',\n Id: '',\n id: '',\n ServiceName: '',\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n DataState: ObjectState.New,\n TenantId: '',\n Code: '',\n },\n { nonNullable: true },\n ),\n Tags: new FormControl<[]>([], { nonNullable: true }),\n Status: new FormControl<Status>(Status.Active, { nonNullable: true }),\n RequestStatus: new FormControl<RequestStatus>(RequestStatus.Pending, {\n nonNullable: true,\n }),\n UpdatedAt: new FormControl(new Date(), { nonNullable: true }),\n CreatedAt: new FormControl(new Date(), { nonNullable: true }),\n Id: new FormControl('', { nonNullable: true }),\n DataState: new FormControl<ObjectState>(ObjectState.New, {\n nonNullable: true,\n }),\n TenantId: new FormControl('', { nonNullable: true }),\n Token: new FormControl('', { nonNullable: true }),\n SignUpType: new FormControl(MechanismType.InApp, { nonNullable: true }),\n ServiceName: new FormControl('', { nonNullable: true }),\n ActionBy: new FormControl('', { nonNullable: true }),\n Comment: new FormControl('', { nonNullable: true }),\n },\n { validators: this.passwordMatchValidator },\n );\n }\n passwordMatchValidator(control: AbstractControl): ValidationErrors | null {\n const password = control.get('Password')?.value;\n const confirmPassword = control.get('ConfirmPassword')?.value;\n\n return password === confirmPassword ? null : { passwordMismatch: true };\n }\n\n get passwordMismatchError(): boolean {\n return this.userRequestForm.hasError('passwordMismatch');\n }\n\n get styles() {\n return {\n 'background-color': this.bgColor,\n 'box-shadow': this.boxShadow,\n border: this.border,\n 'border-radius': this.borderRadius,\n color: this.textColor,\n 'max-width': this.width,\n height: this.height,\n padding: this.pd,\n };\n }\n async ngOnInit() {\n await this.getTenantConfig();\n this.route.queryParams.subscribe((params) => {\n this.code = params['code'];\n this.type = params['type'];\n if (this.code) {\n this.verifyUserDetails();\n }\n });\n }\n\n async getTenantConfig() {\n this.userRequestForm.addControl(\n 'ConfirmPassword',\n new FormControl('', Validators.required),\n );\n const isLocalhost = window?.location?.hostname === 'localhost';\n const payload = isLocalhost\n ? {\n Key: 'UrlKey',\n Value: 'https://bovas.white360.net',\n }\n : undefined;\n const res = await this.server.post(`GetTenantConfigByUrlKey`, payload);\n this.tenantDetails = res;\n this.tenant = this.tenantDetails.TenantId;\n\n this.AuthMechanisms = this.tenantDetails?.AuthMechanisms?.filter(\n (m: AuthMechanism) => m.UserAgent === UserAgentType.Web,\n );\n if (\n !this.tenantDetails?.AuthMechanism &&\n this.tenantDetails?.AuthMechanism !== MechanismType.InApp\n ) {\n this.showform = false;\n } else if (this.tenantDetails?.AuthMechanism === MechanismType.InApp) {\n // this.showform = false;\n this.showform = true;\n } else if (this.AuthMechanisms !== null) {\n this.showform = this.AuthMechanisms.some((item) =>\n item.AuthMechanism.includes(MechanismType.InApp),\n );\n }\n if (!this.showform) {\n this.userRequestForm.disable();\n } else {\n this.userRequestForm.enable();\n }\n }\n checkForm(): boolean {\n return this.userRequestForm.valid || this.userRequestForm.disabled;\n }\n handleGoogleAuth() {\n if (this.AuthMechanisms !== null) {\n const data = this.AuthMechanisms.filter(\n (item) => item.AuthMechanism === MechanismType.Google,\n );\n this.googleClick.emit();\n }\n }\n handleAppleAuth() {\n this.appleClick.emit();\n }\n handleMicrosoft() {\n if (this.AuthMechanisms !== null) {\n const data = this.AuthMechanisms.filter(\n (item) => item.AuthMechanism === MechanismType.Microsoft,\n );\n this.microsoftClick.emit();\n }\n }\n\n async submitForm() {\n if (!this.checkForm()) {\n return;\n }\n\n const formValue = this.userRequestForm.getRawValue();\n const hashedPassword = CryptoJS.MD5(\n this.userRequestForm.controls['Password'].value,\n ).toString();\n const { ConfirmPassword, TenantId, ...rest } = formValue;\n const payload = {\n ...rest,\n TenantId: this.tenantDetails.TenantId,\n Password: hashedPassword,\n };\n\n const payloadToSubmit: UserRequestPayload[] = [payload];\n\n this.formSubmit.emit(payloadToSubmit);\n this.utilService.sendBI(true);\n\n try {\n const res = await this.server.post(\n `SaveUserAccessRequests`,\n payloadToSubmit,\n );\n\n this.utilService.sendBI(false);\n\n if (res instanceof ErrorResponse) {\n this.onSubmitResponseEnd.emit(res);\n } else {\n const result = res as ResponseKeyValue;\n this.onSubmitResponseEnd.emit(result);\n this.onSubmitSuccess.emit(result);\n }\n } catch (error) {\n this.utilService.sendBI(false);\n console.error('Unexpected error:', error);\n this.onSubmitResponseEnd.emit(error);\n }\n }\n async verifyUserDetails() {\n if (this.AuthMechanisms !== null && this.tenant) {\n const data: any = this.AuthMechanisms.find((item) =>\n item.AuthMechanism.includes(this.type),\n );\n const payload = {\n AuthCode: this.code,\n Tenant: this.tenant,\n AuthMechanism: data.AuthMechanism,\n };\n\n this.utilService.sendBI(true);\n const res: OAuthResponse = await this.server.post(\n `GetUserDetails`,\n payload,\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n this.onSubmitGoogleAuth.emit(res);\n } else {\n this.userRequestForm.controls['FirstName'].setValue(res.FirstName);\n this.userRequestForm.controls['LastName'].setValue(res.LastName);\n this.userRequestForm.controls['MailAddress'].setValue(res.Email);\n this.userRequestForm.controls['Token'].setValue(res.AccessToken);\n this.userRequestForm.controls['SignUpType'].setValue(this.type);\n this.userRequestForm.controls['Password'].clearValidators();\n this.userRequestForm.controls['Password'].updateValueAndValidity();\n this.userRequestForm.controls['ConfirmPassword'].clearValidators();\n this.userRequestForm.controls[\n 'ConfirmPassword'\n ].updateValueAndValidity();\n this.hidePassword = true;\n }\n }\n }\n\n testDisable() {\n this.userRequestForm.controls['FirstName'].setValue('Jecil');\n this.userRequestForm.controls['LastName'].setValue('Okeke');\n this.userRequestForm.controls['MailAddress'].setValue(\n 'jecilokeke@gmail.com',\n );\n this.userRequestForm.controls['Token'].setValue('hsdjssd');\n this.userRequestForm.controls['SignUpType'].setValue(this.type);\n this.userRequestForm.controls['Password'].clearValidators();\n this.userRequestForm.controls['Password'].updateValueAndValidity();\n this.userRequestForm.controls['ConfirmPassword'].clearValidators();\n this.userRequestForm.controls['ConfirmPassword'].updateValueAndValidity();\n this.hidePassword = true;\n }\n}\n","<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{ headingClass }}\">\n {{ headingTitle }}\n </h2>\n\n <form\n [formGroup]=\"userRequestForm\"\n (ngSubmit)=\"submitForm()\"\n class=\"flex flex-col gap-5 mt-3\"\n >\n <verbena-input\n [label]=\"'First Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"FirstName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"LastName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'E-mail Address'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [customErrorMessages]=\"{\n required: 'Email address is required',\n email: 'Email address must be valid',\n }\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [passwordToggle]=\"true\"\n formControlName=\"Password\"\n [required]=\"true\"\n [type]=\"'password'\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Confirm Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"ConfirmPassword\"\n [showBorder]=\"true\"\n [passwordToggle]=\"true\"\n [bgColor]=\"'white'\"\n [minLength]=\"userRequestForm.controls['Password'].value?.length\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [customErrorMessages]=\"{\n minLength: 'Confirm Password must match password',\n required: 'Confirm Password is required and must match password',\n password: 'Password does not match',\n }\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-button\n [class]=\"'mt-6'\"\n [disable]=\"!this.checkForm()\"\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n [buttonClass]=\"'cursor-not-allowed'\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n [ngClass]=\"{\n 'cursor-not-allowed': !checkForm(),\n }\"\n [width]=\"btnWidth\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n </form>\n\n <div class=\"mt-2\" *ngIf=\"AuthMechanisms !== null\">\n <verben-o-auth [authMechanisms]=\"AuthMechanisms\"></verben-o-auth>\n </div>\n</section>\n\n<!-- <button (click)=\"testDisable()\">Test</button> -->\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { CommonModule } from '@angular/common';\nimport { UserRequestComponent } from './user-request.component';\nimport { OAuthModule } from 'verben-authentication-ui/src/lib/components/o-auth';\n\n@NgModule({\n declarations: [UserRequestComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n CommonModule,\n OAuthModule,\n ],\n exports: [UserRequestComponent],\n})\nexport class UserRequestModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verben-authentication-ui",
3
- "version": "1.0.34",
3
+ "version": "1.0.35",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^18.2.0",
6
6
  "@angular/common": "^14.0.0 || ^18.0.0",
@@ -41,11 +41,11 @@
41
41
  "esm": "./esm2022/src/lib/pipes/verben-authentication-ui-src-lib-pipes.mjs",
42
42
  "default": "./fesm2022/verben-authentication-ui-src-lib-pipes.mjs"
43
43
  },
44
- "./src/lib/models": {
45
- "types": "./src/lib/models/index.d.ts",
46
- "esm2022": "./esm2022/src/lib/models/verben-authentication-ui-src-lib-models.mjs",
47
- "esm": "./esm2022/src/lib/models/verben-authentication-ui-src-lib-models.mjs",
48
- "default": "./fesm2022/verben-authentication-ui-src-lib-models.mjs"
44
+ "./src/lib/shared": {
45
+ "types": "./src/lib/shared/index.d.ts",
46
+ "esm2022": "./esm2022/src/lib/shared/verben-authentication-ui-src-lib-shared.mjs",
47
+ "esm": "./esm2022/src/lib/shared/verben-authentication-ui-src-lib-shared.mjs",
48
+ "default": "./fesm2022/verben-authentication-ui-src-lib-shared.mjs"
49
49
  },
50
50
  "./src/lib/services": {
51
51
  "types": "./src/lib/services/index.d.ts",
@@ -53,11 +53,11 @@
53
53
  "esm": "./esm2022/src/lib/services/verben-authentication-ui-src-lib-services.mjs",
54
54
  "default": "./fesm2022/verben-authentication-ui-src-lib-services.mjs"
55
55
  },
56
- "./src/lib/shared": {
57
- "types": "./src/lib/shared/index.d.ts",
58
- "esm2022": "./esm2022/src/lib/shared/verben-authentication-ui-src-lib-shared.mjs",
59
- "esm": "./esm2022/src/lib/shared/verben-authentication-ui-src-lib-shared.mjs",
60
- "default": "./fesm2022/verben-authentication-ui-src-lib-shared.mjs"
56
+ "./src/lib/models": {
57
+ "types": "./src/lib/models/index.d.ts",
58
+ "esm2022": "./esm2022/src/lib/models/verben-authentication-ui-src-lib-models.mjs",
59
+ "esm": "./esm2022/src/lib/models/verben-authentication-ui-src-lib-models.mjs",
60
+ "default": "./fesm2022/verben-authentication-ui-src-lib-models.mjs"
61
61
  },
62
62
  "./src/lib/components/auth-callback": {
63
63
  "types": "./src/lib/components/auth-callback/index.d.ts",
@@ -75,6 +75,7 @@ export declare class UserRequestComponent {
75
75
  handleMicrosoft(): void;
76
76
  submitForm(): Promise<void>;
77
77
  verifyUserDetails(): Promise<void>;
78
+ testDisable(): void;
78
79
  static ɵfac: i0.ɵɵFactoryDeclaration<UserRequestComponent, never>;
79
80
  static ɵcmp: i0.ɵɵComponentDeclaration<UserRequestComponent, "lib-user-request", never, { "width": { "alias": "width"; "required": false; }; "headingTitle": { "alias": "headingTitle"; "required": false; }; "headingClass": { "alias": "headingClass"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "bgColor": { "alias": "bgColor"; "required": false; }; "boxShadow": { "alias": "boxShadow"; "required": false; }; "border": { "alias": "border"; "required": false; }; "borderRadius": { "alias": "borderRadius"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; "height": { "alias": "height"; "required": false; }; "pd": { "alias": "pd"; "required": false; }; "text": { "alias": "text"; "required": false; }; "color": { "alias": "color"; "required": false; }; "btnBorder": { "alias": "btnBorder"; "required": false; }; "btnBorderRadius": { "alias": "btnBorderRadius"; "required": false; }; "btnBgColor": { "alias": "btnBgColor"; "required": false; }; "btnWidth": { "alias": "btnWidth"; "required": false; }; "btnPd": { "alias": "btnPd"; "required": false; }; "termsLink": { "alias": "termsLink"; "required": false; }; "privacyLink": { "alias": "privacyLink"; "required": false; }; "routerLink": { "alias": "routerLink"; "required": false; }; }, { "formSubmit": "formSubmit"; "googleClick": "googleClick"; "onSubmitSuccess": "onSubmitSuccess"; "appleClick": "appleClick"; "microsoftClick": "microsoftClick"; "onSubmitGoogleAuth": "onSubmitGoogleAuth"; "onSubmitResponseEnd": "onSubmitResponseEnd"; }, never, never, false, never>;
80
81
  }
@@ -3,9 +3,13 @@ import { UserAccessRequest } from 'verben-authentication-ui/src/lib/models';
3
3
  import { Role } from 'verben-authentication-ui/src/lib/models';
4
4
  import { CardData, CardDataViewComponent, ColumnDefinition, DataViewComponent, IDataFilter } from 'verben-ng-ui';
5
5
  import { UserAccessRequestFacade } from './facades/user-access-request.facade';
6
+ import { EnvironmentService, HttpWebRequestService, UtilService } from 'verben-authentication-ui/src/lib/services';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class UserRequestApprovalComponent implements OnInit {
8
9
  private cdr;
10
+ private utilService;
11
+ private envService;
12
+ private server;
9
13
  private userAccessRequestFacade;
10
14
  cardDataView: CardDataViewComponent;
11
15
  dataView: DataViewComponent;
@@ -18,7 +22,7 @@ export declare class UserRequestApprovalComponent implements OnInit {
18
22
  selected: CardData | null;
19
23
  cardData: Signal<CardData[]>;
20
24
  roles: WritableSignal<Role[]>;
21
- constructor(cdr: ChangeDetectorRef, userAccessRequestFacade: UserAccessRequestFacade);
25
+ constructor(cdr: ChangeDetectorRef, utilService: UtilService, envService: EnvironmentService, server: HttpWebRequestService, userAccessRequestFacade: UserAccessRequestFacade);
22
26
  ngOnInit(): Promise<void>;
23
27
  ngOnDestroy(): void;
24
28
  handleSearch(event: {
@@ -31,6 +35,9 @@ export declare class UserRequestApprovalComponent implements OnInit {
31
35
  email: string;
32
36
  role: string;
33
37
  }): Promise<void>;
38
+ onDelete(deletionData: {
39
+ email: string;
40
+ }): Promise<void>;
34
41
  openDetailView(mailAddress: string): void;
35
42
  getCardDataByMailAddress(mailAddress: string): CardData | undefined;
36
43
  onViewChange(isGridView: boolean): void;
@@ -14,12 +14,16 @@ export declare class UserRequestFormComponent {
14
14
  email: string;
15
15
  role: string;
16
16
  }>;
17
+ onDeleteRequest: EventEmitter<{
18
+ email: string;
19
+ }>;
17
20
  form: FormGroup;
18
21
  constructor(fb: FormBuilder);
19
22
  ngOnInit(): void;
20
23
  onSave(): void;
21
24
  onDelete(): void;
25
+ canDelete(): boolean;
22
26
  disableProcessing(): boolean;
23
27
  static ɵfac: i0.ɵɵFactoryDeclaration<UserRequestFormComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<UserRequestFormComponent, "lib-user-request-form", never, { "roles": { "alias": "roles"; "required": false; }; "currentData": { "alias": "currentData"; "required": false; }; }, { "switchView": "switchView"; "onApproval": "onApproval"; }, never, never, false, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserRequestFormComponent, "lib-user-request-form", never, { "roles": { "alias": "roles"; "required": false; }; "currentData": { "alias": "currentData"; "required": false; }; }, { "switchView": "switchView"; "onApproval": "onApproval"; "onDeleteRequest": "onDeleteRequest"; }, never, never, false, never>;
25
29
  }