drf-react-by-schema 0.24.4 → 0.24.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 (124) hide show
  1. package/dist/@types/index.d.ts +136 -87
  2. package/dist/@types/index.d.ts.map +1 -1
  3. package/dist/@types/index.js +7 -0
  4. package/dist/api.d.ts +24 -17
  5. package/dist/api.d.ts.map +1 -1
  6. package/dist/api.js +612 -572
  7. package/dist/components/DataGridBySchemaEditable/DataGridDesktop.d.ts +19 -19
  8. package/dist/components/DataGridBySchemaEditable/DataGridDesktop.d.ts.map +1 -1
  9. package/dist/components/DataGridBySchemaEditable/DataGridDesktop.js +7 -7
  10. package/dist/components/DataGridBySchemaEditable/DataGridMobile.d.ts +2 -2
  11. package/dist/components/DataGridBySchemaEditable/DataGridMobile.d.ts.map +1 -1
  12. package/dist/components/DataGridBySchemaEditable/SelectEditInputCell.d.ts +1 -1
  13. package/dist/components/DataGridBySchemaEditable/SelectEditInputCell.d.ts.map +1 -1
  14. package/dist/components/DataGridBySchemaEditable/hooks/useDataGridActions.d.ts +12 -12
  15. package/dist/components/DataGridBySchemaEditable/hooks/useDataGridActions.d.ts.map +1 -1
  16. package/dist/components/DataGridBySchemaEditable/hooks/useOptionsAC.d.ts +8 -8
  17. package/dist/components/DataGridBySchemaEditable/hooks/useOptionsAC.d.ts.map +1 -1
  18. package/dist/components/DataGridBySchemaEditable/hooks/useOptionsAC.js +10 -5
  19. package/dist/components/DataGridBySchemaEditable/hooks/usePreparedColumns.d.ts +4 -4
  20. package/dist/components/DataGridBySchemaEditable/hooks/usePreparedColumns.d.ts.map +1 -1
  21. package/dist/components/DataGridBySchemaEditable/hooks/useProcessRowUpdate.d.ts +13 -13
  22. package/dist/components/DataGridBySchemaEditable/hooks/useProcessRowUpdate.d.ts.map +1 -1
  23. package/dist/components/DataGridBySchemaEditable/hooks/useProcessRowUpdate.js +156 -153
  24. package/dist/components/DataGridBySchemaEditable/utils/columnFactory.d.ts +11 -12
  25. package/dist/components/DataGridBySchemaEditable/utils/columnFactory.d.ts.map +1 -1
  26. package/dist/components/DataGridBySchemaEditable/utils/columnFactory.js +150 -148
  27. package/dist/components/DataGridBySchemaEditable/utils.d.ts +1 -1
  28. package/dist/components/DataGridBySchemaEditable/utils.d.ts.map +1 -1
  29. package/dist/components/DataGridBySchemaEditable/utils.js +4 -4
  30. package/dist/components/DataGridBySchemaEditable.d.ts +17 -17
  31. package/dist/components/DataGridBySchemaEditable.d.ts.map +1 -1
  32. package/dist/components/DataGridBySchemaEditable.js +44 -24
  33. package/dist/components/DataTotals.d.ts.map +1 -1
  34. package/dist/components/DataTotalsServer.d.ts +1 -1
  35. package/dist/components/DataTotalsServer.d.ts.map +1 -1
  36. package/dist/components/DataTotalsServer.js +7 -10
  37. package/dist/components/GenericModelList.d.ts +16 -18
  38. package/dist/components/GenericModelList.d.ts.map +1 -1
  39. package/dist/components/GenericModelList.js +2 -1
  40. package/dist/components/GenericRelatedModelList.d.ts +15 -16
  41. package/dist/components/GenericRelatedModelList.d.ts.map +1 -1
  42. package/dist/components/GenericRelatedModelList.js +2 -2
  43. package/dist/components/GenericRelatedModelListTable.d.ts +14 -14
  44. package/dist/components/GenericRelatedModelListTable.d.ts.map +1 -1
  45. package/dist/components/GenericRelatedModelListTable.js +3 -2
  46. package/dist/components/details/DetailBySchema.d.ts +1 -1
  47. package/dist/components/details/DetailBySchema.d.ts.map +1 -1
  48. package/dist/components/details/DetailBySchema.js +1 -1
  49. package/dist/components/forms/DialogFormBySchema.d.ts +8 -8
  50. package/dist/components/forms/DialogFormBySchema.d.ts.map +1 -1
  51. package/dist/components/forms/DialogFormBySchema.js +1 -1
  52. package/dist/components/forms/FieldBySchema.d.ts.map +1 -1
  53. package/dist/components/forms/FieldBySchema.js +4 -4
  54. package/dist/components/forms/Form.d.ts +35 -19
  55. package/dist/components/forms/Form.d.ts.map +1 -1
  56. package/dist/components/forms/Form.js +119 -60
  57. package/dist/components/forms/FormActions.d.ts +2 -1
  58. package/dist/components/forms/FormActions.d.ts.map +1 -1
  59. package/dist/components/forms/FormActions.js +14 -6
  60. package/dist/components/forms/FormBySchema.d.ts +11 -12
  61. package/dist/components/forms/FormBySchema.d.ts.map +1 -1
  62. package/dist/components/forms/FormBySchema.js +20 -13
  63. package/dist/components/forms/FormWatcher.d.ts +5 -4
  64. package/dist/components/forms/FormWatcher.d.ts.map +1 -1
  65. package/dist/components/forms/FormWatcher.js +2 -2
  66. package/dist/components/forms/inputs/AutocompleteFieldBySchema.d.ts.map +1 -1
  67. package/dist/components/forms/inputs/DesktopDatePickerBySchema.js +2 -1
  68. package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.js +2 -1
  69. package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.d.ts +12 -2
  70. package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.d.ts.map +1 -1
  71. package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.js +6 -5
  72. package/dist/components/forms/inputs/FileFieldBySchema.js +2 -1
  73. package/dist/components/forms/inputs/FloatFieldBySchema.js +2 -1
  74. package/dist/components/forms/inputs/PatternFieldBySchema.js +2 -1
  75. package/dist/components/forms/inputs/TextFieldBySchema.js +2 -1
  76. package/dist/context/APIWrapper.d.ts +9 -4
  77. package/dist/context/APIWrapper.d.ts.map +1 -1
  78. package/dist/context/APIWrapper.js +76 -104
  79. package/dist/context/APIWrapperContext.d.ts +53 -56
  80. package/dist/context/APIWrapperContext.d.ts.map +1 -1
  81. package/dist/context/APIWrapperContext.js +17 -19
  82. package/dist/context/DRFReactBySchemaContext.d.ts +2 -10
  83. package/dist/context/DRFReactBySchemaContext.d.ts.map +1 -1
  84. package/dist/context/DRFReactBySchemaContext.js +0 -5
  85. package/dist/context/DRFReactBySchemaProvider.d.ts.map +1 -1
  86. package/dist/context/DRFReactBySchemaProvider.js +1 -31
  87. package/dist/context/Overlays.d.ts.map +1 -1
  88. package/dist/context/Overlays.js +34 -16
  89. package/dist/context/PrivateContext.d.ts +9 -0
  90. package/dist/context/PrivateContext.d.ts.map +1 -0
  91. package/dist/context/PrivateContext.js +16 -0
  92. package/dist/hooks/useDeepMemo.d.ts +2 -0
  93. package/dist/hooks/useDeepMemo.d.ts.map +1 -0
  94. package/dist/hooks/useDeepMemo.js +13 -0
  95. package/dist/index.d.ts +2 -2
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +1 -13
  98. package/dist/utils/index.d.ts +2 -0
  99. package/dist/utils/index.d.ts.map +1 -0
  100. package/dist/utils/index.js +17 -0
  101. package/dist/{utils.d.ts → utils/utils.d.ts} +31 -5
  102. package/dist/utils/utils.d.ts.map +1 -0
  103. package/dist/{utils.js → utils/utils.js} +68 -76
  104. package/package.json +4 -1
  105. package/dist/components/DataGridBySchemaEditable/hooks/useRowMode.d.ts +0 -18
  106. package/dist/components/DataGridBySchemaEditable/hooks/useRowMode.d.ts.map +0 -1
  107. package/dist/components/DataGridBySchemaEditable/hooks/useRowMode.js +0 -43
  108. package/dist/components/DialogJSONSchemaForm.d.ts +0 -13
  109. package/dist/components/DialogJSONSchemaForm.js +0 -20
  110. package/dist/components/FilteredButton.d.ts +0 -2
  111. package/dist/components/FilteredButton.js +0 -23
  112. package/dist/components/FilteredGridActionsCellItem.d.ts +0 -2
  113. package/dist/components/FilteredGridActionsCellItem.js +0 -29
  114. package/dist/components/FormButtons.d.ts +0 -23
  115. package/dist/components/FormButtons.d.ts.map +0 -1
  116. package/dist/components/FormButtons.js +0 -43
  117. package/dist/components/forms/inputs/PatternBySchema.d.ts +0 -4
  118. package/dist/components/forms/inputs/PatternBySchema.d.ts.map +0 -1
  119. package/dist/components/forms/inputs/PatternBySchema.js +0 -45
  120. package/dist/context/Form.d.ts +0 -21
  121. package/dist/context/Form.js +0 -95
  122. package/dist/context/FormContext.d.ts +0 -71
  123. package/dist/context/FormContext.js +0 -8
  124. package/dist/utils.d.ts.map +0 -1
