adminforth 1.4.3-next.2 → 1.4.3-next.21

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 (191) hide show
  1. package/commands/bundle.js +29 -0
  2. package/commands/generateModels.js +63 -0
  3. package/commands/utils.js +93 -0
  4. package/dist/adminforth/auth.d.ts +31 -0
  5. package/dist/adminforth/auth.d.ts.map +1 -0
  6. package/dist/adminforth/auth.js +119 -0
  7. package/dist/adminforth/auth.js.map +1 -0
  8. package/dist/adminforth/basePlugin.d.ts +23 -0
  9. package/dist/adminforth/basePlugin.d.ts.map +1 -0
  10. package/dist/adminforth/basePlugin.js +51 -0
  11. package/dist/adminforth/basePlugin.js.map +1 -0
  12. package/dist/adminforth/dataConnectors/baseConnector.d.ts +95 -0
  13. package/dist/adminforth/dataConnectors/baseConnector.d.ts.map +1 -0
  14. package/dist/adminforth/dataConnectors/baseConnector.js +178 -0
  15. package/dist/adminforth/dataConnectors/baseConnector.js.map +1 -0
  16. package/dist/adminforth/dataConnectors/clickhouse.d.ts +93 -0
  17. package/dist/adminforth/dataConnectors/clickhouse.d.ts.map +1 -0
  18. package/dist/adminforth/dataConnectors/clickhouse.js +297 -0
  19. package/dist/adminforth/dataConnectors/clickhouse.js.map +1 -0
  20. package/dist/adminforth/dataConnectors/mongo.d.ts +94 -0
  21. package/dist/adminforth/dataConnectors/mongo.d.ts.map +1 -0
  22. package/dist/adminforth/dataConnectors/mongo.js +168 -0
  23. package/dist/adminforth/dataConnectors/mongo.js.map +1 -0
  24. package/dist/adminforth/dataConnectors/postgres.d.ts +72 -0
  25. package/dist/adminforth/dataConnectors/postgres.d.ts.map +1 -0
  26. package/dist/adminforth/dataConnectors/postgres.js +298 -0
  27. package/dist/adminforth/dataConnectors/postgres.js.map +1 -0
  28. package/dist/adminforth/dataConnectors/sqlite.d.ts +67 -0
  29. package/dist/adminforth/dataConnectors/sqlite.d.ts.map +1 -0
  30. package/dist/adminforth/dataConnectors/sqlite.js +251 -0
  31. package/dist/adminforth/dataConnectors/sqlite.js.map +1 -0
  32. package/dist/adminforth/index.d.ts +94 -0
  33. package/dist/adminforth/index.d.ts.map +1 -0
  34. package/dist/adminforth/index.js +357 -0
  35. package/dist/adminforth/index.js.map +1 -0
  36. package/dist/adminforth/modules/codeInjector.d.ts +38 -0
  37. package/dist/adminforth/modules/codeInjector.d.ts.map +1 -0
  38. package/dist/adminforth/modules/codeInjector.js +673 -0
  39. package/dist/adminforth/modules/codeInjector.js.map +1 -0
  40. package/dist/adminforth/modules/configValidator.d.ts +13 -0
  41. package/dist/adminforth/modules/configValidator.d.ts.map +1 -0
  42. package/dist/adminforth/modules/configValidator.js +511 -0
  43. package/dist/adminforth/modules/configValidator.js.map +1 -0
  44. package/dist/adminforth/modules/operationalResource.d.ts +17 -0
  45. package/dist/adminforth/modules/operationalResource.d.ts.map +1 -0
  46. package/dist/adminforth/modules/operationalResource.js +75 -0
  47. package/dist/adminforth/modules/operationalResource.js.map +1 -0
  48. package/dist/adminforth/modules/restApi.d.ts +11 -0
  49. package/dist/adminforth/modules/restApi.d.ts.map +1 -0
  50. package/dist/adminforth/modules/restApi.js +657 -0
  51. package/dist/adminforth/modules/restApi.js.map +1 -0
  52. package/dist/adminforth/modules/styleGenerator.d.ts +9 -0
  53. package/dist/adminforth/modules/styleGenerator.d.ts.map +1 -0
  54. package/dist/adminforth/modules/styleGenerator.js +47 -0
  55. package/dist/adminforth/modules/styleGenerator.js.map +1 -0
  56. package/dist/adminforth/modules/styles.d.ts +96 -0
  57. package/dist/adminforth/modules/styles.d.ts.map +1 -0
  58. package/dist/adminforth/modules/styles.js +105 -0
  59. package/dist/adminforth/modules/styles.js.map +1 -0
  60. package/dist/adminforth/modules/utils.d.ts +39 -0
  61. package/dist/adminforth/modules/utils.d.ts.map +1 -0
  62. package/dist/adminforth/modules/utils.js +421 -0
  63. package/dist/adminforth/modules/utils.js.map +1 -0
  64. package/dist/adminforth/plugins/audit-log/index.d.ts +25 -0
  65. package/dist/adminforth/plugins/audit-log/index.d.ts.map +1 -0
  66. package/dist/adminforth/plugins/audit-log/index.js +129 -0
  67. package/dist/adminforth/plugins/audit-log/index.js.map +1 -0
  68. package/dist/adminforth/plugins/audit-log/types.d.ts +35 -0
  69. package/dist/adminforth/plugins/audit-log/types.d.ts.map +1 -0
  70. package/dist/adminforth/plugins/audit-log/types.js +2 -0
  71. package/dist/adminforth/plugins/audit-log/types.js.map +1 -0
  72. package/dist/adminforth/plugins/chat-gpt/index.d.ts +14 -0
  73. package/dist/adminforth/plugins/chat-gpt/index.d.ts.map +1 -0
  74. package/dist/adminforth/plugins/chat-gpt/index.js +147 -0
  75. package/dist/adminforth/plugins/chat-gpt/index.js.map +1 -0
  76. package/dist/adminforth/plugins/chat-gpt/types.d.ts +82 -0
  77. package/dist/adminforth/plugins/chat-gpt/types.d.ts.map +1 -0
  78. package/dist/adminforth/plugins/chat-gpt/types.js +2 -0
  79. package/dist/adminforth/plugins/chat-gpt/types.js.map +1 -0
  80. package/dist/adminforth/plugins/email-password-reset/index.d.ts +15 -0
  81. package/dist/adminforth/plugins/email-password-reset/index.d.ts.map +1 -0
  82. package/dist/adminforth/plugins/email-password-reset/index.js +176 -0
  83. package/dist/adminforth/plugins/email-password-reset/index.js.map +1 -0
  84. package/dist/adminforth/plugins/email-password-reset/types.d.ts +28 -0
  85. package/dist/adminforth/plugins/email-password-reset/types.d.ts.map +1 -0
  86. package/dist/adminforth/plugins/email-password-reset/types.js +2 -0
  87. package/dist/adminforth/plugins/email-password-reset/types.js.map +1 -0
  88. package/dist/adminforth/plugins/foreign-inline-list/index.d.ts +13 -0
  89. package/dist/adminforth/plugins/foreign-inline-list/index.d.ts.map +1 -0
  90. package/dist/adminforth/plugins/foreign-inline-list/index.js +56 -0
  91. package/dist/adminforth/plugins/foreign-inline-list/index.js.map +1 -0
  92. package/dist/adminforth/plugins/foreign-inline-list/types.d.ts +19 -0
  93. package/dist/adminforth/plugins/foreign-inline-list/types.d.ts.map +1 -0
  94. package/dist/adminforth/plugins/foreign-inline-list/types.js +2 -0
  95. package/dist/adminforth/plugins/foreign-inline-list/types.js.map +1 -0
  96. package/dist/adminforth/plugins/import-export/index.d.ts +15 -0
  97. package/dist/adminforth/plugins/import-export/index.d.ts.map +1 -0
  98. package/dist/adminforth/plugins/import-export/index.js +127 -0
  99. package/dist/adminforth/plugins/import-export/index.js.map +1 -0
  100. package/dist/adminforth/plugins/import-export/types.d.ts +3 -0
  101. package/dist/adminforth/plugins/import-export/types.d.ts.map +1 -0
  102. package/dist/adminforth/plugins/import-export/types.js +2 -0
  103. package/dist/adminforth/plugins/import-export/types.js.map +1 -0
  104. package/dist/adminforth/plugins/rich-editor/index.d.ts +17 -0
  105. package/dist/adminforth/plugins/rich-editor/index.d.ts.map +1 -0
  106. package/dist/adminforth/plugins/rich-editor/index.js +262 -0
  107. package/dist/adminforth/plugins/rich-editor/index.js.map +1 -0
  108. package/dist/adminforth/plugins/rich-editor/types.d.ts +153 -0
  109. package/dist/adminforth/plugins/rich-editor/types.d.ts.map +1 -0
  110. package/dist/adminforth/plugins/rich-editor/types.js +16 -0
  111. package/dist/adminforth/plugins/rich-editor/types.js.map +1 -0
  112. package/dist/adminforth/plugins/two-factors-auth/index.d.ts +16 -0
  113. package/dist/adminforth/plugins/two-factors-auth/index.d.ts.map +1 -0
  114. package/dist/adminforth/plugins/two-factors-auth/index.js +134 -0
  115. package/dist/adminforth/plugins/two-factors-auth/index.js.map +1 -0
  116. package/dist/adminforth/plugins/two-factors-auth/types.d.ts +18 -0
  117. package/dist/adminforth/plugins/two-factors-auth/types.d.ts.map +1 -0
  118. package/dist/adminforth/plugins/two-factors-auth/types.js +2 -0
  119. package/dist/adminforth/plugins/two-factors-auth/types.js.map +1 -0
  120. package/dist/adminforth/plugins/upload/index.d.ts +14 -0
  121. package/dist/adminforth/plugins/upload/index.d.ts.map +1 -0
  122. package/dist/adminforth/plugins/upload/index.js +450 -0
  123. package/dist/adminforth/plugins/upload/index.js.map +1 -0
  124. package/dist/adminforth/plugins/upload/types.d.ts +132 -0
  125. package/dist/adminforth/plugins/upload/types.d.ts.map +1 -0
  126. package/dist/adminforth/plugins/upload/types.js +2 -0
  127. package/dist/adminforth/plugins/upload/types.js.map +1 -0
  128. package/dist/adminforth/servers/express.d.ts +18 -0
  129. package/dist/adminforth/servers/express.d.ts.map +1 -0
  130. package/dist/adminforth/servers/express.js +238 -0
  131. package/dist/adminforth/servers/express.js.map +1 -0
  132. package/dist/adminforth/types/Back.d.ts +1103 -0
  133. package/dist/adminforth/types/Back.d.ts.map +1 -0
  134. package/dist/adminforth/types/Back.js +86 -0
  135. package/dist/adminforth/types/Back.js.map +1 -0
  136. package/dist/adminforth/types/Common.d.ts +616 -0
  137. package/dist/adminforth/types/Common.d.ts.map +1 -0
  138. package/dist/adminforth/types/Common.js +65 -0
  139. package/dist/adminforth/types/Common.js.map +1 -0
  140. package/dist/adminforth/types/FrontendAPI.d.ts +134 -0
  141. package/dist/adminforth/types/FrontendAPI.d.ts.map +1 -0
  142. package/dist/adminforth/types/FrontendAPI.js +8 -0
  143. package/dist/adminforth/types/FrontendAPI.js.map +1 -0
  144. package/dist/dataConnectors/baseConnector.d.ts.map +1 -1
  145. package/dist/dataConnectors/baseConnector.js +7 -2
  146. package/dist/dataConnectors/baseConnector.js.map +1 -1
  147. package/dist/dataConnectors/postgres.js +3 -3
  148. package/dist/dataConnectors/postgres.js.map +1 -1
  149. package/dist/dev-demo/index.d.ts +3 -0
  150. package/dist/dev-demo/index.d.ts.map +1 -0
  151. package/dist/dev-demo/index.js +1052 -0
  152. package/dist/dev-demo/index.js.map +1 -0
  153. package/dist/modules/codeInjector.d.ts +4 -2
  154. package/dist/modules/codeInjector.d.ts.map +1 -1
  155. package/dist/modules/codeInjector.js +93 -69
  156. package/dist/modules/codeInjector.js.map +1 -1
  157. package/dist/modules/restApi.d.ts.map +1 -1
  158. package/dist/modules/restApi.js +33 -19
  159. package/dist/modules/restApi.js.map +1 -1
  160. package/dist/modules/utils.d.ts.map +1 -1
  161. package/dist/modules/utils.js +0 -1
  162. package/dist/modules/utils.js.map +1 -1
  163. package/dist/servers/express.d.ts.map +1 -1
  164. package/dist/servers/express.js +4 -1
  165. package/dist/servers/express.js.map +1 -1
  166. package/dist/spa/package-lock.json +64 -4
  167. package/dist/spa/package.json +1 -0
  168. package/dist/spa/src/App.vue +15 -25
  169. package/dist/spa/src/acl/Button.vue +21 -0
  170. package/dist/spa/src/acl/Link.vue +9 -0
  171. package/dist/spa/src/afcl/Button.vue +27 -0
  172. package/dist/spa/src/afcl/Input.vue +41 -0
  173. package/dist/spa/src/afcl/Link.vue +9 -0
  174. package/dist/spa/src/afcl/Select.vue +206 -0
  175. package/dist/spa/src/afcl/index.ts +6 -0
  176. package/dist/spa/src/components/Filters.vue +11 -5
  177. package/dist/spa/src/components/GroupsTable.vue +23 -23
  178. package/dist/spa/src/components/ValueRenderer.vue +3 -1
  179. package/dist/spa/src/renderers/CompactField.vue +1 -1
  180. package/dist/spa/src/renderers/CompactUUID.vue +1 -1
  181. package/dist/spa/src/renderers/CountryFlag.vue +3 -4
  182. package/dist/spa/src/renderers/HumanNumber.vue +3 -2
  183. package/dist/spa/src/renderers/RelativeTime.vue +3 -2
  184. package/dist/spa/src/router/index.ts +1 -1
  185. package/dist/spa/src/types/Back.ts +47 -13
  186. package/dist/spa/src/views/LoginView.vue +4 -15
  187. package/dist/spa/vite.config.ts +16 -34
  188. package/dist/types/Back.d.ts +21 -6
  189. package/dist/types/Back.d.ts.map +1 -1
  190. package/dist/types/Back.js.map +1 -1
  191. package/package.json +3 -2
