@myrmidon/auth-jwt-admin 0.1.2 → 1.0.1

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.
Files changed (31) hide show
  1. package/esm2020/lib/auth-jwt-admin.module.mjs +11 -11
  2. package/esm2020/lib/components/auth-jwt-registration/auth-jwt-registration.component.mjs +6 -6
  3. package/esm2020/lib/components/confirm-dialog/confirm-dialog.component.mjs +3 -3
  4. package/esm2020/lib/components/password-strength-bar/password-strength-bar.component.mjs +3 -3
  5. package/esm2020/lib/components/state/user-list.repository.mjs +144 -0
  6. package/esm2020/lib/components/user-editor/user-editor.component.mjs +7 -7
  7. package/esm2020/lib/components/user-filter/user-filter.component.mjs +16 -19
  8. package/esm2020/lib/components/user-list/user-list.component.mjs +37 -103
  9. package/esm2020/lib/services/auth-jwt-account.service.mjs +7 -7
  10. package/esm2020/lib/services/dialog.service.mjs +3 -3
  11. package/fesm2015/myrmidon-auth-jwt-admin.mjs +190 -224
  12. package/fesm2015/myrmidon-auth-jwt-admin.mjs.map +1 -1
  13. package/fesm2020/myrmidon-auth-jwt-admin.mjs +189 -222
  14. package/fesm2020/myrmidon-auth-jwt-admin.mjs.map +1 -1
  15. package/lib/components/auth-jwt-registration/auth-jwt-registration.component.d.ts +1 -1
  16. package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  17. package/lib/components/password-strength-bar/password-strength-bar.component.d.ts +1 -1
  18. package/lib/components/state/user-list.repository.d.ts +36 -0
  19. package/lib/components/user-editor/user-editor.component.d.ts +1 -1
  20. package/lib/components/user-filter/user-filter.component.d.ts +7 -8
  21. package/lib/components/user-list/user-list.component.d.ts +11 -20
  22. package/lib/services/auth-jwt-account.service.d.ts +1 -3
  23. package/package.json +6 -6
  24. package/esm2020/lib/components/state/users.paginator.mjs +0 -12
  25. package/esm2020/lib/components/state/users.query.mjs +0 -20
  26. package/esm2020/lib/components/state/users.service.mjs +0 -65
  27. package/esm2020/lib/components/state/users.store.mjs +0 -27
  28. package/lib/components/state/users.paginator.d.ts +0 -3
  29. package/lib/components/state/users.query.d.ts +0 -12
  30. package/lib/components/state/users.service.d.ts +0 -19
  31. package/lib/components/state/users.store.d.ts +0 -13
@@ -1,37 +1,28 @@
1
- import { OnDestroy } from '@angular/core';
2
- import { UntypedFormBuilder, UntypedFormControl } from '@angular/forms';
3
1
  import { PageEvent } from '@angular/material/paginator';
4
2
  import { Observable } from 'rxjs';
5
- import { PaginationResponse, PaginatorPlugin } from '@datorama/akita';
3
+ import { PaginationData } from '@ngneat/elf-pagination';
6
4
  import { GravatarService, User } from '@myrmidon/auth-jwt-login';
7
- import { AuthJwtAccountService } from '../../services/auth-jwt-account.service';
8
- import { UsersState } from '../state/users.store';
9
- import { UsersQuery } from '../state/users.query';
10
5
  import { DialogService } from '../../services/dialog.service';
11
- import { UsersService } from '../state/users.service';
6
+ import { UserListRepository } from '../state/user-list.repository';
12
7
  import * as i0 from "@angular/core";