package/dist/api.js CHANGED
@@ -12,450 +12,477 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.getAllModels = exports.getGenericModel = exports.getGenericModelList = exports.signUp = exports.getSignUpOptions = exports.isLoggedIn = exports.setAuthToken = exports.hasJWT = exports.clearJWT = exports.loginByPayload = exports.getAutoComplete = exports.addExistingRelatedModel = exports.updateDataBySchema = exports.createOrUpdateData = exports.deleteData = exports.createData = exports.partialUpdateData = exports.updateData = exports.getRawData = void 0;
15
+ exports.getAllModels = exports.signUp = exports.getSignUpOptions = exports.isLoggedIn = exports.setAuthToken = exports.hasJWT = exports.clearJWT = exports.loginByPayload = void 0;
16
+ exports.getRawData = getRawData;
17
+ exports.getData = getData;
18
+ exports.updateData = updateData;
19
+ exports.partialUpdateData = partialUpdateData;
20
+ exports.createData = createData;
21
+ exports.deleteData = deleteData;
22
+ exports.createOrUpdateData = createOrUpdateData;
23
+ exports.updateDataBySchema = updateDataBySchema;
24
+ exports.addExistingRelatedModel = addExistingRelatedModel;
25
+ exports.getAutoComplete = getAutoComplete;
26
+ exports.getGenericModelList = getGenericModelList;
27
+ exports.getGenericModel = getGenericModel;
16
28
  const axios_1 = __importDefault(require("axios"));
17
29
  const dayjs_1 = __importDefault(require("dayjs"));
18
30
  const utils_1 = require("./utils");
19
31
  const expiredTokenMessage = 'Token expired! System must login again';
20
32
  const noServerEndPointMessage = 'There is not API definition (serverEndPoint)!';
21
33
  const unknownError = 'Unknown error!';
