@flusys/ng-auth 9.1.0 → 9.1.2

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 (37) hide show
  1. package/README.md +2 -0
  2. package/fesm2022/flusys-ng-auth-administration-page.component-DmN4KqiR.mjs +146 -0
  3. package/fesm2022/flusys-ng-auth-administration-page.component-DmN4KqiR.mjs.map +1 -0
  4. package/fesm2022/flusys-ng-auth-branch-form.component-Df_sMC2G.mjs +743 -0
  5. package/fesm2022/flusys-ng-auth-branch-form.component-Df_sMC2G.mjs.map +1 -0
  6. package/fesm2022/flusys-ng-auth-branch-list.component-CWat6QWN.mjs +775 -0
  7. package/fesm2022/flusys-ng-auth-branch-list.component-CWat6QWN.mjs.map +1 -0
  8. package/fesm2022/flusys-ng-auth-company-form.component-BvZ4Pn8j.mjs +198 -0
  9. package/fesm2022/flusys-ng-auth-company-form.component-BvZ4Pn8j.mjs.map +1 -0
  10. package/fesm2022/flusys-ng-auth-company-list.component-Corh9AIh.mjs +241 -0
  11. package/fesm2022/flusys-ng-auth-company-list.component-Corh9AIh.mjs.map +1 -0
  12. package/fesm2022/flusys-ng-auth-extension-order.util-2XWSLqii.mjs +6 -0
  13. package/fesm2022/flusys-ng-auth-extension-order.util-2XWSLqii.mjs.map +1 -0
  14. package/fesm2022/flusys-ng-auth-forgot-password-page.component-BRTVZPX6.mjs +384 -0
  15. package/fesm2022/flusys-ng-auth-forgot-password-page.component-BRTVZPX6.mjs.map +1 -0
  16. package/fesm2022/flusys-ng-auth-login-page.component-DQl52Qau.mjs +1074 -0
  17. package/fesm2022/flusys-ng-auth-login-page.component-DQl52Qau.mjs.map +1 -0
  18. package/fesm2022/flusys-ng-auth-profile-page.component-b-8rPEXQ.mjs +1792 -0
  19. package/fesm2022/flusys-ng-auth-profile-page.component-b-8rPEXQ.mjs.map +1 -0
  20. package/fesm2022/flusys-ng-auth-register-page.component-D99y1jiA.mjs +1513 -0
  21. package/fesm2022/flusys-ng-auth-register-page.component-D99y1jiA.mjs.map +1 -0
  22. package/fesm2022/flusys-ng-auth-reset-password-page.component-C0tN_AW1.mjs +538 -0
  23. package/fesm2022/flusys-ng-auth-reset-password-page.component-C0tN_AW1.mjs.map +1 -0
  24. package/fesm2022/flusys-ng-auth-social-callback-page.component-gTD7_LJY.mjs +217 -0
  25. package/fesm2022/flusys-ng-auth-social-callback-page.component-gTD7_LJY.mjs.map +1 -0
  26. package/fesm2022/flusys-ng-auth-social-config-page.component-DpGmcb9n.mjs +541 -0
  27. package/fesm2022/flusys-ng-auth-social-config-page.component-DpGmcb9n.mjs.map +1 -0
  28. package/fesm2022/flusys-ng-auth-user-form.component-CM9UYc0q.mjs +1171 -0
  29. package/fesm2022/flusys-ng-auth-user-form.component-CM9UYc0q.mjs.map +1 -0
  30. package/fesm2022/flusys-ng-auth-user-list.component-Bew7gz-H.mjs +1046 -0
  31. package/fesm2022/flusys-ng-auth-user-list.component-Bew7gz-H.mjs.map +1 -0
  32. package/fesm2022/flusys-ng-auth-verify-email-page.component-DB9iKvt3.mjs +545 -0
  33. package/fesm2022/flusys-ng-auth-verify-email-page.component-DB9iKvt3.mjs.map +1 -0
  34. package/fesm2022/flusys-ng-auth.mjs +3030 -10735
  35. package/fesm2022/flusys-ng-auth.mjs.map +1 -1
  36. package/package.json +5 -5
  37. package/types/flusys-ng-auth.d.ts +978 -1558
