adminforth 1.3.54-next.9 → 1.3.55-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/auth.d.ts +31 -0
  2. package/dist/auth.d.ts.map +1 -0
  3. package/dist/auth.js +42 -56
  4. package/dist/auth.js.map +1 -0
  5. package/dist/basePlugin.d.ts +18 -0
  6. package/dist/basePlugin.d.ts.map +1 -0
  7. package/dist/basePlugin.js +1 -0
  8. package/dist/basePlugin.js.map +1 -0
  9. package/dist/dataConnectors/baseConnector.d.ts +94 -0
  10. package/dist/dataConnectors/baseConnector.d.ts.map +1 -0
  11. package/dist/dataConnectors/baseConnector.js +108 -122
  12. package/dist/dataConnectors/baseConnector.js.map +1 -0
  13. package/dist/dataConnectors/clickhouse.d.ts +92 -0
  14. package/dist/dataConnectors/clickhouse.d.ts.map +1 -0
  15. package/dist/dataConnectors/clickhouse.js +132 -149
  16. package/dist/dataConnectors/clickhouse.js.map +1 -0
  17. package/dist/dataConnectors/mongo.d.ts +93 -0
  18. package/dist/dataConnectors/mongo.d.ts.map +1 -0
  19. package/dist/dataConnectors/mongo.js +75 -101
  20. package/dist/dataConnectors/mongo.js.map +1 -0
  21. package/dist/dataConnectors/postgres.d.ts +71 -0
  22. package/dist/dataConnectors/postgres.d.ts.map +1 -0
  23. package/dist/dataConnectors/postgres.js +124 -143
  24. package/dist/dataConnectors/postgres.js.map +1 -0
  25. package/dist/dataConnectors/sqlite.d.ts +67 -0
  26. package/dist/dataConnectors/sqlite.d.ts.map +1 -0
  27. package/dist/dataConnectors/sqlite.js +113 -130
  28. package/dist/dataConnectors/sqlite.js.map +1 -0
  29. package/dist/index.d.ts +92 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +197 -217
  32. package/dist/index.js.map +1 -0
  33. package/dist/modules/codeInjector.d.ts +35 -0
  34. package/dist/modules/codeInjector.d.ts.map +1 -0
  35. package/dist/modules/codeInjector.js +480 -486
  36. package/dist/modules/codeInjector.js.map +1 -0
  37. package/dist/modules/configValidator.d.ts +12 -0
  38. package/dist/modules/configValidator.d.ts.map +1 -0
  39. package/dist/modules/configValidator.js +31 -22
  40. package/dist/modules/configValidator.js.map +1 -0
  41. package/dist/modules/operationalResource.d.ts +17 -0
  42. package/dist/modules/operationalResource.d.ts.map +1 -0
  43. package/dist/modules/operationalResource.js +50 -70
  44. package/dist/modules/operationalResource.js.map +1 -0
  45. package/dist/modules/restApi.d.ts +10 -0
  46. package/dist/modules/restApi.d.ts.map +1 -0
  47. package/dist/modules/restApi.js +104 -116
  48. package/dist/modules/restApi.js.map +1 -0
  49. package/dist/modules/styleGenerator.d.ts +9 -0
  50. package/dist/modules/styleGenerator.d.ts.map +1 -0
  51. package/dist/modules/styleGenerator.js +1 -0
  52. package/dist/modules/styleGenerator.js.map +1 -0
  53. package/dist/modules/styles.d.ts +96 -0
  54. package/dist/modules/styles.d.ts.map +1 -0
  55. package/dist/modules/styles.js +1 -0
  56. package/dist/modules/styles.js.map +1 -0
  57. package/dist/modules/utils.d.ts +39 -0
  58. package/dist/modules/utils.d.ts.map +1 -0
  59. package/dist/modules/utils.js +1 -0
  60. package/dist/modules/utils.js.map +1 -0
  61. package/dist/plugins/audit-log/types.d.ts +35 -0
  62. package/dist/plugins/audit-log/types.d.ts.map +1 -0
  63. package/dist/plugins/audit-log/types.js +2 -0
  64. package/dist/plugins/audit-log/types.js.map +1 -0
  65. package/dist/plugins/chat-gpt/types.d.ts +82 -0
  66. package/dist/plugins/chat-gpt/types.d.ts.map +1 -0
  67. package/dist/plugins/chat-gpt/types.js +2 -0
  68. package/dist/plugins/chat-gpt/types.js.map +1 -0
  69. package/dist/plugins/email-password-reset/types.d.ts +28 -0
  70. package/dist/plugins/email-password-reset/types.d.ts.map +1 -0
  71. package/dist/plugins/email-password-reset/types.js +2 -0
  72. package/dist/plugins/email-password-reset/types.js.map +1 -0
  73. package/dist/plugins/foreign-inline-list/types.d.ts +19 -0
  74. package/dist/plugins/foreign-inline-list/types.d.ts.map +1 -0
  75. package/dist/plugins/foreign-inline-list/types.js +2 -0
  76. package/dist/plugins/foreign-inline-list/types.js.map +1 -0
  77. package/dist/plugins/import-export/types.d.ts +3 -0
  78. package/dist/plugins/import-export/types.d.ts.map +1 -0
  79. package/dist/plugins/import-export/types.js +2 -0
  80. package/dist/plugins/import-export/types.js.map +1 -0
  81. package/dist/plugins/rich-editor/custom/async-queue.d.ts +8 -0
  82. package/dist/plugins/rich-editor/custom/async-queue.d.ts.map +1 -0
  83. package/dist/plugins/rich-editor/custom/async-queue.js +29 -0
  84. package/dist/plugins/rich-editor/custom/async-queue.js.map +1 -0
  85. package/dist/plugins/rich-editor/dist/custom/async-queue.d.ts +8 -0
  86. package/dist/plugins/rich-editor/dist/custom/async-queue.d.ts.map +1 -0
  87. package/dist/plugins/rich-editor/dist/custom/async-queue.js +29 -0
  88. package/dist/plugins/rich-editor/dist/custom/async-queue.js.map +1 -0
  89. package/dist/plugins/rich-editor/types.d.ts +153 -0
  90. package/dist/plugins/rich-editor/types.d.ts.map +1 -0
  91. package/dist/plugins/rich-editor/types.js +16 -0
  92. package/dist/plugins/rich-editor/types.js.map +1 -0
  93. package/dist/plugins/two-factors-auth/types.d.ts +18 -0
  94. package/dist/plugins/two-factors-auth/types.d.ts.map +1 -0
  95. package/dist/plugins/two-factors-auth/types.js +2 -0
  96. package/dist/plugins/two-factors-auth/types.js.map +1 -0
  97. package/dist/plugins/upload/types.d.ts +132 -0
  98. package/dist/plugins/upload/types.d.ts.map +1 -0
  99. package/dist/plugins/upload/types.js +2 -0
  100. package/dist/plugins/upload/types.js.map +1 -0
  101. package/dist/servers/express.d.ts +18 -0
  102. package/dist/servers/express.d.ts.map +1 -0
  103. package/dist/servers/express.js +30 -42
  104. package/dist/servers/express.js.map +1 -0
  105. package/dist/spa/index.html +2 -2
  106. package/dist/spa/package-lock.json +87 -1
  107. package/dist/spa/package.json +4 -1
  108. package/dist/spa/src/App.vue +154 -50
  109. package/dist/spa/src/components/AcceptModal.vue +1 -1
  110. package/dist/spa/src/components/Breadcrumbs.vue +1 -1
  111. package/dist/spa/src/components/CustomDatePicker.vue +1 -1
  112. package/dist/spa/src/components/CustomDateRangePicker.vue +1 -1
  113. package/dist/spa/src/components/CustomRangePicker.vue +9 -5
  114. package/dist/spa/src/components/Dropdown.vue +4 -4
  115. package/dist/spa/src/components/Filters.vue +2 -2
  116. package/dist/spa/src/components/MenuLink.vue +3 -0
  117. package/dist/spa/src/components/ResourceForm.vue +67 -36
  118. package/dist/spa/src/components/ResourceListTable.vue +216 -144
  119. package/dist/spa/src/components/SkeleteLoader.vue +4 -4
  120. package/dist/spa/src/components/Toast.vue +3 -2
  121. package/dist/spa/src/components/ValueRenderer.vue +81 -6
  122. package/dist/spa/src/composables/useFrontendApi.ts +1 -1
  123. package/dist/spa/src/composables/useStores.ts +18 -14
  124. package/dist/spa/src/index.scss +4 -0
  125. package/{spa → dist/spa}/src/renderers/CompactUUID.vue +4 -4
  126. package/{spa → dist/spa}/src/renderers/CountryFlag.vue +2 -2
  127. package/dist/spa/src/router/index.ts +4 -8
  128. package/dist/spa/src/spa_types/core.ts +2 -0
  129. package/dist/spa/src/stores/core.ts +6 -2
  130. package/dist/spa/src/stores/filters.ts +15 -10
  131. package/dist/spa/src/stores/toast.ts +22 -6
  132. package/dist/spa/src/types/AdminForthConfig.ts +340 -55
  133. package/dist/spa/src/types/FrontendAPI.ts +52 -30
  134. package/dist/spa/src/utils.ts +59 -2
  135. package/dist/spa/src/views/CreateView.vue +15 -4
  136. package/dist/spa/src/views/EditView.vue +20 -7
  137. package/dist/spa/src/views/ListView.vue +132 -38
  138. package/dist/spa/src/views/LoginView.vue +50 -18
  139. package/dist/spa/src/views/ShowView.vue +25 -15
  140. package/dist/types/AdminForthConfig.d.ts +1619 -0
  141. package/dist/types/AdminForthConfig.d.ts.map +1 -0
  142. package/dist/types/AdminForthConfig.js +1 -0
  143. package/dist/types/AdminForthConfig.js.map +1 -0
  144. package/{types/FrontendAPI.ts → dist/types/FrontendAPI.d.ts} +27 -52
  145. package/dist/types/FrontendAPI.d.ts.map +1 -0
  146. package/dist/types/FrontendAPI.js +1 -0
  147. package/dist/types/FrontendAPI.js.map +1 -0
  148. package/package.json +16 -6
  149. package/auth.ts +0 -140
  150. package/basePlugin.ts +0 -70
  151. package/dataConnectors/baseConnector.ts +0 -216
  152. package/dataConnectors/clickhouse.ts +0 -338
  153. package/dataConnectors/mongo.ts +0 -202
  154. package/dataConnectors/postgres.ts +0 -306
  155. package/dataConnectors/sqlite.ts +0 -254
  156. package/index.ts +0 -428
  157. package/modules/codeInjector.ts +0 -736
  158. package/modules/configValidator.ts +0 -571
  159. package/modules/operationalResource.ts +0 -98
  160. package/modules/restApi.ts +0 -718
  161. package/modules/styleGenerator.ts +0 -55
  162. package/modules/styles.ts +0 -126
  163. package/modules/utils.ts +0 -472
  164. package/servers/express.ts +0 -259
  165. package/spa/.eslintrc.cjs +0 -14
  166. package/spa/README.md +0 -39
  167. package/spa/env.d.ts +0 -1
  168. package/spa/index.html +0 -23
  169. package/spa/package-lock.json +0 -4602
  170. package/spa/package.json +0 -51
  171. package/spa/postcss.config.js +0 -6
  172. package/spa/public/assets/favicon.png +0 -0
  173. package/spa/src/App.vue +0 -418
  174. package/spa/src/assets/base.css +0 -2
  175. package/spa/src/assets/logo.svg +0 -19
  176. package/spa/src/components/AcceptModal.vue +0 -45
  177. package/spa/src/components/Breadcrumbs.vue +0 -41
  178. package/spa/src/components/BreadcrumbsWithButtons.vue +0 -26
  179. package/spa/src/components/CustomDatePicker.vue +0 -176
  180. package/spa/src/components/CustomDateRangePicker.vue +0 -218
  181. package/spa/src/components/CustomRangePicker.vue +0 -156
  182. package/spa/src/components/Dropdown.vue +0 -168
  183. package/spa/src/components/Filters.vue +0 -222
  184. package/spa/src/components/HelloWorld.vue +0 -17
  185. package/spa/src/components/MenuLink.vue +0 -27
  186. package/spa/src/components/ResourceForm.vue +0 -290
  187. package/spa/src/components/ResourceListTable.vue +0 -466
  188. package/spa/src/components/SingleSkeletLoader.vue +0 -13
  189. package/spa/src/components/SkeleteLoader.vue +0 -23
  190. package/spa/src/components/Toast.vue +0 -78
  191. package/spa/src/components/ValueRenderer.vue +0 -114
  192. package/spa/src/components/icons/IconCalendar.vue +0 -5
  193. package/spa/src/components/icons/IconCommunity.vue +0 -7
  194. package/spa/src/components/icons/IconDocumentation.vue +0 -7
  195. package/spa/src/components/icons/IconEcosystem.vue +0 -7
  196. package/spa/src/components/icons/IconSupport.vue +0 -7
  197. package/spa/src/components/icons/IconTime.vue +0 -5
  198. package/spa/src/components/icons/IconTooling.vue +0 -19
  199. package/spa/src/composables/useFrontendApi.ts +0 -26
  200. package/spa/src/composables/useStores.ts +0 -131
  201. package/spa/src/index.scss +0 -31
  202. package/spa/src/main.ts +0 -18
  203. package/spa/src/router/index.ts +0 -59
  204. package/spa/src/spa_types/core.ts +0 -53
  205. package/spa/src/stores/core.ts +0 -148
  206. package/spa/src/stores/filters.ts +0 -27
  207. package/spa/src/stores/modal.ts +0 -48
  208. package/spa/src/stores/toast.ts +0 -31
  209. package/spa/src/stores/user.ts +0 -72
  210. package/spa/src/utils.ts +0 -160
  211. package/spa/src/views/CreateView.vue +0 -167
  212. package/spa/src/views/EditView.vue +0 -170
  213. package/spa/src/views/ListView.vue +0 -352
  214. package/spa/src/views/LoginView.vue +0 -192
  215. package/spa/src/views/ResourceParent.vue +0 -17
  216. package/spa/src/views/ShowView.vue +0 -186
  217. package/spa/tailwind.config.js +0 -17
  218. package/spa/tsconfig.app.json +0 -14
  219. package/spa/tsconfig.json +0 -11
  220. package/spa/tsconfig.node.json +0 -19
  221. package/spa/vite.config.ts +0 -56
  222. package/tsconfig.json +0 -112
  223. package/types/AdminForthConfig.ts +0 -1762
  224. /package/{spa → dist/spa}/src/components/ThreeDotsMenu.vue +0 -0
