nextjs-cms 0.5.9 → 0.5.11

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 (258) hide show
  1. package/dist/api/axios/axiosInstance.d.ts +1 -1
  2. package/dist/api/axios/axiosInstance.js +8 -8
  3. package/dist/api/index.d.ts +855 -855
  4. package/dist/api/index.d.ts.map +1 -1
  5. package/dist/api/index.js +12 -12
  6. package/dist/api/lib/serverActions.d.ts +239 -239
  7. package/dist/api/lib/serverActions.d.ts.map +1 -1
  8. package/dist/api/lib/serverActions.js +834 -834
  9. package/dist/api/root.d.ts +828 -828
  10. package/dist/api/root.js +30 -30
  11. package/dist/api/routers/accountSettings.d.ts +60 -60
  12. package/dist/api/routers/accountSettings.js +108 -108
  13. package/dist/api/routers/admins.d.ts +105 -105
  14. package/dist/api/routers/admins.js +219 -219
  15. package/dist/api/routers/auth.d.ts +47 -47
  16. package/dist/api/routers/auth.js +25 -25
  17. package/dist/api/routers/categorySection.d.ts +103 -103
  18. package/dist/api/routers/categorySection.js +38 -38
  19. package/dist/api/routers/cmsSettings.d.ts +48 -48
  20. package/dist/api/routers/cmsSettings.js +51 -51
  21. package/dist/api/routers/cpanel.d.ts +83 -83
  22. package/dist/api/routers/cpanel.js +216 -216
  23. package/dist/api/routers/files.d.ts +47 -47
  24. package/dist/api/routers/files.js +23 -23
  25. package/dist/api/routers/gallery.d.ts +35 -35
  26. package/dist/api/routers/gallery.js +62 -62
  27. package/dist/api/routers/googleAnalytics.d.ts +30 -30
  28. package/dist/api/routers/googleAnalytics.js +7 -7
  29. package/dist/api/routers/hasItemsSection.d.ts +139 -139
  30. package/dist/api/routers/hasItemsSection.js +34 -34
  31. package/dist/api/routers/navigation.d.ts +51 -51
  32. package/dist/api/routers/navigation.js +11 -11
  33. package/dist/api/routers/simpleSection.d.ts +57 -57
  34. package/dist/api/routers/simpleSection.js +12 -12
  35. package/dist/api/trpc.d.ts +106 -106
  36. package/dist/api/trpc.js +72 -72
  37. package/dist/auth/axios/axiosInstance.d.ts +1 -1
  38. package/dist/auth/axios/axiosInstance.js +8 -8
  39. package/dist/auth/csrf.d.ts +29 -29
  40. package/dist/auth/csrf.js +76 -76
  41. package/dist/auth/hooks/index.d.ts +3 -3
  42. package/dist/auth/hooks/index.d.ts.map +1 -1
  43. package/dist/auth/hooks/index.js +3 -3
  44. package/dist/auth/hooks/useAxiosPrivate.d.ts +4 -4
  45. package/dist/auth/hooks/useAxiosPrivate.js +74 -74
  46. package/dist/auth/hooks/useRefreshToken.d.ts +6 -6
  47. package/dist/auth/hooks/useRefreshToken.js +79 -79
  48. package/dist/auth/index.d.ts +22 -22
  49. package/dist/auth/index.js +44 -44
  50. package/dist/auth/jwt.d.ts +5 -5
  51. package/dist/auth/jwt.js +25 -25
  52. package/dist/auth/lib/actions.d.ts +32 -32
  53. package/dist/auth/lib/actions.d.ts.map +1 -1
  54. package/dist/auth/lib/actions.js +209 -209
  55. package/dist/auth/lib/client.d.ts +3 -3
  56. package/dist/auth/lib/client.js +46 -46
  57. package/dist/auth/lib/index.d.ts +2 -2
  58. package/dist/auth/lib/index.d.ts.map +1 -1
  59. package/dist/auth/lib/index.js +2 -2
  60. package/dist/auth/react.d.ts +105 -105
  61. package/dist/auth/react.d.ts.map +1 -1
  62. package/dist/auth/react.js +347 -347
  63. package/dist/auth/trpc.d.ts +5 -5
  64. package/dist/auth/trpc.d.ts.map +1 -1
  65. package/dist/auth/trpc.js +81 -81
  66. package/dist/core/config/config-loader.d.ts +91 -91
  67. package/dist/core/config/config-loader.js +230 -230
  68. package/dist/core/config/index.d.ts +2 -2
  69. package/dist/core/config/index.d.ts.map +1 -1
  70. package/dist/core/config/index.js +1 -1
  71. package/dist/core/config/loader.d.ts +1 -1
  72. package/dist/core/config/loader.js +42 -42
  73. package/dist/core/db/index.d.ts +1 -1
  74. package/dist/core/db/index.d.ts.map +1 -1
  75. package/dist/core/db/index.js +1 -1
  76. package/dist/core/db/table-checker/DbTable.d.ts +5 -5
  77. package/dist/core/db/table-checker/DbTable.js +5 -5
  78. package/dist/core/db/table-checker/MysqlTable.d.ts +33 -33
  79. package/dist/core/db/table-checker/MysqlTable.d.ts.map +1 -1
  80. package/dist/core/db/table-checker/MysqlTable.js +94 -94
  81. package/dist/core/db/table-checker/index.d.ts +1 -1
  82. package/dist/core/db/table-checker/index.d.ts.map +1 -1
  83. package/dist/core/db/table-checker/index.js +1 -1
  84. package/dist/core/factories/FieldFactory.d.ts +123 -123
  85. package/dist/core/factories/FieldFactory.d.ts.map +1 -1
  86. package/dist/core/factories/FieldFactory.js +411 -411
  87. package/dist/core/factories/SectionFactory.d.ts +109 -109
  88. package/dist/core/factories/SectionFactory.d.ts.map +1 -1
  89. package/dist/core/factories/SectionFactory.js +415 -415
  90. package/dist/core/factories/index.d.ts +2 -2
  91. package/dist/core/factories/index.d.ts.map +1 -1
  92. package/dist/core/factories/index.js +2 -2
  93. package/dist/core/fields/checkbox.d.ts +62 -62
  94. package/dist/core/fields/checkbox.d.ts.map +1 -1
  95. package/dist/core/fields/checkbox.js +62 -62
  96. package/dist/core/fields/color.d.ts +83 -83
  97. package/dist/core/fields/color.d.ts.map +1 -1
  98. package/dist/core/fields/color.js +91 -91
  99. package/dist/core/fields/date.d.ts +99 -99
  100. package/dist/core/fields/date.d.ts.map +1 -1
  101. package/dist/core/fields/date.js +108 -108
  102. package/dist/core/fields/document.d.ts +179 -179
  103. package/dist/core/fields/document.d.ts.map +1 -1
  104. package/dist/core/fields/document.js +277 -277
  105. package/dist/core/fields/field-group.d.ts +17 -17
  106. package/dist/core/fields/field-group.d.ts.map +1 -1
  107. package/dist/core/fields/field-group.js +6 -6
  108. package/dist/core/fields/field.d.ts +125 -125
  109. package/dist/core/fields/field.d.ts.map +1 -1
  110. package/dist/core/fields/field.js +148 -148
  111. package/dist/core/fields/fileField.d.ts +14 -14
  112. package/dist/core/fields/fileField.d.ts.map +1 -1
  113. package/dist/core/fields/fileField.js +5 -5
  114. package/dist/core/fields/index.d.ts +64 -64
  115. package/dist/core/fields/index.d.ts.map +1 -1
  116. package/dist/core/fields/index.js +18 -18
  117. package/dist/core/fields/map.d.ts +166 -166
  118. package/dist/core/fields/map.d.ts.map +1 -1
  119. package/dist/core/fields/map.js +152 -152
  120. package/dist/core/fields/number.d.ts +185 -185
  121. package/dist/core/fields/number.d.ts.map +1 -1
  122. package/dist/core/fields/number.js +241 -241
  123. package/dist/core/fields/password.d.ts +108 -108
  124. package/dist/core/fields/password.d.ts.map +1 -1
  125. package/dist/core/fields/password.js +133 -133
  126. package/dist/core/fields/photo.d.ts +288 -288
  127. package/dist/core/fields/photo.d.ts.map +1 -1
  128. package/dist/core/fields/photo.js +410 -410
  129. package/dist/core/fields/richText.d.ts +294 -294
  130. package/dist/core/fields/richText.d.ts.map +1 -1
  131. package/dist/core/fields/richText.js +338 -338
  132. package/dist/core/fields/select.d.ts +365 -365
  133. package/dist/core/fields/select.d.ts.map +1 -1
  134. package/dist/core/fields/select.js +499 -499
  135. package/dist/core/fields/selectMultiple.d.ts +235 -235
  136. package/dist/core/fields/selectMultiple.d.ts.map +1 -1
  137. package/dist/core/fields/selectMultiple.js +417 -417
  138. package/dist/core/fields/tags.d.ts +130 -130
  139. package/dist/core/fields/tags.d.ts.map +1 -1
  140. package/dist/core/fields/tags.js +105 -105
  141. package/dist/core/fields/text.d.ts +135 -135
  142. package/dist/core/fields/text.d.ts.map +1 -1
  143. package/dist/core/fields/text.js +157 -157
  144. package/dist/core/fields/textArea.d.ts +106 -106
  145. package/dist/core/fields/textArea.d.ts.map +1 -1
  146. package/dist/core/fields/textArea.js +126 -126
  147. package/dist/core/fields/video.d.ts +147 -147
  148. package/dist/core/fields/video.d.ts.map +1 -1
  149. package/dist/core/fields/video.js +248 -248
  150. package/dist/core/helpers/entity.d.ts +7 -7
  151. package/dist/core/helpers/entity.js +27 -27
  152. package/dist/core/helpers/index.d.ts +4 -4
  153. package/dist/core/helpers/index.d.ts.map +1 -1
  154. package/dist/core/helpers/index.js +3 -3
  155. package/dist/core/index.d.ts +7 -7
  156. package/dist/core/index.d.ts.map +1 -1
  157. package/dist/core/index.js +7 -7
  158. package/dist/core/sections/category.d.ts +282 -282
  159. package/dist/core/sections/category.d.ts.map +1 -1
  160. package/dist/core/sections/category.js +147 -147
  161. package/dist/core/sections/hasItems.d.ts +631 -631
  162. package/dist/core/sections/hasItems.d.ts.map +1 -1
  163. package/dist/core/sections/hasItems.js +144 -144
  164. package/dist/core/sections/index.d.ts +4 -4
  165. package/dist/core/sections/index.d.ts.map +1 -1
  166. package/dist/core/sections/index.js +4 -4
  167. package/dist/core/sections/section.d.ts +225 -225
  168. package/dist/core/sections/section.d.ts.map +1 -1
  169. package/dist/core/sections/section.js +341 -341
  170. package/dist/core/sections/simple.d.ts +98 -98
  171. package/dist/core/sections/simple.d.ts.map +1 -1
  172. package/dist/core/sections/simple.js +95 -95
  173. package/dist/core/security/dom.d.ts +10 -10
  174. package/dist/core/security/dom.js +92 -92
  175. package/dist/core/submit/ItemEditSubmit.d.ts +75 -75
  176. package/dist/core/submit/ItemEditSubmit.js +186 -186
  177. package/dist/core/submit/NewItemSubmit.d.ts +13 -13
  178. package/dist/core/submit/NewItemSubmit.js +93 -93
  179. package/dist/core/submit/SimpleSectionSubmit.d.ts +12 -12
  180. package/dist/core/submit/SimpleSectionSubmit.js +93 -93
  181. package/dist/core/submit/index.d.ts +4 -4
  182. package/dist/core/submit/index.js +4 -4
  183. package/dist/core/submit/submit.d.ts +115 -115
  184. package/dist/core/submit/submit.js +479 -479
  185. package/dist/core/types/index.d.ts +279 -279
  186. package/dist/core/types/index.d.ts.map +1 -1
  187. package/dist/core/types/index.js +1 -1
  188. package/dist/db/client.d.ts +8 -8
  189. package/dist/db/client.d.ts.map +1 -1
  190. package/dist/db/client.js +19 -19
  191. package/dist/db/config.d.ts +5 -5
  192. package/dist/db/config.js +22 -22
  193. package/dist/db/drizzle.config.d.ts +5 -5
  194. package/dist/db/drizzle.config.js +18 -18
  195. package/dist/db/index.d.ts +2 -2
  196. package/dist/db/index.js +3 -3
  197. package/dist/db/schema.d.ts +638 -638
  198. package/dist/db/schema.js +73 -73
  199. package/dist/index.d.ts +7 -7
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +7 -7
  202. package/dist/translations/index.d.ts +2 -2
  203. package/dist/translations/index.js +15 -15
  204. package/dist/utils/CpanelApi.d.ts +24 -24
  205. package/dist/utils/CpanelApi.js +64 -64
  206. package/dist/utils/constants.d.ts +13 -13
  207. package/dist/utils/constants.js +61 -61
  208. package/dist/utils/index.d.ts +4 -4
  209. package/dist/utils/index.d.ts.map +1 -1
  210. package/dist/utils/index.js +4 -4
  211. package/dist/utils/utils.d.ts +59 -59
  212. package/dist/utils/utils.js +132 -132
  213. package/dist/validators/checkbox.d.ts +3 -3
  214. package/dist/validators/checkbox.d.ts.map +1 -1
  215. package/dist/validators/checkbox.js +12 -12
  216. package/dist/validators/color.d.ts +3 -3
  217. package/dist/validators/color.d.ts.map +1 -1
  218. package/dist/validators/color.js +7 -7
  219. package/dist/validators/date.d.ts +3 -3
  220. package/dist/validators/date.d.ts.map +1 -1
  221. package/dist/validators/date.js +5 -5
  222. package/dist/validators/document.d.ts +3 -3
  223. package/dist/validators/document.d.ts.map +1 -1
  224. package/dist/validators/document.js +57 -57
  225. package/dist/validators/index.d.ts +14 -14
  226. package/dist/validators/index.d.ts.map +1 -1
  227. package/dist/validators/index.js +14 -14
  228. package/dist/validators/map.d.ts +3 -3
  229. package/dist/validators/map.d.ts.map +1 -1
  230. package/dist/validators/map.js +5 -5
  231. package/dist/validators/number.d.ts +3 -3
  232. package/dist/validators/number.d.ts.map +1 -1
  233. package/dist/validators/number.js +20 -20
  234. package/dist/validators/password.d.ts +3 -3
  235. package/dist/validators/password.d.ts.map +1 -1
  236. package/dist/validators/password.js +11 -11
  237. package/dist/validators/photo.d.ts +3 -3
  238. package/dist/validators/photo.d.ts.map +1 -1
  239. package/dist/validators/photo.js +100 -100
  240. package/dist/validators/richText.d.ts +3 -3
  241. package/dist/validators/richText.d.ts.map +1 -1
  242. package/dist/validators/richText.js +8 -8
  243. package/dist/validators/select-multiple.d.ts +9 -9
  244. package/dist/validators/select-multiple.d.ts.map +1 -1
  245. package/dist/validators/select-multiple.js +20 -20
  246. package/dist/validators/select.d.ts +3 -3
  247. package/dist/validators/select.d.ts.map +1 -1
  248. package/dist/validators/select.js +5 -5
  249. package/dist/validators/text.d.ts +3 -3
  250. package/dist/validators/text.d.ts.map +1 -1
  251. package/dist/validators/text.js +7 -7
  252. package/dist/validators/textarea.d.ts +3 -3
  253. package/dist/validators/textarea.d.ts.map +1 -1
  254. package/dist/validators/textarea.js +7 -7
  255. package/dist/validators/video.d.ts +3 -3
  256. package/dist/validators/video.d.ts.map +1 -1
  257. package/dist/validators/video.js +57 -57
  258. package/package.json +4 -5
