@codex-ts/core-lib 1.1.4 → 1.1.6

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 (46) hide show
  1. package/README.md +362 -33
  2. package/fesm2022/codex-ts-core-lib.mjs +4169 -2729
  3. package/fesm2022/codex-ts-core-lib.mjs.map +1 -1
  4. package/lib/components/base-form.component.d.ts +3 -4
  5. package/lib/components/base-page.component.d.ts +2 -1
  6. package/lib/components/base-tabbed-form.component.d.ts +3 -4
  7. package/lib/components/base-table.component.d.ts +1 -0
  8. package/lib/components/base-task-dashboard.component.d.ts +16 -15
  9. package/lib/components/base-task-details.component.d.ts +4 -5
  10. package/lib/components/formly/field.interface.d.ts +34 -0
  11. package/lib/components/formly/form-field.wrapper.d.ts +6 -6
  12. package/lib/components/formly/formly.constants.d.ts +1 -0
  13. package/lib/components/formly/primeng-formly.module.d.ts +19 -0
  14. package/lib/components/formly/types/file-upload.type.d.ts +58 -0
  15. package/lib/components/formly/types/radio.type.d.ts +5 -0
  16. package/lib/components/formly/types/text-input.type.d.ts +10 -1
  17. package/lib/components/keycloak-error-banner/keycloak-error-page.component.d.ts +6 -0
  18. package/lib/components/not-found/not-found.component.d.ts +11 -0
  19. package/lib/components/unauthorized/unauthorized.component.d.ts +12 -0
  20. package/lib/keycloak/keycloak-service.token.d.ts +3 -0
  21. package/lib/keycloak/keycloak.guard.d.ts +1 -0
  22. package/lib/keycloak/keycloak.interface.d.ts +21 -0
  23. package/lib/keycloak/keycloak.service.d.ts +24 -3
  24. package/lib/models/base-task.model.d.ts +3 -6
  25. package/lib/models/base.comment.model.d.ts +5 -0
  26. package/lib/models/base.entity.model.d.ts +39 -0
  27. package/lib/models/base.model.d.ts +0 -44
  28. package/lib/models/department.interface.d.ts +4 -0
  29. package/lib/models/pagination/filter-criteria.interface.d.ts +3 -0
  30. package/lib/models/pagination/table-column-datatype.enum.d.ts +6 -0
  31. package/lib/models/reference-dto.interface.d.ts +5 -0
  32. package/lib/models/workflow.model.d.ts +18 -0
  33. package/lib/services/base-entity.service.d.ts +80 -0
  34. package/lib/services/base-error.service.d.ts +24 -0
  35. package/lib/services/base-task.service.d.ts +14 -19
  36. package/lib/services/entity-registry.service.d.ts +21 -0
  37. package/lib/services/entity-service.interface.d.ts +22 -0
  38. package/lib/services/form.service.d.ts +7 -8
  39. package/lib/services/http-utility.service.d.ts +15 -0
  40. package/lib/services/master-data-service.interface.d.ts +5 -0
  41. package/lib/services/task-entity-service.interface.d.ts +21 -0
  42. package/lib/validators/common-validators.d.ts +61 -0
  43. package/package.json +2 -2
  44. package/public-api.d.ts +51 -33
  45. package/lib/services/base-crud.service.d.ts +0 -36
  46. package/lib/services/entity.service.d.ts +0 -9