package/dist/index.js CHANGED
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
11
2
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
12
3
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
@@ -87,236 +78,224 @@ class AdminForth {
87
78
  }
88
79
  return plugins[0];
89
80
  }
90
- discoverDatabases() {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- this.statuses.dbDiscover = 'running';
93
- this.connectorClasses = {
94
- 'sqlite': SQLiteConnector,
95
- 'postgres': PostgresConnector,
96
- 'mongodb': MongoConnector,
97
- 'clickhouse': ClickhouseConnector,
98
- };
99
- if (!this.config.databaseConnectors) {
100
- this.config.databaseConnectors = Object.assign({}, this.connectorClasses);
81
+ async discoverDatabases() {
82
+ this.statuses.dbDiscover = 'running';
83
+ this.connectorClasses = {
84
+ 'sqlite': SQLiteConnector,
85
+ 'postgres': PostgresConnector,
86
+ 'mongodb': MongoConnector,
87
+ 'clickhouse': ClickhouseConnector,
88
+ };
89
+ if (!this.config.databaseConnectors) {
90
+ this.config.databaseConnectors = Object.assign({}, this.connectorClasses);
91
+ }
92
+ this.config.dataSources.forEach((ds) => {
93
+ const dbType = ds.url.split(':')[0];
94
+ if (!this.config.databaseConnectors[dbType]) {
95
+ throw new Error(`Database type '${dbType}' is not supported, consider using one of ${Object.keys(this.connectorClasses).join(', ')} or create your own data-source connector`);
101
96
  }
102
- this.config.dataSources.forEach((ds) => {
103
- const dbType = ds.url.split(':')[0];
104
- if (!this.config.databaseConnectors[dbType]) {
105
- throw new Error(`Database type '${dbType}' is not supported, consider using one of ${Object.keys(this.connectorClasses).join(', ')} or create your own data-source connector`);
106
- }
107
- this.connectors[ds.id] = new this.config.databaseConnectors[dbType]({ url: ds.url });
108
- });
109
- yield Promise.all(this.config.resources.map((res) => __awaiter(this, void 0, void 0, function* () {
110
- if (!this.connectors[res.dataSource]) {
111
- const similar = suggestIfTypo(Object.keys(this.connectors), res.dataSource);
112
- throw new Error(`Resource '${res.table}' refers to unknown dataSource '${res.dataSource}' ${similar
113
- ? `. Did you mean '${similar}'?` : 'Available dataSources: ' + Object.keys(this.connectors).join(', ')}`);
114
- }
115
- const fieldTypes = yield this.connectors[res.dataSource].discoverFields(res);
116
- if (fieldTypes !== null && !Object.keys(fieldTypes).length) {
117
- throw new Error(`Table '${res.table}' (In resource '${res.resourceId}') has no fields or does not exist`);
118
- }
119
- if (fieldTypes === null) {
120
- console.error(`⛔ DataSource ${res.dataSource} was not able to perform field discovery. It will not work properly`);
121
- return;
122
- }
123
- if (!res.columns) {
124
- res.columns = Object.keys(fieldTypes).map((name) => ({ name }));
125
- }
126
- res.columns.forEach((col, i) => {
127
- if (!fieldTypes[col.name] && !col.virtual) {
128
- const similar = suggestIfTypo(Object.keys(fieldTypes), col.name);
129
- throw new Error(`Resource '${res.table}' has no column '${col.name}'. ${similar ? `Did you mean '${similar}'?` : ''}`);
130
- }
131
- // first find discovered values, but allow override
132
- res.columns[i] = Object.assign(Object.assign({}, fieldTypes[col.name]), col);
133
- });
134
- this.configValidator.postProcessAfterDiscover(res);
135
- // check if primaryKey column is present
136
- if (!res.columns.some((col) => col.primaryKey)) {
137
- throw new Error(`Resource '${res.table}' has no column defined or auto-discovered. Please set 'primaryKey: true' in a columns which has unique value for each record and index`);
97
+ this.connectors[ds.id] = new this.config.databaseConnectors[dbType]({ url: ds.url });
98
+ });
99
+ await Promise.all(this.config.resources.map(async (res) => {
100
+ if (!this.connectors[res.dataSource]) {
101
+ const similar = suggestIfTypo(Object.keys(this.connectors), res.dataSource);
102
+ throw new Error(`Resource '${res.table}' refers to unknown dataSource '${res.dataSource}' ${similar
103
+ ? `. Did you mean '${similar}'?` : 'Available dataSources: ' + Object.keys(this.connectors).join(', ')}`);
104
+ }
105
+ const fieldTypes = await this.connectors[res.dataSource].discoverFields(res);
106
+ if (fieldTypes !== null && !Object.keys(fieldTypes).length) {
107
+ throw new Error(`Table '${res.table}' (In resource '${res.resourceId}') has no fields or does not exist`);
108
+ }
109
+ if (fieldTypes === null) {
110
+ console.error(`⛔ DataSource ${res.dataSource} was not able to perform field discovery. It will not work properly`);
111
+ return;
112
+ }
113
+ if (!res.columns) {
114
+ res.columns = Object.keys(fieldTypes).map((name) => ({ name }));
115
+ }
116
+ res.columns.forEach((col, i) => {
117
+ if (!fieldTypes[col.name] && !col.virtual) {
118
+ const similar = suggestIfTypo(Object.keys(fieldTypes), col.name);
119
+ throw new Error(`Resource '${res.table}' has no column '${col.name}'. ${similar ? `Did you mean '${similar}'?` : ''}`);
138
120
  }
139
- })));
140
- this.statuses.dbDiscover = 'done';
141
- this.operationalResources = {};
142
- this.config.resources.forEach((resource) => {
143
- this.operationalResources[resource.resourceId] = new OperationalResource(this.connectors[resource.dataSource], resource);
121
+ // first find discovered values, but allow override
122
+ res.columns[i] = Object.assign(Object.assign({}, fieldTypes[col.name]), col);
144
123
  });
145
- // console.log('⚙️⚙️⚙️ Database discovery done', JSON.stringify(this.config.resources, null, 2));
124
+ this.configValidator.postProcessAfterDiscover(res);
125
+ // check if primaryKey column is present
126
+ if (!res.columns.some((col) => col.primaryKey)) {
127
+ throw new Error(`Resource '${res.table}' has no column defined or auto-discovered. Please set 'primaryKey: true' in a columns which has unique value for each record and index`);
128
+ }
129
+ }));
130
+ this.statuses.dbDiscover = 'done';
131
+ this.operationalResources = {};
132
+ this.config.resources.forEach((resource) => {
133
+ this.operationalResources[resource.resourceId] = new OperationalResource(this.connectors[resource.dataSource], resource);
146
134
  });
135
+ // console.log('⚙️⚙️⚙️ Database discovery done', JSON.stringify(this.config.resources, null, 2));
147
136
  }
148
- bundleNow(_b) {
149
- return __awaiter(this, arguments, void 0, function* ({ hotReload = false }) {
150
- yield this.codeInjector.bundleNow({ hotReload });
151
- });
137
+ async bundleNow({ hotReload = false }) {
138
+ await this.codeInjector.bundleNow({ hotReload });
152
139
  }
153
- getUserByPk(pk) {
154
- return __awaiter(this, void 0, void 0, function* () {
155
- // if database discovery is not done, throw
156
- if (this.statuses.dbDiscover !== 'done') {
157
- if (this.statuses.dbDiscover === 'running') {
158
- throw new Error('Database discovery is running. You can\'t use data API while database discovery is not finished.\n' +
159
- 'Consider moving your code to a place where it will be executed after database discovery is already done (after await admin.discoverDatabases())');
160
- }
161
- throw new Error('Database discovery is not yet started. You can\'t use data API before database discovery is done. \n' +
162
- 'Call admin.discoverDatabases() first and await it before using data API');
163
- }
164
- const resource = this.config.resources.find((res) => res.resourceId === this.config.auth.usersResourceId);
165
- if (!resource) {
166
- const similar = suggestIfTypo(this.config.resources.map((res) => res.resourceId), this.config.auth.usersResourceId);
167
- throw new Error(`No resource with ${this.config.auth.usersResourceId} found. ${similar ?
168
- `Did you mean '${similar}' in config.auth.usersResourceId?` : 'Please set correct resource in config.auth.usersResourceId'}`);
140
+ async getUserByPk(pk) {
141
+ // if database discovery is not done, throw
142
+ if (this.statuses.dbDiscover !== 'done') {
143
+ if (this.statuses.dbDiscover === 'running') {
144
+ throw new Error('Database discovery is running. You can\'t use data API while database discovery is not finished.\n' +
145
+ 'Consider moving your code to a place where it will be executed after database discovery is already done (after await admin.discoverDatabases())');
169
146
  }
170
- const users = yield this.connectors[resource.dataSource].getData({
171
- resource,
172
- filters: [
173
- { field: resource.columns.find((col) => col.primaryKey).name, operator: AdminForthFilterOperators.EQ, value: pk },
174
- ],
175
- limit: 1,
176
- offset: 0,
177
- sort: [],
178
- });
179
- return users.data[0] || null;
147
+ throw new Error('Database discovery is not yet started. You can\'t use data API before database discovery is done. \n' +
148
+ 'Call admin.discoverDatabases() first and await it before using data API');
149
+ }
150
+ const resource = this.config.resources.find((res) => res.resourceId === this.config.auth.usersResourceId);
151
+ if (!resource) {
152
+ const similar = suggestIfTypo(this.config.resources.map((res) => res.resourceId), this.config.auth.usersResourceId);
153
+ throw new Error(`No resource with ${this.config.auth.usersResourceId} found. ${similar ?
154
+ `Did you mean '${similar}' in config.auth.usersResourceId?` : 'Please set correct resource in config.auth.usersResourceId'}`);
155
+ }
156
+ const users = await this.connectors[resource.dataSource].getData({
157
+ resource,
158
+ filters: [
159
+ { field: resource.columns.find((col) => col.primaryKey).name, operator: AdminForthFilterOperators.EQ, value: pk },
160
+ ],
161
+ limit: 1,
162
+ offset: 0,
163
+ sort: [],
180
164
  });
165
+ return users.data[0] || null;
181
166
  }
182
- createResourceRecord(_b) {
183
- return __awaiter(this, arguments, void 0, function* ({ resource, record, adminUser }) {
184
- var _c, _d, _e, _f;
185
- // execute hook if needed
186
- for (const hook of listify((_d = (_c = resource.hooks) === null || _c === void 0 ? void 0 : _c.create) === null || _d === void 0 ? void 0 : _d.beforeSave)) {
187
- const resp = yield hook({ recordId: undefined, resource, record, adminUser });
188
- if (!resp || (!resp.ok && !resp.error)) {
189
- throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
190
- }
191
- if (resp.error) {
192
- return { error: resp.error };
193
- }
167
+ async createResourceRecord({ resource, record, adminUser }) {
168
+ var _b, _c, _d, _e;
169
+ // execute hook if needed
170
+ for (const hook of listify((_c = (_b = resource.hooks) === null || _b === void 0 ? void 0 : _b.create) === null || _c === void 0 ? void 0 : _c.beforeSave)) {
171
+ const resp = await hook({ recordId: undefined, resource, record, adminUser });
172
+ if (!resp || (!resp.ok && !resp.error)) {
173
+ throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
194
174
  }
195
- // remove virtual columns from record
196
- for (const column of resource.columns.filter((col) => col.virtual)) {
197
- if (record[column.name]) {
198
- delete record[column.name];
199
- }
175
+ if (resp.error) {
176
+ return { error: resp.error };
200
177
  }
201
- const connector = this.connectors[resource.dataSource];
202
- process.env.HEAVY_DEBUG && console.log('🪲🆕 creating record createResourceRecord', record);
203
- const { error, createdRecord } = yield connector.createRecord({ resource, record, adminUser });
204
- if (error) {
205
- return { error };
178
+ }
179
+ // remove virtual columns from record
180
+ for (const column of resource.columns.filter((col) => col.virtual)) {
181
+ if (record[column.name]) {
182
+ delete record[column.name];
206
183
  }
207
- const primaryKey = record[resource.columns.find((col) => col.primaryKey).name];
208
- // execute hook if needed
209
- for (const hook of listify((_f = (_e = resource.hooks) === null || _e === void 0 ? void 0 : _e.create) === null || _f === void 0 ? void 0 : _f.afterSave)) {
210
- process.env.HEAVY_DEBUG && console.log('🪲 Hook afterSave', hook);
211
- const resp = yield hook({
212
- recordId: primaryKey,
213
- resource,
214
- record: createdRecord,
215
- adminUser
216
- });
217
- if (!resp || (!resp.ok && !resp.error)) {
218
- throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
219
- }
220
- if (resp.error) {
221
- return { error: resp.error };
222
- }
184
+ }
185
+ const connector = this.connectors[resource.dataSource];
186
+ process.env.HEAVY_DEBUG && console.log('🪲🆕 creating record createResourceRecord', record);
187
+ const { error, createdRecord } = await connector.createRecord({ resource, record, adminUser });
188
+ if (error) {
189
+ return { error };
190
+ }
191
+ const primaryKey = record[resource.columns.find((col) => col.primaryKey).name];
192
+ // execute hook if needed
193
+ for (const hook of listify((_e = (_d = resource.hooks) === null || _d === void 0 ? void 0 : _d.create) === null || _e === void 0 ? void 0 : _e.afterSave)) {
194
+ process.env.HEAVY_DEBUG && console.log('🪲 Hook afterSave', hook);
195
+ const resp = await hook({
196
+ recordId: primaryKey,
197
+ resource,
198
+ record: createdRecord,
199
+ adminUser
200
+ });
201
+ if (!resp || (!resp.ok && !resp.error)) {
202
+ throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
223
203
  }
224
- return { error, createdRecord };
225
- });
204
+ if (resp.error) {
205
+ return { error: resp.error };
206
+ }
207
+ }
208
+ return { error, createdRecord };
226
209
  }
227
210
  /**
228
211
  * record is partial record with only changed fields
229
212
  */
230
- updateResourceRecord(_b) {
231
- return __awaiter(this, arguments, void 0, function* ({ resource, recordId, record, oldRecord, adminUser }) {
232
- var _c, _d, _e, _f;
233
- // execute hook if needed
234
- for (const hook of listify((_d = (_c = resource.hooks) === null || _c === void 0 ? void 0 : _c.edit) === null || _d === void 0 ? void 0 : _d.beforeSave)) {
235
- const resp = yield hook({
236
- recordId,
237
- resource,
238
- record,
239
- oldRecord,
240
- adminUser
241
- });
242
- if (!resp || (!resp.ok && !resp.error)) {
243
- throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
244
- }
245
- if (resp.error) {
246
- return { error: resp.error };
247
- }
213
+ async updateResourceRecord({ resource, recordId, record, oldRecord, adminUser }) {
214
+ var _b, _c, _d, _e;
215
+ // execute hook if needed
216
+ for (const hook of listify((_c = (_b = resource.hooks) === null || _b === void 0 ? void 0 : _b.edit) === null || _c === void 0 ? void 0 : _c.beforeSave)) {
217
+ const resp = await hook({
218
+ recordId,
219
+ resource,
220
+ record,
221
+ oldRecord,
222
+ adminUser
223
+ });
224
+ if (!resp || (!resp.ok && !resp.error)) {
225
+ throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
226
+ }
227
+ if (resp.error) {
228
+ return { error: resp.error };
248
229
  }
249
- const newValues = {};
250
- const connector = this.connectors[resource.dataSource];
251
- for (const recordField in record) {
252
- if (record[recordField] !== oldRecord[recordField]) {
253
- // leave only changed fields to reduce data transfer/modifications in db
254
- const column = resource.columns.find((col) => col.name === recordField);
255
- if (!column || !column.virtual) {
256
- // exclude virtual columns
257
- newValues[recordField] = record[recordField];
258
- }
230
+ }
231
+ const newValues = {};
232
+ const connector = this.connectors[resource.dataSource];
233
+ for (const recordField in record) {
234
+ if (record[recordField] !== oldRecord[recordField]) {
235
+ // leave only changed fields to reduce data transfer/modifications in db
236
+ const column = resource.columns.find((col) => col.name === recordField);
237
+ if (!column || !column.virtual) {
238
+ // exclude virtual columns
239
+ newValues[recordField] = record[recordField];
259
240
  }
260
241
  }
261
- if (Object.keys(newValues).length > 0) {
262
- yield connector.updateRecord({ resource, recordId, newValues });
242
+ }
243
+ if (Object.keys(newValues).length > 0) {
244
+ await connector.updateRecord({ resource, recordId, newValues });
245
+ }
246
+ // execute hook if needed
247
+ for (const hook of listify((_e = (_d = resource.hooks) === null || _d === void 0 ? void 0 : _d.edit) === null || _e === void 0 ? void 0 : _e.afterSave)) {
248
+ const resp = await hook({
249
+ resource,
250
+ record,
251
+ adminUser,
252
+ oldRecord,
253
+ recordId,
254
+ });
255
+ if (!resp || (!resp.ok && !resp.error)) {
256
+ throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
263
257
  }
264
- // execute hook if needed
265
- for (const hook of listify((_f = (_e = resource.hooks) === null || _e === void 0 ? void 0 : _e.edit) === null || _f === void 0 ? void 0 : _f.afterSave)) {
266
- const resp = yield hook({
267
- resource,
268
- record,
269
- adminUser,
270
- oldRecord,
271
- recordId,
272
- });
273
- if (!resp || (!resp.ok && !resp.error)) {
274
- throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
275
- }
276
- if (resp.error) {
277
- return { error: resp.error };
278
- }
258
+ if (resp.error) {
259
+ return { error: resp.error };
279
260
  }
280
- return { error: null };
281
- });
261
+ }
262
+ return { error: null };
282
263
  }
283
- deleteResourceRecord(_b) {
284
- return __awaiter(this, arguments, void 0, function* ({ resource, recordId, adminUser, record }) {
285
- var _c, _d, _e, _f;
286
- // execute hook if needed
287
- for (const hook of listify((_d = (_c = resource.hooks) === null || _c === void 0 ? void 0 : _c.delete) === null || _d === void 0 ? void 0 : _d.beforeSave)) {
288
- const resp = yield hook({
289
- resource,
290
- record,
291
- adminUser,
292
- recordId,
293
- });
294
- if (!resp || (!resp.ok && !resp.error)) {
295
- throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
296
- }
297
- if (resp.error) {
298
- return { error: resp.error };
299
- }
264
+ async deleteResourceRecord({ resource, recordId, adminUser, record }) {
265
+ var _b, _c, _d, _e;
266
+ // execute hook if needed
267
+ for (const hook of listify((_c = (_b = resource.hooks) === null || _b === void 0 ? void 0 : _b.delete) === null || _c === void 0 ? void 0 : _c.beforeSave)) {
268
+ const resp = await hook({
269
+ resource,
270
+ record,
271
+ adminUser,
272
+ recordId,
273
+ });
274
+ if (!resp || (!resp.ok && !resp.error)) {
275
+ throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
300
276
  }
301
- const connector = this.connectors[resource.dataSource];
302
- yield connector.deleteRecord({ resource, recordId });
303
- // execute hook if needed
304
- for (const hook of listify((_f = (_e = resource.hooks) === null || _e === void 0 ? void 0 : _e.delete) === null || _f === void 0 ? void 0 : _f.afterSave)) {
305
- const resp = yield hook({
306
- resource,
307
- record,
308
- adminUser,
309
- recordId,
310
- });
311
- if (!resp || (!resp.ok && !resp.error)) {
312
- throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
313
- }
314
- if (resp.error) {
315
- return { error: resp.error };
316
- }
277
+ if (resp.error) {
278
+ return { error: resp.error };
317
279
  }
318
- return { error: null };
319
- });
280
+ }
281
+ const connector = this.connectors[resource.dataSource];
282
+ await connector.deleteRecord({ resource, recordId });
283
+ // execute hook if needed
284
+ for (const hook of listify((_e = (_d = resource.hooks) === null || _d === void 0 ? void 0 : _d.delete) === null || _e === void 0 ? void 0 : _e.afterSave)) {
285
+ const resp = await hook({
286
+ resource,
287
+ record,
288
+ adminUser,
289
+ recordId,
290
+ });
291
+ if (!resp || (!resp.ok && !resp.error)) {
292
+ throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
293
+ }
294
+ if (resp.error) {
295
+ return { error: resp.error };
296
+ }
297
+ }
298
+ return { error: null };
320
299
  }
321
300
  resource(resourceId) {
322
301
  if (this.statuses.dbDiscover !== 'done') {
@@ -342,9 +321,9 @@ class AdminForth {
342
321
  _a = AdminForth, _AdminForth_defaultConfig = new WeakMap();
343
322
  AdminForth.Types = AdminForthDataTypes;
344
323
  AdminForth.Utils = {
345
- generatePasswordHash: (password) => __awaiter(void 0, void 0, void 0, function* () {
346
- return yield AdminForthAuth.generatePasswordHash(password);
347
- }),
324
+ generatePasswordHash: async (password) => {
325
+ return await AdminForthAuth.generatePasswordHash(password);
326
+ },
348
327
  PASSWORD_VALIDATORS: {
349
328
  UP_LOW_NUM_SPECIAL: {
350
329
  regExp: '^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*\\(\\)\\-_=\\+\\[\\]\\{\\}\\|;:\',\\.<>\\/\\?]).+$',
@@ -361,3 +340,4 @@ AdminForth.Utils = {
361
340
  }
362
341
  };
363
342
  export default AdminForth;
343
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import AdminForth from '../index.js';
2
+ import { ICodeInjector } from '../types/AdminForthConfig.js';
3
+ declare class CodeInjector implements ICodeInjector {
4
+ allWatchers: any[];
5
+ adminforth: AdminForth;
6
+ allComponentNames: {
7
+ [key: string]: string;
8
+ };
9
+ srcFoldersToSync: {
10
+ [key: string]: string;
11
+ };
12
+ static SPA_TMP_PATH: string;
13
+ cleanup(): void;
14
+ constructor(adminforth: any);
15
+ runNpmShell({ command, cwd }: {
16
+ command: any;
17
+ cwd: any;
18
+ }): Promise<void>;
19
+ rmTmpDir(): Promise<void>;
20
+ packagesFromNpm(dir: string): Promise<[string, string[]]>;
21
+ getSpaDir(): string;
22
+ prepareSources({ filesUpdated }: {
23
+ filesUpdated?: string[];
24
+ }): Promise<void>;
25
+ watchForReprepare({}: {}): Promise<void>;
26
+ watchCustomComponentsForCopy({ customComponentsDir, destination }: {
27
+ customComponentsDir: any;
28
+ destination: any;
29
+ }): Promise<void>;
30
+ bundleNow({ hotReload }: {
31
+ hotReload: boolean;
32
+ }): Promise<void>;
33
+ }
34
+ export default CodeInjector;
35
+ //# sourceMappingURL=codeInjector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeInjector.d.ts","sourceRoot":"","sources":["../../modules/codeInjector.ts"],"names":[],"mappings":"AAQA,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,OAAO,EAA4B,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAwDvF,cAAM,YAAa,YAAW,aAAa;IAEzC,WAAW,QAAM;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,iBAAiB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAClD,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAEjD,MAAM,CAAC,YAAY,SAA+C;IAElE,OAAO;gBAMK,UAAU,KAAA;IAmBhB,WAAW,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC;;;KAAA;IAwB1B,QAAQ;IASR,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAyC/D,SAAS;IAQH,cAAc,CAAC,EAAE,YAAY,EAAE,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;IAuZ5D,iBAAiB,CAAC,EAAE,IAAA;IAsCpB,4BAA4B,CAAC,EAAE,mBAAmB,EAAE,WAAW,EAAE;;;KAAA;IA4EjE,SAAS,CAAC,EAAE,SAAiB,EAAE,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE;CAqD9D;AAED,eAAe,YAAY,CAAC"}