@@ -1,34 +1,34 @@
1
- import { DbTableChecker } from "./DbTable.js";
2
- /**
3
- * MySQL Table class
4
- */
5
- export declare class MysqlTableChecker extends DbTableChecker {
6
- static getColumns(tableName: string): Promise<string[]>;
7
- static getExistingKeys(table: string): Promise<{
8
- primaryKeys: string[];
9
- uniqueKeys: {
10
- name: string;
11
- columns: string[];
12
- }[];
13
- indexKeys: {
14
- name: string;
15
- columns: string[];
16
- }[];
17
- foreignKeys: any;
18
- fullTextKeys: {
19
- name: string;
20
- columns: string[];
21
- }[];
22
- } | undefined>;
23
- static getExistingTableStructure(table: string): Promise<{
24
- [key: string]: {
25
- Field: string;
26
- Type: string;
27
- Null: string;
28
- Key: string;
29
- Default: string;
30
- Extra: string;
31
- };
32
- } | null>;
33
- }
1
+ import { DbTableChecker } from './DbTable.js';
2
+ /**
3
+ * MySQL Table class
4
+ */
5
+ export declare class MysqlTableChecker extends DbTableChecker {
6
+ static getColumns(tableName: string): Promise<string[]>;
7
+ static getExistingKeys(table: string): Promise<{
8
+ primaryKeys: string[];
9
+ uniqueKeys: {
10
+ name: string;
11
+ columns: string[];
12
+ }[];
13
+ indexKeys: {
14
+ name: string;
15
+ columns: string[];
16
+ }[];
17
+ foreignKeys: any;
18
+ fullTextKeys: {
19
+ name: string;
20
+ columns: string[];
21
+ }[];
22
+ } | undefined>;
23
+ static getExistingTableStructure(table: string): Promise<{
24
+ [key: string]: {
25
+ Field: string;
26
+ Type: string;
27
+ Null: string;
28
+ Key: string;
29
+ Default: string;
30
+ Extra: string;
31
+ };
32
+ } | null>;
33
+ }
34
34
  //# sourceMappingURL=MysqlTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MysqlTable.d.ts","sourceRoot":"","sources":["../../../../src/core/db/table-checker/MysqlTable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAG1C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,cAAc;WACpC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WAkBhD,eAAe,CAAC,KAAK,EAAE,MAAM;;;kBAIR,MAAM;qBAAW,MAAM,EAAE;;;kBAC1B,MAAM;qBAAW,MAAM,EAAE;;;;kBACtB,MAAM;qBAAW,MAAM,EAAE;;;WA2DhD,yBAAyB,CAAC,KAAK,EAAE,MAAM;;mBAU7B,MAAM;kBACP,MAAM;kBACN,MAAM;iBACP,MAAM;qBACF,MAAM;mBACR,MAAM;;;CAahC"}