@@ -0,0 +1,80 @@
1
+ import { Observable } from 'rxjs';
2
+ import { HttpUtilityService } from './http-utility.service';
3
+ import { UtilsService } from './utils.service';
4
+ import { MessageService } from 'primeng/api';
5
+ import { Page } from '../models/pagination/page.interface';
6
+ import { PageRequest } from '../models/pagination/page-request.interface';
7
+ import { EntityService } from './entity-service.interface';
8
+ import { ReferenceDto } from '../models/reference-dto.interface';
9
+ import { BaseModel } from '../models/base.model';
10
+ export declare abstract class BaseEntityService<T extends BaseModel> implements EntityService<T> {
11
+ protected httpUtility: HttpUtilityService;
12
+ protected utilsService: UtilsService;
13
+ protected resourcePath: string;
14
+ protected backendBaseUrl: string;
15
+ protected messageService: MessageService | undefined;
16
+ get loading$(): Observable<boolean>;
17
+ protected apiUrl: string;
18
+ /**
19
+ * Creates an instance of BaseCrudService.
20
+ * @param httpUtility - Service for making HTTP requests
21
+ * @param utilsService - Utility service for common operations
22
+ * @param resourcePath - API resource path (e.g., 'customers', 'products')
23
+ * @param backendBaseUrl - Base URL for the backend API
24
+ * @param messageService - Optional service for showing messages
25
+ */
26
+ protected constructor(httpUtility: HttpUtilityService, utilsService: UtilsService, resourcePath: string, backendBaseUrl: string, messageService: MessageService | undefined);
27
+ /**
28
+ * Find entities by createdBy with pagination using PageRequest and filters.
29
+ * POST /page with { ...pageRequest, filters: [{ field: 'createdBy', value: createdBy }] }
30
+ */
31
+ findByCreatedBy(createdBy: string, pageRequest?: PageRequest): Observable<Page<T>>;
32
+ /**
33
+ * Get all entities with pagination.
34
+ * POST /page with pageRequest
35
+ */
36
+ getAll(pageRequest?: PageRequest): Observable<Page<T>>;
37
+ /**
38
+ * Joins URL parts ensuring no double slashes
39
+ */
40
+ private joinUrls;
41
+ getById(uuid: string): Observable<T>;
42
+ create(entity: Omit<T, 'uuid'>): Observable<T>;
43
+ update(uuid: string, entity: Omit<T, 'uuid'>): Observable<T>;
44
+ delete(uuid: string): Observable<void>;
45
+ /**
46
+ * Get all entities without pagination.
47
+ * GET /
48
+ */
49
+ findAll(): Observable<T[]>;
50
+ /**
51
+ * Get detailed entity information by UUID.
52
+ * GET /{uuid}/detailed
53
+ */
54
+ findDetailedByUuid(uuid: string): Observable<T>;
55
+ /**
56
+ * Partially update an entity with the specified field values.
57
+ * PATCH /{uuid}
58
+ */
59
+ patch(uuid: string, updates: Partial<T>): Observable<T>;
60
+ /**
61
+ * Get all entities as reference data.
62
+ * GET /reference
63
+ */
64
+ findAllReference(): Observable<ReferenceDto[]>;
65
+ /**
66
+ * Get paginated reference data.
67
+ * POST /reference/page
68
+ */
69
+ findAllReferencePaginated(pageRequest?: PageRequest): Observable<Page<ReferenceDto>>;
70
+ /**
71
+ * Get all entities with filters (non-paginated).
72
+ * GET /search?field=value&...
73
+ */
74
+ findAllWithFilters(filters: Record<string, string>): Observable<T[]>;
75
+ /**
76
+ * Get a single entity by filters (non-paginated).
77
+ * GET /search-one?field=value&...
78
+ */
79
+ findOneWithFilters(filters: Record<string, string>): Observable<T | null>;
80
+ }
@@ -0,0 +1,24 @@
1
+ import { InjectionToken, Signal } from '@angular/core';
2
+ import { HttpErrorResponse } from '@angular/common/http';
3
+ import * as i0 from "@angular/core";
4
+ export interface ErrorState {
5
+ type: string;
6
+ message: string;
7
+ code?: string | number;
8
+ [key: string]: any;
9
+ }
10
+ export declare class BaseErrorService {
11
+ private readonly _error;
12
+ private readonly router;
13
+ private readonly messageService;
14
+ get error(): Signal<ErrorState | null>;
15
+ /**
16
+ * Handle HTTP and other errors in the application
17
+ */
18
+ handleError(error: HttpErrorResponse | Error): void;
19
+ setError(error: ErrorState): void;
20
+ clearError(): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseErrorService, never>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<BaseErrorService>;
23
+ }
24
+ export declare const ERROR_SERVICE: InjectionToken<BaseErrorService>;
@@ -3,38 +3,33 @@ import { HttpUtilityService } from './http-utility.service';
3
3
  import { UtilsService } from './utils.service';
