@sava-info-systems/api-maker-with-extensions 1.8.1 → 1.8.3

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.
@@ -16,11 +16,12 @@ export interface IAMGlobalLogger {
16
16
 
17
17
  export interface IAMGlobalRequest {
18
18
  headers: any;
19
- params: any;
19
+ params: IBaseParams;
20
20
  query: any;
21
21
  body: any;
22
22
  eventData: any;
23
23
  auth: ISandboxReqAuthObj;
24
+ reqInfo: IRequestInfo;
24
25
 
25
26
  /** It will be true, when request is coming from actual end user and not from internal code like custom API or not from AM UI. */
26
27
  isApiRequestFromUser?: boolean;
@@ -35,6 +36,96 @@ export interface ISandboxReqAuthObj {
35
36
  authAzure?: any;
36
37
  }
37
38
 
39
+ export interface IRequestInfo {
40
+ url: string;
41
+ apiCategory: EAPICategoryEnum;
42
+ apiInfo: {
43
+ schemaType: 'SCHEMA' | 'GEN',
44
+ id: EAPIIdEnum;
45
+ name: string;
46
+ url: string;
47
+ };
48
+ reqMethod?: ERequestMethod;
49
+ }
50
+
51
+ export enum EAPICategoryEnum {
52
+ INSTANCES = 'INSTANCES',
53
+ THIRD_PARTY_APIS = 'THIRD_PARTY_APIS',
54
+ CUSTOM_APIS = 'CUSTOM_APIS',
55
+ SYSTEM_APIS = 'SYSTEM_APIS',
56
+ EVENTS = 'EVENTS',
57
+ SCHEDULERS = 'SCHEDULERS',
58
+ MIGRATION_SCRIPT = 'MIGRATION_SCRIPT',
59
+ PROCESS_INITIALIZER = 'PROCESS_INITIALIZER',
60
+ UTILITY_CLASS = 'UTILITY_CLASS',
61
+ }
62
+
63
+ export enum EAPIIdEnum {
64
+ // Schema APIs
65
+ SCHEMA_GET_ALL = 'SCHEMA_GET_ALL',
66
+ SCHEMA_GET_ALL_STREAM = 'SCHEMA_GET_ALL_STREAM',
67
+ SCHEMA_GET_BY_ID = 'SCHEMA_GET_BY_ID',
68
+ SCHEMA_POST_BULK_INSERT = 'SCHEMA_POST_BULK_INSERT',
69
+ SCHEMA_MASTER_SAVE = 'SCHEMA_MASTER_SAVE',
70
+ SCHEMA_ARRAY_OPERATIONS = 'SCHEMA_ARRAY_OPERATIONS',
71
+ SCHEMA_UPDATE_MANY = 'SCHEMA_UPDATE_MANY',
72
+ SCHEMA_PUT_UPDATE_BY_ID = 'SCHEMA_PUT_UPDATE_BY_ID',
73
+ SCHEMA_PUT_REPLACE_BY_ID = 'SCHEMA_PUT_REPLACE_BY_ID',
74
+ SCHEMA_DEL_DELETE_BY_ID = 'SCHEMA_DEL_DELETE_BY_ID',
75
+ SCHEMA_POST_QUERY = 'SCHEMA_POST_QUERY',
76
+ SCHEMA_POST_QUERY_STREAM = 'SCHEMA_POST_QUERY_STREAM',
77
+ SCHEMA_POST_QUERY_DELETE = 'SCHEMA_POST_QUERY_DELETE',
78
+ SCHEMA_POST_AGGREGATE = 'SCHEMA_POST_AGGREGATE',
79
+ SCHEMA_POST_COUNT = 'SCHEMA_POST_COUNT',
80
+ SCHEMA_GET_DISTINCT = 'SCHEMA_GET_DISTINCT',
81
+ SCHEMA_POST_DISTINCT_QUERY = 'SCHEMA_POST_DISTINCT_QUERY',
82
+
83
+ // GEN APIs
84
+ GEN_GET_ALL = 'GEN_GET_ALL',
85
+ GEN_GET_ALL_STREAM = 'GEN_GET_ALL_STREAM',
86
+ GEN_GET_BY_ID = 'GEN_GET_BY_ID',
87
+ GEN_POST_BULK_INSERT = 'GEN_POST_BULK_INSERT',
88
+ GEN_MASTER_SAVE = 'GEN_MASTER_SAVE',
89
+ GEN_ARRAY_OPERATIONS = 'GEN_ARRAY_OPERATIONS',
90
+ GEN_UPDATE_MANY = 'GEN_UPDATE_MANY',
91
+ GEN_PUT_UPDATE_BY_ID = 'GEN_PUT_UPDATE_BY_ID',
92
+ GEN_PUT_REPLACE_BY_ID = 'GEN_PUT_REPLACE_BY_ID',
93
+ GEN_DEL_DELETE_BY_ID = 'GEN_DEL_DELETE_BY_ID',
94
+ GEN_POST_QUERY = 'GEN_POST_QUERY',
95
+ GEN_POST_QUERY_STREAM = 'GEN_POST_QUERY_STREAM',
96
+ GEN_POST_QUERY_DELETE = 'GEN_POST_QUERY_DELETE',
97
+ GEN_POST_AGGREGATE = 'GEN_POST_AGGREGATE',
98
+ GEN_POST_COUNT = 'GEN_POST_COUNT',
99
+ GEN_GET_DISTINCT = 'GEN_GET_DISTINCT',
100
+ GEN_POST_DISTINCT_QUERY = 'GEN_POST_DISTINCT_QUERY',
101
+
102
+ // System APIs
103
+ EXECUTE_PLAIN_QUERY = 'EXECUTE_PLAIN_QUERY',
104
+ ENCRYPT_DATA = 'ENCRYPT_DATA',
105
+ DECRYPT_DATA = 'DECRYPT_DATA',
106
+ HASH_DATA = 'HASH_DATA',
107
+ GET_TOKEN = 'GET_TOKEN',
108
+ CALL_EXTERNAL_API = 'CALL_EXTERNAL_API',
109
+ GET_SECRET = 'GET_SECRET',
110
+
111
+ GET_REDIS_KEY = 'GET_REDIS_KEY',
112
+ SET_REDIS_KEY = 'SET_REDIS_KEY',
113
+ REMOVE_REDIS_KEY = 'REMOVE_REDIS_KEY',
114
+ CUSTOM_USER_CACHING = 'CUSTOM_USER_CACHING', // it is used for CRUD of user keys from system API.
115
+
116
+ RESET_REDIS_CACHE_DB = 'RESET_REDIS_CACHE_DB',
117
+ RESET_REDIS_CACHE_CUSTOM_APIS = 'RESET_REDIS_CACHE_CUSTOM_APIS',
118
+ RESET_REDIS_CACHE_SYSTEM_APIS = 'RESET_REDIS_CACHE_SYSTEM_APIS',
119
+ RESET_REDIS_CACHE_TP_APIS = 'RESET_REDIS_CACHE_TP_APIS',
120
+ GET_TABLE_META = 'GET_TABLE_META',
121
+ EMIT_EVENT = 'EMIT_EVENT',
122
+ EMIT_EVENT_WS = 'EMIT_EVENT_WS',
123
+
124
+ IS_VALID_DATA_FOR_TABLE = 'IS_VALID_DATA_FOR_TABLE',
125
+ IS_VALID_DATA_FOR_CUSTOM_API = 'IS_VALID_DATA_FOR_CUSTOM_API',
126
+ IS_VALID_DATA_FOR_THIRD_PARTY_API = 'IS_VALID_DATA_FOR_THIRD_PARTY_API',
127
+ }
128
+
38
129
  export interface IAuthInfoObjects {
39
130
  authAMDBInfo?: IAuthTokenAMDB; //
40
131
  authAMDBGroups?: any[]; // IGroup[]
@@ -65,6 +156,54 @@ export enum ERequestMethod {
65
156
  DELETE = 'DELETE',
66
157
  }
67
158
 
159
+ export interface IBaseParams {
160
+ apiPath?: string;
161
+ reqMethod?: ERequestMethod;
162
+
163
+ // instance apis
164
+ instanceName?: string;
165
+
166
+ /** Do not use this field. Use dbEnvironment | dbUser */
167
+ database?: string;
168
+ collection?: string;
169
+ column?: string;
170
+ id?: any;
171
+ primaryKey?: any;
172
+
173
+ // instance apis -> distinct api params
174
+ field?: string;
175
+ order?: string;
176
+
177
+ // third party
178
+ apiBundleName?: string;
179
+ apiVersionName?: string;
180
+ apiName?: string;
181
+ apiCodePath?: string;
182
+
183
+ // calculated fields from database field
184
+ /** database name given by user and it will be converted to masked database. ex: inventory_db */
185
+ dbEnvironment?: string; // am_cloud // use it in git push/pull/get-schema/get api list/
186
+
187
+ /** Actual database name on which operation is getting performed. ex: inventory_db_dev_1 */
188
+ dbUser?: string; // am_cloud_mayur // use it to get data/redis key/
189
+
190
+ /**
191
+ * If true, it will not throw cycle error.
192
+ */
193
+ noCycle?: boolean;
194
+
195
+ /**
196
+ * Default is true, If true, it will skip pre hook & post hook running.
197
+ * It will be made true from code of custom API
198
+ */
199
+ skipHookRunning?: boolean;
200
+
201
+ /**
202
+ * It is used in instance & database & collection hooks
203
+ */
204
+ hookType?: 'pre' | 'post';
205
+ }
206
+
68
207
  export interface IAMGlobalResponse {
69
208
  /** Status code of response. ex: 401, 500 */
70
209
  statusCode?: EStatusCode;