@techextensor/tab-core-utility 2.2.191 → 2.2.193

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 (87) hide show
  1. package/esm2022/index.mjs +6 -1
  2. package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +38 -22
  3. package/esm2022/lib/tab-core-utility/app/constants/common.mjs +14 -50
  4. package/esm2022/lib/tab-core-utility/app/constants/storage-constants.mjs +3 -2
  5. package/esm2022/lib/tab-core-utility/app/crud/tab-blueprint.service.mjs +41 -14
  6. package/esm2022/lib/tab-core-utility/app/crud/tab-crud.service.mjs +38 -49
  7. package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +84 -30
  8. package/esm2022/lib/tab-core-utility/app/crud/tab-formio.service.mjs +141 -12
  9. package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +141 -46
  10. package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +89 -38
  11. package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +156 -128
  12. package/esm2022/lib/tab-core-utility/app/enums/query.enum.mjs +7 -7
  13. package/esm2022/lib/tab-core-utility/app/helpers/auth-response.adapter.mjs +79 -0
  14. package/esm2022/lib/tab-core-utility/app/helpers/common/app.helpers.mjs +30 -25
  15. package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +9 -11
  16. package/esm2022/lib/tab-core-utility/app/helpers/common/meta-data.helpers.mjs +13 -13
  17. package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +7 -45
  18. package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +79 -76
  19. package/esm2022/lib/tab-core-utility/app/helpers/login-response.adapter.mjs +76 -0
  20. package/esm2022/lib/tab-core-utility/app/helpers/response.adapter.mjs +38 -0
  21. package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +8 -4
  22. package/esm2022/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.mjs +4 -4
  23. package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +8 -33
  24. package/esm2022/lib/tab-core-utility/app/helpers/transition-response.adapter.mjs +83 -0
  25. package/esm2022/lib/tab-core-utility/app/interfaces/auth.interface.mjs +1 -1
  26. package/esm2022/lib/tab-core-utility/app/interfaces/common.interface.mjs +1 -1
  27. package/esm2022/lib/tab-core-utility/app/interfaces/signalr.interface.mjs +42 -0
  28. package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +39 -1
  29. package/esm2022/lib/tab-core-utility/app/models/app-field.model.mjs +36 -7
  30. package/esm2022/lib/tab-core-utility/app/models/app-object.model.mjs +84 -47
  31. package/esm2022/lib/tab-core-utility/app/models/app-screen.model.mjs +24 -13
  32. package/esm2022/lib/tab-core-utility/app/models/data-source-query.model.mjs +57 -23
  33. package/esm2022/lib/tab-core-utility/app/models/filter.model.mjs +21 -10
  34. package/esm2022/lib/tab-core-utility/app/models/parameter.model.mjs +12 -6
  35. package/esm2022/lib/tab-core-utility/app/models/sort.model.mjs +11 -4
  36. package/esm2022/lib/tab-core-utility/app/utils/json.util.mjs +17 -16
  37. package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +1 -55
  38. package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +1 -164
  39. package/esm2022/lib/tab-core-utility/auth/auth.service.mjs +36 -11
  40. package/esm2022/lib/tab-core-utility/core/http-client/api.service.mjs +78 -1
  41. package/esm2022/lib/tab-core-utility/core/service/signalr/operation-tracker.service.mjs +90 -0
  42. package/esm2022/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.mjs +268 -0
  43. package/esm2022/lib/tab-core-utility/core/service/signalr/signalr.service.mjs +207 -0
  44. package/index.d.ts +5 -0
  45. package/lib/tab-core-utility/app/constants/api-constants.d.ts +25 -18
  46. package/lib/tab-core-utility/app/constants/common.d.ts +9 -0
  47. package/lib/tab-core-utility/app/constants/storage-constants.d.ts +2 -1
  48. package/lib/tab-core-utility/app/crud/tab-blueprint.service.d.ts +14 -8
  49. package/lib/tab-core-utility/app/crud/tab-crud.service.d.ts +8 -1
  50. package/lib/tab-core-utility/app/crud/tab-delete.service.d.ts +20 -10
  51. package/lib/tab-core-utility/app/crud/tab-formio.service.d.ts +33 -6
  52. package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +52 -10
  53. package/lib/tab-core-utility/app/crud/tab-insert.service.d.ts +16 -21
  54. package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +34 -19
  55. package/lib/tab-core-utility/app/enums/query.enum.d.ts +3 -6
  56. package/lib/tab-core-utility/app/helpers/auth-response.adapter.d.ts +32 -0
  57. package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +6 -9
  58. package/lib/tab-core-utility/app/helpers/common/dsq.helpers.d.ts +3 -0
  59. package/lib/tab-core-utility/app/helpers/common/meta-data.helpers.d.ts +3 -3
  60. package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +7 -51
  61. package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +1 -0
  62. package/lib/tab-core-utility/app/helpers/login-response.adapter.d.ts +29 -0
  63. package/lib/tab-core-utility/app/helpers/response.adapter.d.ts +22 -0
  64. package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +2 -1
  65. package/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.d.ts +1 -1
  66. package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +1 -0
  67. package/lib/tab-core-utility/app/helpers/transition-response.adapter.d.ts +30 -0
  68. package/lib/tab-core-utility/app/interfaces/auth.interface.d.ts +1 -1
  69. package/lib/tab-core-utility/app/interfaces/common.interface.d.ts +56 -6
  70. package/lib/tab-core-utility/app/interfaces/signalr.interface.d.ts +84 -0
  71. package/lib/tab-core-utility/app/models/api-query.class.d.ts +54 -9
  72. package/lib/tab-core-utility/app/models/app-field.model.d.ts +4 -2
  73. package/lib/tab-core-utility/app/models/app-object.model.d.ts +5 -3
  74. package/lib/tab-core-utility/app/models/app-screen.model.d.ts +2 -2
  75. package/lib/tab-core-utility/app/models/data-source-query.model.d.ts +7 -2
  76. package/lib/tab-core-utility/app/models/filter.model.d.ts +2 -2
  77. package/lib/tab-core-utility/app/models/parameter.model.d.ts +2 -2
  78. package/lib/tab-core-utility/app/models/sort.model.d.ts +1 -1
  79. package/lib/tab-core-utility/app/utils/json.util.d.ts +3 -2
  80. package/lib/tab-core-utility/app/utils/req-res.util.d.ts +1 -9
  81. package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +0 -61
  82. package/lib/tab-core-utility/auth/auth.service.d.ts +6 -0
  83. package/lib/tab-core-utility/core/http-client/api.service.d.ts +46 -0
  84. package/lib/tab-core-utility/core/service/signalr/operation-tracker.service.d.ts +40 -0
  85. package/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.d.ts +73 -0
  86. package/lib/tab-core-utility/core/service/signalr/signalr.service.d.ts +122 -0
  87. package/package.json +3 -2