@@ -0,0 +1,357 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _a, _AdminForth_defaultConfig;
7
+ import AdminForthAuth from './auth.js';
8
+ import MongoConnector from './dataConnectors/mongo.js';
9
+ import PostgresConnector from './dataConnectors/postgres.js';
10
+ import SQLiteConnector from './dataConnectors/sqlite.js';
11
+ import CodeInjector from './modules/codeInjector.js';
12
+ import ExpressServer from './servers/express.js';
13
+ // import FastifyServer from './servers/fastify.js';
14
+ import { ADMINFORTH_VERSION, listify, suggestIfTypo, RateLimiter, getClinetIp } from './modules/utils.js';
15
+ import { AdminForthFilterOperators, AdminForthDataTypes, } from './types/Common.js';
16
+ import AdminForthPlugin from './basePlugin.js';
17
+ import ConfigValidator from './modules/configValidator.js';
18
+ import AdminForthRestAPI, { interpretResource } from './modules/restApi.js';
19
+ import ClickhouseConnector from './dataConnectors/clickhouse.js';
20
+ import OperationalResource from './modules/operationalResource.js';
21
+ // exports
22
+ export * from './types/Back.js';
23
+ export * from './types/Common.js';
24
+ export { interpretResource };
25
+ export { AdminForthPlugin };
26
+ export { suggestIfTypo, RateLimiter, getClinetIp };
27
+ class AdminForth {
28
+ constructor(config) {
29
+ _AdminForth_defaultConfig.set(this, {
30
+ deleteConfirmation: true,
31
+ });
32
+ this.config = Object.assign(Object.assign({}, __classPrivateFieldGet(this, _AdminForth_defaultConfig, "f")), config);
33
+ this.codeInjector = new CodeInjector(this);
34
+ this.configValidator = new ConfigValidator(this, this.config);
35
+ this.restApi = new AdminForthRestAPI(this);
36
+ this.activatedPlugins = [];
37
+ this.configValidator.validateConfig();
38
+ this.activatePlugins();
39
+ this.configValidator.validateConfig(); // revalidate after plugins
40
+ this.express = new ExpressServer(this);
41
+ // this.fastify = new FastifyServer(this);
42
+ this.auth = new AdminForthAuth(this);
43
+ this.connectors = {};
44
+ this.statuses = {
45
+ dbDiscover: 'running',
46
+ };
47
+ console.log(`🚀 AdminForth v${ADMINFORTH_VERSION} starting up`);
48
+ }
49
+ activatePlugins() {
50
+ process.env.HEAVY_DEBUG && console.log('🔌🔌🔌 Activating plugins');
51
+ const allPluginInstances = [];
52
+ for (let resource of this.config.resources) {
53
+ for (let pluginInstance of resource.plugins || []) {
54
+ allPluginInstances.push({ pi: pluginInstance, resource });
55
+ }
56
+ }
57
+ allPluginInstances.sort(({ pi: a }, { pi: b }) => a.activationOrder - b.activationOrder);
58
+ allPluginInstances.forEach(({ pi: pluginInstance, resource }) => {
59
+ pluginInstance.modifyResourceConfig(this, resource);
60
+ const plugin = this.activatedPlugins.find((p) => p.pluginInstanceId === pluginInstance.pluginInstanceId);
61
+ if (plugin) {
62
+ process.env.HEAVY_DEBUG && console.log(`Current plugin pluginInstance.pluginInstanceId ${pluginInstance.pluginInstanceId}`);
63
+ throw new Error(`Attempt to activate Plugin ${pluginInstance.constructor.name} second time for same resource, but plugin does not support it.
64
+ To support multiple plugin instance pre one resource, plugin should return unique string values for each installation from instanceUniqueRepresentation`);
65
+ }
66
+ this.activatedPlugins.push(pluginInstance);
67
+ });
68
+ }
69
+ getPluginsByClassName(className) {
70
+ const plugins = this.activatedPlugins.filter((plugin) => plugin.className === className);
71
+ return plugins;
72
+ }
73
+ getPluginByClassName(className) {
74
+ const plugins = this.getPluginsByClassName(className);
75
+ if (plugins.length > 1) {
76
+ throw new Error(`Multiple plugins with className ${className} found. Use getPluginsByClassName instead`);
77
+ }
78
+ if (plugins.length === 0) {
79
+ const similar = suggestIfTypo(this.activatedPlugins.map((p) => p.className), className);
80
+ throw new Error(`Plugin with className ${className} not found. ${similar ? `Did you mean ${similar}?` : ''}`);
81
+ }
82
+ return plugins[0];
83
+ }
84
+ async discoverDatabases() {
85
+ this.statuses.dbDiscover = 'running';
86
+ this.connectorClasses = {
87
+ 'sqlite': SQLiteConnector,
88
+ 'postgres': PostgresConnector,
89
+ 'postgresql': PostgresConnector,
90
+ 'mongodb': MongoConnector,
91
+ 'clickhouse': ClickhouseConnector,
92
+ };
93
+ if (!this.config.databaseConnectors) {
94
+ this.config.databaseConnectors = Object.assign({}, this.connectorClasses);
95
+ }
96
+ this.config.dataSources.forEach((ds) => {
97
+ const dbType = ds.url.split(':')[0];
98
+ if (!this.config.databaseConnectors[dbType]) {
99
+ 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`);
100
+ }
101
+ this.connectors[ds.id] = new this.config.databaseConnectors[dbType]({ url: ds.url });
102
+ });
103
+ await Promise.all(this.config.resources.map(async (res) => {
104
+ var _b;
105
+ if (!this.connectors[res.dataSource]) {
106
+ const similar = suggestIfTypo(Object.keys(this.connectors), res.dataSource);
107
+ throw new Error(`Resource '${res.table}' refers to unknown dataSource '${res.dataSource}' ${similar
108
+ ? `. Did you mean '${similar}'?` : 'Available dataSources: ' + Object.keys(this.connectors).join(', ')}`);
109
+ }
110
+ const fieldTypes = await this.connectors[res.dataSource].discoverFields(res);
111
+ if (fieldTypes !== null && !Object.keys(fieldTypes).length) {
112
+ throw new Error(`Table '${res.table}' (In resource '${res.resourceId}') has no fields or does not exist`);
113
+ }
114
+ if (fieldTypes === null) {
115
+ console.error(`⛔ DataSource ${res.dataSource} was not able to perform field discovery. It will not work properly`);
116
+ return;
117
+ }
118
+ if (!res.columns) {
119
+ res.columns = Object.keys(fieldTypes).map((name) => ({ name }));
120
+ }
121
+ res.columns.forEach((col, i) => {
122
+ if (!fieldTypes[col.name] && !col.virtual) {
123
+ const similar = suggestIfTypo(Object.keys(fieldTypes), col.name);
124
+ throw new Error(`Resource '${res.table}' has no column '${col.name}'. ${similar ? `Did you mean '${similar}'?` : ''}`);
125
+ }
126
+ // first find discovered values, but allow override
127
+ res.columns[i] = Object.assign(Object.assign({}, fieldTypes[col.name]), col);
128
+ });
129
+ (_b = res.options.createEditGroups) === null || _b === void 0 ? void 0 : _b.forEach(group => {
130
+ const allColumns = Object.keys(fieldTypes);
131
+ group.columns.forEach((col, i) => {
132
+ if (!allColumns.includes(col)) {
133
+ const similar = suggestIfTypo(allColumns, col);
134
+ throw new Error(`Group '${group.groupName}' has an unknown column '${col}'. ${similar ? `Did you mean '${similar}'?` : ''}`);
135
+ }
136
+ });
137
+ });
138
+ this.configValidator.postProcessAfterDiscover(res);
139
+ // check if primaryKey column is present
140
+ if (!res.columns.some((col) => col.primaryKey)) {
141
+ 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`);
142
+ }
143
+ }));
144
+ this.statuses.dbDiscover = 'done';
145
+ this.operationalResources = {};
146
+ this.config.resources.forEach((resource) => {
147
+ this.operationalResources[resource.resourceId] = new OperationalResource(this.connectors[resource.dataSource], resource);
148
+ });
149
+ // console.log('⚙️⚙️⚙️ Database discovery done', JSON.stringify(this.config.resources, null, 2));
150
+ }
151
+ async bundleNow({ hotReload = false }) {
152
+ await this.codeInjector.bundleNow({ hotReload });
153
+ }
154
+ async getUserByPk(pk) {
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'}`);
169
+ }
170
+ const users = await 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;
180
+ }
181
+ async createResourceRecord({ resource, record, adminUser }) {
182
+ var _b, _c, _d, _e;
183
+ // execute hook if needed
184
+ 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)) {
185
+ const resp = await hook({ recordId: undefined, resource, record, adminUser });
186
+ if (!resp || (!resp.ok && !resp.error)) {
187
+ throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
188
+ }
189
+ if (resp.error) {
190
+ return { error: resp.error };
191
+ }
192
+ }
193
+ // remove virtual columns from record
194
+ for (const column of resource.columns.filter((col) => col.virtual)) {
195
+ if (record[column.name]) {
196
+ delete record[column.name];
197
+ }
198
+ }
199
+ const connector = this.connectors[resource.dataSource];
200
+ process.env.HEAVY_DEBUG && console.log('🪲🆕 creating record createResourceRecord', record);
201
+ const { error, createdRecord } = await connector.createRecord({ resource, record, adminUser });
202
+ if (error) {
203
+ return { error };
204
+ }
205
+ const primaryKey = record[resource.columns.find((col) => col.primaryKey).name];
206
+ // execute hook if needed
207
+ 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)) {
208
+ process.env.HEAVY_DEBUG && console.log('🪲 Hook afterSave', hook);
209
+ const resp = await hook({
210
+ recordId: primaryKey,
211
+ resource,
212
+ record: createdRecord,
213
+ adminUser
214
+ });
215
+ if (!resp || (!resp.ok && !resp.error)) {
216
+ throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
217
+ }
218
+ if (resp.error) {
219
+ return { error: resp.error };
220
+ }
221
+ }
222
+ return { error, createdRecord };
223
+ }
224
+ /**
225
+ * record is partial record with only changed fields
226
+ */
227
+ async updateResourceRecord({ resource, recordId, record, oldRecord, adminUser }) {
228
+ var _b, _c, _d, _e;
229
+ // execute hook if needed
230
+ 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)) {
231
+ const resp = await hook({
232
+ recordId,
233
+ resource,
234
+ record,
235
+ oldRecord,
236
+ adminUser
237
+ });
238
+ if (!resp || (!resp.ok && !resp.error)) {
239
+ throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
240
+ }
241
+ if (resp.error) {
242
+ return { error: resp.error };
243
+ }
244
+ }
245
+ const newValues = {};
246
+ const connector = this.connectors[resource.dataSource];
247
+ for (const recordField in record) {
248
+ if (record[recordField] !== oldRecord[recordField]) {
249
+ // leave only changed fields to reduce data transfer/modifications in db
250
+ const column = resource.columns.find((col) => col.name === recordField);
251
+ if (!column || !column.virtual) {
252
+ // exclude virtual columns
253
+ newValues[recordField] = record[recordField];
254
+ }
255
+ }
256
+ }
257
+ if (Object.keys(newValues).length > 0) {
258
+ await connector.updateRecord({ resource, recordId, newValues });
259
+ }
260
+ // execute hook if needed
261
+ 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)) {
262
+ const resp = await hook({
263
+ resource,
264
+ record,
265
+ adminUser,
266
+ oldRecord,
267
+ recordId,
268
+ });
269
+ if (!resp || (!resp.ok && !resp.error)) {
270
+ throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
271
+ }
272
+ if (resp.error) {
273
+ return { error: resp.error };
274
+ }
275
+ }
276
+ return { error: null };
277
+ }
278
+ async deleteResourceRecord({ resource, recordId, adminUser, record }) {
279
+ var _b, _c, _d, _e;
280
+ // execute hook if needed
281
+ 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)) {
282
+ const resp = await hook({
283
+ resource,
284
+ record,
285
+ adminUser,
286
+ recordId,
287
+ });
288
+ if (!resp || (!resp.ok && !resp.error)) {
289
+ throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
290
+ }
291
+ if (resp.error) {
292
+ return { error: resp.error };
293
+ }
294
+ }
295
+ const connector = this.connectors[resource.dataSource];
296
+ await connector.deleteRecord({ resource, recordId });
297
+ // execute hook if needed
298
+ 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)) {
299
+ const resp = await hook({
300
+ resource,
301
+ record,
302
+ adminUser,
303
+ recordId,
304
+ });
305
+ if (!resp || (!resp.ok && !resp.error)) {
306
+ throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
307
+ }
308
+ if (resp.error) {
309
+ return { error: resp.error };
310
+ }
311
+ }
312
+ return { error: null };
313
+ }
314
+ resource(resourceId) {
315
+ if (this.statuses.dbDiscover !== 'done') {
316
+ if (this.statuses.dbDiscover === 'running') {
317
+ throw new Error('Database discovery is running. You can\'t use data API while database discovery is not finished.\n' +
318
+ 'Consider moving your code to a place where it will be executed after database discovery is already done (after await admin.discoverDatabases())');
319
+ }
320
+ else {
321
+ throw new Error('Database discovery is not yet started. You can\'t use data API before database discovery is done. \n' +
322
+ 'Call admin.discoverDatabases() first and await it before using data API');
323
+ }
324
+ }
325
+ if (!this.operationalResources[resourceId]) {
326
+ const closeName = suggestIfTypo(Object.keys(this.operationalResources), resourceId);
327
+ throw new Error(`Resource with id '${resourceId}' not found${closeName ? `. Did you mean '${closeName}'?` : ''}`);
328
+ }
329
+ return this.operationalResources[resourceId];
330
+ }
331
+ setupEndpoints(server) {
332
+ this.restApi.registerEndpoints(server);
333
+ }
334
+ }
335
+ _a = AdminForth, _AdminForth_defaultConfig = new WeakMap();
336
+ AdminForth.Types = AdminForthDataTypes;
337
+ AdminForth.Utils = {
338
+ generatePasswordHash: async (password) => {
339
+ return await AdminForthAuth.generatePasswordHash(password);
340
+ },
341
+ PASSWORD_VALIDATORS: {
342
+ UP_LOW_NUM_SPECIAL: {
343
+ regExp: '^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*\\(\\)\\-_=\\+\\[\\]\\{\\}\\|;:\',\\.<>\\/\\?]).+$',
344
+ message: 'Password must include at least one uppercase letter, one lowercase letter, one number, and one special character'
345
+ },
346
+ UP_LOW_NUM: {
347
+ regExp: '^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).+$',
348
+ message: 'Password must include at least one uppercase letter, one lowercase letter, and one number'
349
+ },
350
+ },
351
+ EMAIL_VALIDATOR: {
352
+ regExp: '^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,}$',
353
+ message: 'Email is not valid, must be in format example@test.com',
354
+ }
355
+ };
356
+ export default AdminForth;
357
+ //# 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,38 @@
1
+ import AdminForth from '../index.js';
2
+ import { ICodeInjector } from '../types/Back.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
+ devServerPort: number;
13
+ spaTmpPath(): string;
14
+ cleanup(): void;
15
+ constructor(adminforth: any);
16
+ runNpmShell({ command, cwd }: {
17
+ command: any;
18
+ cwd: any;
19
+ }): Promise<void>;
20
+ rmTmpDir(): Promise<void>;
21
+ getServeDir(): string;
22
+ packagesFromNpm(dir: string): Promise<[string, string[]]>;
23
+ getSpaDir(): string;
24
+ updatePartials({ filesUpdated }: {
25
+ filesUpdated: string[];
26
+ }): Promise<void>;
27
+ prepareSources(): Promise<void>;
28
+ watchForReprepare({}: {}): Promise<void>;
29
+ watchCustomComponentsForCopy({ customComponentsDir, destination }: {
30
+ customComponentsDir: any;
31
+ destination: any;
32
+ }): Promise<void>;
33
+ bundleNow({ hotReload }: {
34
+ hotReload: boolean;
35
+ }): Promise<void>;
36
+ }
37
+ export default CodeInjector;
38
+ //# 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,kBAAkB,CAAC;AA2D3E,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;IACjD,aAAa,EAAE,MAAM,CAAQ;IAE7B,UAAU,IAAI,MAAM;IAQpB,OAAO;gBAMK,UAAU,KAAA;IAmBhB,WAAW,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC;;;KAAA;IAuB1B,QAAQ;IAUd,WAAW;IAIL,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,EAAE,MAAM,EAAE,CAAA;KAAE;IAmB3D,cAAc;IAkYd,iBAAiB,CAAC,EAAE,IAAA;IA8CpB,4BAA4B,CAAC,EAAE,mBAAmB,EAAE,WAAW,EAAE;;;KAAA;IA4EjE,SAAS,CAAC,EAAE,SAAiB,EAAE,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE;CA4E9D;AAED,eAAe,YAAY,CAAC"}