@@ -1,567 +1,547 @@
1
- import { ISingleResponse, IBaseEntity, IMessageResponse, ApiResourceService, IFilterData, IListResponse, IUserBasicInfo, ICompanyApiProvider, ICompanyBasicInfo, IBranchBasicInfo, IAuthStateProvider, IUserPermissionProvider, IUserBranchPermission as IUserBranchPermission$1, IUserCompanyInfo, IUserProvider, ILogicNode, RouterTabItem, BaseFormComponent, IFormField, ITableAction, ITableColumn, IProfileRoleInfo, IProfileActionInfo } from '@flusys/ng-shared';
2
- import * as rxjs from 'rxjs';
3
- import { Observable } from 'rxjs';
4
- import * as _angular_core from '@angular/core';
5
- import { Signal, Provider, InjectionToken, Type, TemplateRef, Injector } from '@angular/core';
6
- import { CanActivateFn, Routes } from '@angular/router';
7
- import { HttpRequest, HttpHandlerFn, HttpEvent } from '@angular/common/http';
8
- import { ILayoutAuthApi, ICompanyInfo as ICompanyInfo$1, IBranchInfo as IBranchInfo$1, ILayoutAuthState, IUserInfo as IUserInfo$1 } from '@flusys/ng-layout';
9
- import * as _angular_forms_signals from '@angular/forms/signals';
10
- import * as _flusys_ng_auth from '@flusys/ng-auth';
11
- import * as _flusys_ng_core from '@flusys/ng-core';
12
-
13
- declare enum SocialProviderEnum {
14
- GOOGLE = "google",
15
- FACEBOOK = "facebook",
16
- LINKEDIN = "linkedin",
17
- MICROSOFT = "microsoft"
18
- }
19
- declare const SOCIAL_PROVIDERS: readonly [SocialProviderEnum.GOOGLE, SocialProviderEnum.FACEBOOK, SocialProviderEnum.LINKEDIN, SocialProviderEnum.MICROSOFT];
20
-
21
- interface ILoginRequest {
22
- email: string;
23
- password: string;
24
- }
25
- interface IRegistrationRequest {
26
- name: string;
27
- email: string;
28
- password: string;
29
- phone?: string;
30
- companySlug?: string;
31
- branchSlug?: string;
32
- newCompanyName?: string;
33
- newCompanyPhone?: string;
34
- newCompanyAddress?: string;
35
- additionalFields?: Record<string, unknown>;
36
- }
37
- interface ISelectRequest {
38
- sessionId: string;
39
- companyId: string;
40
- branchId: string;
41
- }
42
- interface ISwitchCompanyRequest {
43
- companyId: string;
44
- branchId: string;
45
- }
46
- interface IChangePasswordRequest {
47
- currentPassword: string;
48
- newPassword: string;
49
- }
50
- interface IUserInfo {
51
- id: string;
52
- email: string;
53
- name?: string;
54
- phone?: string | null;
55
- profilePictureId?: string | null;
56
- companyId?: string;
57
- branchId?: string;
58
- companyLogoId?: string;
59
- branchLogoId?: string;
60
- }
61
- interface ICompanyInfo {
62
- id: string;
63
- name: string;
64
- slug?: string;
65
- logoId?: string | null;
66
- }
67
- interface IBranchInfo {
68
- id: string;
69
- name: string;
70
- slug?: string;
71
- logoId?: string | null;
72
- }
73
- interface IBranchSelectionInfo {
74
- id: string;
75
- name: string;
76
- slug: string;
77
- logoId?: string | null;
78
- }
79
- interface ICompanyWithBranches {
80
- id: string;
81
- name: string;
82
- slug: string;
83
- logoId?: string | null;
84
- branches: IBranchSelectionInfo[];
85
- }
86
- interface ILoginData {
87
- accessToken: string;
88
- refreshToken?: string;
89
- user: IUserInfo;
90
- company?: ICompanyInfo;
91
- branch?: IBranchInfo;
92
- }
93
- interface IMeData {
94
- user: IUserInfo;
95
- company?: ICompanyInfo;
96
- branch?: IBranchInfo;
97
- }
98
- interface IRegistrationData {
99
- accessToken?: string;
100
- refreshToken?: string;
101
- user: IUserInfo;
102
- company?: ICompanyInfo;
103
- branch?: IBranchInfo;
104
- requiresEmailVerification?: boolean;
105
- }
106
- interface ICompanySelectionData {
107
- requiresSelection: true;
108
- sessionId: string;
109
- expiresAt: Date | string;
110
- user: IUserInfo;
111
- companies: ICompanyWithBranches[];
112
- }
113
- interface IEmailVerificationData {
114
- requiresEmailVerification: true;
115
- email: string;
116
- }
117
- type ILoginResponse = ISingleResponse<ILoginData>;
118
- type IMeResponse = ISingleResponse<IMeData>;
119
- type IRegistrationResponse = ISingleResponse<IRegistrationData>;
120
- type ICompanySelectionResponse = ISingleResponse<ICompanySelectionData>;
121
- type ILoginRequiresEmailVerification = ISingleResponse<IEmailVerificationData>;
122
- type IRefreshTokenResponse = ISingleResponse<{
123
- accessToken: string;
1
+ import { ApiResourceService, IAuthStateProvider, IBaseEntity, IBranchBasicInfo, ICompanyApiProvider, ICompanyBasicInfo, IFilterData, IListResponse, ILogicNode, IMessageResponse, ISingleResponse, IUserBasicInfo, IUserBranchPermission as IUserBranchPermission$1, IUserCompanyInfo, IUserPermissionProvider, IUserProvider } from "@flusys/ng-shared";
2
+ import { Observable } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ import { InjectionToken, Injector, Provider, Signal, TemplateRef, Type } from "@angular/core";
5
+ import { CanActivateFn, Routes } from "@angular/router";
6
+ import { HttpEvent, HttpHandlerFn, HttpRequest } from "@angular/common/http";
7
+ import { IBranchInfo as IBranchInfo$1, ICompanyInfo as ICompanyInfo$1, ILayoutAuthApi, ILayoutAuthState, IUserInfo as IUserInfo$1 } from "@flusys/ng-layout";
8
+ export declare enum SocialProviderEnum {
9
+ GOOGLE = "google",
10
+ FACEBOOK = "facebook",
11
+ LINKEDIN = "linkedin",
12
+ MICROSOFT = "microsoft"
13
+ }
14
+ export declare const SOCIAL_PROVIDERS: readonly [SocialProviderEnum.GOOGLE, SocialProviderEnum.FACEBOOK, SocialProviderEnum.LINKEDIN, SocialProviderEnum.MICROSOFT];
15
+ export interface ILoginRequest {
16
+ email: string;
17
+ password: string;
18
+ rememberMe?: boolean;
19
+ }
20
+ export interface IRegistrationRequest {
21
+ name: string;
22
+ email: string;
23
+ password: string;
24
+ phone?: string;
25
+ companySlug?: string;
26
+ branchSlug?: string;
27
+ newCompanyName?: string;
28
+ newCompanyPhone?: string;
29
+ newCompanyAddress?: string;
30
+ additionalFields?: Record<string, unknown>;
31
+ }
32
+ export interface ISelectRequest {
33
+ sessionId: string;
34
+ companyId: string;
35
+ branchId: string;
36
+ rememberMe?: boolean;
37
+ }
38
+ export interface ISwitchCompanyRequest {
39
+ companyId: string;
40
+ branchId: string;
41
+ }
42
+ export interface IChangePasswordRequest {
43
+ currentPassword: string;
44
+ newPassword: string;
45
+ }
46
+ export interface IUserInfo {
47
+ id: string;
48
+ email: string;
49
+ name?: string;
50
+ phone?: string | null;
51
+ profilePictureId?: string | null;
52
+ companyId?: string;
53
+ branchId?: string;
54
+ companyLogoId?: string;
55
+ branchLogoId?: string;
56
+ }
57
+ export interface ICompanyInfo {
58
+ id: string;
59
+ name: string;
60
+ slug?: string;
61
+ logoId?: string | null;
62
+ }
63
+ export interface IBranchInfo {
64
+ id: string;
65
+ name: string;
66
+ slug?: string;
67
+ logoId?: string | null;
68
+ }
69
+ export interface IBranchSelectionInfo {
70
+ id: string;
71
+ name: string;
72
+ slug: string;
73
+ logoId?: string | null;
74
+ parentId?: string | null;
75
+ serial?: number | null;
76
+ displayParentId?: string | null;
77
+ }
78
+ export interface ICompanyWithBranches {
79
+ id: string;
80
+ name: string;
81
+ slug: string;
82
+ logoId?: string | null;
83
+ branches: IBranchSelectionInfo[];
84
+ }
85
+ export interface ILoginData {
86
+ accessToken: string;
87
+ refreshToken?: string;
88
+ user: IUserInfo;
89
+ company?: ICompanyInfo;
90
+ branch?: IBranchInfo;
91
+ }
92
+ export interface IMeData {
93
+ user: IUserInfo;
94
+ company?: ICompanyInfo;
95
+ branch?: IBranchInfo;
96
+ }
97
+ export interface IRegistrationData {
98
+ accessToken?: string;
99
+ refreshToken?: string;
100
+ user: IUserInfo;
101
+ company?: ICompanyInfo;
102
+ branch?: IBranchInfo;
103
+ requiresEmailVerification?: boolean;
104
+ }
105
+ export interface ICompanySelectionData {
106
+ requiresSelection: true;
107
+ sessionId: string;
108
+ expiresAt: Date | string;
109
+ user: IUserInfo;
110
+ companies: ICompanyWithBranches[];
111
+ }
112
+ export interface IEmailVerificationData {
113
+ requiresEmailVerification: true;
114
+ email: string;
115
+ }
116
+ export type ILoginResponse = ISingleResponse<ILoginData>;
117
+ export type IMeResponse = ISingleResponse<IMeData>;
118
+ export type IRegistrationResponse = ISingleResponse<IRegistrationData>;
119
+ export type ICompanySelectionResponse = ISingleResponse<ICompanySelectionData>;
120
+ export type ILoginRequiresEmailVerification = ISingleResponse<IEmailVerificationData>;
121
+ export type IRefreshTokenResponse = ISingleResponse<{
122
+ accessToken: string;
124
123
  }>;
125
- type AuthResponse = ISingleResponse<ILoginData | ICompanySelectionData | IEmailVerificationData>;
126
- declare function isEmailVerificationRequired(response: AuthResponse): response is ILoginRequiresEmailVerification;
127
- declare function isCompanySelectionResponse(response: AuthResponse): response is ICompanySelectionResponse;
128
- declare function isLoginResponse(response: AuthResponse): response is ILoginResponse;
129
-
130
- interface ICreateBranchRequest {
131
- name: string;
132
- slug: string;
133
- companyId: string;
134
- parentId?: string;
135
- logoId?: string;
136
- address?: string;
137
- phone?: string;
138
- email?: string;
139
- serial?: number;
140
- isActive?: boolean;
141
- additionalFields?: Record<string, unknown>;
142
- }
143
- interface IUpdateBranchRequest extends Partial<Omit<ICreateBranchRequest, 'companyId'>> {
144
- id: string;
145
- }
146
- interface IBranch {
147
- id: string;
148
- name: string;
149
- slug: string;
150
- companyId: string;
151
- parentId?: string | null;
152
- logoId?: string | null;
153
- address?: string | null;
154
- phone?: string | null;
155
- email?: string | null;
156
- serial?: number;
157
- isActive: boolean;
158
- readOnly: boolean;
159
- additionalFields?: Record<string, unknown> | null;
160
- createdAt: Date | string;
161
- updatedAt: Date | string;
162
- }
163
-
164
- interface ICreateCompanyRequest {
165
- name: string;
166
- slug: string;
167
- logoId?: string;
168
- address?: string;
169
- phone?: string;
170
- email?: string;
171
- website?: string;
172
- serial?: number;
173
- isActive?: boolean;
174
- settings?: Record<string, unknown>;
175
- additionalFields?: Record<string, unknown>;
176
- }
177
- interface IUpdateCompanyRequest extends Partial<ICreateCompanyRequest> {
178
- id: string;
179
- }
180
- interface ICompany {
181
- id: string;
182
- name: string;
183
- slug: string;
184
- logoId?: string | null;
185
- address?: string | null;
186
- phone?: string | null;
187
- email?: string | null;
188
- website?: string | null;
189
- serial?: number;
190
- isActive: boolean;
191
- readOnly: boolean;
192
- settings?: Record<string, unknown> | null;
193
- additionalFields?: Record<string, unknown> | null;
194
- createdAt: Date | string;
195
- updatedAt: Date | string;
196
- }
197
-
198
- interface IPermissionItem {
199
- targetId: string;
200
- isAdd: boolean;
201
- }
202
- interface IAssignUserCompanyRequest {
203
- userId: string;
204
- items: IPermissionItem[];
205
- }
206
- interface IAssignUserBranchRequest {
207
- userId: string;
208
- items: IPermissionItem[];
209
- }
210
- interface IUserCompanyPermission {
211
- id: string;
212
- userId: string;
213
- companyId: string;
214
- companyName: string;
215
- companySlug: string;
216
- }
217
- interface IUserBranchPermission {
218
- id: string;
219
- userId: string;
220
- branchId: string;
221
- branchName: string;
222
- branchSlug: string;
223
- companyId: string;
224
- }
225
- interface ICompanyPermittedUser {
226
- id: string;
227
- userId: string;
228
- userName: string;
229
- userEmail: string;
124
+ export type AuthResponse = ISingleResponse<ILoginData | ICompanySelectionData | IEmailVerificationData>;
125
+ export declare function isEmailVerificationRequired(response: AuthResponse): response is ILoginRequiresEmailVerification;
126
+ export declare function isCompanySelectionResponse(response: AuthResponse): response is ICompanySelectionResponse;
127
+ export declare function isLoginResponse(response: AuthResponse): response is ILoginResponse;
128
+ export interface ICreateBranchRequest {
129
+ name: string;
130
+ slug: string;
131
+ companyId: string;
132
+ parentId?: string | null;
133
+ logoId?: string;
134
+ address?: string;
135
+ phone?: string;
136
+ email?: string;
137
+ serial?: number;
138
+ isActive?: boolean;
139
+ additionalFields?: Record<string, unknown>;
140
+ }
141
+ export interface IUpdateBranchRequest extends Partial<Omit<ICreateBranchRequest, 'companyId'>> {
142
+ id: string;
143
+ }
144
+ export interface IBranch {
145
+ id: string;
146
+ name: string;
147
+ slug: string;
148
+ companyId: string;
149
+ parentId?: string | null;
150
+ logoId?: string | null;
151
+ address?: string | null;
152
+ phone?: string | null;
153
+ email?: string | null;
154
+ serial?: number;
155
+ isActive: boolean;
156
+ readOnly: boolean;
157
+ additionalFields?: Record<string, unknown> | null;
158
+ createdAt: Date | string;
159
+ updatedAt: Date | string;
160
+ }
161
+ export interface ICreateCompanyRequest {
162
+ name: string;
163
+ slug: string;
164
+ logoId?: string;
165
+ address?: string;
166
+ phone?: string;
167
+ email?: string;
168
+ website?: string;
169
+ serial?: number;
170
+ isActive?: boolean;
171
+ settings?: Record<string, unknown>;
172
+ additionalFields?: Record<string, unknown>;
173
+ }
174
+ export interface IUpdateCompanyRequest extends Partial<ICreateCompanyRequest> {
175
+ id: string;
176
+ }
177
+ export interface ICompany {
178
+ id: string;
179
+ name: string;
180
+ slug: string;
181
+ logoId?: string | null;
182
+ address?: string | null;
183
+ phone?: string | null;
184
+ email?: string | null;
185
+ website?: string | null;
186
+ serial?: number;
187
+ isActive: boolean;
188
+ readOnly: boolean;
189
+ settings?: Record<string, unknown> | null;
190
+ additionalFields?: Record<string, unknown> | null;
191
+ createdAt: Date | string;
192
+ updatedAt: Date | string;
193
+ }
194
+ export interface IPermissionItem {
195
+ targetId: string;
196
+ isAdd: boolean;
197
+ }
198
+ export interface IAssignUserCompanyRequest {
199
+ userId: string;
200
+ items: IPermissionItem[];
201
+ }
202
+ export interface IAssignUserBranchRequest {
203
+ userId: string;
204
+ items: IPermissionItem[];
205
+ }
206
+ export interface IUserCompanyPermission {
207
+ id: string;
208
+ userId: string;
209
+ companyId: string;
210
+ companyName: string;
211
+ companySlug: string;
212
+ }
213
+ export interface IUserBranchPermission {
214
+ id: string;
215
+ userId: string;
216
+ branchId: string;
217
+ branchName: string;
218
+ branchSlug: string;
219
+ companyId: string;
220
+ parentId?: string | null;
221
+ serial?: number | null;
222
+ displayParentId?: string | null;
223
+ }
224
+ export interface ICompanyPermittedUser {
225
+ id: string;
226
+ userId: string;
227
+ userName: string;
228
+ userEmail: string;
229
+ }
230
+ export interface IBranchPermittedUser {
231
+ id: string;
232
+ userId: string;
233
+ userName: string;
234
+ userEmail: string;
235
+ }
236
+ export interface ISocialAuthConfig extends IBaseEntity {
237
+ provider: SocialProviderEnum;
238
+ isEnabled: boolean;
239
+ clientId: string | null;
240
+ hasClientSecret: boolean;
241
+ scopes: string[] | null;
242
+ extraConfig: Record<string, unknown> | null;
243
+ }
244
+ export interface ICreateSocialAuthConfigDto {
245
+ provider: SocialProviderEnum;
246
+ isEnabled?: boolean;
247
+ clientId?: string;
248
+ clientSecret?: string;
249
+ scopes?: string[];
250
+ extraConfig?: Record<string, unknown>;
251
+ }
252
+ export interface IUpdateSocialAuthConfigDto extends Partial<ICreateSocialAuthConfigDto> {
253
+ id: string;
254
+ }
255
+ export interface ISocialProviderInfo {
256
+ provider: SocialProviderEnum;
257
+ redirectUri: string;
258
+ }
259
+ export interface ISocialAuthorization {
260
+ provider: SocialProviderEnum;
261
+ authorizationUrl: string;
262
+ state: string;
263
+ }
264
+ export interface ISocialCallbackRequest {
265
+ code: string;
266
+ state: string;
267
+ redirectUri: string;
268
+ }
269
+ export interface ICreateUserRequest {
270
+ name: string;
271
+ email: string;
272
+ password: string;
273
+ phone?: string;
274
+ profilePictureId?: string;
275
+ isActive?: boolean;
276
+ emailVerified?: boolean;
277
+ phoneVerified?: boolean;
278
+ additionalFields?: Record<string, unknown>;
279
+ }
280
+ export interface IUpdateUserRequest {
281
+ id: string;
282
+ name?: string;
283
+ email?: string;
284
+ password?: string;
285
+ oldPassword?: string;
286
+ phone?: string;
287
+ profilePictureId?: string;
288
+ isActive?: boolean;
289
+ emailVerified?: boolean;
290
+ phoneVerified?: boolean;
291
+ additionalFields?: Record<string, unknown>;
292
+ }
293
+ export interface IUser {
294
+ id: string;
295
+ name: string;
296
+ email: string;
297
+ phone?: string | null;
298
+ profilePictureId?: string | null;
299
+ isActive: boolean;
300
+ emailVerified: boolean;
301
+ phoneVerified: boolean;
302
+ lastLoginAt?: Date | string | null;
303
+ additionalFields?: Record<string, unknown> | null;
304
+ createdAt: Date | string;
305
+ updatedAt: Date | string;
306
+ deletedAt?: Date | string | null;
307
+ }
308
+ export declare class AuthApiService {
309
+ private readonly appConfig;
310
+ private readonly http;
311
+ private readonly baseUrl;
312
+ constructor();
313
+ login(data: ILoginRequest): Observable<AuthResponse>;
314
+ register(data: IRegistrationRequest): Observable<IRegistrationResponse>;
315
+ select(data: ISelectRequest): Observable<ILoginResponse>;
316
+ switchCompany(data: ISwitchCompanyRequest): Observable<ILoginResponse>;
317
+ getCompanies(): Observable<ISingleResponse<ICompanyInfo[]>>;
318
+ getCompanyBranches(companyId: string): Observable<ISingleResponse<IBranchSelectionInfo[]>>;
319
+ refresh(): Observable<IRefreshTokenResponse>;
320
+ me(): Observable<IMeResponse>;
321
+ logout(): Observable<IMessageResponse>;
322
+ changePassword(data: IChangePasswordRequest): Observable<IMessageResponse>;
323
+ forgotPassword(email: string): Observable<IMessageResponse>;
324
+ resetPassword(token: string, newPassword: string): Observable<IMessageResponse>;
325
+ resendVerification(email: string): Observable<IMessageResponse>;
326
+ verifyEmail(token: string): Observable<IMessageResponse | IRegistrationResponse>;
327
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthApiService, never>;
328
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
329
+ }
330
+ export declare class AuthInitService {
331
+ private readonly authState;
332
+ private readonly authApi;
333
+ private readonly appConfig;
334
+ private readonly _initialized;
335
+ readonly initialized: import("@angular/core").Signal<boolean>;
336
+ private initializationCache$;
337
+ initialize(): Observable<boolean>;
338
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthInitService, never>;
339
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
230
340
  }
231
- interface IBranchPermittedUser {
232
- id: string;
233
- userId: string;
234
- userName: string;
235
- userEmail: string;
236
- }
237
-
238
- interface ISocialAuthConfig extends IBaseEntity {
239
- provider: SocialProviderEnum;
240
- isEnabled: boolean;
241
- clientId: string | null;
242
- hasClientSecret: boolean;
243
- scopes: string[] | null;
244
- extraConfig: Record<string, unknown> | null;
245
- }
246
- interface ICreateSocialAuthConfigDto {
247
- provider: SocialProviderEnum;
248
- isEnabled?: boolean;
249
- clientId?: string;
250
- clientSecret?: string;
251
- scopes?: string[];
252
- extraConfig?: Record<string, unknown>;
253
- }
254
- interface IUpdateSocialAuthConfigDto extends Partial<ICreateSocialAuthConfigDto> {
255
- id: string;
256
- }
257
- interface ISocialProviderInfo {
258
- provider: SocialProviderEnum;
259
- redirectUri: string;
260
- }
261
- interface ISocialAuthorization {
262
- provider: SocialProviderEnum;
263
- authorizationUrl: string;
264
- state: string;
265
- }
266
- interface ISocialCallbackRequest {
267
- code: string;
268
- state: string;
269
- redirectUri: string;
270
- }
271
-
272
- interface ICreateUserRequest {
273
- name: string;
274
- email: string;
275
- password: string;
276
- phone?: string;
277
- profilePictureId?: string;
278
- isActive?: boolean;
279
- emailVerified?: boolean;
280
- phoneVerified?: boolean;
281
- additionalFields?: Record<string, unknown>;
282
- }
283
- interface IUpdateUserRequest {
284
- id: string;
285
- name?: string;
286
- email?: string;
287
- password?: string;
288
- oldPassword?: string;
289
- phone?: string;
290
- profilePictureId?: string;
291
- isActive?: boolean;
292
- emailVerified?: boolean;
293
- phoneVerified?: boolean;
294
- additionalFields?: Record<string, unknown>;
295
- }
296
- interface IUser {
297
- id: string;
298
- name: string;
299
- email: string;
300
- phone?: string | null;
301
- profilePictureId?: string | null;
302
- isActive: boolean;
303
- emailVerified: boolean;
304
- phoneVerified: boolean;
305
- lastLoginAt?: Date | string | null;
306
- additionalFields?: Record<string, unknown> | null;
307
- createdAt: Date | string;
308
- updatedAt: Date | string;
309
- deletedAt?: Date | string | null;
310
- }
311
-
312
- declare class AuthApiService {
313
- private readonly appConfig;
314
- private readonly http;
315
- private readonly baseUrl;
316
- constructor();
317
- login(data: ILoginRequest): Observable<AuthResponse>;
318
- register(data: IRegistrationRequest): Observable<IRegistrationResponse>;
319
- select(data: ISelectRequest): Observable<ILoginResponse>;
320
- switchCompany(data: ISwitchCompanyRequest): Observable<ILoginResponse>;
321
- getCompanies(): Observable<ISingleResponse<ICompanyInfo[]>>;
322
- getCompanyBranches(companyId: string): Observable<ISingleResponse<IBranchInfo[]>>;
323
- refresh(): Observable<IRefreshTokenResponse>;
324
- me(): Observable<IMeResponse>;
325
- logout(): Observable<IMessageResponse>;
326
- changePassword(data: IChangePasswordRequest): Observable<IMessageResponse>;
327
- forgotPassword(email: string): Observable<IMessageResponse>;
328
- resetPassword(token: string, newPassword: string): Observable<IMessageResponse>;
329
- resendVerification(email: string): Observable<IMessageResponse>;
330
- verifyEmail(token: string): Observable<IMessageResponse | IRegistrationResponse>;
331
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthApiService, never>;
332
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthApiService>;
333
- }
334
-
335
- declare class AuthInitService {
336
- private readonly authState;
337
- private readonly authApi;
338
- private readonly appConfig;
339
- private readonly _initialized;
340
- readonly initialized: _angular_core.Signal<boolean>;
341
- private initializationCache$;
342
- initialize(): Observable<boolean>;
343
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthInitService, never>;
344
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthInitService>;
345
- }
346
-
347
341
  /**
348
342
  * Auth State Service
349
343
  * Minimal signal-based state management for authentication
350
344
  */
351
- declare class AuthStateService {
352
- private readonly appConfig;
353
- private readonly router;
354
- private readonly platform;
355
- private readonly permissionValidator;
356
- private readonly _user;
357
- private readonly _accessToken;
358
- private readonly _tokenExpiresAt;
359
- private readonly _company;
360
- private readonly _branch;
361
- readonly user: _angular_core.Signal<IUserInfo | null>;
362
- readonly accessToken: _angular_core.Signal<string>;
363
- readonly tokenExpiresAt: _angular_core.Signal<number | null>;
364
- readonly company: _angular_core.Signal<ICompanyInfo | null>;
365
- readonly branch: _angular_core.Signal<IBranchInfo | null>;
366
- private readonly _selectionSessionId;
367
- private readonly _availableCompanies;
368
- readonly selectionSessionId: _angular_core.Signal<string | null>;
369
- readonly availableCompanies: _angular_core.Signal<ICompanyWithBranches[]>;
370
- readonly isAuthenticated: _angular_core.Signal<boolean>;
371
- readonly requiresCompanySelection: _angular_core.Signal<boolean>;
372
- readonly userName: _angular_core.Signal<string>;
373
- readonly companyName: _angular_core.Signal<string>;
374
- readonly branchName: _angular_core.Signal<string>;
375
- /**
376
- * Check if token is expired or will expire soon (within 30 seconds).
377
- * Used to proactively refresh token before requests fail.
378
- */
379
- readonly isTokenExpired: _angular_core.Signal<boolean>;
380
- readonly tenantId: _angular_core.Signal<string | null>;
381
- constructor();
382
- setLoginState(data: ILoginData): void;
383
- setSelectionState(data: ICompanySelectionData): void;
384
- clearSelectionState(): void;
385
- resetState(): void;
386
- setUser(user: IUserInfo | null): void;
387
- setAccessToken(token: string): void;
388
- setCompany(company: ICompanyInfo | null): void;
389
- setBranch(branch: IBranchInfo | null): void;
390
- navigateToLogin(returnUrl?: string): void;
391
- navigateAfterLogin(returnUrl?: string): void;
392
- /** Validates a return URL to prevent open redirect attacks */
393
- private isValidReturnUrl;
394
- getStoredCompanyId(): string | null;
395
- getStoredBranchId(): string | null;
396
- getSavedUserName(): string | null;
397
- private loadFromStorage;
398
- /**
399
- * Decode JWT expiry without verification (client-side only).
400
- * Returns expiry timestamp in milliseconds.
401
- */
402
- private decodeTokenExpiry;
403
- private store;
404
- private get;
405
- private remove;
406
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthStateService, never>;
407
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthStateService>;
408
- }
409
-
345
+ export declare class AuthStateService {
346
+ private readonly appConfig;
347
+ private readonly router;
348
+ private readonly platform;
349
+ private readonly permissionValidator;
350
+ private readonly _user;
351
+ private readonly _accessToken;
352
+ private readonly _tokenExpiresAt;
353
+ private readonly _company;
354
+ private readonly _branch;
355
+ readonly user: import("@angular/core").Signal<IUserInfo | null>;
356
+ readonly accessToken: import("@angular/core").Signal<string>;
357
+ readonly tokenExpiresAt: import("@angular/core").Signal<number | null>;
358
+ readonly company: import("@angular/core").Signal<ICompanyInfo | null>;
359
+ readonly branch: import("@angular/core").Signal<IBranchInfo | null>;
360
+ private readonly _selectionSessionId;
361
+ private readonly _availableCompanies;
362
+ readonly selectionSessionId: import("@angular/core").Signal<string | null>;
363
+ readonly availableCompanies: import("@angular/core").Signal<ICompanyWithBranches[]>;
364
+ readonly isAuthenticated: import("@angular/core").Signal<boolean>;
365
+ readonly requiresCompanySelection: import("@angular/core").Signal<boolean>;
366
+ readonly userName: import("@angular/core").Signal<string>;
367
+ readonly companyName: import("@angular/core").Signal<string>;
368
+ readonly branchName: import("@angular/core").Signal<string>;
369
+ /**
370
+ * Check if token is expired or will expire soon (within 30 seconds).
371
+ * Used to proactively refresh token before requests fail.
372
+ */
373
+ readonly isTokenExpired: import("@angular/core").Signal<boolean>;
374
+ readonly tenantId: import("@angular/core").Signal<string | null>;
375
+ constructor();
376
+ setLoginState(data: ILoginData): void;
377
+ setSelectionState(data: ICompanySelectionData): void;
378
+ clearSelectionState(): void;
379
+ resetState(): void;
380
+ setUser(user: IUserInfo | null): void;
381
+ setAccessToken(token: string): void;
382
+ setCompany(company: ICompanyInfo | null): void;
383
+ setBranch(branch: IBranchInfo | null): void;
384
+ navigateToLogin(returnUrl?: string): void;
385
+ navigateAfterLogin(returnUrl?: string): void;
386
+ /** Validates a return URL to prevent open redirect attacks */
387
+ private isValidReturnUrl;
388
+ getStoredCompanyId(): string | null;
389
+ getStoredBranchId(): string | null;
390
+ getSavedUserName(): string | null;
391
+ private loadFromStorage;
392
+ /**
393
+ * Decode JWT expiry without verification (client-side only).
394
+ * Returns expiry timestamp in milliseconds.
395
+ */
396
+ private decodeTokenExpiry;
397
+ private store;
398
+ private get;
399
+ private remove;
400
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthStateService, never>;
401
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
402
+ }
410
403
  /**
411
404
  * Branch API Service
412
405
  * Signal-based service for branch CRUD operations
413
406
  */
414
- declare class BranchApiService extends ApiResourceService<ICreateBranchRequest | IUpdateBranchRequest, IBranch> {
415
- constructor();
416
- fetchByCompany(companyId: string, search?: string): void;
417
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BranchApiService, never>;
418
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<BranchApiService>;
407
+ export declare class BranchApiService extends ApiResourceService<ICreateBranchRequest | IUpdateBranchRequest, IBranch> {
408
+ constructor();
409
+ fetchByCompany(companyId: string, search?: string): void;
410
+ static ɵfac: i0.ɵɵFactoryDeclaration<BranchApiService, never>;
411
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
419
412
  }
420
-
421
413
  /**
422
414
  * Company API Service
423
415
  * Signal-based service for company CRUD operations
424
416
  */
425
- declare class CompanyApiService extends ApiResourceService<ICreateCompanyRequest | IUpdateCompanyRequest, ICompany> {
426
- constructor();
427
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CompanyApiService, never>;
428
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<CompanyApiService>;
417
+ export declare class CompanyApiService extends ApiResourceService<ICreateCompanyRequest | IUpdateCompanyRequest, ICompany> {
418
+ constructor();
419
+ static ɵfac: i0.ɵɵFactoryDeclaration<CompanyApiService, never>;
420
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
429
421
  }
430
-
431
422
  /** Round-trips the pre-login returnUrl through the OAuth redirect, which cannot carry it itself. */
432
- declare const SOCIAL_RETURN_URL_KEY = "flusys_social_return_url";
433
- declare class SocialAuthApiService {
434
- private readonly appConfig;
435
- private readonly http;
436
- private readonly platform;
437
- private readonly baseUrl;
438
- get redirectUri(): string;
439
- /** Called before redirecting to the provider, so the callback page can resume where the user left off. */
440
- saveReturnUrl(returnUrl: string): void;
441
- /** Reads and clears the returnUrl saved by {@link saveReturnUrl}. */
442
- consumeReturnUrl(): string;
443
- getProviders(): Observable<ISingleResponse<ISocialProviderInfo[]>>;
444
- authorize(provider: SocialProviderEnum): Observable<ISingleResponse<ISocialAuthorization>>;
445
- callback(request: ISocialCallbackRequest): Observable<AuthResponse>;
446
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SocialAuthApiService, never>;
447
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<SocialAuthApiService>;
448
- }
449
-
450
- declare class SocialAuthConfigApiService extends ApiResourceService<ICreateSocialAuthConfigDto | IUpdateSocialAuthConfigDto, ISocialAuthConfig> {
451
- constructor();
452
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SocialAuthConfigApiService, never>;
453
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<SocialAuthConfigApiService>;
454
- }
455
-
423
+ export declare const SOCIAL_RETURN_URL_KEY = "flusys_social_return_url";
424
+ export declare class SocialAuthApiService {
425
+ private readonly appConfig;
426
+ private readonly http;
427
+ private readonly platform;
428
+ private readonly baseUrl;
429
+ get redirectUri(): string;
430
+ /** Called before redirecting to the provider, so the callback page can resume where the user left off. */
431
+ saveReturnUrl(returnUrl: string): void;
432
+ /** Reads and clears the returnUrl saved by {@link saveReturnUrl}. */
433
+ consumeReturnUrl(): string;
434
+ getProviders(): Observable<ISingleResponse<ISocialProviderInfo[]>>;
435
+ authorize(provider: SocialProviderEnum): Observable<ISingleResponse<ISocialAuthorization>>;
436
+ callback(request: ISocialCallbackRequest): Observable<AuthResponse>;
437
+ static ɵfac: i0.ɵɵFactoryDeclaration<SocialAuthApiService, never>;
438
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
439
+ }
440
+ export declare class SocialAuthConfigApiService extends ApiResourceService<ICreateSocialAuthConfigDto | IUpdateSocialAuthConfigDto, ISocialAuthConfig> {
441
+ constructor();
442
+ static ɵfac: i0.ɵɵFactoryDeclaration<SocialAuthConfigApiService, never>;
443
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
444
+ }
456
445
  /**
457
446
  * Token Refresh State Service
458
447
  * Manages token refresh state for SSR-safe request queuing.
459
448
  * Uses BehaviorSubject for RxJS interop (multi-subscriber async coordination).
460
449
  */
461
- declare class TokenRefreshStateService {
462
- private readonly _isRefreshing;
463
- readonly isRefreshing: _angular_core.Signal<boolean>;
464
- private readonly _refreshTokenSubject;
465
- readonly refreshTokenSubject$: rxjs.Observable<string | null>;
466
- startRefresh(): void;
467
- completeRefresh(newToken: string): void;
468
- failRefresh(): void;
469
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TokenRefreshStateService, never>;
470
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<TokenRefreshStateService>;
471
- }
472
-
473
- declare class PasswordPolicyService {
474
- private readonly config;
475
- private readonly translateAdapter;
476
- private readonly rules;
477
- readonly minLength: number;
478
- private readonly maxLength;
479
- validate(password: string): string | null;
480
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<PasswordPolicyService, never>;
481
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<PasswordPolicyService>;
482
- }
483
-
484
- declare class EmailPolicyService {
485
- private readonly config;
486
- private readonly translateAdapter;
487
- validate(email: string): string | null;
488
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmailPolicyService, never>;
489
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<EmailPolicyService>;
490
- }
491
-
450
+ export declare class TokenRefreshStateService {
451
+ private readonly _isRefreshing;
452
+ readonly isRefreshing: import("@angular/core").Signal<boolean>;
453
+ private readonly _refreshTokenSubject;
454
+ readonly refreshTokenSubject$: import("rxjs").Observable<string | null>;
455
+ startRefresh(): void;
456
+ completeRefresh(newToken: string): void;
457
+ failRefresh(): void;
458
+ static ɵfac: i0.ɵɵFactoryDeclaration<TokenRefreshStateService, never>;
459
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
460
+ }
461
+ export declare class PasswordPolicyService {
462
+ private readonly config;
463
+ private readonly translateAdapter;
464
+ private readonly rules;
465
+ readonly minLength: number;
466
+ private readonly maxLength;
467
+ validate(password: string): string | null;
468
+ static ɵfac: i0.ɵɵFactoryDeclaration<PasswordPolicyService, never>;
469
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
470
+ }
471
+ export declare class EmailPolicyService {
472
+ private readonly config;
473
+ private readonly translateAdapter;
474
+ validate(email: string): string | null;
475
+ static ɵfac: i0.ɵɵFactoryDeclaration<EmailPolicyService, never>;
476
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
477
+ }
492
478
  /**
493
479
  * User API Service
494
480
  * Signal-based service for user CRUD operations
495
481
  */
496
- declare class UserApiService extends ApiResourceService<ICreateUserRequest | IUpdateUserRequest, IUser> {
497
- constructor();
498
- updateProfile(data: IUpdateUserRequest): Observable<ISingleResponse<IUser>>;
499
- lookup(filter: IFilterData, search?: string): Observable<IListResponse<IUserBasicInfo>>;
500
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserApiService, never>;
501
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<UserApiService>;
502
- }
503
-
482
+ export declare class UserApiService extends ApiResourceService<ICreateUserRequest | IUpdateUserRequest, IUser> {
483
+ constructor();
484
+ updateProfile(data: IUpdateUserRequest): Observable<ISingleResponse<IUser>>;
485
+ lookup(filter: IFilterData, search?: string): Observable<IListResponse<IUserBasicInfo>>;
486
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserApiService, never>;
487
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
488
+ }
504
489
  /**
505
490
  * User Permission API Service
506
491
  * Handles user-company and user-branch permission assignments.
507
492
  * Endpoint: POST /administration/permissions/*
508
493
  */
509
- declare class UserPermissionApiService {
510
- private readonly appConfig;
511
- private readonly http;
512
- private readonly baseUrl;
513
- assignUserCompanies(data: IAssignUserCompanyRequest): Observable<IMessageResponse>;
514
- assignUserToCompany(userId: string, companyId: string): Observable<IMessageResponse>;
515
- revokeUserFromCompany(userId: string, companyId: string): Observable<IMessageResponse>;
516
- getUserCompanies(userId: string): Observable<ISingleResponse<IUserCompanyPermission[]>>;
517
- assignUserBranches(data: IAssignUserBranchRequest): Observable<IMessageResponse>;
518
- assignUserToBranch(userId: string, branchId: string): Observable<IMessageResponse>;
519
- revokeUserFromBranch(userId: string, branchId: string): Observable<IMessageResponse>;
520
- getUserBranches(userId: string, companyId?: string): Observable<ISingleResponse<IUserBranchPermission[]>>;
521
- getCompanyUsers(companyId: string): Observable<ISingleResponse<ICompanyPermittedUser[]>>;
522
- getBranchUsers(branchId: string): Observable<ISingleResponse<IBranchPermittedUser[]>>;
523
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserPermissionApiService, never>;
524
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<UserPermissionApiService>;
525
- }
526
-
494
+ export declare class UserPermissionApiService {
495
+ private readonly appConfig;
496
+ private readonly http;
497
+ private readonly baseUrl;
498
+ assignUserCompanies(data: IAssignUserCompanyRequest): Observable<IMessageResponse>;
499
+ assignUserToCompany(userId: string, companyId: string): Observable<IMessageResponse>;
500
+ revokeUserFromCompany(userId: string, companyId: string): Observable<IMessageResponse>;
501
+ getUserCompanies(userId: string): Observable<ISingleResponse<IUserCompanyPermission[]>>;
502
+ assignUserBranches(data: IAssignUserBranchRequest): Observable<IMessageResponse>;
503
+ assignUserToBranch(userId: string, branchId: string): Observable<IMessageResponse>;
504
+ revokeUserFromBranch(userId: string, branchId: string): Observable<IMessageResponse>;
505
+ getUserBranches(userId: string, companyId?: string): Observable<ISingleResponse<IUserBranchPermission[]>>;
506
+ getCompanyUsers(companyId: string): Observable<ISingleResponse<ICompanyPermittedUser[]>>;
507
+ getBranchUsers(branchId: string): Observable<ISingleResponse<IBranchPermittedUser[]>>;
508
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserPermissionApiService, never>;
509
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
510
+ }
527
511
  /** Protects routes requiring authentication */
528
- declare const authGuard: CanActivateFn;
512
+ export declare const authGuard: CanActivateFn;
529
513
  /** Protects auth routes from authenticated users, restores session first */
530
- declare const guestGuard: CanActivateFn;
514
+ export declare const guestGuard: CanActivateFn;
531
515
  /** Protects routes requiring company feature to be enabled */
532
- declare const companyFeatureGuard: CanActivateFn;
516
+ export declare const companyFeatureGuard: CanActivateFn;
533
517
  /** Protects routes requiring email feature to be enabled */
534
- declare const emailFeatureGuard: CanActivateFn;
518
+ export declare const emailFeatureGuard: CanActivateFn;
535
519
  /** Protects routes requiring sign-up feature to be enabled */
536
- declare const signUpFeatureGuard: CanActivateFn;
537
-
520
+ export declare const signUpFeatureGuard: CanActivateFn;
538
521
  /**
539
522
  * Auth Interceptor - Adds auth headers and cookie credentials to requests
540
523
  */
541
- declare function authInterceptor(req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>>;
542
-
524
+ export declare function authInterceptor(req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>>;
543
525
  /** Token Refresh Interceptor - Proactive and reactive token refresh with request queuing */
544
- declare function tokenRefreshInterceptor(req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>>;
545
-
526
+ export declare function tokenRefreshInterceptor(req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>>;
546
527
  /**
547
528
  * Auth Routes Configuration
548
529
  * Public routes for authentication (login, register, etc.)
549
530
  *
550
531
  * Note: Company selection is now handled within the login page as a multi-step flow.
551
532
  */
552
- declare const AUTH_ROUTES: Routes;
533
+ export declare const AUTH_ROUTES: Routes;
553
534
  /**
554
535
  * Administration Routes Configuration
555
536
  * Protected routes for company, branch, user management and permissions
556
537
  * Uses tabbed interface - all under /administration with child routes
557
538
  */
558
- declare const ADMINISTRATION_ROUTES: Routes;
539
+ export declare const ADMINISTRATION_ROUTES: Routes;
559
540
  /**
560
541
  * Profile Routes Configuration
561
542
  * Protected route for user profile management
562
543
  */
563
- declare const PROFILE_ROUTES: Routes;
564
-
544
+ export declare const PROFILE_ROUTES: Routes;
565
545
  /**
566
546
  * Auth Layout Provider Adapters
567
547
  *
@@ -573,1094 +553,534 @@ declare const PROFILE_ROUTES: Routes;
573
553
  * import { provideAuthLayoutIntegration } from '@flusys/ng-auth';
574
554
  * providers: [...provideAuthLayoutIntegration()]
575
555
  */
576
- declare class AuthLayoutStateAdapter implements ILayoutAuthState {
577
- private readonly authState;
578
- readonly currentCompanyInfo: Signal<ICompanyInfo$1 | null>;
579
- readonly currentBranchInfo: Signal<IBranchInfo$1 | null>;
580
- readonly loginUserData: Signal<IUserInfo$1 | null>;
581
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthLayoutStateAdapter, never>;
582
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthLayoutStateAdapter>;
583
- }
584
- declare class AuthLayoutApiAdapter implements ILayoutAuthApi {
585
- private readonly authApi;
586
- private readonly authState;
587
- private readonly permissionApi;
588
- private readonly router;
589
- logOut(): Observable<unknown>;
590
- navigateLogin(withUrl?: boolean): void;
591
- switchCompany(companyId: string, branchId: string): Observable<unknown>;
592
- getUserCompanies(): Observable<ICompanyInfo$1[]>;
593
- getCompanyBranches(companyId: string): Observable<IBranchInfo$1[]>;
594
- getMyCompanies(): Observable<ICompanyInfo$1[]>;
595
- getMyCompanyBranches(companyId: string): Observable<IBranchInfo$1[]>;
596
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthLayoutApiAdapter, never>;
597
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthLayoutApiAdapter>;
598
- }
599
-
600
- declare class AuthUserProviderAdapter implements IUserProvider {
601
- private readonly userApi;
602
- getUsers(filter?: {
603
- page?: number;
604
- pageSize?: number;
605
- search?: string;
606
- isActive?: boolean;
607
- [key: string]: unknown;
608
- }): Observable<IListResponse<IUserBasicInfo>>;
609
- getUsersByIds(ids: string[]): Observable<IListResponse<IUserBasicInfo>>;
610
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthUserProviderAdapter, never>;
611
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthUserProviderAdapter>;
612
- }
613
- declare class AuthCompanyApiProviderAdapter implements ICompanyApiProvider {
614
- private readonly companyApi;
615
- private readonly branchApi;
616
- getCompanies(filter?: {
617
- page?: number;
618
- pageSize?: number;
619
- search?: string;
620
- }): Observable<IListResponse<ICompanyBasicInfo>>;
621
- getCompaniesByIds(ids: string[]): Observable<IListResponse<ICompanyBasicInfo>>;
622
- getBranchesByIds(ids: string[]): Observable<IListResponse<IBranchBasicInfo>>;
623
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthCompanyApiProviderAdapter, never>;
624
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthCompanyApiProviderAdapter>;
625
- }
626
- declare class AuthUserPermissionProviderAdapter implements IUserPermissionProvider {
627
- private readonly userPermissionApi;
628
- getUserBranchPermissions(userId: string, companyId?: string): Observable<ISingleResponse<IUserBranchPermission$1[]>>;
629
- getUserCompanyPermissions(userId: string): Observable<ISingleResponse<IUserCompanyInfo[]>>;
630
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthUserPermissionProviderAdapter, never>;
631
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthUserPermissionProviderAdapter>;
632
- }
633
- declare class AuthStateProviderAdapter implements IAuthStateProvider {
634
- private readonly authState;
635
- private readonly authInit;
636
- get isAuthenticated(): Signal<boolean>;
637
- initialize(): Observable<void>;
638
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthStateProviderAdapter, never>;
639
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthStateProviderAdapter>;
640
- }
641
-
556
+ export declare class AuthLayoutStateAdapter implements ILayoutAuthState {
557
+ private readonly authState;
558
+ readonly currentCompanyInfo: Signal<ICompanyInfo$1 | null>;
559
+ readonly currentBranchInfo: Signal<IBranchInfo$1 | null>;
560
+ readonly loginUserData: Signal<IUserInfo$1 | null>;
561
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthLayoutStateAdapter, never>;
562
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
563
+ }
564
+ export declare class AuthLayoutApiAdapter implements ILayoutAuthApi {
565
+ private readonly authApi;
566
+ private readonly authState;
567
+ private readonly router;
568
+ logOut(): Observable<unknown>;
569
+ navigateLogin(withUrl?: boolean): void;
570
+ switchCompany(companyId: string, branchId: string): Observable<unknown>;
571
+ getMyCompanies(): Observable<ICompanyInfo$1[]>;
572
+ getMyCompanyBranches(companyId: string): Observable<IBranchInfo$1[]>;
573
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthLayoutApiAdapter, never>;
574
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
575
+ }
576
+ export declare class AuthUserProviderAdapter implements IUserProvider {
577
+ private readonly userApi;
578
+ getUsers(filter?: {
579
+ page?: number;
580
+ pageSize?: number;
581
+ search?: string;
582
+ isActive?: boolean;
583
+ [key: string]: unknown;
584
+ }): Observable<IListResponse<IUserBasicInfo>>;
585
+ getUsersByIds(ids: string[]): Observable<IListResponse<IUserBasicInfo>>;
586
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthUserProviderAdapter, never>;
587
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
588
+ }
589
+ export declare class AuthCompanyApiProviderAdapter implements ICompanyApiProvider {
590
+ private readonly companyApi;
591
+ private readonly branchApi;
592
+ getCompanies(filter?: {
593
+ page?: number;
594
+ pageSize?: number;
595
+ search?: string;
596
+ }): Observable<IListResponse<ICompanyBasicInfo>>;
597
+ getCompaniesByIds(ids: string[]): Observable<IListResponse<ICompanyBasicInfo>>;
598
+ getBranchesByIds(ids: string[]): Observable<IListResponse<IBranchBasicInfo>>;
599
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthCompanyApiProviderAdapter, never>;
600
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
601
+ }
602
+ export declare class AuthUserPermissionProviderAdapter implements IUserPermissionProvider {
603
+ private readonly userPermissionApi;
604
+ getUserBranchPermissions(userId: string, companyId?: string): Observable<ISingleResponse<IUserBranchPermission$1[]>>;
605
+ getUserCompanyPermissions(userId: string): Observable<ISingleResponse<IUserCompanyInfo[]>>;
606
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthUserPermissionProviderAdapter, never>;
607
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
608
+ }
609
+ export declare class AuthStateProviderAdapter implements IAuthStateProvider {
610
+ private readonly authState;
611
+ private readonly authInit;
612
+ get isAuthenticated(): Signal<boolean>;
613
+ initialize(): Observable<void>;
614
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthStateProviderAdapter, never>;
615
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
616
+ }
642
617
  /** Provides auth integration for ng-layout */
643
- declare function provideAuthLayoutIntegration(): Provider[];
644
-
618
+ export declare function provideAuthLayoutIntegration(): Provider[];
645
619
  /** Provides auth implementations for ng-shared provider interfaces */
646
- declare function provideAuthProviders(): Provider[];
647
-
648
- interface IEmailValidationConfig {
649
- pattern?: RegExp;
650
- message?: string;
651
- messageKey?: string;
652
- messageParam?: Record<string, string | number>;
653
- }
654
- interface IPasswordValidationConfig {
655
- minLength?: number;
656
- maxLength?: number;
657
- requireUppercase?: boolean;
658
- requireLowercase?: boolean;
659
- requireNumbers?: boolean;
660
- requireSpecialChars?: boolean;
661
- pattern?: RegExp;
662
- message?: string;
663
- messageKey?: string;
664
- messageParam?: Record<string, string | number>;
665
- }
666
- interface IAuthValidationConfig {
667
- email?: IEmailValidationConfig;
668
- password?: IPasswordValidationConfig;
669
- }
670
- declare const AUTH_VALIDATION_CONFIG: InjectionToken<IAuthValidationConfig>;
671
- interface IRegistrationFieldTemplateContext {
672
- field: IRegistrationExtraField;
673
- value: unknown;
674
- updateValue: (value: unknown) => void;
675
- }
676
- declare const REGISTRATION_FIELD_CONTEXT: InjectionToken<IRegistrationFieldTemplateContext>;
677
- interface IRegistrationExtraField {
678
- key: string;
620
+ export declare function provideAuthProviders(): Provider[];
621
+ export interface IEmailValidationConfig {
622
+ pattern?: RegExp;
623
+ message?: string;
624
+ messageKey?: string;
625
+ messageParam?: Record<string, string | number>;
626
+ }
627
+ export interface IPasswordValidationConfig {
628
+ minLength?: number;
629
+ maxLength?: number;
630
+ requireUppercase?: boolean;
631
+ requireLowercase?: boolean;
632
+ requireNumbers?: boolean;
633
+ requireSpecialChars?: boolean;
634
+ pattern?: RegExp;
635
+ message?: string;
636
+ messageKey?: string;
637
+ messageParam?: Record<string, string | number>;
638
+ }
639
+ export interface IAuthValidationConfig {
640
+ email?: IEmailValidationConfig;
641
+ password?: IPasswordValidationConfig;
642
+ }
643
+ export declare const AUTH_VALIDATION_CONFIG: InjectionToken<IAuthValidationConfig>;
644
+ export interface IRegistrationFieldTemplateContext {
645
+ field: IRegistrationExtraField;
646
+ value: unknown;
647
+ updateValue: (value: unknown) => void;
648
+ }
649
+ export declare const REGISTRATION_FIELD_CONTEXT: InjectionToken<IRegistrationFieldTemplateContext>;
650
+ export interface IRegistrationExtraField {
651
+ key: string;
652
+ label: string;
653
+ labelKey?: string;
654
+ type: 'text' | 'number' | 'select' | 'checkbox' | 'textarea' | 'date' | 'template';
655
+ placeholder?: string;
656
+ placeholderKey?: string;
657
+ required?: boolean;
658
+ defaultValue?: unknown;
659
+ options?: Array<{
679
660
  label: string;
680
661
  labelKey?: string;
681
- type: 'text' | 'number' | 'select' | 'checkbox' | 'textarea' | 'date' | 'template';
682
- placeholder?: string;
683
- placeholderKey?: string;
684
- required?: boolean;
685
- defaultValue?: unknown;
686
- options?: Array<{
687
- label: string;
688
- labelKey?: string;
689
- value: unknown;
690
- }>;
691
- pattern?: RegExp;
692
- validationMessage?: string;
693
- validationMessageKey?: string;
694
- validationMessageParam?: Record<string, string | number>;
695
- order?: number;
696
- containerClass?: string;
697
- template?: TemplateRef<IRegistrationFieldTemplateContext>;
698
- component?: Type<unknown>;
699
- injector?: Injector;
700
- }
701
- interface IRegistrationExtensionProvider {
702
- getExtraFields(): IRegistrationExtraField[];
703
- transformRegistrationData?(data: Record<string, unknown>): Record<string, unknown>;
704
- validateExtraFields?(data: Record<string, unknown>): string | null;
705
- }
706
- declare const AUTH_REGISTRATION_EXTENSION: InjectionToken<IRegistrationExtensionProvider>;
707
- interface IUserListExtraColumn {
708
- key: string;
709
- header: string;
710
- headerKey?: string;
711
- field?: string;
712
- template?: TemplateRef<{
713
- $implicit: IUser;
714
- }>;
715
- styleClass?: string;
716
- width?: string;
717
- sortable?: boolean;
718
- order?: number;
719
- }
720
- interface IUserListExtraAction {
721
- key: string;
662
+ value: unknown;
663
+ }>;
664
+ pattern?: RegExp;
665
+ validationMessage?: string;
666
+ validationMessageKey?: string;
667
+ validationMessageParam?: Record<string, string | number>;
668
+ order?: number;
669
+ containerClass?: string;
670
+ template?: TemplateRef<IRegistrationFieldTemplateContext>;
671
+ component?: Type<unknown>;
672
+ injector?: Injector;
673
+ }
674
+ export interface IRegistrationExtensionProvider {
675
+ getExtraFields(): IRegistrationExtraField[];
676
+ transformRegistrationData?(data: Record<string, unknown>): Record<string, unknown>;
677
+ validateExtraFields?(data: Record<string, unknown>): string | null;
678
+ }
679
+ export declare const AUTH_REGISTRATION_EXTENSION: InjectionToken<IRegistrationExtensionProvider>;
680
+ export interface IUserListExtraColumn {
681
+ key: string;
682
+ header: string;
683
+ headerKey?: string;
684
+ field?: string;
685
+ template?: TemplateRef<{
686
+ $implicit: IUser;
687
+ }>;
688
+ styleClass?: string;
689
+ width?: string;
690
+ sortable?: boolean;
691
+ order?: number;
692
+ }
693
+ export interface IUserListExtraAction {
694
+ key: string;
695
+ label: string;
696
+ labelKey?: string;
697
+ icon: string;
698
+ severity?: 'info' | 'success' | 'warn' | 'danger' | 'secondary' | 'contrast';
699
+ permission?: string;
700
+ onClick: (user: IUser) => void;
701
+ isVisible?: (user: IUser) => boolean;
702
+ isDisabled?: (user: IUser) => boolean;
703
+ order?: number;
704
+ }
705
+ export interface IUserListExtensionProvider {
706
+ getExtraColumns(): IUserListExtraColumn[];
707
+ getExtraActions(): IUserListExtraAction[];
708
+ enrichUserData?(users: IUser[]): Observable<IUser[]>;
709
+ }
710
+ export declare const AUTH_USER_LIST_EXTENSION: InjectionToken<IUserListExtensionProvider>;
711
+ export interface IProfileExtraSection {
712
+ key: string;
713
+ title: string;
714
+ titleKey?: string;
715
+ icon?: string;
716
+ order?: number;
717
+ component?: Type<unknown>;
718
+ template?: TemplateRef<{
719
+ user: IUser;
720
+ }>;
721
+ collapsible?: boolean;
722
+ collapsed?: boolean;
723
+ editPermission?: string | ILogicNode;
724
+ }
725
+ export interface IProfileFieldTemplateContext {
726
+ field: IProfileExtraField;
727
+ value: unknown;
728
+ updateValue: (value: unknown) => void;
729
+ }
730
+ export declare const PROFILE_FIELD_CONTEXT: InjectionToken<IProfileFieldTemplateContext>;
731
+ export interface IProfileExtraField {
732
+ key: string;
733
+ label: string;
734
+ labelKey?: string;
735
+ type: 'text' | 'number' | 'select' | 'checkbox' | 'textarea' | 'date' | 'template';
736
+ placeholder?: string;
737
+ placeholderKey?: string;
738
+ editable?: boolean;
739
+ required?: boolean;
740
+ options?: Array<{
722
741
  label: string;
723
742
  labelKey?: string;
724
- icon: string;
725
- severity?: 'info' | 'success' | 'warn' | 'danger' | 'secondary' | 'contrast';
726
- permission?: string;
727
- onClick: (user: IUser) => void;
728
- isVisible?: (user: IUser) => boolean;
729
- isDisabled?: (user: IUser) => boolean;
730
- order?: number;
731
- }
732
- interface IUserListExtensionProvider {
733
- getExtraColumns(): IUserListExtraColumn[];
734
- getExtraActions(): IUserListExtraAction[];
735
- enrichUserData?(users: IUser[]): Observable<IUser[]>;
736
- }
737
- declare const AUTH_USER_LIST_EXTENSION: InjectionToken<IUserListExtensionProvider>;
738
- interface IProfileExtraSection {
739
- key: string;
740
- title: string;
741
- titleKey?: string;
742
- icon?: string;
743
- order?: number;
744
- component?: Type<unknown>;
745
- template?: TemplateRef<{
746
- user: IUser;
747
- }>;
748
- collapsible?: boolean;
749
- collapsed?: boolean;
750
- editPermission?: string | ILogicNode;
751
- }
752
- interface IProfileFieldTemplateContext {
753
- field: IProfileExtraField;
754
743
  value: unknown;
755
- updateValue: (value: unknown) => void;
756
- }
757
- declare const PROFILE_FIELD_CONTEXT: InjectionToken<IProfileFieldTemplateContext>;
758
- interface IProfileExtraField {
759
- key: string;
744
+ }>;
745
+ pattern?: RegExp;
746
+ validationMessage?: string;
747
+ validationMessageKey?: string;
748
+ validationMessageParam?: Record<string, string | number>;
749
+ order?: number;
750
+ sectionKey?: string;
751
+ template?: TemplateRef<IProfileFieldTemplateContext>;
752
+ component?: Type<unknown>;
753
+ injector?: Injector;
754
+ }
755
+ export interface IProfileExtensionProvider {
756
+ getExtraSections?(): IProfileExtraSection[];
757
+ getExtraFields?(): IProfileExtraField[];
758
+ getExtraFieldValues?(userId: string): Observable<Record<string, unknown>>;
759
+ saveExtraFieldValues?(userId: string, data: Record<string, unknown>): Observable<void>;
760
+ validateExtraFields?(data: Record<string, unknown>): string | null;
761
+ }
762
+ export declare const AUTH_PROFILE_EXTENSION: InjectionToken<IProfileExtensionProvider>;
763
+ export interface IUserFormFieldTemplateContext {
764
+ field: IUserFormExtraField;
765
+ value: unknown;
766
+ updateValue: (value: unknown) => void;
767
+ }
768
+ export declare const USER_FORM_FIELD_CONTEXT: InjectionToken<IUserFormFieldTemplateContext>;
769
+ export interface IUserFormExtraField {
770
+ key: string;
771
+ label: string;
772
+ labelKey?: string;
773
+ type: 'text' | 'number' | 'select' | 'checkbox' | 'textarea' | 'date' | 'template';
774
+ placeholder?: string;
775
+ placeholderKey?: string;
776
+ required?: boolean;
777
+ options?: Array<{
760
778
  label: string;
761
779
  labelKey?: string;
762
- type: 'text' | 'number' | 'select' | 'checkbox' | 'textarea' | 'date' | 'template';
763
- placeholder?: string;
764
- placeholderKey?: string;
765
- editable?: boolean;
766
- required?: boolean;
767
- options?: Array<{
768
- label: string;
769
- labelKey?: string;
770
- value: unknown;
771
- }>;
772
- pattern?: RegExp;
773
- validationMessage?: string;
774
- validationMessageKey?: string;
775
- validationMessageParam?: Record<string, string | number>;
776
- order?: number;
777
- sectionKey?: string;
778
- template?: TemplateRef<IProfileFieldTemplateContext>;
779
- component?: Type<unknown>;
780
- injector?: Injector;
781
- }
782
- interface IProfileExtensionProvider {
783
- getExtraSections?(): IProfileExtraSection[];
784
- getExtraFields?(): IProfileExtraField[];
785
- getExtraFieldValues?(userId: string): Observable<Record<string, unknown>>;
786
- saveExtraFieldValues?(userId: string, data: Record<string, unknown>): Observable<void>;
787
- validateExtraFields?(data: Record<string, unknown>): string | null;
788
- }
789
- declare const AUTH_PROFILE_EXTENSION: InjectionToken<IProfileExtensionProvider>;
790
- interface IUserFormFieldTemplateContext {
791
- field: IUserFormExtraField;
792
780
  value: unknown;
793
- updateValue: (value: unknown) => void;
794
- }
795
- declare const USER_FORM_FIELD_CONTEXT: InjectionToken<IUserFormFieldTemplateContext>;
796
- interface IUserFormExtraField {
781
+ }>;
782
+ pattern?: RegExp;
783
+ validationMessage?: string;
784
+ validationMessageKey?: string;
785
+ validationMessageParam?: Record<string, string | number>;
786
+ order?: number;
787
+ template?: TemplateRef<IUserFormFieldTemplateContext>;
788
+ component?: Type<unknown>;
789
+ injector?: Injector;
790
+ }
791
+ export interface IUserFormExtensionProvider {
792
+ getExtraFields?(): IUserFormExtraField[];
793
+ getExtraFieldValues?(userId: string): Observable<Record<string, unknown>>;
794
+ saveExtraFieldValues?(userId: string, data: Record<string, unknown>): Observable<void>;
795
+ validateExtraFields?(data: Record<string, unknown>): string | null;
796
+ }
797
+ export declare const AUTH_USER_FORM_EXTENSION: InjectionToken<IUserFormExtensionProvider>;
798
+ export type UserDetailViewMode = 'dialog' | 'sidebar' | 'page';
799
+ export interface IUserDetailViewConfig {
800
+ viewMode: UserDetailViewMode;
801
+ allowEdit?: boolean;
802
+ width?: string;
803
+ component?: Type<unknown>;
804
+ tabs?: Array<{
797
805
  key: string;
798
806
  label: string;
799
807
  labelKey?: string;
800
- type: 'text' | 'number' | 'select' | 'checkbox' | 'textarea' | 'date' | 'template';
801
- placeholder?: string;
802
- placeholderKey?: string;
803
- required?: boolean;
804
- options?: Array<{
805
- label: string;
806
- labelKey?: string;
807
- value: unknown;
808
- }>;
809
- pattern?: RegExp;
810
- validationMessage?: string;
811
- validationMessageKey?: string;
812
- validationMessageParam?: Record<string, string | number>;
813
- order?: number;
814
- template?: TemplateRef<IUserFormFieldTemplateContext>;
815
- component?: Type<unknown>;
816
- injector?: Injector;
817
- }
818
- interface IUserFormExtensionProvider {
819
- getExtraFields?(): IUserFormExtraField[];
820
- getExtraFieldValues?(userId: string): Observable<Record<string, unknown>>;
821
- saveExtraFieldValues?(userId: string, data: Record<string, unknown>): Observable<void>;
822
- validateExtraFields?(data: Record<string, unknown>): string | null;
823
- }
824
- declare const AUTH_USER_FORM_EXTENSION: InjectionToken<IUserFormExtensionProvider>;
825
- type UserDetailViewMode = 'dialog' | 'sidebar' | 'page';
826
- interface IUserDetailViewConfig {
827
- viewMode: UserDetailViewMode;
828
- allowEdit?: boolean;
829
- width?: string;
808
+ icon?: string;
830
809
  component?: Type<unknown>;
831
- tabs?: Array<{
832
- key: string;
833
- label: string;
834
- labelKey?: string;
835
- icon?: string;
836
- component?: Type<unknown>;
837
- template?: TemplateRef<{
838
- user: IUser;
839
- }>;
810
+ template?: TemplateRef<{
811
+ user: IUser;
840
812
  }>;
841
- }
842
- declare const AUTH_USER_DETAIL_CONFIG: InjectionToken<IUserDetailViewConfig>;
843
- declare const DEFAULT_PASSWORD_VALIDATION: {
844
- readonly minLength: 8;
845
- readonly maxLength: 128;
846
- readonly requireUppercase: true;
847
- readonly requireLowercase: true;
848
- readonly requireNumbers: true;
849
- readonly requireSpecialChars: true;
813
+ }>;
814
+ }
815
+ export declare const AUTH_USER_DETAIL_CONFIG: InjectionToken<IUserDetailViewConfig>;
816
+ export declare const DEFAULT_PASSWORD_VALIDATION: {
817
+ readonly minLength: 8;
818
+ readonly maxLength: 128;
819
+ readonly requireUppercase: true;
820
+ readonly requireLowercase: true;
821
+ readonly requireNumbers: true;
822
+ readonly requireSpecialChars: true;
850
823
  };
851
- declare function resolvePasswordValidation(config?: IPasswordValidationConfig | null): IPasswordValidationConfig;
852
- declare function validatePassword(password: string, config?: IPasswordValidationConfig): string | null;
853
- declare function validateEmail(email: string, config?: IEmailValidationConfig): string | null;
854
-
824
+ export declare function resolvePasswordValidation(config?: IPasswordValidationConfig | null): IPasswordValidationConfig;
825
+ export declare function validatePassword(password: string, config?: IPasswordValidationConfig): string | null;
826
+ export declare function validateEmail(email: string, config?: IEmailValidationConfig): string | null;
855
827
  /**
856
828
  * Authentication API Endpoints
857
829
  *
858
830
  * Centralized endpoint definitions to prevent inconsistencies across interceptors
859
831
  * and services. All auth-related endpoints should be referenced from here.
860
832
  */
861
- declare const AUTH_ENDPOINTS: {
862
- readonly LOGIN: "/auth/login";
863
- readonly LOGOUT: "/auth/logout";
864
- readonly REFRESH: "/auth/refresh";
865
- readonly REGISTER: "/auth/register";
866
- readonly ME: "/auth/me";
867
- readonly SELECT: "/auth/select";
868
- readonly SWITCH_COMPANY: "/auth/switch-company";
869
- readonly CHANGE_PASSWORD: "/auth/change-password";
870
- readonly VERIFY_EMAIL: "/auth/verify-email";
871
- readonly FORGOT_PASSWORD: "/auth/forgot-password";
872
- readonly RESET_PASSWORD: "/auth/reset-password";
873
- readonly RESEND_VERIFICATION: "/auth/resend-verification";
874
- readonly SOCIAL_CALLBACK: "/auth/social/callback";
833
+ export declare const AUTH_ENDPOINTS: {
834
+ readonly LOGIN: "/auth/login";
835
+ readonly LOGOUT: "/auth/logout";
836
+ readonly REFRESH: "/auth/refresh";
837
+ readonly REGISTER: "/auth/register";
838
+ readonly ME: "/auth/me";
839
+ readonly SELECT: "/auth/select";
840
+ readonly SWITCH_COMPANY: "/auth/switch-company";
841
+ readonly CHANGE_PASSWORD: "/auth/change-password";
842
+ readonly VERIFY_EMAIL: "/auth/verify-email";
843
+ readonly FORGOT_PASSWORD: "/auth/forgot-password";
844
+ readonly RESET_PASSWORD: "/auth/reset-password";
845
+ readonly RESEND_VERIFICATION: "/auth/resend-verification";
846
+ readonly SOCIAL_CALLBACK: "/auth/social/callback";
875
847
  };
876
848
  /** Check if a URL matches a specific endpoint */
877
- declare function isEndpoint(url: string, endpoint: string): boolean;
878
-
879
- declare const AUTH_MESSAGES: Record<string, string>;
880
-
881
- /**
882
- * Administration Page Component
883
- * Unified administration page with tabs for:
884
- * - Users (always visible) - includes permission management via dialogs
885
- * - Companies (only if company feature enabled)
886
- * - Branches (only if company feature enabled)
887
- * - Social Config (social sign-in provider credentials)
888
- */
889
- declare class AdministrationPageComponent {
890
- private readonly appConfig;
891
- private readonly permissionValidator;
892
- private readonly translateService;
893
- /** All available tabs */
894
- private readonly allTabs;
895
- /** Check if company feature is enabled */
896
- readonly companyFeatureEnabled: _angular_core.Signal<boolean>;
897
- /** Visible tabs based on config and permissions */
898
- readonly visibleTabs: _angular_core.Signal<RouterTabItem[]>;
899
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AdministrationPageComponent, never>;
900
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AdministrationPageComponent, "lib-administration-page", never, {}, {}, never, never, true, never>;
901
- }
902
-
903
- /** Branch form model interface */
904
- interface IBranchFormModel {
905
- companyId: string;
906
- name: string;
907
- slug: string;
908
- email: string;
909
- phone: string;
910
- address: string;
911
- isActive: boolean;
912
- }
913
- /**
914
- * Branch Form Component
915
- * Handles creating and editing branches.
916
- * Defaults to current company context.
917
- */
918
- declare class BranchFormComponent {
919
- private readonly router;
920
- private readonly route;
921
- private readonly messageService;
922
- private readonly branchService;
923
- private readonly companyService;
924
- private readonly authState;
925
- private readonly translateAdapter;
926
- private translate;
927
- private readonly routeParams;
928
- private readonly queryParams;
929
- /** Loading state */
930
- readonly isLoading: _angular_core.WritableSignal<boolean>;
931
- /** Existing branch data when editing */
932
- readonly existingBranch: _angular_core.WritableSignal<IBranch | null>;
933
- /** Whether in edit mode */
934
- readonly isEditMode: _angular_core.Signal<boolean>;
935
- /** Companies list for dropdown */
936
- readonly companies: _angular_core.Signal<_flusys_ng_auth.ICompany[]>;
937
- /** Form model */
938
- readonly formModel: _angular_core.WritableSignal<IBranchFormModel>;
939
- /** Form with validation schema */
940
- readonly branchForm: _angular_forms_signals.FieldTree<IBranchFormModel, string | number, "writable">;
941
- /** Check if form is valid */
942
- readonly isFormValid: _angular_core.Signal<boolean>;
943
- constructor();
944
- loadBranch(id: string): Promise<void>;
945
- private toFormModel;
946
- generateSlug(): void;
947
- onSubmit(event: Event): Promise<void>;
948
- private updateBranch;
949
- private createBranch;
950
- private buildOptionalFields;
951
- private onSaveSuccess;
952
- private getTargetCompanyId;
953
- protected navigateToList(): void;
954
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BranchFormComponent, never>;
955
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BranchFormComponent, "lib-branch-form", never, {}, {}, never, never, true, never>;
956
- }
957
-
958
- declare class BranchListComponent {
959
- readonly BRANCH_PERMISSIONS: {
960
- readonly CREATE: "branch.create";
961
- readonly READ: "branch.read";
962
- readonly UPDATE: "branch.update";
963
- readonly DELETE: "branch.delete";
964
- };
965
- readonly USER_PERMISSIONS: {
966
- readonly CREATE: "user.create";
967
- readonly READ: "user.read";
968
- readonly UPDATE: "user.update";
969
- readonly DELETE: "user.delete";
970
- readonly LOOKUP: "user.lookup";
971
- };
972
- private readonly router;
973
- private readonly route;
974
- private readonly messageService;
975
- private readonly confirmationService;
976
- private readonly branchService;
977
- private readonly companyService;
978
- private readonly authState;
979
- private readonly translateAdapter;
980
- private translate;
981
- private readonly queryParamMap;
982
- private initialized;
983
- /** Selected company ID (signal for zoneless change detection) */
984
- readonly selectedCompanyId: _angular_core.WritableSignal<string | null>;
985
- /** Companies list for dropdown */
986
- readonly companies: _angular_core.Signal<_flusys_ng_auth.ICompany[]>;
987
- /** Branches from service */
988
- readonly branches: _angular_core.Signal<IBranch[]>;
989
- /** Loading state from service */
990
- readonly isLoading: _angular_core.Signal<boolean>;
991
- /** Total count from service */
992
- readonly total: _angular_core.Signal<number>;
993
- readonly permittedUsersDialogVisible: _angular_core.WritableSignal<boolean>;
994
- readonly selectedBranch: _angular_core.WritableSignal<IBranch | null>;
995
- private readonly _searchTerm;
996
- readonly searchTerm: _angular_core.Signal<string>;
997
- constructor();
998
- loadBranches(page?: number, pageSize?: number): void;
999
- onLazyLoad(event: {
1000
- first?: number | null;
1001
- rows?: number | null;
1002
- }): void;
1003
- onSearchChange(value: string): void;
1004
- onCreate(): void;
1005
- onEdit(branch: IBranch): void;
1006
- onViewUsers(branch: IBranch): void;
1007
- onDelete(branch: IBranch): void;
1008
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BranchListComponent, never>;
1009
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BranchListComponent, "lib-branch-list", never, {}, {}, never, never, true, never>;
1010
- }
1011
-
1012
- declare class CompanyFormComponent {
1013
- private readonly route;
1014
- private readonly translateAdapter;
1015
- readonly companyService: CompanyApiService;
1016
- readonly formRef: _angular_core.Signal<BaseFormComponent | undefined>;
1017
- private readonly routeParams;
1018
- readonly editId: _angular_core.Signal<string | null>;
1019
- readonly fields: IFormField[];
1020
- readonly buildRequest: (data: Record<string, unknown>, editId: string | null) => unknown;
1021
- readonly toFormModel: (entity: unknown) => Record<string, unknown>;
1022
- onFormValueChange(data: Record<string, unknown>): void;
1023
- private t;
1024
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CompanyFormComponent, never>;
1025
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CompanyFormComponent, "lib-company-form", never, {}, {}, never, never, true, never>;
1026
- }
1027
-
1028
- declare class CompanyListComponent {
1029
- private readonly permissionValidator;
1030
- private readonly translateAdapter;
1031
- private readonly router;
1032
- readonly companyService: CompanyApiService;
1033
- readonly canCreate: _angular_core.Signal<boolean>;
1034
- readonly canEditFn: (_item: unknown) => boolean;
1035
- readonly canDeleteFn: (item: unknown) => boolean;
1036
- readonly permittedUsersDialogVisible: _angular_core.WritableSignal<boolean>;
1037
- readonly selectedCompany: _angular_core.WritableSignal<ICompany | null>;
1038
- readonly rowActions: ITableAction[];
1039
- readonly columns: ITableColumn[];
1040
- asCompany(item: unknown): ICompany;
1041
- private t;
1042
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CompanyListComponent, never>;
1043
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CompanyListComponent, "lib-company-list", never, {}, {}, never, never, true, never>;
1044
- }
1045
-
1046
- interface IForgotPasswordFormModel {
1047
- email: string;
1048
- }
1049
- declare class ForgotPasswordPageComponent {
1050
- private readonly destroyRef;
1051
- private readonly messageService;
1052
- private readonly authApi;
1053
- private readonly translateAdapter;
1054
- private translate;
1055
- readonly isLoading: _angular_core.WritableSignal<boolean>;
1056
- readonly emailSent: _angular_core.WritableSignal<boolean>;
1057
- readonly submittedEmail: _angular_core.WritableSignal<string>;
1058
- readonly formModel: _angular_core.WritableSignal<IForgotPasswordFormModel>;
1059
- readonly forgotForm: _angular_forms_signals.FieldTree<IForgotPasswordFormModel, string | number, "writable">;
1060
- readonly isFormValid: _angular_core.Signal<boolean>;
1061
- onSubmit(event: Event): void;
1062
- private showEmailSent;
1063
- resetForm(): void;
1064
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ForgotPasswordPageComponent, never>;
1065
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ForgotPasswordPageComponent, "lib-forgot-password-page", never, {}, {}, never, never, true, never>;
1066
- }
1067
-
1068
- interface ILoginFormModel {
1069
- email: string;
1070
- password: string;
1071
- rememberMe: boolean;
1072
- }
1073
- interface ISelectionFormModel {
1074
- companyId: string;
1075
- branchId: string;
1076
- rememberSelection: boolean;
1077
- }
1078
- type LoginStep = 'credentials' | 'company-selection' | 'email-verification';
1079
- declare class LoginPageComponent {
1080
- private readonly destroyRef;
1081
- private readonly appConfig;
1082
- private readonly messageService;
1083
- private readonly authApi;
1084
- private readonly authState;
1085
- private readonly translateAdapter;
1086
- private readonly emailPolicy;
1087
- private translate;
1088
- readonly returnUrl: _angular_core.InputSignal<string>;
1089
- readonly currentStep: _angular_core.WritableSignal<LoginStep>;
1090
- readonly isLoading: _angular_core.WritableSignal<boolean>;
1091
- readonly unverifiedEmail: _angular_core.WritableSignal<string>;
1092
- readonly savedUserName: _angular_core.WritableSignal<string | null>;
1093
- readonly welcomeBackText: _angular_core.Signal<string>;
1094
- readonly loginFormModel: _angular_core.WritableSignal<ILoginFormModel>;
1095
- readonly loginForm: _angular_forms_signals.FieldTree<ILoginFormModel, string | number, "writable">;
1096
- readonly emailValidationError: _angular_core.Signal<string | null>;
1097
- readonly isLoginFormValid: _angular_core.Signal<boolean>;
1098
- readonly selectionFormModel: _angular_core.WritableSignal<ISelectionFormModel>;
1099
- readonly selectionForm: _angular_forms_signals.FieldTree<ISelectionFormModel, string | number, "writable">;
1100
- readonly isSelectionFormValid: _angular_core.Signal<boolean>;
1101
- readonly companyFeatureEnabled: _angular_core.Signal<boolean>;
1102
- readonly emailFeatureEnabled: _angular_core.Signal<boolean>;
1103
- readonly signUpEnabled: _angular_core.Signal<boolean>;
1104
- private sessionId;
1105
- readonly companies: _angular_core.WritableSignal<ICompanyWithBranches[]>;
1106
- readonly userName: _angular_core.WritableSignal<string>;
1107
- readonly branches: _angular_core.Signal<IBranchSelectionInfo[]>;
1108
- constructor();
1109
- private restorePendingSelectionState;
1110
- onSubmit(event: Event): void;
1111
- onCompanyChange(): void;
1112
- onSelectCompany(event: Event): void;
1113
- goBackToCredentials(): void;
1114
- onResendVerification(): void;
1115
- private autoSelectIfSingle;
1116
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoginPageComponent, never>;
1117
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoginPageComponent, "lib-login-page", never, { "returnUrl": { "alias": "returnUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1118
- }
1119
-
1120
- interface IProfileFormModel {
1121
- name: string;
1122
- phone: string;
1123
- }
1124
- interface IPasswordFormModel {
1125
- currentPassword: string;
1126
- newPassword: string;
1127
- confirmPassword: string;
1128
- }
1129
- declare class ProfilePageComponent {
1130
- private readonly destroyRef;
1131
- private readonly appConfig;
1132
- private readonly messageService;
1133
- private readonly authState;
1134
- private readonly userService;
1135
- private readonly authApiService;
1136
- protected readonly passwordPolicy: PasswordPolicyService;
1137
- private readonly fileUrlService;
1138
- private readonly fileProvider;
1139
- private readonly permissionProvider;
1140
- private readonly profileExtension;
1141
- private readonly userFormExtension;
1142
- private readonly translateAdapter;
1143
- private translate;
1144
- readonly isLoading: _angular_core.WritableSignal<boolean>;
1145
- readonly isLoadingPermissions: _angular_core.WritableSignal<boolean>;
1146
- readonly isLoadingExtraFields: _angular_core.WritableSignal<boolean>;
1147
- private readonly _profilePictureUrl;
1148
- readonly profilePictureUrl: _angular_core.Signal<string | null>;
1149
- private readonly _userRoles;
1150
- readonly userRoles: _angular_core.Signal<IProfileRoleInfo[]>;
1151
- private readonly _userActions;
1152
- readonly userActions: _angular_core.Signal<IProfileActionInfo[]>;
1153
- readonly extraSections: _angular_core.Signal<IProfileExtraSection[]>;
1154
- readonly editableFields: _angular_core.Signal<IProfileExtraField[]>;
1155
- readonly viewOnlyFields: _angular_core.Signal<IUserFormExtraField[]>;
1156
- readonly hasExtraContent: _angular_core.Signal<boolean>;
1157
- readonly extraFieldsModel: _angular_core.WritableSignal<Record<string, unknown>>;
1158
- readonly originalExtraFieldsModel: _angular_core.WritableSignal<Record<string, unknown>>;
1159
- readonly adminFieldsModel: _angular_core.WritableSignal<Record<string, unknown>>;
1160
- readonly isExtraFieldsDirty: _angular_core.Signal<boolean>;
1161
- readonly extraFieldsValidationError: _angular_core.Signal<string | null>;
1162
- readonly userEmail: _angular_core.Signal<string>;
1163
- readonly userName: _angular_core.Signal<string>;
1164
- readonly userInitials: _angular_core.Signal<string>;
1165
- readonly companyName: _angular_core.Signal<string>;
1166
- readonly branchName: _angular_core.Signal<string>;
1167
- readonly showUploadSection: _angular_core.Signal<boolean>;
1168
- readonly showCompanySection: _angular_core.Signal<boolean>;
1169
- readonly showPermissionsSection: _angular_core.Signal<boolean>;
1170
- readonly permissionMode: _angular_core.Signal<_flusys_ng_core.PermissionMode>;
1171
- readonly showRoles: _angular_core.Signal<boolean>;
1172
- readonly showActions: _angular_core.Signal<boolean>;
1173
- readonly showBottomRow: _angular_core.Signal<boolean>;
1174
- private readonly originalFormModel;
1175
- readonly formModel: _angular_core.WritableSignal<IProfileFormModel>;
1176
- readonly formTree: _angular_forms_signals.FieldTree<IProfileFormModel, string | number, "writable">;
1177
- readonly isFormValid: _angular_core.Signal<boolean>;
1178
- readonly isFormDirty: _angular_core.Signal<boolean>;
1179
- updateExtraField(key: string, value: unknown): void;
1180
- getExtraFieldValue(key: string): unknown;
1181
- getAdminFieldValue(key: string): unknown;
1182
- getSelectLabel(field: IProfileExtraField | IUserFormExtraField, value: unknown): string;
1183
- getFieldTemplateContext(field: IProfileExtraField): IProfileFieldTemplateContext;
1184
- private readonly parentInjector;
1185
- private readonly fieldInjectors;
1186
- getFieldInjector(field: IProfileExtraField): Injector;
1187
- readonly passwordModel: _angular_core.WritableSignal<IPasswordFormModel>;
1188
- readonly passwordForm: _angular_forms_signals.FieldTree<IPasswordFormModel, string | number, "writable">;
1189
- readonly isPasswordLoading: _angular_core.WritableSignal<boolean>;
1190
- readonly newPasswordError: _angular_core.Signal<string | null>;
1191
- readonly isPasswordFormValid: _angular_core.Signal<boolean>;
1192
- readonly passwordsMatch: _angular_core.Signal<boolean>;
1193
- readonly profileUploadOptions: {
1194
- folderPath: string;
1195
- compress: boolean;
1196
- maxWidth: number;
1197
- maxHeight: number;
1198
- isPrivate: boolean;
1199
- };
1200
- constructor();
1201
- private loadUserData;
1202
- private loadPermissions;
1203
- private loadExtraFields;
1204
- onProfilePictureUploaded(file: {
1205
- id?: string;
1206
- name: string;
1207
- key: string;
1208
- size: number;
1209
- contentType: string;
1210
- }): void;
1211
- onSubmit(): void;
1212
- updatePasswordField(field: keyof IPasswordFormModel, value: string): void;
1213
- onChangePassword(): void;
1214
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfilePageComponent, never>;
1215
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProfilePageComponent, "lib-profile-page", never, {}, {}, never, never, true, never>;
1216
- }
1217
-
1218
- interface IUserFormModel$1 {
1219
- name: string;
1220
- email: string;
1221
- password: string;
1222
- confirmPassword: string;
1223
- phone: string;
1224
- }
1225
- interface ICompanyFormModel {
1226
- createNewCompany: boolean;
1227
- companySlug: string;
1228
- branchSlug: string;
1229
- newCompanyName: string;
1230
- newCompanyPhone: string;
1231
- newCompanyAddress: string;
1232
- }
1233
- declare class RegisterPageComponent {
1234
- private readonly destroyRef;
1235
- private readonly appConfig;
1236
- private readonly messageService;
1237
- private readonly authApi;
1238
- private readonly authState;
1239
- private readonly route;
1240
- private readonly router;
1241
- private readonly emailPolicy;
1242
- protected readonly passwordPolicy: PasswordPolicyService;
1243
- private readonly registrationExtension;
1244
- private readonly translateAdapter;
1245
- private translate;
1246
- private readonly queryParamMap;
1247
- private companySlugInitialized;
1248
- readonly returnUrl: _angular_core.InputSignal<string>;
1249
- readonly isLoading: _angular_core.WritableSignal<boolean>;
1250
- readonly companyFeatureEnabled: _angular_core.Signal<boolean>;
1251
- readonly defaultCompanySlug: _angular_core.Signal<string | undefined>;
1252
- readonly defaultBranchSlug: _angular_core.Signal<string | undefined>;
1253
- readonly hasDefaultCompany: _angular_core.Signal<boolean>;
1254
- readonly hasDefaultBranch: _angular_core.Signal<boolean>;
1255
- readonly extraFields: _angular_core.Signal<IRegistrationExtraField[]>;
1256
- readonly extraFieldsModel: _angular_core.WritableSignal<Record<string, unknown>>;
1257
- readonly userFormModel: _angular_core.WritableSignal<IUserFormModel$1>;
1258
- readonly userForm: _angular_forms_signals.FieldTree<IUserFormModel$1, string | number, "writable">;
1259
- readonly companyFormModel: _angular_core.WritableSignal<ICompanyFormModel>;
1260
- readonly companyForm: _angular_forms_signals.FieldTree<ICompanyFormModel, string | number, "writable">;
1261
- readonly emailValidationError: _angular_core.Signal<string | null>;
1262
- readonly passwordValidationError: _angular_core.Signal<string | null>;
1263
- readonly extraFieldsValidationError: _angular_core.Signal<string | null>;
1264
- readonly passwordsMatch: _angular_core.Signal<boolean>;
1265
- readonly isFormValid: _angular_core.Signal<boolean>;
1266
- private validateRequiredExtraFields;
1267
- updateExtraField(key: string, value: unknown): void;
1268
- getFieldTemplateContext(field: IRegistrationExtraField): IRegistrationFieldTemplateContext;
1269
- private readonly parentInjector;
1270
- private readonly fieldInjectors;
1271
- getFieldInjector(field: IRegistrationExtraField): Injector;
1272
- constructor();
1273
- onCreateCompanyToggle(createNew: boolean): void;
1274
- onSubmit(): void;
1275
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RegisterPageComponent, never>;
1276
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RegisterPageComponent, "lib-register-page", never, { "returnUrl": { "alias": "returnUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1277
- }
1278
-
1279
- interface IResetPasswordFormModel {
1280
- newPassword: string;
1281
- confirmPassword: string;
1282
- }
1283
- type PageState$1 = 'form' | 'success' | 'invalid-token';
1284
- declare class ResetPasswordPageComponent {
1285
- private readonly destroyRef;
1286
- private readonly route;
1287
- private readonly messageService;
1288
- private readonly authApi;
1289
- private readonly passwordPolicy;
1290
- private readonly translateAdapter;
1291
- private translate;
1292
- private readonly queryParams;
1293
- private tokenInitialized;
1294
- private token;
1295
- readonly isLoading: _angular_core.WritableSignal<boolean>;
1296
- readonly pageState: _angular_core.WritableSignal<PageState$1>;
1297
- readonly formModel: _angular_core.WritableSignal<IResetPasswordFormModel>;
1298
- readonly resetForm: _angular_forms_signals.FieldTree<IResetPasswordFormModel, string | number, "writable">;
1299
- readonly passwordMismatch: _angular_core.Signal<boolean>;
1300
- readonly passwordValidationError: _angular_core.Signal<string | null>;
1301
- readonly canSubmit: _angular_core.Signal<boolean>;
1302
- constructor();
1303
- onSubmit(event: Event): void;
1304
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ResetPasswordPageComponent, never>;
1305
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ResetPasswordPageComponent, "lib-reset-password-page", never, {}, {}, never, never, true, never>;
1306
- }
1307
-
1308
- declare class SocialCallbackPageComponent {
1309
- private readonly destroyRef;
1310
- private readonly route;
1311
- private readonly router;
1312
- private readonly platform;
1313
- private readonly socialApi;
1314
- private readonly authState;
1315
- private readonly messageService;
1316
- private readonly translateAdapter;
1317
- private readonly _error;
1318
- readonly errorDetail: _angular_core.Signal<string | null>;
1319
- constructor();
1320
- backToLogin(): void;
1321
- private exchangeCode;
1322
- private returnUrl;
1323
- private translate;
1324
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SocialCallbackPageComponent, never>;
1325
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SocialCallbackPageComponent, "lib-social-callback-page", never, {}, {}, never, never, true, never>;
1326
- }
1327
-
1328
- interface IProviderFormModel {
1329
- provider: SocialProviderEnum;
1330
- id: string | null;
1331
- isEnabled: boolean;
1332
- clientId: string;
1333
- /** A newly typed secret to save. Left blank keeps the previously stored one. */
1334
- clientSecret: string;
1335
- hasClientSecret: boolean;
1336
- tenantId: string;
1337
- scopes: string;
1338
- }
1339
- declare class SocialConfigPageComponent {
1340
- private readonly configService;
1341
- private readonly socialApi;
1342
- private readonly messageService;
1343
- private readonly translateAdapter;
1344
- readonly tenantProvider = SocialProviderEnum.MICROSOFT;
1345
- private readonly _forms;
1346
- readonly forms: _angular_core.Signal<IProviderFormModel[]>;
1347
- private readonly _isLoading;
1348
- readonly isLoading: _angular_core.Signal<boolean>;
1349
- private readonly _isSaving;
1350
- readonly isSaving: _angular_core.Signal<boolean>;
1351
- readonly redirectUri: string;
1352
- constructor();
1353
- updateField<K extends keyof IProviderFormModel>(provider: SocialProviderEnum, field: K, value: IProviderFormModel[K]): void;
1354
- onSave(): Promise<void>;
1355
- private loadConfigs;
1356
- private translate;
1357
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SocialConfigPageComponent, never>;
1358
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SocialConfigPageComponent, "lib-social-config-page", never, {}, {}, never, never, true, never>;
1359
- }
1360
-
1361
- interface IUserFormModel {
1362
- name: string;
1363
- email: string;
1364
- password: string;
1365
- phone: string;
1366
- isActive: boolean;
1367
- emailVerified: boolean;
1368
- }
1369
- declare class UserFormComponent {
1370
- private readonly destroyRef;
1371
- private readonly router;
1372
- private readonly route;
1373
- private readonly appConfig;
1374
- private readonly messageService;
1375
- private readonly userService;
1376
- private readonly permissionService;
1377
- private readonly authState;
1378
- private readonly passwordPolicy;
1379
- private readonly translateAdapter;
1380
- private readonly userFormExtension;
1381
- private readonly parentInjector;
1382
- private translate;
1383
- private readonly routeParams;
1384
- private userLoadTriggered;
1385
- readonly isLoading: _angular_core.WritableSignal<boolean>;
1386
- readonly existingUser: _angular_core.WritableSignal<IUser | null>;
1387
- readonly isEditMode: _angular_core.Signal<boolean>;
1388
- readonly companyFeatureEnabled: _angular_core.Signal<boolean>;
1389
- readonly currentCompanyName: _angular_core.Signal<string>;
1390
- readonly currentBranchName: _angular_core.Signal<string>;
1391
- readonly formModel: _angular_core.WritableSignal<IUserFormModel>;
1392
- readonly formTree: _angular_forms_signals.FieldTree<IUserFormModel, string | number, "writable">;
1393
- readonly isLoadingExtraFields: _angular_core.WritableSignal<boolean>;
1394
- readonly extraFieldsModel: _angular_core.WritableSignal<Record<string, unknown>>;
1395
- readonly originalExtraFieldsModel: _angular_core.WritableSignal<Record<string, unknown>>;
1396
- readonly extraFields: _angular_core.Signal<IUserFormExtraField[]>;
1397
- readonly hasExtraFields: _angular_core.Signal<boolean>;
1398
- readonly extraFieldsValidationError: _angular_core.Signal<string | null>;
1399
- readonly isExtraFieldsDirty: _angular_core.Signal<boolean>;
1400
- updateExtraField(key: string, value: unknown): void;
1401
- getExtraFieldValue(key: string): unknown;
1402
- getFieldTemplateContext(field: IUserFormExtraField): IUserFormFieldTemplateContext;
1403
- private readonly fieldInjectors;
1404
- getFieldInjector(field: IUserFormExtraField): Injector;
1405
- readonly passwordError: _angular_core.Signal<string | null>;
1406
- readonly isFormValid: _angular_core.Signal<boolean>;
1407
- constructor();
1408
- loadUser(id: string): Promise<void>;
1409
- private loadExtraFields;
1410
- private toFormModel;
1411
- onSubmit(): void;
1412
- private updateUser;
1413
- private createUser;
1414
- private saveExtraFieldsForNewUser;
1415
- private onSaveSuccess;
1416
- private assignUserToCompanyAndBranch;
1417
- onCancel(): void;
1418
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserFormComponent, never>;
1419
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserFormComponent, "lib-user-form", never, {}, {}, never, never, true, never>;
1420
- }
1421
-
1422
- declare class UserListComponent {
1423
- readonly USER_PERMISSIONS: {
1424
- readonly CREATE: "user.create";
1425
- readonly READ: "user.read";
1426
- readonly UPDATE: "user.update";
1427
- readonly DELETE: "user.delete";
1428
- readonly LOOKUP: "user.lookup";
1429
- };
1430
- private readonly router;
1431
- private readonly appConfig;
1432
- private readonly messageService;
1433
- private readonly confirmationService;
1434
- private readonly userService;
1435
- private readonly userListExtension;
1436
- readonly userDetailConfig: _flusys_ng_auth.IUserDetailViewConfig | null;
1437
- private readonly translateAdapter;
1438
- private translate;
1439
- readonly users: _angular_core.Signal<IUser[]>;
1440
- readonly isLoading: _angular_core.Signal<boolean>;
1441
- readonly total: _angular_core.Signal<number>;
1442
- readonly companyFeatureEnabled: _angular_core.Signal<boolean>;
1443
- readonly extraColumns: _angular_core.Signal<IUserListExtraColumn[]>;
1444
- readonly extraActions: _angular_core.Signal<IUserListExtraAction[]>;
1445
- readonly hasUserDetailView: _angular_core.Signal<boolean>;
1446
- readonly tableColspan: _angular_core.Signal<number>;
1447
- readonly showCompanyDialog: _angular_core.WritableSignal<boolean>;
1448
- readonly showBranchDialog: _angular_core.WritableSignal<boolean>;
1449
- readonly showUserDetailDialog: _angular_core.WritableSignal<boolean>;
1450
- readonly selectedUser: _angular_core.WritableSignal<IUser | null>;
1451
- private readonly _searchTerm;
1452
- readonly searchTerm: _angular_core.Signal<string>;
1453
- getFieldValue(user: IUser, field: string): unknown;
1454
- isActionVisible(action: IUserListExtraAction, user: IUser): boolean;
1455
- isActionDisabled(action: IUserListExtraAction, user: IUser): boolean;
1456
- onExtraAction(action: IUserListExtraAction, user: IUser): void;
1457
- onViewDetails(user: IUser): void;
1458
- closeUserDetailDialog(): void;
1459
- loadUsers(page?: number, pageSize?: number): void;
1460
- onLazyLoad(event: {
1461
- first?: number | null;
1462
- rows?: number | null;
1463
- }): void;
1464
- onSearchChange(value: string): void;
1465
- onCreate(): void;
1466
- onEdit(user: IUser): void;
1467
- onManageCompanyPermissions(user: IUser): void;
1468
- onManageBranchPermissions(user: IUser): void;
1469
- private openPermissionDialog;
1470
- onDelete(user: IUser): void;
1471
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserListComponent, never>;
1472
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserListComponent, "lib-user-list", never, {}, {}, never, never, true, never>;
1473
- }
1474
-
1475
- interface IResendFormModel {
1476
- email: string;
1477
- }
1478
- type PageState = 'verifying' | 'success' | 'invalid-token' | 'resend';
1479
- declare class VerifyEmailPageComponent {
1480
- private readonly platformId;
1481
- private readonly transferState;
1482
- private readonly destroyRef;
1483
- private readonly route;
1484
- private readonly messageService;
1485
- private readonly authApi;
1486
- private readonly translateAdapter;
1487
- private translate;
1488
- private readonly queryParams;
1489
- private verificationTriggered;
1490
- readonly isLoading: _angular_core.WritableSignal<boolean>;
1491
- readonly pageState: _angular_core.WritableSignal<PageState>;
1492
- readonly resendSuccess: _angular_core.WritableSignal<boolean>;
1493
- readonly submittedEmail: _angular_core.WritableSignal<string>;
1494
- readonly resendFormModel: _angular_core.WritableSignal<IResendFormModel>;
1495
- readonly resendForm: _angular_forms_signals.FieldTree<IResendFormModel, string | number, "writable">;
1496
- readonly isResendFormValid: _angular_core.Signal<boolean>;
1497
- constructor();
1498
- private verifyEmail;
1499
- private handleVerificationResult;
1500
- showResendForm(): void;
1501
- onResend(event: Event): void;
1502
- private handleResendComplete;
1503
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VerifyEmailPageComponent, never>;
1504
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VerifyEmailPageComponent, "lib-verify-email-page", never, {}, {}, never, never, true, never>;
1505
- }
1506
-
849
+ export declare function isEndpoint(url: string, endpoint: string): boolean;
850
+ export declare const AUTH_MESSAGES: Record<string, string>;
1507
851
  /**
1508
852
  * Read-only viewer for users permitted against a branch, with a remove-only
1509
853
  * action per user. Assigning new users stays on the user-centric permission
1510
854
  * flow (`UserBranchPermissionDialogComponent`) — this dialog intentionally
1511
855
  * has no "add" affordance.
1512
856
  */
1513
- declare class BranchPermittedUsersDialogComponent {
1514
- readonly USER_PERMISSIONS: {
1515
- readonly CREATE: "user.create";
1516
- readonly READ: "user.read";
1517
- readonly UPDATE: "user.update";
1518
- readonly DELETE: "user.delete";
1519
- readonly LOOKUP: "user.lookup";
857
+ export declare class BranchPermittedUsersDialogComponent {
858
+ readonly USER_PERMISSIONS: {
859
+ readonly CREATE: "user.create";
860
+ readonly READ: "user.read";
861
+ readonly UPDATE: "user.update";
862
+ readonly DELETE: "user.delete";
863
+ readonly LOOKUP: "user.lookup";
864
+ };
865
+ private readonly permissionApi;
866
+ private readonly confirmationService;
867
+ private readonly messageService;
868
+ private readonly translateAdapter;
869
+ private t;
870
+ readonly visible: import("@angular/core").InputSignal<boolean>;
871
+ readonly branch: import("@angular/core").InputSignal<IBranch | null>;
872
+ readonly closed: import("@angular/core").OutputEmitterRef<void>;
873
+ readonly isLoading: import("@angular/core").WritableSignal<boolean>;
874
+ readonly isRemoving: import("@angular/core").WritableSignal<boolean>;
875
+ readonly users: import("@angular/core").WritableSignal<IBranchPermittedUser[]>;
876
+ constructor();
877
+ private loadUsers;
878
+ onRemove(user: IBranchPermittedUser): void;
879
+ onClose(): void;
880
+ static ɵfac: i0.ɵɵFactoryDeclaration<BranchPermittedUsersDialogComponent, never>;
881
+ static ɵcmp: i0.ɵɵComponentDeclaration<BranchPermittedUsersDialogComponent, "lib-branch-permitted-users-dialog", never, {
882
+ "visible": {
883
+ "alias": "visible";
884
+ "required": true;
885
+ "isSignal": true;
886
+ };
887
+ "branch": {
888
+ "alias": "branch";
889
+ "required": true;
890
+ "isSignal": true;
1520
891
  };
1521
- private readonly permissionApi;
1522
- private readonly confirmationService;
1523
- private readonly messageService;
1524
- private readonly translateAdapter;
1525
- private t;
1526
- readonly visible: _angular_core.InputSignal<boolean>;
1527
- readonly branch: _angular_core.InputSignal<IBranch | null>;
1528
- readonly closed: _angular_core.OutputEmitterRef<void>;
1529
- readonly isLoading: _angular_core.WritableSignal<boolean>;
1530
- readonly isRemoving: _angular_core.WritableSignal<boolean>;
1531
- readonly users: _angular_core.WritableSignal<IBranchPermittedUser[]>;
1532
- constructor();
1533
- private loadUsers;
1534
- onRemove(user: IBranchPermittedUser): void;
1535
- onClose(): void;
1536
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BranchPermittedUsersDialogComponent, never>;
1537
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BranchPermittedUsersDialogComponent, "lib-branch-permitted-users-dialog", never, { "visible": { "alias": "visible"; "required": true; "isSignal": true; }; "branch": { "alias": "branch"; "required": true; "isSignal": true; }; }, { "closed": "closed"; }, never, never, true, never>;
1538
- }
1539
-
892
+ }, {
893
+ "closed": "closed";
894
+ }, never, never, true, never>;
895
+ }
1540
896
  /**
1541
897
  * Read-only viewer for users permitted against a company, with a remove-only
1542
898
  * action per user. Assigning new users stays on the user-centric permission
1543
899
  * flow (`UserCompanyPermissionDialogComponent`) — this dialog intentionally
1544
900
  * has no "add" affordance.
1545
901
  */
1546
- declare class CompanyPermittedUsersDialogComponent {
1547
- readonly USER_PERMISSIONS: {
1548
- readonly CREATE: "user.create";
1549
- readonly READ: "user.read";
1550
- readonly UPDATE: "user.update";
1551
- readonly DELETE: "user.delete";
1552
- readonly LOOKUP: "user.lookup";
902
+ export declare class CompanyPermittedUsersDialogComponent {
903
+ readonly USER_PERMISSIONS: {
904
+ readonly CREATE: "user.create";
905
+ readonly READ: "user.read";
906
+ readonly UPDATE: "user.update";
907
+ readonly DELETE: "user.delete";
908
+ readonly LOOKUP: "user.lookup";
909
+ };
910
+ private readonly permissionApi;
911
+ private readonly confirmationService;
912
+ private readonly messageService;
913
+ private readonly translateAdapter;
914
+ private t;
915
+ readonly visible: import("@angular/core").InputSignal<boolean>;
916
+ readonly company: import("@angular/core").InputSignal<ICompany | null>;
917
+ readonly closed: import("@angular/core").OutputEmitterRef<void>;
918
+ readonly isLoading: import("@angular/core").WritableSignal<boolean>;
919
+ readonly isRemoving: import("@angular/core").WritableSignal<boolean>;
920
+ readonly users: import("@angular/core").WritableSignal<ICompanyPermittedUser[]>;
921
+ constructor();
922
+ private loadUsers;
923
+ onRemove(user: ICompanyPermittedUser): void;
924
+ onClose(): void;
925
+ static ɵfac: i0.ɵɵFactoryDeclaration<CompanyPermittedUsersDialogComponent, never>;
926
+ static ɵcmp: i0.ɵɵComponentDeclaration<CompanyPermittedUsersDialogComponent, "lib-company-permitted-users-dialog", never, {
927
+ "visible": {
928
+ "alias": "visible";
929
+ "required": true;
930
+ "isSignal": true;
1553
931
  };
1554
- private readonly permissionApi;
1555
- private readonly confirmationService;
1556
- private readonly messageService;
1557
- private readonly translateAdapter;
1558
- private t;
1559
- readonly visible: _angular_core.InputSignal<boolean>;
1560
- readonly company: _angular_core.InputSignal<ICompany | null>;
1561
- readonly closed: _angular_core.OutputEmitterRef<void>;
1562
- readonly isLoading: _angular_core.WritableSignal<boolean>;
1563
- readonly isRemoving: _angular_core.WritableSignal<boolean>;
1564
- readonly users: _angular_core.WritableSignal<ICompanyPermittedUser[]>;
1565
- constructor();
1566
- private loadUsers;
1567
- onRemove(user: ICompanyPermittedUser): void;
1568
- onClose(): void;
1569
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CompanyPermittedUsersDialogComponent, never>;
1570
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CompanyPermittedUsersDialogComponent, "lib-company-permitted-users-dialog", never, { "visible": { "alias": "visible"; "required": true; "isSignal": true; }; "company": { "alias": "company"; "required": true; "isSignal": true; }; }, { "closed": "closed"; }, never, never, true, never>;
1571
- }
1572
-
1573
- declare class SocialLoginButtonsComponent {
1574
- private readonly destroyRef;
1575
- private readonly socialApi;
1576
- private readonly messageService;
1577
- private readonly platform;
1578
- private readonly document;
1579
- private readonly translateAdapter;
1580
- readonly returnUrl: _angular_core.InputSignal<string>;
1581
- readonly providerEnum: typeof SocialProviderEnum;
1582
- private readonly _providers;
1583
- readonly providers: _angular_core.Signal<ISocialProviderInfo[]>;
1584
- private readonly _pendingProvider;
1585
- readonly pendingProvider: _angular_core.Signal<SocialProviderEnum | null>;
1586
- readonly showLabels: _angular_core.Signal<boolean>;
1587
- readonly layoutClass: _angular_core.Signal<"grid grid-cols-1" | "grid grid-cols-2 gap-3" | "flex flex-wrap justify-center gap-3">;
1588
- constructor();
1589
- onSelect(provider: SocialProviderEnum): void;
1590
- protected redirectTo(url: string): void;
1591
- private translate;
1592
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SocialLoginButtonsComponent, never>;
1593
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SocialLoginButtonsComponent, "lib-social-login-buttons", never, { "returnUrl": { "alias": "returnUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1594
- }
1595
-
932
+ "company": {
933
+ "alias": "company";
934
+ "required": true;
935
+ "isSignal": true;
936
+ };
937
+ }, {
938
+ "closed": "closed";
939
+ }, never, never, true, never>;
940
+ }
941
+ export declare class SocialLoginButtonsComponent {
942
+ private readonly destroyRef;
943
+ private readonly socialApi;
944
+ private readonly messageService;
945
+ private readonly platform;
946
+ private readonly document;
947
+ private readonly translateAdapter;
948
+ readonly returnUrl: import("@angular/core").InputSignal<string>;
949
+ readonly providerEnum: typeof SocialProviderEnum;
950
+ private readonly _providers;
951
+ readonly providers: import("@angular/core").Signal<ISocialProviderInfo[]>;
952
+ private readonly _pendingProvider;
953
+ readonly pendingProvider: import("@angular/core").Signal<SocialProviderEnum | null>;
954
+ readonly showLabels: import("@angular/core").Signal<boolean>;
955
+ readonly layoutClass: import("@angular/core").Signal<"grid grid-cols-1" | "grid grid-cols-2 gap-3" | "flex flex-wrap justify-center gap-3">;
956
+ constructor();
957
+ onSelect(provider: SocialProviderEnum): void;
958
+ protected redirectTo(url: string): void;
959
+ private translate;
960
+ static ɵfac: i0.ɵɵFactoryDeclaration<SocialLoginButtonsComponent, never>;
961
+ static ɵcmp: i0.ɵɵComponentDeclaration<SocialLoginButtonsComponent, "lib-social-login-buttons", never, {
962
+ "returnUrl": {
963
+ "alias": "returnUrl";
964
+ "required": false;
965
+ "isSignal": true;
966
+ };
967
+ }, {}, never, never, true, never>;
968
+ }
1596
969
  interface BranchWithAssignment extends IBranch {
970
+ isAssigned: boolean;
971
+ }
972
+ export declare class UserBranchPermissionDialogComponent {
973
+ private readonly branchApi;
974
+ private readonly permissionApi;
975
+ private readonly messageService;
976
+ private readonly translateAdapter;
977
+ private t;
978
+ readonly visible: import("@angular/core").InputSignal<boolean>;
979
+ readonly user: import("@angular/core").InputSignal<IUser | null>;
980
+ readonly closed: import("@angular/core").OutputEmitterRef<void>;
981
+ readonly permissionsChanged: import("@angular/core").OutputEmitterRef<void>;
982
+ readonly isSaving: import("@angular/core").WritableSignal<boolean>;
983
+ readonly selectedCompanyId: import("@angular/core").WritableSignal<string | null>;
984
+ readonly companiesResource: import("@angular/core").ResourceRef<{
985
+ id: string;
986
+ name: string;
987
+ }[] | undefined>;
988
+ readonly branchesResource: import("@angular/core").ResourceRef<{
1597
989
  isAssigned: boolean;
990
+ id: string;
991
+ name: string;
992
+ slug: string;
993
+ companyId: string;
994
+ parentId?: string | null;
995
+ logoId?: string | null;
996
+ address?: string | null;
997
+ phone?: string | null;
998
+ email?: string | null;
999
+ serial?: number;
1000
+ isActive: boolean;
1001
+ readOnly: boolean;
1002
+ additionalFields?: Record<string, unknown> | null;
1003
+ createdAt: Date | string;
1004
+ updatedAt: Date | string;
1005
+ }[] | undefined>;
1006
+ readonly branchRows: import("@angular/core").Signal<{
1007
+ parentPath: string;
1008
+ branch: {
1009
+ isAssigned: boolean;
1010
+ id: string;
1011
+ name: string;
1012
+ slug: string;
1013
+ companyId: string;
1014
+ parentId?: string | null;
1015
+ logoId?: string | null;
1016
+ address?: string | null;
1017
+ phone?: string | null;
1018
+ email?: string | null;
1019
+ serial?: number;
1020
+ isActive: boolean;
1021
+ readOnly: boolean;
1022
+ additionalFields?: Record<string, unknown> | null;
1023
+ createdAt: Date | string;
1024
+ updatedAt: Date | string;
1025
+ };
1026
+ depth: number;
1027
+ hasChildren: boolean;
1028
+ }[]>;
1029
+ readonly isInitialLoading: import("@angular/core").Signal<boolean>;
1030
+ onBranchToggle(branch: BranchWithAssignment, isAssigned: boolean): Promise<void>;
1031
+ onClose(): void;
1032
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserBranchPermissionDialogComponent, never>;
1033
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserBranchPermissionDialogComponent, "lib-user-branch-permission-dialog", never, {
1034
+ "visible": {
1035
+ "alias": "visible";
1036
+ "required": true;
1037
+ "isSignal": true;
1038
+ };
1039
+ "user": {
1040
+ "alias": "user";
1041
+ "required": true;
1042
+ "isSignal": true;
1043
+ };
1044
+ }, {
1045
+ "closed": "closed";
1046
+ "permissionsChanged": "permissionsChanged";
1047
+ }, never, never, true, never>;
1598
1048
  }
1599
- declare class UserBranchPermissionDialogComponent {
1600
- private readonly branchApi;
1601
- private readonly permissionApi;
1602
- private readonly messageService;
1603
- private readonly translateAdapter;
1604
- private t;
1605
- readonly visible: _angular_core.InputSignal<boolean>;
1606
- readonly user: _angular_core.InputSignal<IUser | null>;
1607
- readonly closed: _angular_core.OutputEmitterRef<void>;
1608
- readonly permissionsChanged: _angular_core.OutputEmitterRef<void>;
1609
- readonly isSaving: _angular_core.WritableSignal<boolean>;
1610
- readonly selectedCompanyId: _angular_core.WritableSignal<string | null>;
1611
- readonly companiesResource: _angular_core.ResourceRef<{
1612
- id: string;
1613
- name: string;
1614
- }[] | undefined>;
1615
- readonly branchesResource: _angular_core.ResourceRef<{
1616
- isAssigned: boolean;
1617
- id: string;
1618
- name: string;
1619
- slug: string;
1620
- companyId: string;
1621
- parentId?: string | null;
1622
- logoId?: string | null;
1623
- address?: string | null;
1624
- phone?: string | null;
1625
- email?: string | null;
1626
- serial?: number;
1627
- isActive: boolean;
1628
- readOnly: boolean;
1629
- additionalFields?: Record<string, unknown> | null;
1630
- createdAt: Date | string;
1631
- updatedAt: Date | string;
1632
- }[] | undefined>;
1633
- readonly isInitialLoading: _angular_core.Signal<boolean>;
1634
- onBranchToggle(branch: BranchWithAssignment, isAssigned: boolean): Promise<void>;
1635
- onClose(): void;
1636
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserBranchPermissionDialogComponent, never>;
1637
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserBranchPermissionDialogComponent, "lib-user-branch-permission-dialog", never, { "visible": { "alias": "visible"; "required": true; "isSignal": true; }; "user": { "alias": "user"; "required": true; "isSignal": true; }; }, { "closed": "closed"; "permissionsChanged": "permissionsChanged"; }, never, never, true, never>;
1638
- }
1639
-
1640
1049
  interface CompanyWithAssignment extends ICompany {
1641
- isAssigned: boolean;
1642
- }
1643
- declare class UserCompanyPermissionDialogComponent {
1644
- private readonly companyApi;
1645
- private readonly permissionApi;
1646
- private readonly messageService;
1647
- private readonly translateAdapter;
1648
- private t;
1649
- readonly visible: _angular_core.InputSignal<boolean>;
1650
- readonly user: _angular_core.InputSignal<IUser | null>;
1651
- readonly closed: _angular_core.OutputEmitterRef<void>;
1652
- readonly permissionsChanged: _angular_core.OutputEmitterRef<void>;
1653
- readonly isLoading: _angular_core.WritableSignal<boolean>;
1654
- readonly isSaving: _angular_core.WritableSignal<boolean>;
1655
- readonly companies: _angular_core.WritableSignal<CompanyWithAssignment[]>;
1656
- private assignedCompanyIds;
1657
- constructor();
1658
- private loadData;
1659
- onCompanyToggle(company: CompanyWithAssignment, isAssigned: boolean): Promise<void>;
1660
- onClose(): void;
1661
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserCompanyPermissionDialogComponent, never>;
1662
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserCompanyPermissionDialogComponent, "lib-user-company-permission-dialog", never, { "visible": { "alias": "visible"; "required": true; "isSignal": true; }; "user": { "alias": "user"; "required": true; "isSignal": true; }; }, { "closed": "closed"; "permissionsChanged": "permissionsChanged"; }, never, never, true, never>;
1663
- }
1664
-
1665
- export { ADMINISTRATION_ROUTES, AUTH_ENDPOINTS, AUTH_MESSAGES, AUTH_PROFILE_EXTENSION, AUTH_REGISTRATION_EXTENSION, AUTH_ROUTES, AUTH_USER_DETAIL_CONFIG, AUTH_USER_FORM_EXTENSION, AUTH_USER_LIST_EXTENSION, AUTH_VALIDATION_CONFIG, AdministrationPageComponent, AuthApiService, AuthCompanyApiProviderAdapter, AuthInitService, AuthLayoutApiAdapter, AuthLayoutStateAdapter, AuthStateProviderAdapter, AuthStateService, AuthUserPermissionProviderAdapter, AuthUserProviderAdapter, BranchApiService, BranchFormComponent, BranchListComponent, BranchPermittedUsersDialogComponent, CompanyApiService, CompanyFormComponent, CompanyListComponent, CompanyPermittedUsersDialogComponent, DEFAULT_PASSWORD_VALIDATION, EmailPolicyService, ForgotPasswordPageComponent, LoginPageComponent, PROFILE_FIELD_CONTEXT, PROFILE_ROUTES, PasswordPolicyService, ProfilePageComponent, REGISTRATION_FIELD_CONTEXT, RegisterPageComponent, ResetPasswordPageComponent, SOCIAL_PROVIDERS, SOCIAL_RETURN_URL_KEY, SocialAuthApiService, SocialAuthConfigApiService, SocialCallbackPageComponent, SocialConfigPageComponent, SocialLoginButtonsComponent, SocialProviderEnum, TokenRefreshStateService, USER_FORM_FIELD_CONTEXT, UserApiService, UserBranchPermissionDialogComponent, UserCompanyPermissionDialogComponent, UserFormComponent, UserListComponent, UserPermissionApiService, VerifyEmailPageComponent, authGuard, authInterceptor, companyFeatureGuard, emailFeatureGuard, guestGuard, isCompanySelectionResponse, isEmailVerificationRequired, isEndpoint, isLoginResponse, provideAuthLayoutIntegration, provideAuthProviders, resolvePasswordValidation, signUpFeatureGuard, tokenRefreshInterceptor, validateEmail, validatePassword };
1666
- export type { AuthResponse, IAssignUserBranchRequest, IAssignUserCompanyRequest, IAuthValidationConfig, IBranch, IBranchInfo, IBranchPermittedUser, IBranchSelectionInfo, IChangePasswordRequest, ICompany, ICompanyInfo, ICompanyPermittedUser, ICompanySelectionData, ICompanySelectionResponse, ICompanyWithBranches, ICreateBranchRequest, ICreateCompanyRequest, ICreateSocialAuthConfigDto, ICreateUserRequest, IEmailValidationConfig, IEmailVerificationData, ILoginData, ILoginRequest, ILoginRequiresEmailVerification, ILoginResponse, IMeData, IMeResponse, IPasswordValidationConfig, IPermissionItem, IProfileExtensionProvider, IProfileExtraField, IProfileExtraSection, IProfileFieldTemplateContext, IRefreshTokenResponse, IRegistrationData, IRegistrationExtensionProvider, IRegistrationExtraField, IRegistrationFieldTemplateContext, IRegistrationRequest, IRegistrationResponse, ISelectRequest, ISocialAuthConfig, ISocialAuthorization, ISocialCallbackRequest, ISocialProviderInfo, ISwitchCompanyRequest, IUpdateBranchRequest, IUpdateCompanyRequest, IUpdateSocialAuthConfigDto, IUpdateUserRequest, IUser, IUserBranchPermission, IUserCompanyPermission, IUserDetailViewConfig, IUserFormExtensionProvider, IUserFormExtraField, IUserFormFieldTemplateContext, IUserInfo, IUserListExtensionProvider, IUserListExtraAction, IUserListExtraColumn, UserDetailViewMode };
1050
+ isAssigned: boolean;
1051
+ }
1052
+ export declare class UserCompanyPermissionDialogComponent {
1053
+ private readonly companyApi;
1054
+ private readonly permissionApi;
1055
+ private readonly messageService;
1056
+ private readonly translateAdapter;
1057
+ private t;
1058
+ readonly visible: import("@angular/core").InputSignal<boolean>;
1059
+ readonly user: import("@angular/core").InputSignal<IUser | null>;
1060
+ readonly closed: import("@angular/core").OutputEmitterRef<void>;
1061
+ readonly permissionsChanged: import("@angular/core").OutputEmitterRef<void>;
1062
+ readonly isLoading: import("@angular/core").WritableSignal<boolean>;
1063
+ readonly isSaving: import("@angular/core").WritableSignal<boolean>;
1064
+ readonly companies: import("@angular/core").WritableSignal<CompanyWithAssignment[]>;
1065
+ private assignedCompanyIds;
1066
+ constructor();
1067
+ private loadData;
1068
+ onCompanyToggle(company: CompanyWithAssignment, isAssigned: boolean): Promise<void>;
1069
+ onClose(): void;
1070
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserCompanyPermissionDialogComponent, never>;
1071
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserCompanyPermissionDialogComponent, "lib-user-company-permission-dialog", never, {
1072
+ "visible": {
1073
+ "alias": "visible";
1074
+ "required": true;
1075
+ "isSignal": true;
1076
+ };
1077
+ "user": {
1078
+ "alias": "user";
1079
+ "required": true;
1080
+ "isSignal": true;
1081
+ };
1082
+ }, {
1083
+ "closed": "closed";
1084
+ "permissionsChanged": "permissionsChanged";
1085
+ }, never, never, true, never>;
1086
+ }