13
- export declare class UserListComponent implements OnDestroy {
14
- paginator: PaginatorPlugin<UsersState>;
15
- private _accountService;
16
- private _usersService;
8
+ export declare class UserListComponent {
9
+ private _repository;
17
10
  private _dialogService;
18
11
  private _gravatarService;
19
- private _refresh$;
20
- private _filter$;
21
- pagination$: Observable<PaginationResponse<User>>;
22
- pageSize: UntypedFormControl;
12
+ pagination$: Observable<PaginationData & {
13
+ data: User[];
14
+ }>;
23
15
  active$: Observable<User | undefined>;
24
- constructor(paginator: PaginatorPlugin<UsersState>, userQuery: UsersQuery, _accountService: AuthJwtAccountService, _usersService: UsersService, _dialogService: DialogService, _gravatarService: GravatarService, formBuilder: UntypedFormBuilder);
25
- ngOnDestroy(): void;
26
- private getRequest;
16
+ loading$: Observable<boolean>;
17
+ constructor(_repository: UserListRepository, _dialogService: DialogService, _gravatarService: GravatarService);
27
18
  pageChange(event: PageEvent): void;
28
- refresh(): void;
29
19
  deleteUser(user: User): void;
30
20
  setActiveUser(user: User | null): void;
31
21
  resetActiveUser(): void;
32
22
  saveActiveUser(user: User): void;
33
23
  onUserEditorClose(): void;
34
24
  getGravatarUrl(email: string, size?: number): string | null;
25
+ clearCache(): void;
35
26
  static ɵfac: i0.ɵɵFactoryDeclaration<UserListComponent, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<UserListComponent, "auth-jwt-user-list", never, {}, {}, never, never, false>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserListComponent, "auth-jwt-user-list", never, {}, {}, never, never, false, never>;
37
28
  }
@@ -33,8 +33,6 @@ export interface PasswordChange {
33
33
  * User filter parameters.
34
34
  */
35
35
  export interface UserFilter {
36
- pageNumber: number;
37
- pageSize: number;
38
36
  name?: string;
39
37
  }
40
38
  export declare class AuthJwtAccountService {
@@ -72,7 +70,7 @@ export declare class AuthJwtAccountService {
72
70
  */
73
71
  requestPasswordReset(email: string): Observable<any>;
74
72
  getAllUsers(): Observable<DataPage<User>>;
75
- getUsers(filter: UserFilter): Observable<DataPage<User>>;
73
+ getUsers(filter: UserFilter, pageNumber?: number, pageSize?: number): Observable<DataPage<User>>;
76
74
  /**
77
75
  * Get the top N users matching the specified name filter.
78
76
  * @param nameFilter The user name filter.
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@myrmidon/auth-jwt-admin",
3
- "version": "0.1.2",
3
+ "version": "1.0.1",
4
4
  "peerDependencies": {
5
- "@angular/common": "^14.0.0",
6
- "@angular/core": "^14.0.0",
7
- "@angular/material": "^14.0.0",
8
- "@myrmidon/auth-jwt-login": "^0.1.0",
5
+ "@angular/common": "^15.0.0",
6
+ "@angular/core": "^15.0.0",
7
+ "@angular/material": "^15.0.0",
8
+ "@myrmidon/auth-jwt-login": "^1.0.0",
9
9
  "@myrmidon/ng-tools": "^0.1.0"
10
10
  },
11
11
  "dependencies": {
12
- "tslib": "^2.2.0"
12
+ "tslib": "^2.4.1"
13
13
  },
14
14
  "module": "fesm2015/myrmidon-auth-jwt-admin.mjs",
15
15
  "es2020": "fesm2020/myrmidon-auth-jwt-admin.mjs",
@@ -1,12 +0,0 @@
1
- import { inject, InjectionToken } from '@angular/core';
2
- import { PaginatorPlugin } from '@datorama/akita';
3
- import { UsersQuery } from './users.query';
4
- // create a factory provider for the paginator
5
- export const USERS_PAGINATOR = new InjectionToken('USERS_PAGINATOR', {
6
- providedIn: 'root',
7
- factory: () => {
8
- const query = inject(UsersQuery);
9
- return new PaginatorPlugin(query).withControls().withRange();
10
- },
11
- });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMucGFnaW5hdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vYXV0aC1qd3QtYWRtaW4vc3JjL2xpYi9jb21wb25lbnRzL3N0YXRlL3VzZXJzLnBhZ2luYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyw4Q0FBOEM7QUFDOUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFDLGlCQUFpQixFQUFFO0lBQ25FLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsT0FBTyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0b3JQbHVnaW4gfSBmcm9tICdAZGF0b3JhbWEvYWtpdGEnO1xyXG5pbXBvcnQgeyBVc2Vyc1F1ZXJ5IH0gZnJvbSAnLi91c2Vycy5xdWVyeSc7XHJcblxyXG4vLyBjcmVhdGUgYSBmYWN0b3J5IHByb3ZpZGVyIGZvciB0aGUgcGFnaW5hdG9yXHJcbmV4cG9ydCBjb25zdCBVU0VSU19QQUdJTkFUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ1VTRVJTX1BBR0lOQVRPUicsIHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbiAgZmFjdG9yeTogKCkgPT4ge1xyXG4gICAgY29uc3QgcXVlcnkgPSBpbmplY3QoVXNlcnNRdWVyeSk7XHJcbiAgICByZXR1cm4gbmV3IFBhZ2luYXRvclBsdWdpbihxdWVyeSkud2l0aENvbnRyb2xzKCkud2l0aFJhbmdlKCk7XHJcbiAgfSxcclxufSk7XHJcbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { QueryEntity } from '@datorama/akita';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./users.store";
5
- export class UsersQuery extends QueryEntity {
6
- constructor(_store) {
7
- super(_store);
8
- this._store = _store;
9
- }
10
- selectFilter() {
11
- return this.select((state) => state.filter);
12
- }
13
- }
14
- UsersQuery.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UsersQuery, deps: [{ token: i1.UsersStore }], target: i0.ɵɵFactoryTarget.Injectable });
15
- UsersQuery.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UsersQuery, providedIn: 'root' });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UsersQuery, decorators: [{
17
- type: Injectable,
18
- args: [{ providedIn: 'root' }]
19
- }], ctorParameters: function () { return [{ type: i1.UsersStore }]; } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMucXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJtaWRvbi9hdXRoLWp3dC1hZG1pbi9zcmMvbGliL2NvbXBvbmVudHMvc3RhdGUvdXNlcnMucXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQU05QyxNQUFNLE9BQU8sVUFBVyxTQUFRLFdBQXVCO0lBQ3JELFlBQXNCLE1BQWtCO1FBQ3RDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQURNLFdBQU0sR0FBTixNQUFNLENBQVk7SUFFeEMsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBaUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUM7O3VHQVBVLFVBQVU7MkdBQVYsVUFBVSxjQURHLE1BQU07MkZBQ25CLFVBQVU7a0JBRHRCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBRdWVyeUVudGl0eSB9IGZyb20gJ0BkYXRvcmFtYS9ha2l0YSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVXNlckZpbHRlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGgtand0LWFjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXJzU3RhdGUsIFVzZXJzU3RvcmUgfSBmcm9tICcuL3VzZXJzLnN0b3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBVc2Vyc1F1ZXJ5IGV4dGVuZHMgUXVlcnlFbnRpdHk8VXNlcnNTdGF0ZT4ge1xyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfc3RvcmU6IFVzZXJzU3RvcmUpIHtcclxuICAgIHN1cGVyKF9zdG9yZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0RmlsdGVyKCk6IE9ic2VydmFibGU8VXNlckZpbHRlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0KChzdGF0ZTogVXNlcnNTdGF0ZSkgPT4gc3RhdGUuZmlsdGVyKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,65 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./users.store";
4
- import * as i2 from "../../services/auth-jwt-account.service";
5
- export class UsersService {
6
- constructor(_store, _accountService) {
7
- this._store = _store;
8
- this._accountService = _accountService;
9
- }
10
- /**
11
- * Update the filter in the store.
12
- * @param filter The filter.
13
- */
14
- updateFilter(filter) {
15
- this._store.update({
16
- filter: filter,
17
- });
18
- }
19
- setActive(name) {
20
- this._store.setActive(name);
21
- }
22
- updateActive(user) {
23
- const promise = new Promise((resolve, reject) => {
24
- this._store.setLoading(true);
25
- this._accountService.updateUser(user).subscribe((_) => {
26
- this._store.setLoading(false);
27
- this._store.setError(null);
28
- this._store.updateActive((u) => {
29
- return { ...user };
30
- });
31
- resolve(true);
32
- }, (error) => {
33
- console.error(error);
34
- this._store.setLoading(false);
35
- this._store.setError('Error updating user');
36
- resolve(false);
37
- });
38
- });
39
- return promise;
40
- }
41
- deleteUser(name) {
42
- const promise = new Promise((resolve, reject) => {
43
- this._store.setLoading(true);
44
- this._accountService.deleteUser(name).subscribe((_) => {
45
- this._store.setLoading(false);
46
- this._store.setError(null);
47
- this._store.remove(name);
48
- resolve(true);
49
- }, (error) => {
50
- console.error(error);
51
- this._store.setLoading(false);
52
- this._store.setError('Error deleting user');
53
- reject(error);
54
- });
55
- });
56
- return promise;
57
- }
58
- }
59
- UsersService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UsersService, deps: [{ token: i1.UsersStore }, { token: i2.AuthJwtAccountService }], target: i0.ɵɵFactoryTarget.Injectable });
60
- UsersService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UsersService, providedIn: 'root' });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UsersService, decorators: [{
62
- type: Injectable,
63
- args: [{ providedIn: 'root' }]
64
- }], ctorParameters: function () { return [{ type: i1.UsersStore }, { type: i2.AuthJwtAccountService }]; } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2F1dGgtand0LWFkbWluL3NyYy9saWIvY29tcG9uZW50cy9zdGF0ZS91c2Vycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTM0MsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDVSxNQUFrQixFQUNsQixlQUFzQztRQUR0QyxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtJQUM3QyxDQUFDO0lBRUo7OztPQUdHO0lBQ0ksWUFBWSxDQUFDLE1BQWtCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ2pCLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFtQjtRQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVU7UUFDNUIsTUFBTSxPQUFPLEdBQXFCLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTdCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FDN0MsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDSixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzdCLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO2dCQUNyQixDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEIsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBQzVDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQixDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFZO1FBQzVCLE1BQU0sT0FBTyxHQUFxQixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3QixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQzdDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hCLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEIsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7O3lHQWhFVSxZQUFZOzZHQUFaLFlBQVksY0FEQyxNQUFNOzJGQUNuQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0BteXJtaWRvbi9hdXRoLWp3dC1sb2dpbic7XHJcbmltcG9ydCB7XHJcbiAgQXV0aEp3dEFjY291bnRTZXJ2aWNlLFxyXG4gIFVzZXJGaWx0ZXIsXHJcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC1qd3QtYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlcnNTdG9yZSB9IGZyb20gJy4vdXNlcnMuc3RvcmUnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFVzZXJzU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zdG9yZTogVXNlcnNTdG9yZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRTZXJ2aWNlOiBBdXRoSnd0QWNjb3VudFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB0aGUgZmlsdGVyIGluIHRoZSBzdG9yZS5cclxuICAgKiBAcGFyYW0gZmlsdGVyIFRoZSBmaWx0ZXIuXHJcbiAgICovXHJcbiAgcHVibGljIHVwZGF0ZUZpbHRlcihmaWx0ZXI6IFVzZXJGaWx0ZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b3JlLnVwZGF0ZSh7XHJcbiAgICAgIGZpbHRlcjogZmlsdGVyLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0QWN0aXZlKG5hbWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b3JlLnNldEFjdGl2ZShuYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVBY3RpdmUodXNlcjogVXNlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3QgcHJvbWlzZTogUHJvbWlzZTxib29sZWFuPiA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5fc3RvcmUuc2V0TG9hZGluZyh0cnVlKTtcclxuXHJcbiAgICAgIHRoaXMuX2FjY291bnRTZXJ2aWNlLnVwZGF0ZVVzZXIodXNlcikuc3Vic2NyaWJlKFxyXG4gICAgICAgIChfKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zdG9yZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgIHRoaXMuX3N0b3JlLnNldEVycm9yKG51bGwpO1xyXG4gICAgICAgICAgdGhpcy5fc3RvcmUudXBkYXRlQWN0aXZlKCh1KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnVzZXIgfTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICB0aGlzLl9zdG9yZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgIHRoaXMuX3N0b3JlLnNldEVycm9yKCdFcnJvciB1cGRhdGluZyB1c2VyJyk7XHJcbiAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBwcm9taXNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRlbGV0ZVVzZXIobmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBjb25zdCBwcm9taXNlOiBQcm9taXNlPGJvb2xlYW4+ID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLl9zdG9yZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cclxuICAgICAgdGhpcy5fYWNjb3VudFNlcnZpY2UuZGVsZXRlVXNlcihuYW1lKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKF8pID0+IHtcclxuICAgICAgICAgIHRoaXMuX3N0b3JlLnNldExvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgICAgdGhpcy5fc3RvcmUuc2V0RXJyb3IobnVsbCk7XHJcbiAgICAgICAgICB0aGlzLl9zdG9yZS5yZW1vdmUobmFtZSk7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgIHRoaXMuX3N0b3JlLnNldExvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgICAgdGhpcy5fc3RvcmUuc2V0RXJyb3IoJ0Vycm9yIGRlbGV0aW5nIHVzZXInKTtcclxuICAgICAgICAgIHJlamVjdChlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcHJvbWlzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,27 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { StoreConfig, EntityStore } from '@datorama/akita';
3
- import { Injectable } from '@angular/core';
4
- import * as i0 from "@angular/core";
5
- const initialState = {
6
- filter: {
7
- pageNumber: 1,
8
- pageSize: 20,
9
- },
10
- active: null
11
- };
12
- let UsersStore = class UsersStore extends EntityStore {
13
- constructor() {
14
- super(initialState);
15
- }
16
- };
17
- UsersStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UsersStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
- UsersStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UsersStore, providedIn: 'root' });
19
- UsersStore = __decorate([
20
- StoreConfig({ name: 'Users', idKey: 'userName', resettable: true })
21
- ], UsersStore);
22
- export { UsersStore };
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UsersStore, decorators: [{
24
- type: Injectable,
25
- args: [{ providedIn: 'root' }]
26
- }], ctorParameters: function () { return []; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJtaWRvbi9hdXRoLWp3dC1hZG1pbi9zcmMvbGliL2NvbXBvbmVudHMvc3RhdGUvdXNlcnMuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUE0QixNQUFNLGlCQUFpQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWTNDLE1BQU0sWUFBWSxHQUFlO0lBQy9CLE1BQU0sRUFBRTtRQUNOLFVBQVUsRUFBRSxDQUFDO1FBQ2IsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNELE1BQU0sRUFBRSxJQUFJO0NBQ2IsQ0FBQztJQUlXLFVBQVUsU0FBVixVQUFXLFNBQVEsV0FBdUI7SUFDckQ7UUFDRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEIsQ0FBQztDQUNGLENBQUE7dUdBSlksVUFBVTsyR0FBVixVQUFVLGNBRkcsTUFBTTtBQUVuQixVQUFVO0lBRHRCLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7R0FDdkQsVUFBVSxDQUl0QjtTQUpZLFVBQVU7MkZBQVYsVUFBVTtrQkFGdEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdG9yZUNvbmZpZywgRW50aXR5U3RvcmUsIEVudGl0eVN0YXRlLCBBY3RpdmVTdGF0ZSB9IGZyb20gJ0BkYXRvcmFtYS9ha2l0YSc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0BteXJtaWRvbi9hdXRoLWp3dC1sb2dpbic7XHJcbmltcG9ydCB7IFVzZXJGaWx0ZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoLWp3dC1hY2NvdW50LnNlcnZpY2UnO1xyXG5cclxuLy8gaHR0cHM6Ly9uZXRiYXNhbC5naXRib29rLmlvL2FraXRhL2VudGl0eS1zdG9yZS9lbnRpdHktc3RvcmUvYWN0aXZlLXN0YXRlXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlcnNTdGF0ZVxyXG4gIGV4dGVuZHMgRW50aXR5U3RhdGU8VXNlciwgc3RyaW5nPixcclxuICAgIEFjdGl2ZVN0YXRlPHN0cmluZz4ge1xyXG4gIGZpbHRlcjogVXNlckZpbHRlcjtcclxuICBhY3RpdmU6IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcbmNvbnN0IGluaXRpYWxTdGF0ZTogVXNlcnNTdGF0ZSA9IHtcclxuICBmaWx0ZXI6IHtcclxuICAgIHBhZ2VOdW1iZXI6IDEsXHJcbiAgICBwYWdlU2l6ZTogMjAsXHJcbiAgfSxcclxuICBhY3RpdmU6IG51bGxcclxufTtcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbkBTdG9yZUNvbmZpZyh7IG5hbWU6ICdVc2VycycsIGlkS2V5OiAndXNlck5hbWUnLCByZXNldHRhYmxlOiB0cnVlIH0pXHJcbmV4cG9ydCBjbGFzcyBVc2Vyc1N0b3JlIGV4dGVuZHMgRW50aXR5U3RvcmU8VXNlcnNTdGF0ZT4ge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoaW5pdGlhbFN0YXRlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { PaginatorPlugin } from '@datorama/akita';
3
- export declare const USERS_PAGINATOR: InjectionToken<PaginatorPlugin<import("./users.store").UsersState>>;
@@ -1,12 +0,0 @@
1
- import { QueryEntity } from '@datorama/akita';
2
- import { Observable } from 'rxjs';
3
- import { UserFilter } from '../../services/auth-jwt-account.service';
4
- import { UsersState, UsersStore } from './users.store';
5
- import * as i0 from "@angular/core";
6
- export declare class UsersQuery extends QueryEntity<UsersState> {
7
- protected _store: UsersStore;
8
- constructor(_store: UsersStore);
9
- selectFilter(): Observable<UserFilter>;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<UsersQuery, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<UsersQuery>;
12
- }
@@ -1,19 +0,0 @@
1
- import { User } from '@myrmidon/auth-jwt-login';
2
- import { AuthJwtAccountService, UserFilter } from '../../services/auth-jwt-account.service';
3
- import { UsersStore } from './users.store';
4
- import * as i0 from "@angular/core";
5
- export declare class UsersService {
6
- private _store;
7
- private _accountService;
8
- constructor(_store: UsersStore, _accountService: AuthJwtAccountService);
9
- /**
10
- * Update the filter in the store.
11
- * @param filter The filter.
12
- */
13
- updateFilter(filter: UserFilter): void;
14
- setActive(name: string | null): void;
15
- updateActive(user: User): Promise<boolean>;
16
- deleteUser(name: string): Promise<boolean>;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<UsersService, never>;
18
- static ɵprov: i0.ɵɵInjectableDeclaration<UsersService>;
19
- }
@@ -1,13 +0,0 @@
1
- import { EntityStore, EntityState, ActiveState } from '@datorama/akita';
2
- import { User } from '@myrmidon/auth-jwt-login';
3
- import { UserFilter } from '../../services/auth-jwt-account.service';
4
- import * as i0 from "@angular/core";
5
- export interface UsersState extends EntityState<User, string>, ActiveState<string> {
6
- filter: UserFilter;
7
- active: string | null;
8
- }
9
- export declare class UsersStore extends EntityStore<UsersState> {
10
- constructor();
11
- static ɵfac: i0.ɵɵFactoryDeclaration<UsersStore, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<UsersStore>;
13
- }