UNPKG

angular-firebase-authorizator

Version:

Beta version of authorizator for angular linked to firebase, it creates a model in firestore to assign permissions to users an roles, and creates a view to update this permissions

55 lines 7.77 kB
import { __decorate, __metadata, __param } from "tslib"; import { Component, Inject } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { FormGroup, FormControl, Validators } from '@angular/forms'; import { AuthorizatorService } from '../../../services/authorizator.service'; let UpsertUserComponent = class UpsertUserComponent { constructor(data, authorizatorservice, dialogRef) { this.data = data; this.authorizatorservice = authorizatorservice; this.dialogRef = dialogRef; this.userForm = new FormGroup({ email: new FormControl(null, [Validators.required, Validators.email]) }); } onSubmitUser() { if (this.userForm.valid) { const userToAdd = { id: this.userForm.controls.email.value, data: { name: null, email: this.userForm.controls.email.value, picture: null, permissions: null } }; this.authorizatorservice.addUser(this.data.rootFirebasePath, userToAdd).then(() => { this.dialogRef.close(userToAdd); }).catch(error => { if (error.key === 'exists') { this.userForm.controls.email.setErrors({ exists: true }); } else { this.userForm.controls.email.setErrors({ defaulterror: true }); } }); } } }; UpsertUserComponent.ctorParameters = () => [ { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }, { type: AuthorizatorService }, { type: MatDialogRef } ]; UpsertUserComponent = __decorate([ Component({ selector: 'lib-upsert-user', template: "<form [formGroup]=\"userForm\" (ngSubmit)=\"onSubmitUser()\" method=\"post\">\n <h1 mat-dialog-title>{{data.type === 'add' ? 'Add User' : 'Edit User'}}</h1>\n <div mat-dialog-content>\n <mat-form-field style=\"width: 100%;\">\n <input matInput cdkFocusInitial type=\"email\" placeholder=\"Email\" formControlName=\"email\" maxlength=\"254\">\n <mat-error *ngIf=\"userForm.controls['email'].hasError('required')\">Mandatory field</mat-error>\n <mat-error *ngIf=\"userForm.controls['email'].hasError('email')\">Email format incorrect</mat-error>\n <mat-error *ngIf=\"userForm.controls['email'].hasError('exists')\">Email already exists</mat-error>\n <mat-error *ngIf=\"userForm.controls['email'].hasError('defaulterror')\">Error updating user</mat-error>\n </mat-form-field>\n </div>\n <div mat-dialog-actions>\n <button mat-button [mat-dialog-close]>Close</button>\n <button mat-raised-button type=\"submit\" [disabled]=\"!userForm.valid\">Add</button>\n </div>\n</form>\n", styles: [".mat-dialog-actions{-webkit-box-pack:end;justify-content:flex-end}"] }), __param(0, Inject(MAT_DIALOG_DATA)), __metadata("design:paramtypes", [Object, AuthorizatorService, MatDialogRef]) ], UpsertUserComponent); export { UpsertUserComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LXVzZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1maXJlYmFzZS1hdXRob3JpemF0b3IvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy91c2Vycy91cHNlcnQtdXNlci91cHNlcnQtdXNlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFhN0UsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBbUI7SUFJOUIsWUFDa0MsSUFBZ0IsRUFDeEMsbUJBQXdDLEVBQ3pDLFNBQTRDO1FBRm5CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN6QyxjQUFTLEdBQVQsU0FBUyxDQUFtQztRQU45QyxhQUFRLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDOUIsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RFLENBQUMsQ0FBQztJQUtDLENBQUM7SUFFTCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtZQUN2QixNQUFNLFNBQVMsR0FBWTtnQkFDekIsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLO2dCQUN0QyxJQUFJLEVBQUU7b0JBQ0osSUFBSSxFQUFFLElBQUk7b0JBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLO29CQUN6QyxPQUFPLEVBQUUsSUFBSTtvQkFDYixXQUFXLEVBQUUsSUFBSTtpQkFDbEI7YUFDRixDQUFDO1lBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDZixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO29CQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQzFEO3FCQUFNO29CQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztpQkFDaEU7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztDQUNGLENBQUE7OzRDQTNCSSxNQUFNLFNBQUMsZUFBZTtZQUNNLG1CQUFtQjtZQUM5QixZQUFZOztBQVByQixtQkFBbUI7SUFML0IsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQiwyZ0NBQTJDOztLQUU1QyxDQUFDO0lBTUcsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7NkNBQ0ssbUJBQW1CO1FBQzlCLFlBQVk7R0FQckIsbUJBQW1CLENBZ0MvQjtTQWhDWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVc2VyT2JqIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy91c2VyLW9iaic7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXV0aG9yaXphdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhvcml6YXRvci5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dEYXRhIHtcbiAgdHlwZTogc3RyaW5nO1xuICB1c2VyOiBVc2VyT2JqO1xuICByb290RmlyZWJhc2VQYXRoOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi11cHNlcnQtdXNlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi91cHNlcnQtdXNlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Vwc2VydC11c2VyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVXBzZXJ0VXNlckNvbXBvbmVudCB7XG4gIHB1YmxpYyB1c2VyRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIGVtYWlsOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdKVxuICB9KTtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBEaWFsb2dEYXRhLFxuICAgIHByaXZhdGUgYXV0aG9yaXphdG9yc2VydmljZTogQXV0aG9yaXphdG9yU2VydmljZSxcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VXBzZXJ0VXNlckNvbXBvbmVudD5cbiAgKSB7IH1cblxuICBvblN1Ym1pdFVzZXIoKSB7XG4gICAgaWYgKHRoaXMudXNlckZvcm0udmFsaWQpIHtcbiAgICAgIGNvbnN0IHVzZXJUb0FkZDogVXNlck9iaiA9IHtcbiAgICAgICAgaWQ6IHRoaXMudXNlckZvcm0uY29udHJvbHMuZW1haWwudmFsdWUsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBuYW1lOiBudWxsLFxuICAgICAgICAgIGVtYWlsOiB0aGlzLnVzZXJGb3JtLmNvbnRyb2xzLmVtYWlsLnZhbHVlLFxuICAgICAgICAgIHBpY3R1cmU6IG51bGwsXG4gICAgICAgICAgcGVybWlzc2lvbnM6IG51bGxcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHRoaXMuYXV0aG9yaXphdG9yc2VydmljZS5hZGRVc2VyKHRoaXMuZGF0YS5yb290RmlyZWJhc2VQYXRoLCB1c2VyVG9BZGQpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh1c2VyVG9BZGQpO1xuICAgICAgfSkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICBpZiAoZXJyb3Iua2V5ID09PSAnZXhpc3RzJykge1xuICAgICAgICAgIHRoaXMudXNlckZvcm0uY29udHJvbHMuZW1haWwuc2V0RXJyb3JzKHsgZXhpc3RzOiB0cnVlIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudXNlckZvcm0uY29udHJvbHMuZW1haWwuc2V0RXJyb3JzKHsgZGVmYXVsdGVycm9yOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==