1
+ {"version":3,"file":"MysqlTable.d.ts","sourceRoot":"","sources":["../../../../src/core/db/table-checker/MysqlTable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,cAAc;WACpC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WAkBhD,eAAe,CAAC,KAAK,EAAE,MAAM;;;kBAIR,MAAM;qBAAW,MAAM,EAAE;;;kBAC1B,MAAM;qBAAW,MAAM,EAAE;;;;kBACtB,MAAM;qBAAW,MAAM,EAAE;;;WA2DhD,yBAAyB,CAAC,KAAK,EAAE,MAAM;;mBAU7B,MAAM;kBACP,MAAM;kBACN,MAAM;iBACP,MAAM;qBACF,MAAM;mBACR,MAAM;;;CAahC"}
@@ -1,102 +1,102 @@
1
- import { db } from "../../../db/client.js";
2
- import { sql } from 'drizzle-orm';
3
- import { DbTableChecker } from "./DbTable.js";
4
- import chalk from 'chalk';
5
- /**
6
- * MySQL Table class
7
- */
8
- export class MysqlTableChecker extends DbTableChecker {
9
- static async getColumns(tableName) {
1
+ import { db } from '../../../db/client.js';
2
+ import { sql } from 'drizzle-orm';
3
+ import { DbTableChecker } from './DbTable.js';
4
+ import chalk from 'chalk';
5
+ /**
6
+ * MySQL Table class
7
+ */
8
+ export class MysqlTableChecker extends DbTableChecker {
9
+ static async getColumns(tableName) {
10
10
  const statement = sql `
11
11
  SELECT COLUMN_NAME
12
12
  FROM information_schema.COLUMNS c
13
13
  inner join information_schema.TABLES t ON t.TABLE_NAME = c.TABLE_NAME
14
- WHERE t.TABLE_NAME = ${tableName}`;
15
- const _cols = [];
16
- const _res = await db.execute(statement);
17
- // @ts-ignore
18
- const _rows = _res[0];
19
- _rows.map((row) => {
20
- _cols.push(row.COLUMN_NAME);
21
- });
22
- return _cols;
23
- }
24
- static async getExistingKeys(table) {
25
- try {
26
- const [keys] = await db.execute(sql `SHOW KEYS FROM \`${sql.raw(table)}\``);
27
- const primaryKeys = [];
28
- const uniqueKeys = [];
29
- const indexKeys = [];
30
- const fullTextKeys = [];
31
- const _uniqueKeyMap = {};
32
- const _indexKeyMap = {};
33
- const _fullTextKeyMap = {};
34
- for (const key of keys) {
35
- if (key.Key_name === 'PRIMARY') {
36
- primaryKeys.push(key.Column_name);
37
- }
38
- else if (key.Non_unique === 0) {
39
- if (!_uniqueKeyMap[key.Key_name]) {
40
- _uniqueKeyMap[key.Key_name] = [];
41
- }
42
- _uniqueKeyMap[key.Key_name].push(key.Column_name);
43
- }
44
- else if (key.Index_type === 'FULLTEXT') {
45
- if (!_fullTextKeyMap[key.Key_name]) {
46
- _fullTextKeyMap[key.Key_name] = [];
47
- }
48
- _fullTextKeyMap[key.Key_name].push(key.Column_name);
49
- }
50
- else if (key.Non_unique === 1) {
51
- if (!_indexKeyMap[key.Key_name]) {
52
- _indexKeyMap[key.Key_name] = [];
53
- }
54
- _indexKeyMap[key.Key_name].push(key.Column_name);
55
- }
56
- }
57
- for (const key in _uniqueKeyMap) {
58
- if (_uniqueKeyMap[key])
59
- uniqueKeys.push({ name: key, columns: _uniqueKeyMap[key] });
60
- }
61
- for (const key in _indexKeyMap) {
62
- if (_indexKeyMap[key])
63
- indexKeys.push({ name: key, columns: _indexKeyMap[key] });
64
- }
65
- for (const key in _fullTextKeyMap) {
66
- if (_fullTextKeyMap[key])
67
- fullTextKeys.push({ name: key, columns: _fullTextKeyMap[key] });
68
- }
69
- // Foreign keys should be retrieved from information_schema
14
+ WHERE t.TABLE_NAME = ${tableName}`;
15
+ const _cols = [];
16
+ const _res = await db.execute(statement);
17
+ // @ts-ignore
18
+ const _rows = _res[0];
19
+ _rows.map((row) => {
20
+ _cols.push(row.COLUMN_NAME);
21
+ });
22
+ return _cols;
23
+ }
24
+ static async getExistingKeys(table) {
25
+ try {
26
+ const [keys] = await db.execute(sql `SHOW KEYS FROM \`${sql.raw(table)}\``);
27
+ const primaryKeys = [];
28
+ const uniqueKeys = [];
29
+ const indexKeys = [];
30
+ const fullTextKeys = [];
31
+ const _uniqueKeyMap = {};
32
+ const _indexKeyMap = {};
33
+ const _fullTextKeyMap = {};
34
+ for (const key of keys) {
35
+ if (key.Key_name === 'PRIMARY') {
36
+ primaryKeys.push(key.Column_name);
37
+ }
38
+ else if (key.Non_unique === 0) {
39
+ if (!_uniqueKeyMap[key.Key_name]) {
40
+ _uniqueKeyMap[key.Key_name] = [];
41
+ }
42
+ _uniqueKeyMap[key.Key_name].push(key.Column_name);
43
+ }
44
+ else if (key.Index_type === 'FULLTEXT') {
45
+ if (!_fullTextKeyMap[key.Key_name]) {
46
+ _fullTextKeyMap[key.Key_name] = [];
47
+ }
48
+ _fullTextKeyMap[key.Key_name].push(key.Column_name);
49
+ }
50
+ else if (key.Non_unique === 1) {
51
+ if (!_indexKeyMap[key.Key_name]) {
52
+ _indexKeyMap[key.Key_name] = [];
53
+ }
54
+ _indexKeyMap[key.Key_name].push(key.Column_name);
55
+ }
56
+ }
57
+ for (const key in _uniqueKeyMap) {
58
+ if (_uniqueKeyMap[key])
59
+ uniqueKeys.push({ name: key, columns: _uniqueKeyMap[key] });
60
+ }
61
+ for (const key in _indexKeyMap) {
62
+ if (_indexKeyMap[key])
63
+ indexKeys.push({ name: key, columns: _indexKeyMap[key] });
64
+ }
65
+ for (const key in _fullTextKeyMap) {
66
+ if (_fullTextKeyMap[key])
67
+ fullTextKeys.push({ name: key, columns: _fullTextKeyMap[key] });
68
+ }
69
+ // Foreign keys should be retrieved from information_schema
70
70
  const [foreignKeys] = await db.execute(sql `
71
71
  SELECT COLUMN_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
72
72
  FROM information_schema.KEY_COLUMN_USAGE
73
73
  WHERE TABLE_NAME = ${table} AND CONSTRAINT_NAME != 'PRIMARY' AND REFERENCED_TABLE_NAME IS NOT NULL;
74
- `);
75
- return { primaryKeys, uniqueKeys, indexKeys, foreignKeys, fullTextKeys };
76
- }
77
- catch (error) {
78
- if (error.code === 'ER_NO_SUCH_TABLE') {
79
- return undefined;
80
- }
81
- else {
82
- console.error(chalk.red(` - Error retrieving keys for table ${table}:`, error));
83
- }
84
- }
85
- }
86
- static async getExistingTableStructure(table) {
87
- try {
88
- /**
89
- * Get the columns from the table except the auto-generated `created_at`, `updated_at`, `created_by`, and `updated_by` fields
90
- */
91
- const [rows] = await db.execute(sql `SHOW COLUMNS FROM \`${sql.raw(table)}\` WHERE Field NOT IN ('created_at', 'updated_at', 'created_by', 'updated_by')`);
92
- const tableStructure = {};
93
- for (const row of rows) {
94
- tableStructure[row.Field] = row;
95
- }
96
- return tableStructure;
97
- }
98
- catch (error) {
99
- return null;
100
- }
101
- }
102
- }
74
+ `);
75
+ return { primaryKeys, uniqueKeys, indexKeys, foreignKeys, fullTextKeys };
76
+ }
77
+ catch (error) {
78
+ if (error.code === 'ER_NO_SUCH_TABLE') {
79
+ return undefined;
80
+ }
81
+ else {
82
+ console.error(chalk.red(` - Error retrieving keys for table ${table}:`, error));
83
+ }
84
+ }
85
+ }
86
+ static async getExistingTableStructure(table) {
87
+ try {
88
+ /**
89
+ * Get the columns from the table except the auto-generated `created_at`, `updated_at`, `created_by`, and `updated_by` fields
90
+ */
91
+ const [rows] = await db.execute(sql `SHOW COLUMNS FROM \`${sql.raw(table)}\` WHERE Field NOT IN ('created_at', 'updated_at', 'created_by', 'updated_by')`);
92
+ const tableStructure = {};
93
+ for (const row of rows) {
94
+ tableStructure[row.Field] = row;
95
+ }
96
+ return tableStructure;
97
+ }
98
+ catch (error) {
99
+ return null;
100
+ }
101
+ }
102
+ }
@@ -1,2 +1,2 @@
1
- export * from "./MysqlTable.js";
1
+ export * from './MysqlTable.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/db/table-checker/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/db/table-checker/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
@@ -1 +1 @@
1
- export * from "./MysqlTable.js";
1
+ export * from './MysqlTable.js';
@@ -1,124 +1,124 @@
1
- import type { Section } from "../sections.js";
2
- import type { Session } from "../../auth.js";
3
- type ConstructorType = {
4
- type: 'new';
5
- sectionName: string;
6
- session: Session;
7
- itemId?: never;
8
- } | {
9
- type: 'edit';
10
- sectionName: string;
11
- session: Session;
12
- itemId: number | string;
13
- };
14
- export declare class FieldFactory {
15
- private readonly session;
16
- private _values;
17
- private itemId;
18
- private _error;
19
- private _errorMessage;
20
- protected type: 'new' | 'edit';
21
- protected sectionName: string;
22
- private _sectionInfo;
23
- /**
24
- * Default order value for items without explicit order.
25
- * Ensures items without order come after explicitly ordered items.
26
- * Typical order values: 0-15, with occasional values up to 1000.
27
- */
28
- private static readonly DEFAULT_ORDER;
29
- /**
30
- * Constructor
31
- */
32
- constructor({ type, sectionName, session, itemId }: ConstructorType);
33
- /**
34
- * Must be called after the constructor
35
- */
36
- initialize(): Promise<void>;
37
- private getFieldValue;
38
- private initializeFieldValues;
39
- /**
40
- * Gets the section info and assigns it to the `sectionInfo` property
41
- * @param session
42
- * @private
43
- */
44
- private initializeSectionInfo;
45
- /**
46
- * Get the section info from the `sectionsTable` table
47
- * @param session
48
- * @private
49
- */
50
- private getSectionInfo;
51
- /**
52
- * Prepare a field for use
53
- * Fields are already instances (resolved in Section constructor), so we just need to set values
54
- * @param field
55
- */
56
- private prepareField;
57
- private addPermissionField;
58
- /**
59
- * Generate the fields
60
- */
61
- generateFields(): Promise<void>;
62
- /**
63
- * Sort the fields.
64
- * This function sorts the conditional fields into their respective fields.
65
- */
66
- private sortFields;
67
- /**
68
- * Sort fields by their order property, preserving original position for fields without order.
69
- *
70
- * Sorting behavior:
71
- * 1. Fields with explicit `order` values are sorted by that value (ascending)
72
- * 2. Fields without `order` maintain their original array position (stable sort)
73
- * 3. Fields with the same `order` value maintain their relative positions (stable sort)
74
- *
75
- * This leverages JavaScript's stable Array.sort() (ES2019+) for optimal performance.
76
- * Note: This mutates the input array for performance.
77
- *
78
- * @param fields - Array of fields to sort (will be mutated)
79
- * @returns The sorted array (same reference as input)
80
- * @private
81
- */
82
- private sortFieldsByOrder;
83
- /**
84
- * Sort groups by their groupOrder property, preserving original position for groups without order.
85
- *
86
- * Sorting behavior:
87
- * 1. Groups with explicit `groupOrder` values are sorted by that value (ascending)
88
- * 2. Groups without `groupOrder` maintain their original array position (stable sort)
89
- * 3. Groups with the same `groupOrder` value maintain their relative positions (stable sort)
90
- *
91
- * This leverages JavaScript's stable Array.sort() (ES2019+) for optimal performance.
92
- * Note: This mutates the input array for performance.
93
- * Note: groupOrder is normalized at creation time, so no nullish coalescing needed here.
94
- *
95
- * @param groups - Array of groups to sort (will be mutated)
96
- * @returns The sorted array (same reference as input)
97
- * @private
98
- */
99
- private sortGroupsByOrder;
100
- /**
101
- * Get field groups with filtered and sorted fields.
102
- * Leverages the pre-built fieldGroups from the Section class for better performance.
103
- */
104
- getGroupedFields(): {
105
- groupId: number;
106
- groupTitle: string;
107
- groupOrder: number;
108
- inputs: {
109
- type: import("../types.js").FieldType;
110
- name: string;
111
- label: string;
112
- required: boolean;
113
- conditionalFields: import("../types.js").ConditionalField[];
114
- readonly: boolean;
115
- defaultValue: any;
116
- value: any;
117
- }[];
118
- }[] | undefined;
119
- get sectionInfo(): Section | undefined;
120
- get errorMessage(): string;
121
- get error(): boolean;
122
- }
123
- export {};
1
+ import type { Section } from '../sections/index.js';
2
+ import type { Session } from '../../auth/index.js';
3
+ type ConstructorType = {
4
+ type: 'new';
5
+ sectionName: string;
6
+ session: Session;
7
+ itemId?: never;
8
+ } | {
9
+ type: 'edit';
10
+ sectionName: string;
11
+ session: Session;
12
+ itemId: number | string;
13
+ };
14
+ export declare class FieldFactory {
15
+ private readonly session;
16
+ private _values;
17
+ private itemId;
18
+ private _error;
19
+ private _errorMessage;
20
+ protected type: 'new' | 'edit';
21
+ protected sectionName: string;
22
+ private _sectionInfo;
23
+ /**
24
+ * Default order value for items without explicit order.
25
+ * Ensures items without order come after explicitly ordered items.
26
+ * Typical order values: 0-15, with occasional values up to 1000.
27
+ */
28
+ private static readonly DEFAULT_ORDER;
29
+ /**
30
+ * Constructor
31
+ */
32
+ constructor({ type, sectionName, session, itemId }: ConstructorType);
33
+ /**
34
+ * Must be called after the constructor
35
+ */
36
+ initialize(): Promise<void>;
37
+ private getFieldValue;
38
+ private initializeFieldValues;
39
+ /**
40
+ * Gets the section info and assigns it to the `sectionInfo` property
41
+ * @param session
42
+ * @private
43
+ */
44
+ private initializeSectionInfo;
45
+ /**
46
+ * Get the section info from the `sectionsTable` table
47
+ * @param session
48
+ * @private
49
+ */
50
+ private getSectionInfo;
51
+ /**
52
+ * Prepare a field for use
53
+ * Fields are already instances (resolved in Section constructor), so we just need to set values
54
+ * @param field
55
+ */
56
+ private prepareField;
57
+ private addPermissionField;
58
+ /**
59
+ * Generate the fields
60
+ */
61
+ generateFields(): Promise<void>;
62
+ /**
63
+ * Sort the fields.
64
+ * This function sorts the conditional fields into their respective fields.
65
+ */
66
+ private sortFields;
67
+ /**
68
+ * Sort fields by their order property, preserving original position for fields without order.
69
+ *
70
+ * Sorting behavior:
71
+ * 1. Fields with explicit `order` values are sorted by that value (ascending)
72
+ * 2. Fields without `order` maintain their original array position (stable sort)
73
+ * 3. Fields with the same `order` value maintain their relative positions (stable sort)
74
+ *
75
+ * This leverages JavaScript's stable Array.sort() (ES2019+) for optimal performance.
76
+ * Note: This mutates the input array for performance.
77
+ *
78
+ * @param fields - Array of fields to sort (will be mutated)
79
+ * @returns The sorted array (same reference as input)
80
+ * @private
81
+ */
82
+ private sortFieldsByOrder;
83
+ /**
84
+ * Sort groups by their groupOrder property, preserving original position for groups without order.
85
+ *
86
+ * Sorting behavior:
87
+ * 1. Groups with explicit `groupOrder` values are sorted by that value (ascending)
88
+ * 2. Groups without `groupOrder` maintain their original array position (stable sort)
89
+ * 3. Groups with the same `groupOrder` value maintain their relative positions (stable sort)
90
+ *
91
+ * This leverages JavaScript's stable Array.sort() (ES2019+) for optimal performance.
92
+ * Note: This mutates the input array for performance.
93
+ * Note: groupOrder is normalized at creation time, so no nullish coalescing needed here.
94
+ *
95
+ * @param groups - Array of groups to sort (will be mutated)
96
+ * @returns The sorted array (same reference as input)
97
+ * @private
98
+ */
99
+ private sortGroupsByOrder;
100
+ /**
101
+ * Get field groups with filtered and sorted fields.
102
+ * Leverages the pre-built fieldGroups from the Section class for better performance.
103
+ */
104
+ getGroupedFields(): {
105
+ groupId: number;
106
+ groupTitle: string;
107
+ groupOrder: number;
108
+ inputs: {
109
+ type: import("../types/index.js").FieldType;
110
+ name: string;
111
+ label: string;
112
+ required: boolean;
113
+ conditionalFields: import("../types/index.js").ConditionalField[];
114
+ readonly: boolean;
115
+ defaultValue: any;
116
+ value: any;
117
+ }[];
118
+ }[] | undefined;
119
+ get sectionInfo(): Section | undefined;
120
+ get errorMessage(): string;
121
+ get error(): boolean;
122
+ }
123
+ export {};
124
124
  //# sourceMappingURL=FieldFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldFactory.d.ts","sourceRoot":"","sources":["../../../src/core/factories/FieldFactory.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAIzC,KAAK,eAAe,GACd;IACI,IAAI,EAAE,KAAK,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,KAAK,CAAA;CACjB,GACD;IACI,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAEP,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,aAAa,CAAa;IAClC,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;IAC9B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAA;IAC7B,OAAO,CAAC,YAAY,CAA4B;IAGhD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAY;IAEjD;;OAEG;gBACS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe;IASnE;;OAEG;IACU,UAAU;YAUT,aAAa;YASb,qBAAqB;IAkEnC;;;;OAIG;YACW,qBAAqB;IAuCnC;;;;OAIG;YACW,cAAc;IAuB5B;;;;OAIG;YACW,YAAY;IAgB1B,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACU,cAAc;IAqB3B;;;OAGG;IACH,OAAO,CAAC,UAAU;IA4ElB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;OAGG;IACI,gBAAgB;;;;;;;;;;;;;;;IAmEvB,IAAI,WAAW,IAAI,OAAO,GAAG,SAAS,CAErC;IACD,IAAI,YAAY,IAAI,MAAM,CAEzB;IACD,IAAI,KAAK,IAAI,OAAO,CAEnB;CACJ"}