4
4
  import { MessageService } from 'primeng/api';
5
5
  import { Page } from '../models/pagination/page.interface';
6
- import { PageRequest } from '../models/pagination/page-request.interface';
7
- import { BaseCrudService } from './base-crud.service';
6
+ import { BaseEntityService } from './base-entity.service';
7
+ import { KeycloakService } from '../keycloak/keycloak.service';
8
+ import { BaseTask } from '../models/base-task.model';
9
+ import { TaskEntityService } from './task-entity-service.interface';
8
10
  import * as i0 from "@angular/core";
9
11
  /**
10
12
  * Base service for task-related operations that extends the BaseCrudService.
11
13
  * Implements endpoints defined in Java BaseTaskController.
12
14
  */
13
- export declare abstract class BaseTaskService<T extends {
14
- uuid: string;
15
- }> extends BaseCrudService<T> {
15
+ export declare abstract class BaseTaskService<T extends BaseTask, AU = any, S extends string = string, E extends string = string> extends BaseEntityService<T> implements TaskEntityService<T, S, E> {
16
16
  protected httpUtility: HttpUtilityService;
17
17
  protected utilsService: UtilsService;
18
18
  protected resourcePath: string;
19
19
  protected backendBaseUrl: string;
20
20
  protected messageService: MessageService | undefined;
21
- constructor(httpUtility: HttpUtilityService, utilsService: UtilsService, resourcePath: string, backendBaseUrl: string, messageService: MessageService | undefined);
22
- /**
23
- * Find tasks by department with pagination
24
- * Maps to GET /department/{department} endpoint
25
- */
26
- findByDepartment(department: string, pageRequest?: PageRequest): Observable<Page<T>>;
27
- /**
28
- * Find tasks by assigned user with pagination
29
- * Maps to GET /user/{userId} endpoint
30
- */
31
- findByAssignedUser(userId: string, pageRequest?: PageRequest): Observable<Page<T>>;
21
+ readonly keycloakService: KeycloakService;
22
+ constructor(httpUtility: HttpUtilityService, utilsService: UtilsService, resourcePath: string, backendBaseUrl: string, messageService: MessageService | undefined, keycloakService: KeycloakService);
32
23
  /**
33
24
  * Send an event for a task
34
25
  * Maps to PUT /{uuid}/event/{event} endpoint
35
26
  * For ASSIGN events, userId and department are required
36
27
  */
37
- sendEvent(uuid: string, event: string, userId?: string, department?: string): Observable<T>;
38
- static ɵfac: i0.ɵɵFactoryDeclaration<BaseTaskService<any>, never>;
39
- static ɵprov: i0.ɵɵInjectableDeclaration<BaseTaskService<any>>;
28
+ sendEvent(uuid: string, event: E, userId?: string, department?: string): Observable<T>;
29
+ /**
30
+ * Calls POST /current-assignees-in endpoint to fetch tasks by assignees with pagination.
31
+ */
32
+ getByCurrentAssigneesIn(assigneeIds: string[], pageable?: any): Observable<Page<T>>;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseTaskService<any, any, any, any>, never>;
34
+ static ɵprov: i0.ɵɵInjectableDeclaration<BaseTaskService<any, any, any, any>>;
40
35
  }
@@ -0,0 +1,21 @@
1
+ import { Observable } from 'rxjs';
2
+ import { HttpUtilityService } from './http-utility.service';
3
+ import { ReferenceDataProviderService } from './reference-data-provider.service';
4
+ import * as i0 from "@angular/core";
5
+ export declare class EntityRegistryService {
6
+ private httpUtility;
7
+ private dataProvider;
8
+ constructor(httpUtility: HttpUtilityService, dataProvider: ReferenceDataProviderService);
9
+ /**
10
+ * Gets reference options for an entity, suitable for select/dropdown components
11
+ * @param entityName The name of the entity (e.g., 'customers', 'departments')
12
+ * @returns Observable of options array with label/value pairs
13
+ */
14
+ getEntityOptions(entityName: string): Observable<{
15
+ label: string;
16
+ value: string;
17
+ data?: any;
18
+ }[]>;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<EntityRegistryService, never>;
20
+ static ɵprov: i0.ɵɵInjectableDeclaration<EntityRegistryService>;
21
+ }
@@ -0,0 +1,22 @@
1
+ import { Observable } from 'rxjs';
2
+ import { Page } from '../models/pagination/page.interface';
3
+ import { PageRequest } from '../models/pagination/page-request.interface';
4
+ import { ReferenceDto } from '../models/reference-dto.interface';
5
+ import { BaseModel } from '../models/base.model';
6
+ /**
7
+ * Base interface for CRUD operations that all entity services must implement
8
+ * @template T - The entity type
9
+ */
10
+ export interface EntityService<T extends BaseModel> {
11
+ create(data: Omit<T, 'uuid'>): Observable<T>;
12
+ update(uuid: string, data: Omit<T, 'uuid'>): Observable<T>;
13
+ delete(uuid: string): Observable<void>;
14
+ getById(uuid: string): Observable<T>;
15
+ getAll(pageRequest?: PageRequest): Observable<Page<T>>;
16
+ findAll(): Observable<T[]>;
17
+ findAllReference(): Observable<ReferenceDto[]>;
18
+ findAllReferencePaginated(pageRequest?: PageRequest): Observable<Page<ReferenceDto>>;
19
+ findByCreatedBy(createdBy: string, pageRequest?: PageRequest): Observable<Page<T>>;
20
+ patch(uuid: string, updates: Partial<T>): Observable<T>;
21
+ findDetailedByUuid(uuid: string): Observable<T>;
22
+ }
@@ -1,20 +1,22 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { PageMode } from '../constants/app.constants';
3
3
  import { FormComponentState } from '../states/form-component.state';
4
- import { EntityService } from './entity.service';
4
+ import { EntityService } from './entity-service.interface';
5
5
  import { FormlyConfigService } from './formly-config.service';
6
6
  import { NotificationService } from './notification.service';
7
- export declare class FormService<T extends {
8
- uuid: string;
9
- }> {
7
+ import { BaseModel } from '../models/base.model';
8
+ export declare class FormService<T extends BaseModel> {
10
9
  private entityService;
11
10
  private formlyConfigService;
12
11
  private notificationService;
13
12
  private entityName;
14
13
  private jsonFields;
15
14
  private dropdownOptions;
16
- protected formState: FormComponentState<T>;
15
+ formState: FormComponentState<T>;
17
16
  constructor(entityService: EntityService<T>, formlyConfigService: FormlyConfigService, notificationService: NotificationService, entityName: string, jsonFields: any, dropdownOptions?: Record<string, any>);
17
+ private handleFormChange;
18
+ private updateState;
19
+ private calculateHasChanges;
18
20
  private initializeForm;
19
21
  private getFormlyFieldConfig;
20
22
  loadData(uuid?: string): Observable<void>;
@@ -25,7 +27,4 @@ export declare class FormService<T extends {
25
27
  setMode(mode: PageMode): void;
26
28
  getState(): FormComponentState<T>;
27
29
  patchValue(value: Partial<T>): void;
28
- private updateCurrentData;
29
- private checkFormChanges;
30
- private hasFormChanges;
31
30
  }
@@ -61,6 +61,21 @@ export declare class HttpUtilityService {
61
61
  retries?: number;
62
62
  timeoutMs?: number;
63
63
  }): Observable<T>;
64
+ /**
65
+ * Perform a PATCH request with enhanced options
66
+ * @param url The endpoint URL
67
+ * @param body The request payload
68
+ * @param options Additional request options
69
+ * @returns An observable of the response
70
+ */
71
+ patch<T>(url: string, body: any, options?: {
72
+ params?: HttpParams | Record<string, string | number | boolean | readonly (string | number | boolean)[]>;
73
+ headers?: HttpHeaders | Record<string, string | string[]>;
74
+ responseType?: 'json';
75
+ withCredentials?: boolean;
76
+ retries?: number;
77
+ timeoutMs?: number;
78
+ }): Observable<T>;
64
79
  /**
65
80
  * Perform a DELETE request with enhanced options
66
81
  * @param url The endpoint URL
@@ -0,0 +1,5 @@
1
+ import { Observable } from 'rxjs';
2
+ import { IDepartment } from '../models/department.interface';
3
+ export interface MasterDataService {
4
+ getDepartments(): Observable<IDepartment[]>;
5
+ }
@@ -0,0 +1,21 @@
1
+ import { Observable } from "rxjs";
2
+ import { EntityService } from "./entity-service.interface";
3
+ import { BaseTask } from "../models/base-task.model";
4
+ /**
5
+ * Interface for task-specific operations
6
+ * @template T - The entity type (must extend BaseTaskModel)
7
+ * @template S - The status enum type (for task status)
8
+ * @template E - The event enum type (for task events)
9
+ */
10
+ export interface TaskEntityService<T extends BaseTask, S extends string = string, E extends string = string> extends EntityService<T> {
11
+ /**
12
+ * Send an event for a task.
13
+ * Maps to PUT /{uuid}/event/{event} endpoint.
14
+ * For ASSIGN events, userId and department are required.
15
+ * @param uuid The task UUID.
16
+ * @param event The event enum value.
17
+ * @param userId Optional user ID for assignment.
18
+ * @param department Optional department for assignment.
19
+ */
20
+ sendEvent(uuid: string, event: E, userId?: string, department?: string): Observable<T>;
21
+ }
@@ -0,0 +1,61 @@
1
+ import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';
2
+ import { FormlyFieldConfig } from '@ngx-formly/core';
3
+ /**
4
+ * Common Validators for form fields
5
+ */
6
+ export declare class CommonValidators {
7
+ /**
8
+ * Email validator pattern
9
+ * Matches standard email format with @ and domain
10
+ */
11
+ static readonly EMAIL_PATTERN: RegExp;
12
+ /**
13
+ * Indian mobile number validator pattern
14
+ * Matches 10-digit numbers, optionally starting with +91 or 0
15
+ */
16
+ static readonly MOBILE_PATTERN: RegExp;
17
+ /**
18
+ * PAN card validator pattern
19
+ * Format: AAAAA0000A (5 letters, 4 numbers, 1 letter)
20
+ */
21
+ static readonly PAN_PATTERN: RegExp;
22
+ /**
23
+ * Returns a validator function to check if the value matches the given pattern
24
+ * @param pattern - Regular expression to test
25
+ * @param errorMessage - Optional custom error message
26
+ */
27
+ static patternValidator(pattern: RegExp, errorMessage?: string): ValidatorFn;
28
+ /**
29
+ * Email validator function
30
+ */
31
+ static email(control: AbstractControl): ValidationErrors | null;
32
+ /**
33
+ * Mobile number validator function
34
+ */
35
+ static mobileNumber(control: AbstractControl): ValidationErrors | null;
36
+ /**
37
+ * PAN card validator function
38
+ */
39
+ static panCard(control: AbstractControl): ValidationErrors | null;
40
+ /**
41
+ * Generate formly validator configuration for email
42
+ */
43
+ static formlyEmailValidator(): {
44
+ expression: (fc: AbstractControl) => boolean;
45
+ message: (error: any, field: FormlyFieldConfig) => string;
46
+ };
47
+ /**
48
+ * Generate formly validator configuration for mobile number
49
+ */
50
+ static formlyMobileValidator(): {
51
+ expression: (fc: AbstractControl) => boolean;
52
+ message: (error: any, field: FormlyFieldConfig) => string;
53
+ };
54
+ /**
55
+ * Generate formly validator configuration for PAN card
56
+ */
57
+ static formlyPanValidator(): {
58
+ expression: (fc: AbstractControl) => boolean;
59
+ message: (error: any, field: FormlyFieldConfig) => string;
60
+ };
61
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codex-ts/core-lib",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "peerDependencies": {
@@ -26,4 +26,4 @@
26
26
  "default": "./fesm2022/codex-ts-core-lib.mjs"
27
27
  }
28
28
  }
29
- }
29
+ }
package/public-api.d.ts CHANGED
@@ -1,40 +1,58 @@
1
- export * from './lib/constants/app.constants';
2
- export * from './lib/constants/app.messages';
3
- export * from './lib/enums/component-context.enum';
4
- export * from './lib/enums/tabbed-form-type.enum';
5
- export * from './lib/enums/task-role.enum';
1
+ export * from './lib/components/base-form.component';
2
+ export * from './lib/components/base-list-page.component';
3
+ export * from './lib/components/base-list-tabbed-form.component';
4
+ export * from './lib/components/base-page.component';
5
+ export * from './lib/components/base-tabbed-form.component';
6
+ export * from './lib/components/base-table.component';
7
+ export * from './lib/components/base-task-dashboard.component';
8
+ export * from './lib/components/base-task-details.component';
9
+ export * from './lib/keycloak/keycloak-config.interface';
10
+ export * from './lib/keycloak/keycloak.interface';
11
+ export * from './lib/keycloak/keycloak-service.token';
12
+ export * from './lib/keycloak/keycloak.guard';
13
+ export * from './lib/keycloak/keycloak.providers';
14
+ export * from './lib/keycloak/keycloak.service';
15
+ export * from './lib/keycloak/keycloak.token';
16
+ export * from './lib/models/department.interface';
17
+ export * from './lib/services/master-data-service.interface';
18
+ export * from './lib/services/base-error.service';
19
+ export * from './lib/services/base-entity.service';
20
+ export * from './lib/services/base-task.service';
21
+ export * from './lib/services/entity-service.interface';
22
+ export * from './lib/services/task-entity-service.interface';
23
+ export * from './lib/services/entity-service.interface';
24
+ export * from './lib/services/entity-registry.service';
25
+ export * from './lib/services/enum-registry.service';
26
+ export * from './lib/services/form.service';
27
+ export * from './lib/services/formly-config.service';
28
+ export * from './lib/services/http-utility.service';
29
+ export * from './lib/services/notification.service';
30
+ export * from './lib/services/reference-data-provider.service';
31
+ export * from './lib/services/utils.service';
32
+ export * from './lib/pipes/indian-date.pipe';
6
33
  export * from './lib/models/base.model';