@@ -1,6 +1,7 @@
1
1
  import { APIFilterCriteria } from '../../models/api-query.class';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class WhereClauseHelper {
4
+ private readonly metadataHelper;
4
5
  /**
5
6
  * Binds the where clause for deleting records based on field, value, field name, and CRUD table name
6
7
  * @param fields The fields to bind the where clause
@@ -0,0 +1,29 @@
1
+ import { CommonApiResponse } from '../interfaces/common.interface';
2
+ /**
3
+ * LoginResponseAdapter - Transforms new login API response to legacy format
4
+ *
5
+ * The new identity service returns a flat response structure with camelCase fields.
6
+ * This adapter converts it to the old nested structure expected by the application.
7
+ *
8
+ * New format (flat):
9
+ * { userId, email, userName, accessToken, refreshToken, expiresIn, roles, ... }
10
+ *
11
+ * Old format (nested):
12
+ * { user: { Id, UserName, Roles, PersonData, Attributes, ... }, Token, RefreshToken, RefreshTokenExpiry }
13
+ */
14
+ export declare class LoginResponseAdapter {
15
+ /**
16
+ * Transforms the normalized CommonApiResponse's Result from new flat format to old nested format.
17
+ * If the Result is already in old format (has .user or .Token), returns as-is.
18
+ *
19
+ * @param response - The CommonApiResponse (already top-level normalized by ResponseAdapter)
20
+ * @returns The response with Result transformed to legacy nested format
21
+ */
22
+ static normalize(response: CommonApiResponse): CommonApiResponse;
23
+ /**
24
+ * Transforms roles from new camelCase format to old PascalCase format.
25
+ * Structure: { tenantId: { appId: { envId: [{ id, roleName, description }] } } }
26
+ * becomes: { tenantId: { appId: { envId: [{ ID, RoleName, Description }] } } }
27
+ */
28
+ private static transformRoles;
29
+ }
@@ -0,0 +1,22 @@
1
+ import { CommonApiResponse, StandardApiResponse } from '../interfaces/common.interface';
2
+ /**
3
+ * ResponseAdapter - Transforms new API response format to legacy format
4
+ *
5
+ * This adapter maintains backward compatibility by converting the new camelCase
6
+ * response format from the backend to the old PascalCase format expected by
7
+ * existing application code.
8
+ *
9
+ * @example
10
+ * // Auto-detect and normalize response
11
+ * return this.apiService.postToService(...).pipe(
12
+ * map(response => ResponseAdapter.normalize(response))
13
+ * );
14
+ */
15
+ export declare class ResponseAdapter {
16
+ /**
17
+ * Normalizes a StandardApiResponse to CommonApiResponse format.
18
+ * @param newResponse The response object in the new API format.
19
+ * @returns The normalized response in the legacy format.
20
+ */
21
+ static normalize(newResponse: StandardApiResponse): CommonApiResponse;
22
+ }
@@ -2,6 +2,7 @@ import { AppObject } from '../../models/app-object.class';
2
2
  import { JqWidghtModel } from '../../interfaces/grid.interface';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class GridHelper {
5
+ private readonly metadataHelper;
5
6
  /**
6
7
  * Generates a grid schema for the master app object.
7
8
  * @param masterAppObj The master app object.
@@ -28,7 +29,7 @@ export declare class GridHelper {
28
29
  key: any;
29
30
  input: boolean;
30
31
  redrawOn: any;
31
- 'customOptions.dataSourceQueryId': any;
32
+ 'customOptions.dataSourceQueryId': string;
32
33
  logic: {
33
34
  name: string;
34
35
  trigger: {
@@ -14,7 +14,7 @@ export declare class MediaUploadHelper {
14
14
  * @param mediaId The ID of the media file to remove.
15
15
  * @returns An Observable that emits the deleted file as a Blob.
16
16
  */
17
- removeMediaFile(mediaId: string): Observable<CommonApiResponse>;
17
+ removeMediaFile(mediaId: string, customHeaders?: any): Observable<CommonApiResponse>;
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<MediaUploadHelper, never>;
19
19
  static ɵprov: i0.ɵɵInjectableDeclaration<MediaUploadHelper>;
20
20
  }
@@ -1,5 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class ScreenHelper {
3
+ private readonly metadataHelper;
3
4
  /**
4
5
  * Retrieves screen data based on the provided screen ID.
5
6
  * @param screenId The ID of the screen to retrieve.
@@ -0,0 +1,30 @@
1
+ import { CommonApiResponse } from '../interfaces/common.interface';
2
+ /**
3
+ * TransitionResponseAdapter - Transforms new transition API response (camelCase)
4
+ * to legacy PascalCase format expected by existing application code.
5
+ *
6
+ * Handles both GetNextStatus and UpdateStatus responses from the new
7
+ * crud.techextensor.com/api/v1/status/* endpoints.
8
+ */
9
+ export declare class TransitionResponseAdapter {
10
+ /**
11
+ * Normalizes the inner Result of a GetNextStatus response from camelCase to PascalCase.
12
+ * @param response - The CommonApiResponse (already wrapper-normalized by ResponseAdapter)
13
+ * @returns The response with inner Result transformed to legacy PascalCase format
14
+ */
15
+ static normalize(response: CommonApiResponse): CommonApiResponse;
16
+ /**
17
+ * Transforms the toStatusList array from camelCase to PascalCase.
18
+ */
19
+ private static transformToStatusList;
20
+ /**
21
+ * Transforms a single transition hook from new format to old format.
22
+ * New format: { filters: null, actions: [] }
23
+ * Old format: null (when empty) or { Actions: [...] }
24
+ */
25
+ private static transformHook;
26
+ /**
27
+ * Transforms actions array from camelCase to PascalCase.
28
+ */
29
+ private static transformActions;
30
+ }
@@ -4,7 +4,7 @@ export interface NewUserRequest {
4
4
  password: string;
5
5
  }
6
6
  export interface LoginUserRequest {
7
- email: string;
7
+ username: string;
8
8
  password: string;
9
9
  }
10
10
  export interface ResetPasswordUserRequest {
@@ -14,15 +14,14 @@ export interface RecordInfo {
14
14
  primaryKey: string;
15
15
  }
16
16
  export interface CommonApiResponse {
17
- RequestId: string;
18
17
  IsSuccess: boolean;
19
18
  Result: any;
20
- StatusCode: string;
21
19
  RecordAffectted: number;
22
20
  TotalRecords: number;
23
21
  TotalExecutionTime: number;
24
22
  Log: any[];
25
23
  Errors: any[];
24
+ CorrelationId?: string;
26
25
  }
27
26
  export interface GetScreenConfig {
28
27
  layoutId?: string;
@@ -40,6 +39,7 @@ export interface TemplateParsePayload {
40
39
  export interface NextStatusPayload {
41
40
  recordId: string;
42
41
  appObjectId?: string;
42
+ appObjectName?: string;
43
43
  }
44
44
  export interface UpdateStatusPayload extends NextStatusPayload {
45
45
  nextPossibleStatusId: string;
@@ -135,10 +135,10 @@ export interface GetPayload {
135
135
  dataSourceQueryIdOrName: string;
136
136
  criteria: any;
137
137
  }
138
- export interface ImprotDataPayload {
139
- ImportObjectMappingId: string;
140
- File: string;
141
- ImportType: number;
138
+ export interface ImportDataPayload {
139
+ ImportMappingId: string;
140
+ FileId: string;
141
+ ExecutionType: number;
142
142
  }
143
143
  export interface SearchDataPayload {
144
144
  searchQuery: string;
@@ -165,3 +165,53 @@ export interface executeTABWorkflowPayload {
165
165
  AppObjectId: string;
166
166
  Reqtokens?: any;
167
167
  }
168
+ /**
169
+ * Standard API response format (camelCase - NEW BACKEND)
170
+ * All new APIs return this consistent structure
171
+ */
172
+ export interface StandardApiResponse {
173
+ /** Indicates if the request was successful */
174
+ isSuccess: boolean;
175
+ /** Error information (null if successful) */
176
+ error: ApiError | null;
177
+ /** Response data (null if error) */
178
+ result: any | null;
179
+ /** Request execution time in milliseconds */
180
+ executionTimeMs: number;
181
+ /** Log entries from the request */
182
+ logs: string[];
183
+ /** Additional metadata about the request */
184
+ metadata: Record<string, any>;
185
+ /** Number of records affected (for mutations) */
186
+ affectedRecords?: number;
187
+ /** Total number of records (for queries) */
188
+ totalRecords?: number;
189
+ /** Correlation ID for async operations (null for sync operations) */
190
+ correlationId?: string;
191
+ }
192
+ /**
193
+ * Error information in new API format
194
+ */
195
+ export interface ApiError {
196
+ /** Error code (e.g., "UNEXPECTED_ERROR", "VALIDATION_ERROR") */
197
+ code: string;
198
+ /** User-friendly error message */
199
+ message: string;
200
+ /** Technical error details for debugging */
201
+ details: string;
202
+ }
203
+ /**
204
+ * Microservice URLs configuration
205
+ */
206
+ export interface APIServiceUrls {
207
+ crudService: string;
208
+ metadataService: string;
209
+ formioService: string;
210
+ identityService: string;
211
+ codeExecutorService: string;
212
+ notificationService: string;
213
+ workflowService: string;
214
+ kibanaService: string;
215
+ reportService: string;
216
+ }
217
+ export type APIServiceName = keyof APIServiceUrls;
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Raw SignalR message wrapper
3
+ */
4
+ export interface SignalRMessage {
5
+ type: number;
6
+ target: string;
7
+ arguments: CrudNotification[];
8
+ }
9
+ /**
10
+ * CRUD notification payload received from SignalR hub
11
+ */
12
+ export interface CrudNotification {
13
+ correlationId: string;
14
+ result: any;
15
+ entityName: string;
16
+ appObjectId: string;
17
+ isSuccess: boolean;
18
+ errorMessage: string | null;
19
+ errorCode: string | null;
20
+ executionTimeMs: number;
21
+ affectedRecords: number | null;
22
+ operation?: CrudOperation;
23
+ receivedAt?: Date;
24
+ }
25
+ /**
26
+ * Pending async operation tracked by OperationTrackerService
27
+ */
28
+ export interface PendingOperation {
29
+ correlationId: string;
30
+ timestamp: Date;
31
+ timeout: number;
32
+ }
33
+ /**
34
+ * Callback function type for component notifications
35
+ */
36
+ export type NotificationCallback = (notification: CrudNotification) => void;
37
+ /**
38
+ * CRUD operation types
39
+ */
40
+ export type CrudOperation = typeof CRUD_OPERATION[keyof typeof CRUD_OPERATION];
41
+ /**
42
+ * SignalR connection state types
43
+ */
44
+ export type ConnectionState = typeof CONNECTION_STATE[keyof typeof CONNECTION_STATE];
45
+ /**
46
+ * SignalR hub method names
47
+ */
48
+ export declare const SIGNALR_HUB_METHODS: {
49
+ readonly JOIN_GROUP: "JoinGroupAsync";
50
+ readonly LEAVE_GROUP: "LeaveGroupAsync";
51
+ };
52
+ /**
53
+ * SignalR event names from backend
54
+ */
55
+ export declare const SIGNALR_EVENTS: {
56
+ readonly INSERT_COMPLETED: "InsertOperationCompleted";
57
+ readonly UPDATE_COMPLETED: "UpdateOperationCompleted";
58
+ readonly DELETE_COMPLETED: "DeleteOperationCompleted";
59
+ };
60
+ /**
61
+ * CRUD operation types
62
+ */
63
+ export declare const CRUD_OPERATION: {
64
+ readonly INSERT: "INSERT";
65
+ readonly UPDATE: "UPDATE";
66
+ readonly DELETE: "DELETE";
67
+ };
68
+ /**
69
+ * SignalR connection states
70
+ */
71
+ export declare const CONNECTION_STATE: {
72
+ readonly DISCONNECTED: "Disconnected";
73
+ readonly CONNECTING: "Connecting";
74
+ readonly CONNECTED: "Connected";
75
+ readonly RECONNECTING: "Reconnecting";
76
+ readonly FAILED: "Failed";
77
+ };
78
+ /**
79
+ * SignalR configuration constants
80
+ */
81
+ export declare const SIGNALR_CONFIG: {
82
+ readonly DEFAULT_TIMEOUT: 120000;
83
+ readonly RECONNECT_DELAYS: readonly [0, 2000, 10000, 30000, 60000];
84
+ };
@@ -37,20 +37,19 @@ export declare class ChildRelationShip {
37
37
  childDetails: LookUpDetails;
38
38
  }
39
39
  export declare class APIFilterCriteria {
40
- Filters: APIFilter[] | any;
41
- FilterLogic: string | any;
40
+ filters: APIFilter[] | any;
41
+ filterLogic: string | any;
42
42
  SQLQuery: string | any;
43
43
  }
44
44
  export declare class APIFilter {
45
- ConjuctionClause: ConjuctionClause | any;
46
- FieldID: string | any;
47
- RelationalOperator: RelationalOperator | any;
48
- ValueType: FilterValueType | any;
45
+ conjunction: ConjuctionClause | any;
46
+ fieldName: string | any;
47
+ operator: RelationalOperator | any;
48
+ valueType: FilterValueType | any;
49
49
  value: string | any;
50
- Sequence: number | any;
51
- GroupID: number | any;
50
+ sequence: number | any;
51
+ groupId: number | any;
52
52
  parameterName: string | any;
53
- Value: string | any;
54
53
  }
55
54
  export declare class APIValueSets {
56
55
  AppFieldID: string | any;
@@ -72,3 +71,49 @@ export declare class APIParameters {
72
71
  DataSourceQueryID: string | any;
73
72
  MappingFieldName: string | any;
74
73
  }
74
+ /**
75
+ * New CRUD API Select Query Payload
76
+ * Used for the new microservice-based select query endpoint
77
+ */
78
+ export declare class CRUDSelectPayload {
79
+ EntityName: string | any;
80
+ SelectedFields: string[];
81
+ includes?: any[];
82
+ Pager?: CRUDPager;
83
+ whereClause?: CRUDWhereClause;
84
+ Distinct?: boolean;
85
+ Sort?: CRUDSort[];
86
+ }
87
+ /**
88
+ * Pager configuration for CRUD API
89
+ */
90
+ export declare class CRUDPager {
91
+ pageNumber: number;
92
+ pageSize: number;
93
+ returnTotalCount: boolean;
94
+ }
95
+ /**
96
+ * Where clause structure for CRUD API
97
+ */
98
+ export declare class CRUDWhereClause {
99
+ filters: CRUDFilter[];
100
+ }
101
+ /**
102
+ * Filter structure for CRUD API
103
+ */
104
+ export declare class CRUDFilter {
105
+ fieldName: string | any;
106
+ operator: number | any;
107
+ value: any;
108
+ valueType: number | any;
109
+ conjunction: number | any;
110
+ groupId: number | any;
111
+ sequence: number | any;
112
+ }
113
+ /**
114
+ * Sort structure for CRUD API
115
+ */
116
+ export declare class CRUDSort {
117
+ FieldName: string | any;
118
+ Direction: number | any;
119
+ }
@@ -49,8 +49,10 @@ export declare class AppFieldModel {
49
49
  */
50
50
  search(term: string): boolean;
51
51
  /**
52
- * Converts the AppFieldModel instance to a JSON representation.
53
- * @returns {any} The raw data of the instance.
52
+ * Converts the AppFieldModel instance to JSON in the old API format (PascalCase).
53
+ * This ensures backward compatibility with code expecting the old format.
54
+ *
55
+ * @returns {any} The data in old API format.
54
56
  */
55
57
  toJSON(): any;
56
58
  }
@@ -40,13 +40,14 @@ export declare class AppObjectModel {
40
40
  readonly AccessList: Array<ObjectAccess>;
41
41
  readonly Resources: Array<Resources>;
42
42
  readonly ChildRelationShips: Array<ChildRelationShip>;
43
- readonly parsedAppObjectConfiguration: any;
44
43
  readonly AppId: string | null;
45
44
  private readonly fieldMap;
46
45
  private readonly dsqMap;
47
46
  private allFields;
48
47
  private allDSQs;
48
+ private parsedAppObjectJson;
49
49
  constructor(raw: any, metadataHelper: MetadataHelper);
50
+ private parseAppObjectJson;
50
51
  /**
51
52
  * Returns all fields associated with this AppObject. The fields are cached so that subsequent calls
52
53
  * are faster. The cache is stored in a map by ID.
@@ -121,9 +122,10 @@ export declare class AppObjectModel {
121
122
  dsqs: DataSourceQueryModel[];
122
123
  };
123
124
  /**
124
- * Converts the current object to a JSON object.
125
+ * Converts the current object to JSON in the old API format (PascalCase).
126
+ * This ensures backward compatibility with code expecting the old format.
125
127
  *
126
- * @returns {any} The raw data as a JSON object.
128
+ * @returns {any} The data in old API format.
127
129
  */
128
130
  toJSON(): any;
129
131
  }
@@ -25,9 +25,9 @@ export declare class AppScreenModel {
25
25
  */
26
26
  search(term: string): boolean;
27
27
  /**
28
- * Converts the current object to a JSON object.
28
+ * Converts the model to JSON in the old API format (PascalCase).
29
29
  *
30
- * @returns A JSON representation of the current object.
30
+ * @returns A JSON representation in old format.
31
31
  */
32
32
  toJSON(): any;
33
33
  }
@@ -18,9 +18,12 @@ export declare class DataSourceQueryModel {
18
18
  private cachedParameters;
19
19
  private cachedFilters;
20
20
  private cachedSorts;
21
+ private parsedConfiguration;
21
22
  constructor(raw: any, parentAppObject: AppObjectModel, metadataHelper: MetadataHelper);
23
+ private parseConfiguration;
22
24
  /**
23
25
  * Gets the fields for the data source query. The fields are enriched with the corresponding `AppFieldModel` objects.
26
+ * Handles both old format (array of objects) and new format (array of field ID strings).
24
27
  * @returns {DataSourceQueries_Fields[]} The array of enriched fields.
25
28
  */
26
29
  fields(): DataSourceQueries_Fields[];
@@ -64,8 +67,10 @@ export declare class DataSourceQueryModel {
64
67
  */
65
68
  search(term: string): boolean;
66
69
  /**
67
- * Converts the DataSourceQueryModel instance to a JSON representation.
68
- * @returns {any} The raw data in JSON format.
70
+ * Converts the DataSourceQueryModel instance to JSON in the old API format (PascalCase).
71
+ * This ensures backward compatibility with code expecting the old format.
72
+ *
73
+ * @returns {any} The data in old API format.
69
74
  */
70
75
  toJSON(): any;
71
76
  }
@@ -13,9 +13,9 @@ export declare class FilterModel {
13
13
  readonly FieldID: string;
14
14
  constructor(raw: any);
15
15
  /**
16
- * Converts the current object to a JSON object.
16
+ * Converts the model to JSON in the old API format (PascalCase).
17
17
  *
18
- * @returns A JSON representation of the current object.
18
+ * @returns A JSON representation in old format.
19
19
  */
20
20
  toJSON(): any;
21
21
  }
@@ -7,8 +7,8 @@ export declare class ParameterModel {
7
7
  readonly IsMandatory: boolean;
8
8
  constructor(raw: any);
9
9
  /**
10
- * Converts the model to JSON.
11
- * @returns {any} The model as a JSON object.
10
+ * Converts the model to JSON in the old API format (PascalCase).
11
+ * @returns {any} The model as a JSON object in old format.
12
12
  */
13
13
  toJSON(): any;
14
14
  }
@@ -9,7 +9,7 @@ export declare class SortModel {
9
9
  readonly AppFieldID: string;
10
10
  constructor(raw: any);
11
11
  /**
12
- * Get raw data for this app object
12
+ * Converts the model to JSON in the old API format (PascalCase).
13
13
  */
14
14
  toJSON(): any;
15
15
  }
@@ -5,9 +5,10 @@
5
5
  */
6
6
  export declare function validateJSON(str: string): boolean;
7
7
  /**
8
- * Creates dynamic data based on the input object
8
+ * Creates dynamic data based on the input object for new API format
9
+ * Transforms object into array of {fieldName, value} pairs
9
10
  * @param obj The input object to create dynamic data from
10
- * @returns The formatted array
11
+ * @returns The formatted array with {fieldName, value} pairs
11
12
  */
12
13
  export declare function createDynamicData(obj: any): any;
13
14
  /**
@@ -1,6 +1,5 @@
1
1
  import { HttpHeaders } from '@angular/common/http';
2
2
  import { AppObject } from '../models/app-object.class';
3
- import { AppFields } from '../models/data-source-queries.class';
4
3
  /**
5
4
  * Delete a key from the response object
6
5
  *
@@ -37,7 +36,7 @@ export declare function getHeaders(headers?: any): any;
37
36
  * @param appObject - The AppObject
38
37
  * @returns AppFields[] | null - The array of primary key fields or null
39
38
  */
40
- export declare function getPrimaryKeyFields(appObject: AppObject): AppFields[] | null;
39
+ export declare function getPrimaryKeyFields(appObject: AppObject): import("@techextensor/tab-core-utility").AppFields[] | null;
41
40
  /**
42
41
  * Get the edit record ID from the response object
43
42
  *
@@ -46,13 +45,6 @@ export declare function getPrimaryKeyFields(appObject: AppObject): AppFields[] |
46
45
  * @returns any - The edit record ID
47
46
  */
48
47
  export declare function getEditRecordId(response: any, fieldName: any): any;
49
- /**
50
- * Generate the fields schema based on the AppFields
51
- *
52
- * @param fields - The AppFields object
53
- * @returns any - The generated fields schema
54
- */
55
- export declare function generateFieldsSchema(url: any, fields: AppFields): {};
56
48
  /**
57
49
  * Get the HttpHeaders for form data requests
58
50
  *
@@ -1,36 +1,4 @@
1
1
  import { AppObject } from '../models/app-object.class';
2
- /** Get the DataSourceQuery ID from the selected AppObject's DataSourceQuery array
3
- * @param dsqList - The list of DataSourceQueries
4
- * @param table - The table name
5
- * @param like - The like string
6
- * @returns string - The ID of the DataSourceQuery
7
- */
8
- export declare function getDsqIdfromSelectedAppObjectDSQArray(dsqList: any, table: string, like: string): any;
9
- /** Get the AppObject based on the provided ID
10
- * @param id - The ID of the AppObject
11
- * @returns AppObject | null - The found AppObject or null
12
- */
13
- export declare function getAppObject(id: string): any;
14
- /**
15
- * Get the AppObject from the DataSourceQuery ID
16
- * @param dsqId - The DataSourceQuery ID
17
- * @returns AppObject | null - The found AppObject or null
18
- */
19
- export declare function getAppObjectFromDataSourceQueryID(dsqId: string): any;
20
- /**
21
- * Get the DataSourceQuery ID from the QueryName and table
22
- * @param table - The table name
23
- * @param dsq - The DataSourceQuery name
24
- * @returns any - The found DataSourceQuery
25
- */
26
- export declare function getDsqIDFromQueryName(table: string, dsq: string): any;
27
- /**
28
- * Get the Data from the DataSourceQuery ID
29
- *
30
- * @param dsqId - The DataSourceQuery ID
31
- * @returns any - The found Data
32
- */
33
- export declare function getDataFromDataSourceQueryID(dsqId: string): any;
34
2
  /**
35
3
  * Synchronize AppObject fields with the response
36
4
  *
@@ -39,32 +7,3 @@ export declare function getDataFromDataSourceQueryID(dsqId: string): any;
39
7
  * @returns any - The synchronized response object
40
8
  */
41
9
  export declare function syncAppObjectFields(response: any, appObject: AppObject): any;
42
- /**
43
- * Get the AppObject based on the SystemDBTableName
44
- *
45
- * @param tableName - The SystemDBTableName
46
- * @returns AppObject | null - The found AppObject or null
47
- */
48
- export declare function getAppObjectFromSystemDBTableName(tableName: string): any;
49
- /**
50
- * Get the fields based on the appobjectid
51
- *
52
- * @param appObjectId - The appobjectid
53
- * @returns AppObject | null - The found AppObject or null
54
- */
55
- export declare function getAppfieldsFromAppObjectId(appObjectId: string): any;
56
- export declare function getLookupAppfieldsFromAppObjectId(appObjectId: string): any;
57
- export declare function getViewAppObjectDetailsFromDSQID(dsqID: string): any;
58
- /**
59
- * Retrieves all appObjects and their DSQs in a single list
60
- * suitable for tree view representation.
61
- * @author : Parth B Thakkar
62
- * @Usage : HTTP Request
63
- * @returns Array<{ id: string; name: string; hasChildren: boolean; parentID: string | null }>
64
- */
65
- export declare function getAllAppObjectsForTreeViewJson(): {
66
- id: string;
67
- name: string;
68
- hasChildren: boolean;
69
- parentID: string | null;
70
- }[];
@@ -21,11 +21,17 @@ export declare class AuthService {
21
21
  registerTenant(credentials: RegisterTenant): Observable<CommonApiResponse>;
22
22
  /**
23
23
  * Register a new user
24
+ * Uses new identity service endpoint: POST auth/register
24
25
  * @param credentials - The new user's credentials
25
26
  * @param headers - The headers
26
27
  * @returns Observable<CommonApiResponse> - An observable of CommonApiResponse
27
28
  */
28
29
  register(credentials: NewUserRequest, headers?: any): Observable<CommonApiResponse>;
30
+ /**
31
+ * Transforms register request payload from PascalCase to camelCase for new identity service.
32
+ * { FirstName, LastName, Email, Password, ... } → { firstName, lastName, email, password, ... }
33
+ */
34
+ private transformRegisterRequest;
29
35
  /**
30
36
  * Reset Password
31
37
  * @param data - Data for resetting password