1
+ {"version":3,"file":"FieldFactory.d.ts","sourceRoot":"","sources":["../../../src/core/factories/FieldFactory.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,KAAK,eAAe,GACd;IACI,IAAI,EAAE,KAAK,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,KAAK,CAAA;CACjB,GACD;IACI,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAEP,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,aAAa,CAAa;IAClC,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;IAC9B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAA;IAC7B,OAAO,CAAC,YAAY,CAA4B;IAGhD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAY;IAEjD;;OAEG;gBACS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe;IASnE;;OAEG;IACU,UAAU;YAUT,aAAa;YASb,qBAAqB;IAkEnC;;;;OAIG;YACW,qBAAqB;IAuCnC;;;;OAIG;YACW,cAAc;IAuB5B;;;;OAIG;YACW,YAAY;IAgB1B,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACU,cAAc;IAqB3B;;;OAGG;IACH,OAAO,CAAC,UAAU;IA4ElB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;OAGG;IACI,gBAAgB;;;;;;;;;;;;;;;IAmEvB,IAAI,WAAW,IAAI,OAAO,GAAG,SAAS,CAErC;IACD,IAAI,YAAY,IAAI,MAAM,CAEzB;IACD,IAAI,KAAK,IAAI,OAAO,CAEnB;CACJ"}