7
- export * from './lib/models/base-task.model';
8
34
  export * from './lib/models/base-request.model';
9
35
  export * from './lib/models/base-response.model';
36
+ export * from './lib/models/base-task.model';
37
+ export * from './lib/models/base.comment.model';
10
38
  export * from './lib/models/base-create-request.model';
11
39
  export * from './lib/models/base-update-request.model';
12
- export * from './lib/models/pagination/page.interface';
40
+ export * from './lib/models/pagination/filter-criteria.interface';
41
+ export * from './lib/models/pagination/table-column-datatype.enum';
13
42
  export * from './lib/models/pagination/page-request.interface';
14
- export { KEYCLOAK_CONFIG } from './lib/keycloak/keycloak.token';
15
- export * from './lib/keycloak/keycloak-config.interface';
16
- export * from './lib/keycloak/keycloak.service';
17
- export { provideKeycloak } from './lib/keycloak/keycloak.providers';
18
- export { KeycloakAuthGuard } from './lib/keycloak/keycloak.guard';
19
- export * from './lib/services/http-utility.service';
20
- export * from './lib/services/utils.service';
21
- export * from './lib/services/notification.service';
22
- export * from './lib/services/entity.service';
23
- export * from './lib/services/base-crud.service';
24
- export * from './lib/services/base-task.service';
25
- export * from './lib/services/formly-config.service';
26
- export * from './lib/services/form.service';
43
+ export * from './lib/models/pagination/page.interface';
44
+ export * from './lib/models/pagination/sort-criteria.interface';
45
+ export * from './lib/enums/component-context.enum';
46
+ export * from './lib/enums/tabbed-form-type.enum';
47
+ export * from './lib/enums/task-role.enum';
48
+ export * from './lib/constants/app.constants';
49
+ export * from './lib/constants/app.messages';
27
50
  export * from './lib/components/formly/core-formly.module';