22
- const getOptions = (path, serverEndPoint, schemas) => __awaiter(void 0, void 0, void 0, function* () {
23
- var _a;
24
- if (schemas) {
25
- const pathParts = path.split('/');
26
- const model = pathParts[0];
27
- const relatedModel = pathParts.length > 2 ? pathParts[2] : null;
28
- const schemaKey = relatedModel
29
- ? (0, utils_1.slugToCamelCase)(`${model}_related_${relatedModel}_schema`, true)
30
- : (0, utils_1.slugToCamelCase)(`${model}_schema`, true);
31
- if (schemas[schemaKey]) {
32
- const match = schemas[schemaKey];
33
- if (typeof match === 'function') {
34
- try {
35
- const loaded = yield match();
36
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
- return loaded.default || loaded;
34
+ function getOptions(path, serverEndPoint, schemas) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ var _a;
37
+ if (schemas) {
38
+ const pathParts = path.split('/');
39
+ const model = pathParts[0];
40
+ const relatedModel = pathParts.length > 2 ? pathParts[2] : null;
41
+ const schemaKey = relatedModel
42
+ ? (0, utils_1.slugToCamelCase)(`${model}_related_${relatedModel}_schema`, true)
43
+ : (0, utils_1.slugToCamelCase)(`${model}_schema`, true);
44
+ if (schemas[schemaKey]) {
45
+ const foundSchema = schemas[schemaKey];
46
+ if (typeof foundSchema === 'function') {
47
+ try {
48
+ const loaded = yield foundSchema();
49
+ return loaded.default || loaded;
50
+ }
51
+ catch (e) {
52
+ console.error(`Failed to load schema for ${schemaKey}`, e);
53
+ }
38
54
  }
39
- catch (e) {
40
- console.error(`Failed to load schema for ${schemaKey}`, e);
55
+ else {
56
+ return foundSchema;
41
57
  }
42
58
  }
43
- else {
44
- return match;
45
- }
46
59
  }
47
- }
48
- if (!serverEndPoint) {
49
- return {
50
- message: noServerEndPointMessage,
51
- isAxiosError: true,
52
- };
53
- }
54
- const url = `${serverEndPoint.api}/${path}`;
55
- try {
56
- const { data } = yield axios_1.default.options(url);
57
- return {
58
- schema: data.actions.POST,
59
- verbose_name: data.verbose_name,
60
- verbose_name_plural: data.verbose_name_plural,
61
- };
62
- }
63
- catch (e) {
64
- if (axios_1.default.isAxiosError(e)) {
65
- const err = e;
66
- const message = `Error fetching options from ${url}`;
67
- if (((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 401) {
68
- const isRefreshed = yield refreshToken(serverEndPoint);
69
- if (!isRefreshed) {
70
- console.log(expiredTokenMessage);
71
- return {
72
- message: expiredTokenMessage,
73
- isAxiosError: true,
74
- };
75
- }
76
- try {
77
- const { data } = yield axios_1.default.options(url);
78
- return {
79
- schema: data.actions.POST,
80
- verbose_name: data.verbose_name,
81
- verbose_name_plural: data.verbose_name_plural,
82
- };
83
- }
84
- catch (e) {
85
- console.log(message, e);
86
- return {
87
- message,
88
- isAxiosError: true,
89
- };
90
- }
91
- }
92
- console.log(message, e);
60
+ if (!serverEndPoint) {
93
61
  return {
94
- message,
62
+ message: noServerEndPointMessage,
95
63
  isAxiosError: true,
96
64
  };
97
65
  }
98
- return {
99
- message: unknownError,
100
- isAxiosError: true,
101
- };
102
- }
103
- });
104
- const getSchema = (path, serverEndPoint, schemas) => __awaiter(void 0, void 0, void 0, function* () {
105
- const options = yield getOptions(path, serverEndPoint, schemas);
106
- if (axios_1.default.isAxiosError(options)) {
107
- return options;
108
- }
109
- // Special default value of "currentUser":
110
- let usuaria = false;
111
- for (const [key, field] of Object.entries(options.schema)) {
112
- if (field.model_default === 'currentUser') {
113
- if (!usuaria) {
114
- usuaria = yield (0, exports.isLoggedIn)(serverEndPoint);
115
- }
116
- if (usuaria) {
117
- options.schema[key].model_default = {
118
- id: usuaria.id,
119
- label: usuaria.first_name,
120
- };
121
- }
66
+ const url = `${serverEndPoint.api}/${path}`;
67
+ try {
68
+ const { data } = yield axios_1.default.options(url);
69
+ return {
70
+ schema: data.actions.POST,
71
+ verbose_name: data.verbose_name,
72
+ verbose_name_plural: data.verbose_name_plural,
73
+ };
122
74
  }
123
- if (field.model_default && field.type === 'choice') {
124
- if (field.choices) {
125
- const modelDefault = field.choices.filter((choice) => choice.value === field.model_default);
126
- options.schema[key].model_default = modelDefault.length === 1 ? modelDefault[0] : undefined;
75
+ catch (e) {
76
+ if (axios_1.default.isAxiosError(e)) {
77
+ const err = e;
78
+ const message = `Error fetching options from ${url}`;
79
+ if (((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 401) {
80
+ const isRefreshed = yield refreshToken(serverEndPoint);
81
+ if (!isRefreshed) {
82
+ console.log(expiredTokenMessage);
83
+ return {
84
+ message: expiredTokenMessage,
85
+ isAxiosError: true,
86
+ };
87
+ }
88
+ try {
89
+ const { data } = yield axios_1.default.options(url);
90
+ return {
91
+ schema: data.actions.POST,
92
+ verbose_name: data.verbose_name,
93
+ verbose_name_plural: data.verbose_name_plural,
94
+ };
95
+ }
96
+ catch (e) {
97
+ console.log(message, e);
98
+ return {
99
+ message,
100
+ isAxiosError: true,
101
+ };
102
+ }
103
+ }
104
+ console.log(message, e);
105
+ return {
106
+ message,
107
+ isAxiosError: true,
108
+ };
127
109
  }
110
+ return {
111
+ message: unknownError,
112
+ isAxiosError: true,
113
+ };
128
114
  }
129
- }
130
- const modelOptions = {
131
- verbose_name: options.verbose_name,
132
- verbose_name_plural: options.verbose_name_plural,
133
- };
134
- return { schema: options.schema, modelOptions };
135
- });
136
- const getRawData = (_a) => __awaiter(void 0, [_a], void 0, function* ({ path, serverEndPoint, }) {
137
- var _b;
138
- if (!serverEndPoint) {
139
- return {
140
- message: noServerEndPointMessage,
141
- isAxiosError: true,
142
- };
143
- }
144
- const url = `${serverEndPoint.api}/${path}`;
145
- try {
146
- const { data } = yield axios_1.default.get(url);
147
- return data;
148
- }
149
- catch (e) {
150
- const message = `Error fetching data from ${url}`;
151
- if (axios_1.default.isAxiosError(e)) {
152
- const err = e;
153
- if (((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 401) {
154
- const isRefreshed = yield refreshToken(serverEndPoint);
155
- if (!isRefreshed) {
156
- console.log(expiredTokenMessage);
157
- return {
158
- message: expiredTokenMessage,
159
- isAxiosError: true,
160
- };
161
- }
162
- try {
163
- const { data } = yield axios_1.default.get(url);
164
- return data;
115
+ });
116
+ }
117
+ function getSchema(path, serverEndPoint, schemas) {
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ const options = yield getOptions(path, serverEndPoint, schemas);
120
+ if (axios_1.default.isAxiosError(options)) {
121
+ return options;
122
+ }
123
+ // Special default value of "currentUser":
124
+ let usuaria = false;
125
+ for (const [key, fieldRaw] of Object.entries(options.schema)) {
126
+ const field = fieldRaw;
127
+ if (field.model_default === 'currentUser') {
128
+ if (!usuaria) {
129
+ usuaria = yield (0, exports.isLoggedIn)(serverEndPoint);
165
130
  }
166
- catch (e) {
167
- const message = `Error fetching data from ${url}`;
168
- console.log(message, e);
169
- return {
170
- message,
171
- isAxiosError: true,
131
+ if (usuaria) {
132
+ options.schema[key].model_default = {
133
+ id: usuaria.id,
134
+ label: usuaria.first_name,
172
135
  };
173
136
  }
174
137
  }
138
+ if (field.model_default && field.type === 'choice') {
139
+ if (field.choices) {
140
+ const modelDefault = field.choices.filter((choice) => choice.value === field.model_default);
141
+ options.schema[key].model_default =
142
+ modelDefault.length === 1 ? modelDefault[0] : undefined;
143
+ }
144
+ }
175
145
  }
176
- console.log(message, e);
177
- return {
178
- message,
179
- isAxiosError: true,
180
- };
181
- }
182
- });
183
- exports.getRawData = getRawData;
184
- const getData = (_a) => __awaiter(void 0, [_a], void 0, function* ({ path, serverEndPoint, route = 'api', }) {
185
- var _b;
186
- if (!serverEndPoint) {
187
- return {
188
- message: noServerEndPointMessage,
189
- isAxiosError: true,
146
+ const modelOptions = {
147
+ verbose_name: options.verbose_name,
148
+ verbose_name_plural: options.verbose_name_plural,
190
149
  };
191
- }
192
- const url = `${serverEndPoint[route]}/${path}`;
193
- try {
194
- const { data } = yield axios_1.default.get(url);
195
- return data;
196
- }
197
- catch (e) {
198
- if (axios_1.default.isAxiosError(e)) {
199
- const err = e;
200
- if (((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 401) {
201
- const isRefreshed = yield refreshToken(serverEndPoint);
202
- if (!isRefreshed) {
203
- console.log(expiredTokenMessage);
204
- return {
205
- message: expiredTokenMessage,
206
- isAxiosError: true,
207
- };
208
- }
209
- try {
210
- const { data } = yield axios_1.default.get(url);
211
- return data;
150
+ return { schema: options.schema, modelOptions };
151
+ });
152
+ }
153
+ function getRawData(_a) {
154
+ return __awaiter(this, arguments, void 0, function* ({ path, serverEndPoint, }) {
155
+ var _b;
156
+ if (!serverEndPoint) {
157
+ return {
158
+ message: noServerEndPointMessage,
159
+ isAxiosError: true,
160
+ };
161
+ }
162
+ const url = `${serverEndPoint.api}/${path}`;
163
+ try {
164
+ const { data } = yield axios_1.default.get(url);
165
+ return data;
166
+ }
167
+ catch (e) {
168
+ const message = `Error fetching data from ${url}`;
169
+ if (axios_1.default.isAxiosError(e)) {
170
+ const err = e;
171
+ if (((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 401) {
172
+ const isRefreshed = yield refreshToken(serverEndPoint);
173
+ if (!isRefreshed) {
174
+ console.log(expiredTokenMessage);
175
+ return {
176
+ message: expiredTokenMessage,
177
+ isAxiosError: true,
178
+ };
179
+ }
180
+ try {
181
+ const { data } = yield axios_1.default.get(url);
182
+ return data;
183
+ }
184
+ catch (e) {
185
+ const message = `Error fetching data from ${url}`;
186
+ console.log(message, e);
187
+ return {
188
+ message,
189
+ isAxiosError: true,
190
+ };
191
+ }
212
192
  }
213
- catch (e) {
214
- console.log(expiredTokenMessage, e);
215
- return {
216
- message: expiredTokenMessage,
217
- isAxiosError: true,
218
- };
193
+ }
194
+ console.log(message, e);
195
+ return {
196
+ message,
197
+ isAxiosError: true,
198
+ };
199
+ }
200
+ });
201
+ }
202
+ function getData(_a) {
203
+ return __awaiter(this, arguments, void 0, function* ({ path, serverEndPoint, route = 'api', }) {
204
+ var _b;
205
+ if (!serverEndPoint) {
206
+ return {
207
+ message: noServerEndPointMessage,
208
+ isAxiosError: true,
209
+ };
210
+ }
211
+ const url = `${serverEndPoint[route]}/${path}`;
212
+ try {
213
+ const { data } = yield axios_1.default.get(url);
214
+ return data;
215
+ }
216
+ catch (e) {
217
+ if (axios_1.default.isAxiosError(e)) {
218
+ const err = e;
219
+ if (((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 401) {
220
+ const isRefreshed = yield refreshToken(serverEndPoint);
221
+ if (!isRefreshed) {
222
+ console.log(expiredTokenMessage);
223
+ return {
224
+ message: expiredTokenMessage,
225
+ isAxiosError: true,
226
+ };
227
+ }
228
+ try {
229
+ const { data } = yield axios_1.default.get(url);
230
+ return data;
231
+ }
232
+ catch (e) {
233
+ console.log(expiredTokenMessage, e);
234
+ return {
235
+ message: expiredTokenMessage,
236
+ isAxiosError: true,
237
+ };
238
+ }
219
239
  }
220
240
  }
241
+ const message = `Error fetching data from ${url}`;
242
+ console.log(message, e);
243
+ return {
244
+ message,
245
+ isAxiosError: true,
246
+ };
221
247
  }
222
- const message = `Error fetching data from ${url}`;
223
- console.log(message, e);
224
- return {
225
- message,
226
- isAxiosError: true,
227
- };
228
- }
229
- });
248
+ });
249
+ }
230
250
  /**
231
251
  *
232
252
  * @param options - params
233
253
  * @returns updatedData when succesfully updated, axiosError otherwise
234
254
  */
235
- const updateData = (_a) => __awaiter(void 0, [_a], void 0, function* ({ path, serverEndPoint, data, id, contentType = 'application/json', }) {
236
- var _b, _c, _d;
237
- if (!serverEndPoint) {
238
- return {
239
- message: noServerEndPointMessage,
240
- isAxiosError: true,
241
- };
242
- }
243
- const url = `${serverEndPoint.api}/${path}/${id}/`;
244
- const config = { headers: { 'Content-Type': contentType } };
245
- try {
246
- const { data: updatedData } = yield axios_1.default.put(url, data, config);
247
- return updatedData;
248
- }
249
- catch (e) {
250
- if (axios_1.default.isAxiosError(e)) {
251
- const err = e;
252
- const message = `Error updating data at ${url}`;
253
- if (((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 401) {
254
- const isRefreshed = yield refreshToken(serverEndPoint);
255
- if (!isRefreshed) {
256
- console.log(expiredTokenMessage);
257
- return {
258
- message: expiredTokenMessage,
259
- isAxiosError: true,
260
- };
261
- }
262
- try {
263
- const { data: updatedData } = yield axios_1.default.put(url, data, config);
264
- return updatedData;
265
- }
266
- catch (e) {
267
- console.log(message, data, (_c = err.response) === null || _c === void 0 ? void 0 : _c.data, e);
268
- return { message, isAxiosError: true };
269
- }
270
- }
271
- console.log(message, data, (_d = err.response) === null || _d === void 0 ? void 0 : _d.data);
272
- return { message, isAxiosError: true };
255
+ function updateData(_a) {
256
+ return __awaiter(this, arguments, void 0, function* ({ path, serverEndPoint, data, id, contentType = 'application/json', }) {
257
+ var _b, _c, _d;
258
+ if (!serverEndPoint) {
259
+ return {
260
+ message: noServerEndPointMessage,
261
+ isAxiosError: true,
262
+ };
273
263
  }
274
- }
275
- return { message: unknownError, isAxiosError: true };
276
- });
277
- exports.updateData = updateData;
278
- const partialUpdateData = (_a) => __awaiter(void 0, [_a], void 0, function* ({ path, serverEndPoint, data, id }) {
279
- var _b, _c;
280
- if (!serverEndPoint) {
281
- return {
282
- message: noServerEndPointMessage,
283
- isAxiosError: true,
284
- };
285
- }
286
- const url = `${serverEndPoint.api}/${path}/${id}/`;
287
- try {
288
- const { data: updatedData } = yield axios_1.default.patch(url, data);
289
- return updatedData;
290
- }
291
- catch (e) {
292
- if (axios_1.default.isAxiosError(e)) {
293
- const err = e;
294
- const message = `Error partial updating data at ${url}`;
295
- if (((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 401) {
296
- const isRefreshed = yield refreshToken(serverEndPoint);
297
- if (!isRefreshed) {
298
- console.log(expiredTokenMessage);
299
- return {
300
- message: expiredTokenMessage,
301
- isAxiosError: true,
302
- };
303
- }
304
- try {
305
- const { data: updatedData } = yield axios_1.default.patch(url, data);
306
- return updatedData;
307
- }
308
- catch (e) {
309
- console.log(message, data, e);
310
- return {
311
- message: err.response ? err.response.data : message,
312
- isAxiosError: true,
313
- };
264
+ const url = `${serverEndPoint.api}/${path}/${id}/`;
265
+ const config = { headers: { 'Content-Type': contentType } };
266
+ try {
267
+ const { data: updatedData } = yield axios_1.default.put(url, data, config);
268
+ return updatedData;
269
+ }
270
+ catch (e) {
271
+ if (axios_1.default.isAxiosError(e)) {
272
+ const err = e;
273
+ const message = `Error updating data at ${url}`;
274
+ if (((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 401) {
275
+ const isRefreshed = yield refreshToken(serverEndPoint);
276
+ if (!isRefreshed) {
277
+ console.log(expiredTokenMessage);
278
+ return {
279
+ message: expiredTokenMessage,
280
+ isAxiosError: true,
281
+ };
282
+ }
283
+ try {
284
+ const { data: updatedData } = yield axios_1.default.put(url, data, config);
285
+ return updatedData;
286
+ }
287
+ catch (e) {
288
+ console.log(message, data, (_c = err.response) === null || _c === void 0 ? void 0 : _c.data, e);
289
+ return { message, isAxiosError: true };
290
+ }
314
291
  }
292
+ console.log(message, data, (_d = err.response) === null || _d === void 0 ? void 0 : _d.data);
293
+ return { message, isAxiosError: true };
315
294
  }
316
- console.log(message, data, (_c = err.response) === null || _c === void 0 ? void 0 : _c.data);
295
+ }
296
+ return { message: unknownError, isAxiosError: true };
297
+ });
298
+ }
299
+ function partialUpdateData(_a) {
300
+ return __awaiter(this, arguments, void 0, function* ({ path, serverEndPoint, data, id, }) {
301
+ var _b, _c;
302
+ if (!serverEndPoint) {
317
303
  return {
318
- message: err.response ? err.response.data : message,
304
+ message: noServerEndPointMessage,
319
305
  isAxiosError: true,
320
306
  };
321
307
  }
322
- }
323
- return { message: unknownError, isAxiosError: true };
324
- });
325
- exports.partialUpdateData = partialUpdateData;
326
- const createData = (_a) => __awaiter(void 0, [_a], void 0, function* ({ path, serverEndPoint, data, contentType = 'application/json', }) {
327
- var _b, _c;
328
- if (!serverEndPoint) {
329
- return {
330
- message: noServerEndPointMessage,
331
- isAxiosError: true,
332
- };
333
- }
334
- const url = `${serverEndPoint.api}/${path}/`;
335
- const config = { headers: { 'Content-Type': contentType } };
336
- try {
337
- const { data: createdData } = yield axios_1.default.post(url, data, config);
338
- return createdData;
339
- }
340
- catch (err) {
341
- if (axios_1.default.isAxiosError(err)) {
342
- const message = `Error creating data at ${url}`;
343
- if (((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 401) {
344
- const isRefreshed = yield refreshToken(serverEndPoint);
345
- if (!isRefreshed) {
346
- console.log(expiredTokenMessage);
347
- return {
348
- message: expiredTokenMessage,
349
- isAxiosError: true,
350
- };
351
- }
352
- try {
353
- const { data: createdData } = yield axios_1.default.post(url, data);
354
- return createdData;
355
- }
356
- catch (e) {
357
- console.log(message, data, e);
358
- return {
359
- message: err.response ? err.response.data : message,
360
- isAxiosError: true,
361
- };
308
+ const url = `${serverEndPoint.api}/${path}/${id}/`;
309
+ try {
310
+ const { data: updatedData } = yield axios_1.default.patch(url, data);
311
+ return updatedData;
312
+ }
313
+ catch (e) {
314
+ if (axios_1.default.isAxiosError(e)) {
315
+ const err = e;
316
+ const message = `Error partial updating data at ${url}`;
317
+ if (((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 401) {
318
+ const isRefreshed = yield refreshToken(serverEndPoint);
319
+ if (!isRefreshed) {
320
+ console.log(expiredTokenMessage);
321
+ return {
322
+ message: expiredTokenMessage,
323
+ isAxiosError: true,
324
+ };
325
+ }
326
+ try {
327
+ const { data: updatedData } = yield axios_1.default.patch(url, data);
328
+ return updatedData;
329
+ }
330
+ catch (e) {
331
+ console.log(message, data, e);
332
+ return {
333
+ message: err.response ? err.response.data : message,
334
+ isAxiosError: true,
335
+ };
336
+ }
362
337
  }
338
+ console.log(message, data, (_c = err.response) === null || _c === void 0 ? void 0 : _c.data);
339
+ return {
340
+ message: err.response ? err.response.data : message,
341
+ isAxiosError: true,
342
+ };
363
343
  }
364
- console.log(message, data, (_c = err.response) === null || _c === void 0 ? void 0 : _c.data);
344
+ }
345
+ return { message: unknownError, isAxiosError: true };
346
+ });
347
+ }
348
+ function createData(_a) {
349
+ return __awaiter(this, arguments, void 0, function* ({ path, serverEndPoint, data, contentType = 'application/json', }) {
350
+ var _b, _c;
351
+ if (!serverEndPoint) {
365
352
  return {
366
- message: err.response ? err.response.data : message,
353
+ message: noServerEndPointMessage,
367
354
  isAxiosError: true,
368
355
  };
369
356
  }
370
- }
371
- return {
372
- message: unknownError,
373
- isAxiosError: true,
374
- };
375
- });
376
- exports.createData = createData;
377
- const deleteData = (path, serverEndPoint, id) => __awaiter(void 0, void 0, void 0, function* () {
378
- var _a;
379
- if (!serverEndPoint) {
357
+ const url = `${serverEndPoint.api}/${path}/`;
358
+ const config = { headers: { 'Content-Type': contentType } };
359
+ try {
360
+ const { data: createdData } = yield axios_1.default.post(url, data, config);
361
+ return createdData;
362
+ }
363
+ catch (err) {
364
+ if (axios_1.default.isAxiosError(err)) {
365
+ const message = `Error creating data at ${url}`;
366
+ if (((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 401) {
367
+ const isRefreshed = yield refreshToken(serverEndPoint);
368
+ if (!isRefreshed) {
369
+ console.log(expiredTokenMessage);
370
+ return {
371
+ message: expiredTokenMessage,
372
+ isAxiosError: true,
373
+ };
374
+ }
375
+ try {
376
+ const { data: createdData } = yield axios_1.default.post(url, data);
377
+ return createdData;
378
+ }
379
+ catch (e) {
380
+ console.log(message, data, e);
381
+ return {
382
+ message: err.response ? err.response.data : message,
383
+ isAxiosError: true,
384
+ };
385
+ }
386
+ }
387
+ console.log(message, data, (_c = err.response) === null || _c === void 0 ? void 0 : _c.data);
388
+ return {
389
+ message: err.response ? err.response.data : message,
390
+ isAxiosError: true,
391
+ };
392
+ }
393
+ }
380
394
  return {
381
- message: noServerEndPointMessage,
395
+ message: unknownError,
382
396
  isAxiosError: true,
383
397
  };
384
- }
385
- const url = `${serverEndPoint.api}/${path}/${id}`;
386
- try {
387
- yield axios_1.default.delete(url);
388
- return true;
389
- }
390
- catch (e) {
391
- if (axios_1.default.isAxiosError(e)) {
392
- const err = e;
393
- const message = `Error deleting data from ${url}`;
394
- if (((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 401) {
395
- const isRefreshed = yield refreshToken(serverEndPoint);
396
- if (!isRefreshed) {
397
- console.log(expiredTokenMessage);
398
- return {
399
- message: expiredTokenMessage,
400
- isAxiosError: true,
401
- };
402
- }
403
- try {
404
- yield axios_1.default.delete(url);
405
- return true;
406
- }
407
- catch (e) {
408
- console.log(message, e);
409
- return {
410
- message: err.response ? err.response.data : message,
411
- isAxiosError: true,
412
- };
413
- }
414
- }
415
- console.log(message, e);
398
+ });
399
+ }
400
+ function deleteData(path, serverEndPoint, id) {
401
+ return __awaiter(this, void 0, void 0, function* () {
402
+ var _a;
403
+ if (!serverEndPoint) {
416
404
  return {
417
- message: err.response ? err.response.data : message,
405
+ message: noServerEndPointMessage,
418
406
  isAxiosError: true,
419
407
  };
420
408
  }
421
- }
422
- return {
423
- message: unknownError,
424
- isAxiosError: true,
425
- };
426
- });
427
- exports.deleteData = deleteData;
428
- const createOrUpdateData = (_a) => __awaiter(void 0, [_a], void 0, function* ({ path, serverEndPoint, data, id, contentType = 'application/json', }) {
429
- if ((0, utils_1.isTmpId)(id) || !id) {
430
- const responseCreate = yield (0, exports.createData)({ path, serverEndPoint, data, contentType });
431
- return responseCreate;
432
- }
433
- const responseUpdate = yield (0, exports.updateData)({ path, serverEndPoint, data, id, contentType });
434
- return responseUpdate;
435
- });
436
- exports.createOrUpdateData = createOrUpdateData;
437
- const prepareDataBySchemaRecursive = ({ data, schema }) => {
409
+ const url = `${serverEndPoint.api}/${path}/${id}`;
410
+ try {
411
+ yield axios_1.default.delete(url);
412
+ return true;
413
+ }
414
+ catch (e) {
415
+ if (axios_1.default.isAxiosError(e)) {
416
+ const err = e;
417
+ const message = `Error deleting data from ${url}`;
418
+ if (((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 401) {
419
+ const isRefreshed = yield refreshToken(serverEndPoint);
420
+ if (!isRefreshed) {
421
+ console.log(expiredTokenMessage);
422
+ return {
423
+ message: expiredTokenMessage,
424
+ isAxiosError: true,
425
+ };
426
+ }
427
+ try {
428
+ yield axios_1.default.delete(url);
429
+ return true;
430
+ }
431
+ catch (e) {
432
+ console.log(message, e);
433
+ return {
434
+ message: err.response ? err.response.data : message,
435
+ isAxiosError: true,
436
+ };
437
+ }
438
+ }
439
+ console.log(message, e);
440
+ return {
441
+ message: err.response ? err.response.data : message,
442
+ isAxiosError: true,
443
+ };
444
+ }
445
+ }
446
+ return {
447
+ message: unknownError,
448
+ isAxiosError: true,
449
+ };
450
+ });
451
+ }
452
+ function createOrUpdateData(_a) {
453
+ return __awaiter(this, arguments, void 0, function* ({ path, serverEndPoint, data, id, contentType = 'application/json', }) {
454
+ if ((0, utils_1.isTmpId)(id) || !id) {
455
+ const responseCreate = yield createData({ path, serverEndPoint, data, contentType });
456
+ return responseCreate;
457
+ }
458
+ const responseUpdate = yield updateData({ path, serverEndPoint, data, id, contentType });
459
+ return responseUpdate;
460
+ });
461
+ }
462
+ function prepareDataBySchemaRecursive({ data: typedData, schema, }) {
463
+ const data = typedData;
438
464
  let requiresMultipart = false;
439
465
  const dbData = {};
440
466
  for (const [key, field] of Object.entries(schema)) {
441
- if (!(key in data) || (key === 'id' && (0, utils_1.isTmpId)(data[key]))) {
467
+ const value = data[key];
468
+ if (!(key in data) || (key === 'id' && (0, utils_1.isTmpId)(value))) {
442
469
  continue;
443
470
  }
444
- if (typeof data[key] !== 'boolean' && !data[key]) {
471
+ if (typeof value !== 'boolean' && !value) {
445
472
  dbData[key] = (0, utils_1.emptyByType)(field, true);
446
473
  continue;
447
474
  }
448
475
  // Check for file upload fields
449
- if (['file upload', 'image upload'].includes(field.type)) {
476
+ if (field && ['file upload', 'image upload'].includes(field.type)) {
450
477
  requiresMultipart = true;
451
478
  if ('file' in data[key]) {
452
- dbData[key] = { file: data[key].file };
479
+ dbData[key] = { file: value.file };
453
480
  }
454
481
  continue;
455
482
  }
456
483
  // OneToMany or ManyToMany relations:
457
- if (field.type === 'field' && field.child) {
458
- const dataArr = data[key];
484
+ if ((field === null || field === void 0 ? void 0 : field.type) === 'field' && field.child) {
485
+ const dataArr = value;
459
486
  dbData[key] = dataArr.map((row) => {
460
487
  var _a;
461
488
  return ((_a = field.child) === null || _a === void 0 ? void 0 : _a.children)
@@ -468,68 +495,73 @@ const prepareDataBySchemaRecursive = ({ data, schema }) => {
468
495
  continue;
469
496
  }
470
497
  // Nested Object:
471
- if (field.type === 'nested object' && field.children && typeof data[key] === 'object') {
472
- dbData[key] = (0, utils_1.isTmpId)(data[key].id)
498
+ if ((field === null || field === void 0 ? void 0 : field.type) === 'nested object' && field.children && typeof value === 'object') {
499
+ dbData[key] = (0, utils_1.isTmpId)(value === null || value === void 0 ? void 0 : value.id)
473
500
  ? prepareDataBySchemaRecursive({
474
- data: data[key],
501
+ data: value,
475
502
  schema: field.children,
476
503
  }).data
477
- : data[key].id;
504
+ : value.id;
478
505
  continue;
479
506
  }
480
507
  // Choices:
481
- if (field.type === 'choice') {
482
- dbData[key] = data[key].value;
508
+ if ((field === null || field === void 0 ? void 0 : field.type) === 'choice') {
509
+ dbData[key] = value.value;
483
510
  continue;
484
511
  }
485
512
  // Date:
486
- if (field.type === 'date') {
487
- dbData[key] = (0, dayjs_1.default)(data[key]).format('YYYY-MM-DD');
513
+ if ((field === null || field === void 0 ? void 0 : field.type) === 'date') {
514
+ dbData[key] = (0, dayjs_1.default)(value).format('YYYY-MM-DD');
488
515
  continue;
489
516
  }
490
517
  // DateTime:
491
- if (field.type === 'datetime') {
492
- dbData[key] = (0, dayjs_1.default)(data[key]).format('YYYY-MM-DDTHH:mm');
518
+ if ((field === null || field === void 0 ? void 0 : field.type) === 'datetime') {
519
+ dbData[key] = (0, dayjs_1.default)(value).format('YYYY-MM-DDTHH:mm');
493
520
  continue;
494
521
  }
495
522
  // Default:
496
- dbData[key] = data[key];
523
+ dbData[key] = value;
497
524
  }
498
525
  return {
499
526
  data: dbData,
500
527
  requiresMultipart,
501
528
  };
502
- };
503
- const prepareDataBySchema = ({ data, schema }) => {
504
- const { data: preparedData, requiresMultipart } = prepareDataBySchemaRecursive({ data, schema });
529
+ }
530
+ function prepareDataBySchema({ data, schema }) {
531
+ const { data: preparedData, requiresMultipart } = prepareDataBySchemaRecursive({
532
+ data,
533
+ schema,
534
+ });
505
535
  return {
506
536
  data: requiresMultipart ? (0, utils_1.convertToFormData)(preparedData) : preparedData,
507
537
  contentType: requiresMultipart
508
538
  ? 'multipart/form-data'
509
539
  : 'application/json',
510
540
  };
511
- };
512
- const updateDataBySchema = (_a) => __awaiter(void 0, [_a], void 0, function* ({ model, modelObjectId, serverEndPoint, data, schema, path = null, }) {
513
- const { data: dbData, contentType } = prepareDataBySchema({ data, schema });
514
- if (!path) {
515
- path = model;
516
- }
517
- const response = yield (0, exports.createOrUpdateData)({
518
- path,
519
- serverEndPoint,
520
- data: dbData,
521
- id: modelObjectId,
522
- contentType,
541
+ }
542
+ function updateDataBySchema(_a) {
543
+ return __awaiter(this, arguments, void 0, function* ({ model, modelObjectId, serverEndPoint, data, schema, path = null, }) {
544
+ const { data: dbData, contentType } = prepareDataBySchema({ data, schema });
545
+ if (!path) {
546
+ path = model;
547
+ }
548
+ const response = yield createOrUpdateData({
549
+ path,
550
+ serverEndPoint,
551
+ data: dbData,
552
+ id: modelObjectId,
553
+ contentType,
554
+ });
555
+ return response;
523
556
  });
524
- return response;
525
- });
526
- exports.updateDataBySchema = updateDataBySchema;
527
- const addExistingRelatedModel = (_a) => __awaiter(void 0, [_a], void 0, function* ({ model, serverEndPoint, id, data, }) {
528
- const response = yield (0, exports.partialUpdateData)({ path: model, serverEndPoint, data, id });
529
- return response;
530
- });
531
- exports.addExistingRelatedModel = addExistingRelatedModel;
532
- const getDataGridColumns = (schema, columnFields, creatableFields, disabledFields) => {
557
+ }
558
+ function addExistingRelatedModel(_a) {
559
+ return __awaiter(this, arguments, void 0, function* ({ model, serverEndPoint, id, data, }) {
560
+ const response = yield partialUpdateData({ path: model, serverEndPoint, data, id });
561
+ return response;
562
+ });
563
+ }
564
+ function getDataGridColumns(schema, columnFields, creatableFields, disabledFields) {
533
565
  if (!schema) {
534
566
  return false;
535
567
  }
@@ -539,35 +571,41 @@ const getDataGridColumns = (schema, columnFields, creatableFields, disabledField
539
571
  return field in schema;
540
572
  });
541
573
  return finalColumnFields.map((field) => {
574
+ const fieldSchema = schema[field];
542
575
  const column = {
543
576
  field,
544
- headerName: schema[field].label,
577
+ headerName: fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema.label,
545
578
  creatable: creatableFields && creatableFields.includes(field)
546
579
  ? true
547
- : 'creatable' in schema[field]
548
- ? schema[field].creatable
580
+ : fieldSchema && 'creatable' in fieldSchema
581
+ ? fieldSchema.creatable
549
582
  : false,
550
583
  disabled: !!disabledFields && disabledFields.includes(field),
551
- uiRequired: schema[field].ui_required || false,
584
+ uiRequired: (fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema.ui_required) || false,
552
585
  width: 100,
553
586
  };
554
587
  return column;
555
588
  });
556
- };
557
- const getAutoComplete = (_a) => __awaiter(void 0, [_a], void 0, function* ({ model, serverEndPoint, }) {
558
- const data = yield getData({ path: `${model}/`, serverEndPoint, route: 'autocomplete' });
559
- if (axios_1.default.isAxiosError(data)) {
560
- return data;
561
- }
562
- const occurrences = {};
563
- const sanitizedData = data.map((row) => {
564
- const baseLabel = row.label;
565
- occurrences[baseLabel] = (occurrences[baseLabel] || 0) + 1;
566
- return Object.assign(Object.assign({}, row), { label: occurrences[baseLabel] > 1 ? `${baseLabel} (${occurrences[baseLabel]})` : baseLabel });
589
+ }
590
+ function getAutoComplete(_a) {
591
+ return __awaiter(this, arguments, void 0, function* ({ model, serverEndPoint, }) {
592
+ const data = yield getData({
593
+ path: `${model}/`,
594
+ serverEndPoint,
595
+ route: 'autocomplete',
596
+ });
597
+ if (axios_1.default.isAxiosError(data)) {
598
+ return data;
599
+ }
600
+ const occurrences = {};
601
+ const sanitizedData = data.map((row) => {
602
+ const baseLabel = row.label;
603
+ occurrences[baseLabel] = (occurrences[baseLabel] || 0) + 1;
604
+ return Object.assign(Object.assign({}, row), { label: occurrences[baseLabel] > 1 ? `${baseLabel} (${occurrences[baseLabel]})` : baseLabel });
605
+ });
606
+ return sanitizedData;
567
607
  });
568
- return sanitizedData;
569
- });
570
- exports.getAutoComplete = getAutoComplete;
608
+ }
571
609
  const loginByPayload = (payload, serverEndPoint) => __awaiter(void 0, void 0, void 0, function* () {
572
610
  if (!serverEndPoint) {
573
611
  return {
@@ -729,164 +767,166 @@ const signUp = (data, serverEndPoint) => __awaiter(void 0, void 0, void 0, funct
729
767
  };
730
768
  });
731
769
  exports.signUp = signUp;
732
- const getGenericModelList = (_a) => __awaiter(void 0, [_a], void 0, function* ({ model, serverEndPoint, id = '', relatedModel = '', relatedModelId = '', columnFields, creatableFields = [], disabledFields = [], isInBatches = false, loadedSchema, loadedModelOptions, page, filter, queryParams = [], sort, sumRows, schemas, }) {
733
- const newQueryParams = [...queryParams];
734
- let path = `${model}/${id}`;
735
- let schemaPath = `${model}/`;
736
- let schema = loadedSchema;
737
- let modelOptions = loadedModelOptions;
738
- let columns = [];
739
- if (!(0, utils_1.isTmpId)(id) && relatedModel) {
740
- path += `/${relatedModel}/`;
741
- if (relatedModelId) {
742
- path += `${relatedModelId}/`;
743
- }
744
- schemaPath += `${id}/${relatedModel}/`;
745
- }
746
- // SERVER-SIDE TOTALS (sumRows):
747
- if (sumRows) {
748
- const sumRowsParams = sumRows.rows.map((row) => row.field).join(',');
749
- newQueryParams.push(`sum_rows=${sumRowsParams}`);
750
- }
751
- // SERVER-SIDE FILTERING:
752
- if (filter) {
753
- if (filter.quickFilterValues &&
754
- filter.quickFilterValues.length > 0 &&
755
- filter.quickFilterValues[0]) {
756
- newQueryParams.push(`search=${filter.quickFilterValues[0]}`);
757
- }
758
- for (const item of filter.items) {
759
- if (!item.operator) {
760
- continue;
770
+ function getGenericModelList(_a) {
771
+ return __awaiter(this, arguments, void 0, function* ({ model, serverEndPoint, id = '', relatedModel = '', relatedModelId = '', columnFields, creatableFields = [], disabledFields = [], isInBatches = false, loadedSchema, loadedModelOptions, page, filter, queryParams = [], sort, sumRows, schemas, }) {
772
+ const newQueryParams = [...queryParams];
773
+ let path = `${model}/${id}`;
774
+ let schemaPath = `${model}/`;
775
+ let schema = loadedSchema;
776
+ let modelOptions = loadedModelOptions;
777
+ let columns = [];
778
+ if (!(0, utils_1.isTmpId)(id) && relatedModel) {
779
+ path += `/${relatedModel}/`;
780
+ if (relatedModelId) {
781
+ path += `${relatedModelId}/`;
782
+ }
783
+ schemaPath += `${id}/${relatedModel}/`;
784
+ }
785
+ // SERVER-SIDE TOTALS (sumRows):
786
+ if (sumRows) {
787
+ const sumRowsParams = sumRows.rows.map((row) => row.field).join(',');
788
+ newQueryParams.push(`sum_rows=${sumRowsParams}`);
789
+ }
790
+ // SERVER-SIDE FILTERING:
791
+ if (filter) {
792
+ if (filter.quickFilterValues &&
793
+ filter.quickFilterValues.length > 0 &&
794
+ filter.quickFilterValues[0]) {
795
+ newQueryParams.push(`search=${filter.quickFilterValues[0]}`);
796
+ }
797
+ for (const item of filter.items) {
798
+ if (!item.operator) {
799
+ continue;
800
+ }
801
+ const queryParam = item.value
802
+ ? `field=${item.field}&operator=${item.operator}&value=${item.value}`
803
+ : `field=${item.field}&operator=${item.operator}`;
804
+ newQueryParams.push(queryParam);
761
805
  }
762
- const queryParam = item.value
763
- ? `field=${item.field}&operator=${item.operator}&value=${item.value}`
764
- : `field=${item.field}&operator=${item.operator}`;
765
- newQueryParams.push(queryParam);
766
806
  }
767
- }
768
- // SERVER-SIDE SORTING:
769
- if (sort) {
770
- const sortParams = [];
771
- for (const item of sort) {
772
- sortParams.push(item.sort === 'desc' ? `-${item.field}` : item.field);
807
+ // SERVER-SIDE SORTING:
808
+ if (sort) {
809
+ const sortParams = [];
810
+ for (const item of sort) {
811
+ sortParams.push(item.sort === 'desc' ? `-${item.field}` : item.field);
812
+ }
813
+ newQueryParams.push(`ordering=${sortParams.join(',')}`);
814
+ }
815
+ // SERVER-SIDE PAGINATION:
816
+ if (page) {
817
+ newQueryParams.push(`page=${page + 1}`);
818
+ }
819
+ // Only get schema and columns if not in batches or in first batch:
820
+ if (!schema) {
821
+ const options = yield getSchema(schemaPath, serverEndPoint, schemas);
822
+ if (!options || axios_1.default.isAxiosError(options)) {
823
+ return (options || { message: unknownError, isAxiosError: true });
824
+ }
825
+ schema = options.schema;
826
+ if (!schema) {
827
+ return { message: `Schema not found for ${model}`, isAxiosError: true };
828
+ }
829
+ modelOptions = options.modelOptions;
830
+ columns = getDataGridColumns(schema, columnFields, creatableFields, disabledFields);
831
+ if (!columns) {
832
+ return {
833
+ message: `Columns could not be generated for ${model}`,
834
+ isAxiosError: true,
835
+ };
836
+ }
837
+ }
838
+ let rowCount = 0;
839
+ let sumRowsTotals = null;
840
+ let data = [];
841
+ if (!id || (id && !relatedModelId)) {
842
+ if (isInBatches) {
843
+ newQueryParams.push(loadedSchema ? 'is_last_batch=1' : 'is_first_batch=1');
844
+ }
845
+ if (newQueryParams.length > 0) {
846
+ path += `?${newQueryParams.join('&')}`;
847
+ }
848
+ const ret = yield getData({ path, serverEndPoint });
849
+ if (ret && axios_1.default.isAxiosError(ret)) {
850
+ return ret;
851
+ }
852
+ const dataRaw = 'results' in ret ? ret.results : ret;
853
+ if ('results' in ret) {
854
+ rowCount = ret.count;
855
+ if (sumRows) {
856
+ sumRowsTotals = ret.sum_rows;
857
+ }
858
+ }
859
+ if (!schema) {
860
+ return { message: `Schema not found for ${model}`, isAxiosError: true };
861
+ }
862
+ data = dataRaw.map((row) => {
863
+ const newRow = {};
864
+ for (const [key, field] of Object.entries(schema)) {
865
+ if (!(key in row)) {
866
+ continue;
867
+ }
868
+ if ((field === null || field === void 0 ? void 0 : field.type) === 'choice') {
869
+ newRow[key] = row[key]
870
+ ? {
871
+ value: row[key],
872
+ display_name: (0, utils_1.getChoiceByValue)(row[key], field.choices),
873
+ }
874
+ : (0, utils_1.emptyByType)(field);
875
+ continue;
876
+ }
877
+ newRow[key] = row[key] ? row[key] : (0, utils_1.emptyByType)(field);
878
+ }
879
+ return newRow;
880
+ });
881
+ }
882
+ if (!schema || !columns) {
883
+ return {
884
+ message: `Schema or columns not found for ${model}`,
885
+ isAxiosError: true,
886
+ };
887
+ }
888
+ return { data, columns, schema, modelOptions, rowCount, sumRowsTotals };
889
+ });
890
+ }
891
+ function getGenericModel(_a) {
892
+ return __awaiter(this, arguments, void 0, function* ({ model, serverEndPoint, id = '', relatedModel = '', relatedModelId = '', schemas, }) {
893
+ let path = `${model}/${id}`;
894
+ let schemaPath = `${model}/`;
895
+ if (!(0, utils_1.isTmpId)(id) && relatedModel) {
896
+ path += `/${relatedModel}/`;
897
+ if (relatedModelId) {
898
+ path += `${relatedModelId}/`;
899
+ }
900
+ schemaPath += `${id}/${relatedModel}/`;
901
+ }
902
+ else if (id) {
903
+ path += '/';
773
904
  }
774
- newQueryParams.push(`ordering=${sortParams.join(',')}`);
775
- }
776
- // SERVER-SIDE PAGINATION:
777
- if (page) {
778
- newQueryParams.push(`page=${page + 1}`);
779
- }
780
- // Only get schema and columns if not in batches or in first batch:
781
- if (!schema) {
782
905
  const options = yield getSchema(schemaPath, serverEndPoint, schemas);
783
906
  if (!options || axios_1.default.isAxiosError(options)) {
784
907
  return (options || { message: unknownError, isAxiosError: true });
785
908
  }
786
- schema = options.schema;
787
- if (!schema) {
788
- return { message: `Schema not found for ${model}`, isAxiosError: true };
789
- }
790
- modelOptions = options.modelOptions;
791
- columns = getDataGridColumns(schema, columnFields, creatableFields, disabledFields);
909
+ const { schema, modelOptions } = options;
910
+ const columns = getDataGridColumns(schema);
792
911
  if (!columns) {
793
912
  return {
794
913
  message: `Columns could not be generated for ${model}`,
795
914
  isAxiosError: true,
796
915
  };
797
916
  }
798
- }
799
- let rowCount = 0;
800
- let sumRowsTotals = null;
801
- let data = [];
802
- if (!id || (id && !relatedModelId)) {
803
- if (isInBatches) {
804
- newQueryParams.push(loadedSchema ? 'is_last_batch=1' : 'is_first_batch=1');
805
- }
806
- if (newQueryParams.length > 0) {
807
- path += `?${newQueryParams.join('&')}`;
808
- }
809
- const ret = yield getData({ path, serverEndPoint });
810
- if (ret && axios_1.default.isAxiosError(ret)) {
811
- return ret;
812
- }
813
- const dataRaw = 'results' in ret ? ret.results : ret;
814
- if ('results' in ret) {
815
- rowCount = ret.count;
816
- if (sumRows) {
817
- sumRowsTotals = ret.sum_rows;
917
+ let data = {};
918
+ if (!(0, utils_1.isTmpId)(id) && (!relatedModel || (relatedModel && relatedModelId))) {
919
+ const response = yield getData({ path, serverEndPoint });
920
+ if (!axios_1.default.isAxiosError(response)) {
921
+ data = response;
818
922
  }
819
- }
820
- if (!schema) {
821
- return { message: `Schema not found for ${model}`, isAxiosError: true };
822
- }
823
- data = dataRaw.map((row) => {
824
- const newRow = {};
825
- for (const [key, field] of Object.entries(schema)) {
826
- if (!(key in row)) {
827
- continue;
828
- }
829
- if (field.type === 'choice') {
830
- newRow[key] = row[key]
831
- ? {
832
- value: row[key],
833
- display_name: (0, utils_1.getChoiceByValue)(row[key], field.choices),
834
- }
835
- : (0, utils_1.emptyByType)(field);
836
- continue;
837
- }
838
- newRow[key] = row[key] ? row[key] : (0, utils_1.emptyByType)(field);
923
+ else {
924
+ return response;
839
925
  }
840
- return newRow;
841
- });
842
- }
843
- if (!schema || !columns) {
844
- return {
845
- message: `Schema or columns not found for ${model}`,
846
- isAxiosError: true,
847
- };
848
- }
849
- return { data, columns, schema, modelOptions, rowCount, sumRowsTotals };
850
- });
851
- exports.getGenericModelList = getGenericModelList;
852
- const getGenericModel = (_a) => __awaiter(void 0, [_a], void 0, function* ({ model, serverEndPoint, id = '', relatedModel = '', relatedModelId = '', schemas, }) {
853
- let path = `${model}/${id}`;
854
- let schemaPath = `${model}/`;
855
- if (!(0, utils_1.isTmpId)(id) && relatedModel) {
856
- path += `/${relatedModel}/`;
857
- if (relatedModelId) {
858
- path += `${relatedModelId}/`;
859
- }
860
- schemaPath += `${id}/${relatedModel}/`;
861
- }
862
- else if (id) {
863
- path += '/';
864
- }
865
- const options = yield getSchema(schemaPath, serverEndPoint, schemas);
866
- if (!options || axios_1.default.isAxiosError(options)) {
867
- return (options || { message: unknownError, isAxiosError: true });
868
- }
869
- const { schema, modelOptions } = options;
870
- const columns = getDataGridColumns(schema);
871
- if (!columns) {
872
- return {
873
- message: `Columns could not be generated for ${model}`,
874
- isAxiosError: true,
875
- };
876
- }
877
- let data = {};
878
- if (!(0, utils_1.isTmpId)(id) && (!relatedModel || (relatedModel && relatedModelId))) {
879
- const response = yield getData({ path, serverEndPoint });
880
- if (!axios_1.default.isAxiosError(response)) {
881
- data = response;
882
- }
883
- else {
884
- return response;
885
926
  }
886
- }
887
- return { schema, columns, modelOptions, data };
888
- });
889
- exports.getGenericModel = getGenericModel;
927
+ return { schema, columns, modelOptions, data };
928
+ });
929
+ }
890
930
  const getAllModels = (serverEndPoint) => __awaiter(void 0, void 0, void 0, function* () {
891
931
  if (!serverEndPoint) {
892
932
  return {