import { RestService, DynamicLayoutComponent, AuthGuard, PermissionGuard, CoreModule } from '@abp/ng.core'; import { Injectable, ɵɵdefineInjectable, ɵɵinject, Component, ViewChild, NgModule } from '@angular/core'; import { Action, Selector, State, Store, Select, NgxsModule } from '@ngxs/store'; import { __assign, __decorate, __metadata, __read } from 'tslib'; import { Observable, combineLatest, Subject } from 'rxjs'; import { NgbModal, NgbTabsetModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { Validators, FormBuilder } from '@angular/forms'; import { tap, switchMap, pluck, debounceTime, filter, map, take } from 'rxjs/operators'; import { ConfirmationService, ThemeSharedModule } from '@abp/ng.theme.shared'; import { RouterModule } from '@angular/router'; import snq from 'snq'; import { validatePassword, NgxValidateCoreModule } from '@ngx-validate/core'; import { PermissionManagementModule } from '@abp/ng.permission-management'; import { TableModule } from 'primeng/table'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var IdentityGetRoles = /** @class */ (function () { function IdentityGetRoles() { } IdentityGetRoles.type = '[Identity] Get Roles'; return IdentityGetRoles; }()); var IdentityGetRoleById = /** @class */ (function () { function IdentityGetRoleById(payload) { this.payload = payload; } IdentityGetRoleById.type = '[Identity] Get Role By Id'; return IdentityGetRoleById; }()); var IdentityDeleteRole = /** @class */ (function () { function IdentityDeleteRole(payload) { this.payload = payload; } IdentityDeleteRole.type = '[Identity] Delete Role'; return IdentityDeleteRole; }()); var IdentityAddRole = /** @class */ (function () { function IdentityAddRole(payload) { this.payload = payload; } IdentityAddRole.type = '[Identity] Add Role'; return IdentityAddRole; }()); var IdentityUpdateRole = /** @class */ (function () { function IdentityUpdateRole(payload) { this.payload = payload; } IdentityUpdateRole.type = '[Identity] Update Role'; return IdentityUpdateRole; }()); var IdentityGetUsers = /** @class */ (function () { function IdentityGetUsers(payload) { this.payload = payload; } IdentityGetUsers.type = '[Identity] Get Users'; return IdentityGetUsers; }()); var IdentityGetUserById = /** @class */ (function () { function IdentityGetUserById(payload) { this.payload = payload; } IdentityGetUserById.type = '[Identity] Get User By Id'; return IdentityGetUserById; }()); var IdentityDeleteUser = /** @class */ (function () { function IdentityDeleteUser(payload) { this.payload = payload; } IdentityDeleteUser.type = '[Identity] Delete User'; return IdentityDeleteUser; }()); var IdentityAddUser = /** @class */ (function () { function IdentityAddUser(payload) { this.payload = payload; } IdentityAddUser.type = '[Identity] Add User'; return IdentityAddUser; }()); var IdentityUpdateUser = /** @class */ (function () { function IdentityUpdateUser(payload) { this.payload = payload; } IdentityUpdateUser.type = '[Identity] Update User'; return IdentityUpdateUser; }()); var IdentityGetUserRoles = /** @class */ (function () { function IdentityGetUserRoles(payload) { this.payload = payload; } IdentityGetUserRoles.type = '[Identity] Get User Roles'; return IdentityGetUserRoles; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var IdentityService = /** @class */ (function () { function IdentityService(rest) { this.rest = rest; } /** * @return {?} */ IdentityService.prototype.getRoles = /** * @return {?} */ function () { /** @type {?} */ var request = { method: 'GET', url: '/api/identity/role', }; return this.rest.request(request); }; /** * @param {?} id * @return {?} */ IdentityService.prototype.getRoleById = /** * @param {?} id * @return {?} */ function (id) { /** @type {?} */ var request = { method: 'GET', url: "/api/identity/role/" + id, }; return this.rest.request(request); }; /** * @param {?} id * @return {?} */ IdentityService.prototype.deleteRole = /** * @param {?} id * @return {?} */ function (id) { /** @type {?} */ var request = { method: 'DELETE', url: "/api/identity/role/" + id, }; return this.rest.request(request); }; /** * @param {?} body * @return {?} */ IdentityService.prototype.addRole = /** * @param {?} body * @return {?} */ function (body) { /** @type {?} */ var request = { method: 'POST', url: '/api/identity/role', body: body, }; return this.rest.request(request); }; /** * @param {?} body * @return {?} */ IdentityService.prototype.updateRole = /** * @param {?} body * @return {?} */ function (body) { /** @type {?} */ var url = "/api/identity/role/" + body.id; delete body.id; /** @type {?} */ var request = { method: 'PUT', url: url, body: body, }; return this.rest.request(request); }; /** * @param {?=} params * @return {?} */ IdentityService.prototype.getUsers = /** * @param {?=} params * @return {?} */ function (params) { if (params === void 0) { params = (/** @type {?} */ ({})); } /** @type {?} */ var request = { method: 'GET', url: '/api/identity/user', params: params, }; return this.rest.request(request); }; /** * @param {?} id * @return {?} */ IdentityService.prototype.getUserById = /** * @param {?} id * @return {?} */ function (id) { /** @type {?} */ var request = { method: 'GET', url: "/api/identity/user/" + id, }; return this.rest.request(request); }; /** * @param {?} id * @return {?} */ IdentityService.prototype.getUserRoles = /** * @param {?} id * @return {?} */ function (id) { /** @type {?} */ var request = { method: 'GET', url: "/api/identity/user/" + id + "/roles", }; return this.rest.request(request); }; /** * @param {?} id * @return {?} */ IdentityService.prototype.deleteUser = /** * @param {?} id * @return {?} */ function (id) { /** @type {?} */ var request = { method: 'DELETE', url: "/api/identity/user/" + id, }; return this.rest.request(request); }; /** * @param {?} body * @return {?} */ IdentityService.prototype.addUser = /** * @param {?} body * @return {?} */ function (body) { /** @type {?} */ var request = { method: 'POST', url: '/api/identity/user', body: body, }; return this.rest.request(request); }; /** * @param {?} body * @return {?} */ IdentityService.prototype.updateUser = /** * @param {?} body * @return {?} */ function (body) { /** @type {?} */ var url = "/identity/users/" + body.id; delete body.id; /** @type {?} */ var request = { method: 'PUT', url: url, body: body, }; return this.rest.request(request); }; IdentityService.decorators = [ { type: Injectable, args: [{ providedIn: 'root', },] } ]; /** @nocollapse */ IdentityService.ctorParameters = function () { return [ { type: RestService } ]; }; /** @nocollapse */ IdentityService.ngInjectableDef = ɵɵdefineInjectable({ factory: function IdentityService_Factory() { return new IdentityService(ɵɵinject(RestService)); }, token: IdentityService, providedIn: "root" }); return IdentityService; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var IdentityState = /** @class */ (function () { function IdentityState(identityService) { this.identityService = identityService; } /** * @param {?} __0 * @return {?} */ IdentityState.getRoles = /** * @param {?} __0 * @return {?} */ function (_a) { var roles = _a.roles; return roles.items; }; /** * @param {?} __0 * @return {?} */ IdentityState.getRolesTotalCount = /** * @param {?} __0 * @return {?} */ function (_a) { var roles = _a.roles; return roles.totalCount; }; /** * @param {?} __0 * @return {?} */ IdentityState.getUsers = /** * @param {?} __0 * @return {?} */ function (_a) { var users = _a.users; return users.items; }; /** * @param {?} __0 * @return {?} */ IdentityState.getUsersTotalCount = /** * @param {?} __0 * @return {?} */ function (_a) { var users = _a.users; return users.totalCount; }; /** * @param {?} __0 * @return {?} */ IdentityState.prototype.getRoles = /** * @param {?} __0 * @return {?} */ function (_a) { var patchState = _a.patchState; return this.identityService.getRoles().pipe(tap((/** * @param {?} roles * @return {?} */ function (roles) { return patchState({ roles: roles, }); }))); }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ IdentityState.prototype.getRole = /** * @param {?} __0 * @param {?} __1 * @return {?} */ function (_a, _b) { var patchState = _a.patchState; var payload = _b.payload; return this.identityService.getRoleById(payload).pipe(tap((/** * @param {?} selectedRole * @return {?} */ function (selectedRole) { return patchState({ selectedRole: selectedRole, }); }))); }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ IdentityState.prototype.deleteRole = /** * @param {?} __0 * @param {?} __1 * @return {?} */ function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; return this.identityService.deleteRole(payload).pipe(switchMap((/** * @return {?} */ function () { return dispatch(new IdentityGetRoles()); }))); }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ IdentityState.prototype.addRole = /** * @param {?} __0 * @param {?} __1 * @return {?} */ function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; return this.identityService.addRole(payload).pipe(switchMap((/** * @return {?} */ function () { return dispatch(new IdentityGetRoles()); }))); }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ IdentityState.prototype.updateRole = /** * @param {?} __0 * @param {?} __1 * @return {?} */ function (_a, _b) { var _this = this; var getState = _a.getState, dispatch = _a.dispatch; var payload = _b.payload; return dispatch(new IdentityGetRoleById(payload.id)).pipe(switchMap((/** * @return {?} */ function () { return _this.identityService.updateRole(__assign({}, getState().selectedRole, payload)); })), switchMap((/** * @return {?} */ function () { return dispatch(new IdentityGetRoles()); }))); }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ IdentityState.prototype.getUsers = /** * @param {?} __0 * @param {?} __1 * @return {?} */ function (_a, _b) { var patchState = _a.patchState; var payload = _b.payload; return this.identityService.getUsers(payload).pipe(tap((/** * @param {?} users * @return {?} */ function (users) { return patchState({ users: users, }); }))); }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ IdentityState.prototype.getUser = /** * @param {?} __0 * @param {?} __1 * @return {?} */ function (_a, _b) { var patchState = _a.patchState; var payload = _b.payload; return this.identityService.getUserById(payload).pipe(tap((/** * @param {?} selectedUser * @return {?} */ function (selectedUser) { return patchState({ selectedUser: selectedUser, }); }))); }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ IdentityState.prototype.deleteUser = /** * @param {?} __0 * @param {?} __1 * @return {?} */ function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; return this.identityService.deleteUser(payload).pipe(switchMap((/** * @return {?} */ function () { return dispatch(new IdentityGetUsers()); }))); }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ IdentityState.prototype.addUser = /** * @param {?} __0 * @param {?} __1 * @return {?} */ function (_a, _b) { var dispatch = _a.dispatch; var payload = _b.payload; return this.identityService.addUser(payload).pipe(switchMap((/** * @return {?} */ function () { return dispatch(new IdentityGetUsers()); }))); }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ IdentityState.prototype.updateUser = /** * @param {?} __0 * @param {?} __1 * @return {?} */ function (_a, _b) { var _this = this; var getState = _a.getState, dispatch = _a.dispatch; var payload = _b.payload; return dispatch(new IdentityGetUserById(payload.id)).pipe(switchMap((/** * @return {?} */ function () { return _this.identityService.updateUser(__assign({}, getState().selectedUser, payload)); })), switchMap((/** * @return {?} */ function () { return dispatch(new IdentityGetUsers()); }))); }; /** * @param {?} __0 * @param {?} __1 * @return {?} */ IdentityState.prototype.getUserRoles = /** * @param {?} __0 * @param {?} __1 * @return {?} */ function (_a, _b) { var patchState = _a.patchState; var payload = _b.payload; return this.identityService.getUserRoles(payload).pipe(pluck('items'), tap((/** * @param {?} selectedUserRoles * @return {?} */ function (selectedUserRoles) { return patchState({ selectedUserRoles: selectedUserRoles, }); }))); }; __decorate([ Action(IdentityGetRoles), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getRoles", null); __decorate([ Action(IdentityGetRoleById), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, IdentityGetRoleById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getRole", null); __decorate([ Action(IdentityDeleteRole), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, IdentityGetRoleById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "deleteRole", null); __decorate([ Action(IdentityAddRole), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, IdentityAddRole]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "addRole", null); __decorate([ Action(IdentityUpdateRole), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, IdentityUpdateRole]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "updateRole", null); __decorate([ Action(IdentityGetUsers), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, IdentityGetUsers]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getUsers", null); __decorate([ Action(IdentityGetUserById), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, IdentityGetUserById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getUser", null); __decorate([ Action(IdentityDeleteUser), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, IdentityGetUserById]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "deleteUser", null); __decorate([ Action(IdentityAddUser), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, IdentityAddUser]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "addUser", null); __decorate([ Action(IdentityUpdateUser), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, IdentityUpdateUser]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "updateUser", null); __decorate([ Action(IdentityGetUserRoles), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, IdentityGetUserRoles]), __metadata("design:returntype", void 0) ], IdentityState.prototype, "getUserRoles", null); __decorate([ Selector(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Array) ], IdentityState, "getRoles", null); __decorate([ Selector(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Number) ], IdentityState, "getRolesTotalCount", null); __decorate([ Selector(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Array) ], IdentityState, "getUsers", null); __decorate([ Selector(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Number) ], IdentityState, "getUsersTotalCount", null); IdentityState = __decorate([ State({ name: 'IdentityState', defaults: (/** @type {?} */ ({ roles: {}, selectedRole: {}, users: {}, selectedUser: {} })), }), __metadata("design:paramtypes", [IdentityService]) ], IdentityState); return IdentityState; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var RolesComponent = /** @class */ (function () { function RolesComponent(confirmationService, modalService, fb, store) { this.confirmationService = confirmationService; this.modalService = modalService; this.fb = fb; this.store = store; this.visiblePermissions = false; } /** * @return {?} */ RolesComponent.prototype.createForm = /** * @return {?} */ function () { this.form = this.fb.group({ name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]], isDefault: [this.selected.isDefault || false], isPublic: [this.selected.isPublic || false], }); }; /** * @return {?} */ RolesComponent.prototype.openModal = /** * @return {?} */ function () { this.createForm(); this.modalService.open(this.modalContent); }; /** * @return {?} */ RolesComponent.prototype.onAdd = /** * @return {?} */ function () { this.selected = (/** @type {?} */ ({})); this.openModal(); }; /** * @param {?} id * @return {?} */ RolesComponent.prototype.onEdit = /** * @param {?} id * @return {?} */ function (id) { var _this = this; this.store .dispatch(new IdentityGetRoleById(id)) .pipe(pluck('IdentityState', 'selectedRole')) .subscribe((/** * @param {?} selectedRole * @return {?} */ function (selectedRole) { _this.selected = selectedRole; _this.openModal(); })); }; /** * @return {?} */ RolesComponent.prototype.save = /** * @return {?} */ function () { var _this = this; if (!this.form.valid) return; this.store .dispatch(this.selected.id ? new IdentityUpdateRole(__assign({}, this.form.value, { id: this.selected.id })) : new IdentityAddRole(this.form.value)) .subscribe((/** * @return {?} */ function () { return _this.modalService.dismissAll(); })); }; /** * @param {?} id * @param {?} name * @return {?} */ RolesComponent.prototype.delete = /** * @param {?} id * @param {?} name * @return {?} */ function (id, name) { var _this = this; this.confirmationService .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', { messageLocalizationParams: [name], }) .subscribe((/** * @param {?} status * @return {?} */ function (status) { if (status === "confirm" /* confirm */) { _this.store.dispatch(new IdentityDeleteRole(id)); } })); }; RolesComponent.decorators = [ { type: Component, args: [{ selector: 'abp-roles', template: "