28
- export * from './lib/components/base-form.component';
29
- export * from './lib/components/base-page.component';
30
- export * from './lib/components/base-list-page.component';
31
- export * from './lib/components/base-tabbed-form.component';
32
- export * from './lib/components/base-list-tabbed-form.component';
33
- export * from './lib/components/base-task-details.component';
34
- export * from './lib/components/base-task-dashboard.component';
35
- export * from './lib/states/form.state';
36
- export * from './lib/states/form-component.state';
37
- export * from './lib/states/tabbed-form.state';
38
- export * from './lib/states/list-tabbed-form.state';
39
- export * from './lib/services/reference-data-provider.service';
40
- export * from './lib/pipes/indian-date.pipe';
51
+ export * from './lib/components/formly/field.interface';
52
+ export * from './lib/components/formly/form-field.wrapper';
53
+ export * from './lib/components/formly/formly.constants';
54
+ export * from './lib/components/formly/primeng-formly.module';
55
+ export * from './lib/validators/common-validators';
56
+ export * from './lib/components/keycloak-error-banner/keycloak-error-page.component';
57
+ export * from './lib/components/not-found/not-found.component';
58
+ export * from './lib/components/unauthorized/unauthorized.component';
@@ -1,36 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { HttpUtilityService } from './http-utility.service';
3
- import { UtilsService } from './utils.service';
4
- import { MessageService } from 'primeng/api';
5
- import { Page } from '../models/pagination/page.interface';
6
- import { PageRequest } from '../models/pagination/page-request.interface';
7
- import { EntityService } from './entity.service';
8
- export declare abstract class BaseCrudService<T extends {
9
- uuid: string;
10
- }> implements EntityService<T> {
11
- protected httpUtility: HttpUtilityService;
12
- protected utilsService: UtilsService;
13
- protected resourcePath: string;
14
- protected backendBaseUrl: string;
15
- protected messageService: MessageService | undefined;
16
- get loading$(): Observable<boolean>;
17
- protected apiUrl: string;
18
- /**
19
- * Creates an instance of BaseCrudService.
20
- * @param httpUtility - Service for making HTTP requests
21
- * @param utilsService - Utility service for common operations
22
- * @param resourcePath - API resource path (e.g., 'customers', 'products')
23
- * @param backendBaseUrl - Base URL for the backend API
24
- * @param messageService - Optional service for showing messages
25
- */
26
- protected constructor(httpUtility: HttpUtilityService, utilsService: UtilsService, resourcePath: string, backendBaseUrl: string, messageService: MessageService | undefined);
27
- /**
28
- * Joins URL parts ensuring no double slashes
29
- */
30
- private joinUrls;
31
- getAll(pageRequest?: PageRequest): Observable<Page<T>>;
32
- getById(uuid: string): Observable<T>;
33
- create(entity: Omit<T, 'uuid'>): Observable<T>;
34
- update(uuid: string, entity: Omit<T, 'uuid'>): Observable<T>;
35
- delete(uuid: string): Observable<void>;
36
- }
@@ -1,9 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- /**
3
- * Interface for basic CRUD operations that all entity services must implement
4
- */
5
- export interface EntityService<T> {
6
- create(data: Omit<T, 'uuid'>): Observable<T>;
7
- update(uuid: string, data: Omit<T, 'uuid'>): Observable<T>;
8
- getById(uuid: string): Observable<T>;
9
- }