@rnaga/wp-node 1.1.0

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 (517) hide show
  1. package/application.d.ts +76 -0
  2. package/application.d.ts.map +1 -0
  3. package/application.js +132 -0
  4. package/common/async-constructor.d.ts +2 -0
  5. package/common/async-constructor.d.ts.map +1 -0
  6. package/common/async-constructor.js +7 -0
  7. package/common/config/define-post-status.config.d.ts +4 -0
  8. package/common/config/define-post-status.config.d.ts.map +1 -0
  9. package/common/config/define-post-status.config.js +26 -0
  10. package/common/config/define-post-type.config.d.ts +4 -0
  11. package/common/config/define-post-type.config.d.ts.map +1 -0
  12. package/common/config/define-post-type.config.js +39 -0
  13. package/common/config/define-taxonomies.config.d.ts +4 -0
  14. package/common/config/define-taxonomies.config.d.ts.map +1 -0
  15. package/common/config/define-taxonomies.config.js +26 -0
  16. package/common/config/define-wp.config..d.ts +12 -0
  17. package/common/config/define-wp.config..d.ts.map +1 -0
  18. package/common/config/define-wp.config..js +110 -0
  19. package/common/config/index.d.ts +5 -0
  20. package/common/config/index.d.ts.map +1 -0
  21. package/common/config/index.js +20 -0
  22. package/common/date.d.ts +19 -0
  23. package/common/date.d.ts.map +1 -0
  24. package/common/date.js +116 -0
  25. package/common/define-hooks.d.ts +4 -0
  26. package/common/define-hooks.d.ts.map +1 -0
  27. package/common/define-hooks.js +16 -0
  28. package/common/diff.d.ts +3 -0
  29. package/common/diff.d.ts.map +1 -0
  30. package/common/diff.js +23 -0
  31. package/common/files.d.ts +14 -0
  32. package/common/files.d.ts.map +1 -0
  33. package/common/files.js +160 -0
  34. package/common/formatting.d.ts +47 -0
  35. package/common/formatting.d.ts.map +1 -0
  36. package/common/formatting.js +218 -0
  37. package/common/hierarchy.d.ts +21 -0
  38. package/common/hierarchy.d.ts.map +1 -0
  39. package/common/hierarchy.js +78 -0
  40. package/common/hooks-command.d.ts +7 -0
  41. package/common/hooks-command.d.ts.map +1 -0
  42. package/common/hooks-command.js +21 -0
  43. package/common/index.d.ts +11 -0
  44. package/common/index.d.ts.map +1 -0
  45. package/common/index.js +49 -0
  46. package/common/password.d.ts +4 -0
  47. package/common/password.d.ts.map +1 -0
  48. package/common/password.js +224 -0
  49. package/common/php-serialize.d.ts +3 -0
  50. package/common/php-serialize.d.ts.map +1 -0
  51. package/common/php-serialize.js +17 -0
  52. package/common/validating.d.ts +10 -0
  53. package/common/validating.d.ts.map +1 -0
  54. package/common/validating.js +65 -0
  55. package/config.d.ts +99 -0
  56. package/config.d.ts.map +1 -0
  57. package/config.js +76 -0
  58. package/constants/async-init.d.ts +2 -0
  59. package/constants/async-init.d.ts.map +1 -0
  60. package/constants/async-init.js +4 -0
  61. package/constants/component.d.ts +3 -0
  62. package/constants/component.d.ts.map +1 -0
  63. package/constants/component.js +5 -0
  64. package/constants/database.d.ts +2 -0
  65. package/constants/database.d.ts.map +1 -0
  66. package/constants/database.js +9 -0
  67. package/constants/default-database-tables.d.ts +7 -0
  68. package/constants/default-database-tables.d.ts.map +1 -0
  69. package/constants/default-database-tables.js +26 -0
  70. package/constants/index.d.ts +9 -0
  71. package/constants/index.d.ts.map +1 -0
  72. package/constants/index.js +24 -0
  73. package/constants/role-capabilities.d.ts +3 -0
  74. package/constants/role-capabilities.d.ts.map +1 -0
  75. package/constants/role-capabilities.js +67 -0
  76. package/constants/role-capability-actions.d.ts +2 -0
  77. package/constants/role-capability-actions.d.ts.map +1 -0
  78. package/constants/role-capability-actions.js +90 -0
  79. package/constants/role-names.d.ts +2 -0
  80. package/constants/role-names.d.ts.map +1 -0
  81. package/constants/role-names.js +12 -0
  82. package/constants/scope.d.ts +6 -0
  83. package/constants/scope.d.ts.map +1 -0
  84. package/constants/scope.js +9 -0
  85. package/core/async-init-reflect.d.ts +5 -0
  86. package/core/async-init-reflect.d.ts.map +1 -0
  87. package/core/async-init-reflect.js +18 -0
  88. package/core/blog.d.ts +20 -0
  89. package/core/blog.d.ts.map +1 -0
  90. package/core/blog.js +123 -0
  91. package/core/capabilities.d.ts +12 -0
  92. package/core/capabilities.d.ts.map +1 -0
  93. package/core/capabilities.js +625 -0
  94. package/core/comment.d.ts +111 -0
  95. package/core/comment.d.ts.map +1 -0
  96. package/core/comment.js +173 -0
  97. package/core/components.d.ts +13 -0
  98. package/core/components.d.ts.map +1 -0
  99. package/core/components.js +129 -0
  100. package/core/context.d.ts +38 -0
  101. package/core/context.d.ts.map +1 -0
  102. package/core/context.js +77 -0
  103. package/core/current.d.ts +33 -0
  104. package/core/current.d.ts.map +1 -0
  105. package/core/current.js +229 -0
  106. package/core/date-time.d.ts +18 -0
  107. package/core/date-time.d.ts.map +1 -0
  108. package/core/date-time.js +71 -0
  109. package/core/hooks/action.d.ts +16 -0
  110. package/core/hooks/action.d.ts.map +1 -0
  111. package/core/hooks/action.js +44 -0
  112. package/core/hooks/actions/init.d.ts +5 -0
  113. package/core/hooks/actions/init.d.ts.map +1 -0
  114. package/core/hooks/actions/init.js +28 -0
  115. package/core/hooks/default-hooks.d.ts +7 -0
  116. package/core/hooks/default-hooks.d.ts.map +1 -0
  117. package/core/hooks/default-hooks.js +19 -0
  118. package/core/hooks/filter.d.ts +12 -0
  119. package/core/hooks/filter.d.ts.map +1 -0
  120. package/core/hooks/filter.js +76 -0
  121. package/core/hooks/filters/capabilities.d.ts +16 -0
  122. package/core/hooks/filters/capabilities.d.ts.map +1 -0
  123. package/core/hooks/filters/capabilities.js +395 -0
  124. package/core/hooks/hooks-command.d.ts +9 -0
  125. package/core/hooks/hooks-command.d.ts.map +1 -0
  126. package/core/hooks/hooks-command.js +28 -0
  127. package/core/hooks/hooks-reflect.d.ts +42 -0
  128. package/core/hooks/hooks-reflect.d.ts.map +1 -0
  129. package/core/hooks/hooks-reflect.js +73 -0
  130. package/core/hooks/hooks.d.ts +61 -0
  131. package/core/hooks/hooks.d.ts.map +1 -0
  132. package/core/hooks/hooks.js +82 -0
  133. package/core/hooks/index.d.ts +4 -0
  134. package/core/hooks/index.d.ts.map +1 -0
  135. package/core/hooks/index.js +19 -0
  136. package/core/installer.d.ts +56 -0
  137. package/core/installer.d.ts.map +1 -0
  138. package/core/installer.js +395 -0
  139. package/core/logger.d.ts +22 -0
  140. package/core/logger.d.ts.map +1 -0
  141. package/core/logger.js +65 -0
  142. package/core/meta.d.ts +20 -0
  143. package/core/meta.d.ts.map +1 -0
  144. package/core/meta.js +123 -0
  145. package/core/options.d.ts +20 -0
  146. package/core/options.d.ts.map +1 -0
  147. package/core/options.js +148 -0
  148. package/core/post.d.ts +39 -0
  149. package/core/post.d.ts.map +1 -0
  150. package/core/post.js +164 -0
  151. package/core/query.d.ts +14 -0
  152. package/core/query.d.ts.map +1 -0
  153. package/core/query.js +39 -0
  154. package/core/role.d.ts +21 -0
  155. package/core/role.d.ts.map +1 -0
  156. package/core/role.js +71 -0
  157. package/core/roles.d.ts +16 -0
  158. package/core/roles.d.ts.map +1 -0
  159. package/core/roles.js +84 -0
  160. package/core/schema.d.ts +13 -0
  161. package/core/schema.d.ts.map +1 -0
  162. package/core/schema.js +83 -0
  163. package/core/site.d.ts +28 -0
  164. package/core/site.d.ts.map +1 -0
  165. package/core/site.js +105 -0
  166. package/core/tables.d.ts +18 -0
  167. package/core/tables.d.ts.map +1 -0
  168. package/core/tables.js +64 -0
  169. package/core/taxonomy.d.ts +23 -0
  170. package/core/taxonomy.d.ts.map +1 -0
  171. package/core/taxonomy.js +83 -0
  172. package/core/term.d.ts +104 -0
  173. package/core/term.d.ts.map +1 -0
  174. package/core/term.js +136 -0
  175. package/core/user.d.ts +32 -0
  176. package/core/user.d.ts.map +1 -0
  177. package/core/user.js +273 -0
  178. package/core/utils/blog.util.d.ts +14 -0
  179. package/core/utils/blog.util.d.ts.map +1 -0
  180. package/core/utils/blog.util.js +97 -0
  181. package/core/utils/comment.util.d.ts +23 -0
  182. package/core/utils/comment.util.d.ts.map +1 -0
  183. package/core/utils/comment.util.js +312 -0
  184. package/core/utils/crud.util.d.ts +40 -0
  185. package/core/utils/crud.util.d.ts.map +1 -0
  186. package/core/utils/crud.util.js +97 -0
  187. package/core/utils/date-time.util.d.ts +9 -0
  188. package/core/utils/date-time.util.d.ts.map +1 -0
  189. package/core/utils/date-time.util.js +29 -0
  190. package/core/utils/link.util.d.ts +23 -0
  191. package/core/utils/link.util.d.ts.map +1 -0
  192. package/core/utils/link.util.js +148 -0
  193. package/core/utils/meta.util.d.ts +13 -0
  194. package/core/utils/meta.util.d.ts.map +1 -0
  195. package/core/utils/meta.util.js +73 -0
  196. package/core/utils/post.util.d.ts +34 -0
  197. package/core/utils/post.util.d.ts.map +1 -0
  198. package/core/utils/post.util.js +272 -0
  199. package/core/utils/query.util.d.ts +36 -0
  200. package/core/utils/query.util.d.ts.map +1 -0
  201. package/core/utils/query.util.js +168 -0
  202. package/core/utils/revision.util.d.ts +67 -0
  203. package/core/utils/revision.util.d.ts.map +1 -0
  204. package/core/utils/revision.util.js +105 -0
  205. package/core/utils/roles.util.d.ts +30 -0
  206. package/core/utils/roles.util.d.ts.map +1 -0
  207. package/core/utils/roles.util.js +189 -0
  208. package/core/utils/signup.util.d.ts +33 -0
  209. package/core/utils/signup.util.d.ts.map +1 -0
  210. package/core/utils/signup.util.js +227 -0
  211. package/core/utils/site.util.d.ts +22 -0
  212. package/core/utils/site.util.d.ts.map +1 -0
  213. package/core/utils/site.util.js +122 -0
  214. package/core/utils/taxonomy.util.d.ts +19 -0
  215. package/core/utils/taxonomy.util.d.ts.map +1 -0
  216. package/core/utils/taxonomy.util.js +52 -0
  217. package/core/utils/term.util.d.ts +13 -0
  218. package/core/utils/term.util.d.ts.map +1 -0
  219. package/core/utils/term.util.js +113 -0
  220. package/core/utils/trx.util.d.ts +24 -0
  221. package/core/utils/trx.util.d.ts.map +1 -0
  222. package/core/utils/trx.util.js +86 -0
  223. package/core/utils/user-self-registration.util.d.ts +46 -0
  224. package/core/utils/user-self-registration.util.d.ts.map +1 -0
  225. package/core/utils/user-self-registration.util.js +171 -0
  226. package/core/utils/user.util.d.ts +153 -0
  227. package/core/utils/user.util.d.ts.map +1 -0
  228. package/core/utils/user.util.js +550 -0
  229. package/core/utils/utils.d.ts +36 -0
  230. package/core/utils/utils.d.ts.map +1 -0
  231. package/core/utils/utils.js +85 -0
  232. package/core/validator.d.ts +11 -0
  233. package/core/validator.d.ts.map +1 -0
  234. package/core/validator.js +40 -0
  235. package/core/vars.d.ts +19 -0
  236. package/core/vars.d.ts.map +1 -0
  237. package/core/vars.js +54 -0
  238. package/crud/blog.crud.d.ts +56 -0
  239. package/crud/blog.crud.d.ts.map +1 -0
  240. package/crud/blog.crud.js +301 -0
  241. package/crud/comment.crud.d.ts +104 -0
  242. package/crud/comment.crud.d.ts.map +1 -0
  243. package/crud/comment.crud.js +431 -0
  244. package/crud/crud.d.ts +63 -0
  245. package/crud/crud.d.ts.map +1 -0
  246. package/crud/crud.js +278 -0
  247. package/crud/error.d.ts +23 -0
  248. package/crud/error.d.ts.map +1 -0
  249. package/crud/error.js +51 -0
  250. package/crud/meta.crud.d.ts +69 -0
  251. package/crud/meta.crud.d.ts.map +1 -0
  252. package/crud/meta.crud.js +244 -0
  253. package/crud/options.crud.d.ts +37 -0
  254. package/crud/options.crud.d.ts.map +1 -0
  255. package/crud/options.crud.js +178 -0
  256. package/crud/post.crud.d.ts +225 -0
  257. package/crud/post.crud.d.ts.map +1 -0
  258. package/crud/post.crud.js +589 -0
  259. package/crud/revision.crud.d.ts +76 -0
  260. package/crud/revision.crud.d.ts.map +1 -0
  261. package/crud/revision.crud.js +155 -0
  262. package/crud/roles.crud.d.ts +50 -0
  263. package/crud/roles.crud.d.ts.map +1 -0
  264. package/crud/roles.crud.js +198 -0
  265. package/crud/settings.crud.d.ts +50 -0
  266. package/crud/settings.crud.d.ts.map +1 -0
  267. package/crud/settings.crud.js +153 -0
  268. package/crud/site.crud.d.ts +62 -0
  269. package/crud/site.crud.d.ts.map +1 -0
  270. package/crud/site.crud.js +241 -0
  271. package/crud/sitemeta.crud.d.ts +55 -0
  272. package/crud/sitemeta.crud.d.ts.map +1 -0
  273. package/crud/sitemeta.crud.js +97 -0
  274. package/crud/term.crud.d.ts +85 -0
  275. package/crud/term.crud.d.ts.map +1 -0
  276. package/crud/term.crud.js +285 -0
  277. package/crud/user-self-registration.crud.d.ts +57 -0
  278. package/crud/user-self-registration.crud.d.ts.map +1 -0
  279. package/crud/user-self-registration.crud.js +173 -0
  280. package/crud/user.crud.d.ts +147 -0
  281. package/crud/user.crud.d.ts.map +1 -0
  282. package/crud/user.crud.js +626 -0
  283. package/database.d.ts +18 -0
  284. package/database.d.ts.map +1 -0
  285. package/database.js +80 -0
  286. package/decorators/async-init.d.ts +2 -0
  287. package/decorators/async-init.d.ts.map +1 -0
  288. package/decorators/async-init.js +7 -0
  289. package/decorators/component.d.ts +12 -0
  290. package/decorators/component.d.ts.map +1 -0
  291. package/decorators/component.js +47 -0
  292. package/decorators/hooks.d.ts +5 -0
  293. package/decorators/hooks.d.ts.map +1 -0
  294. package/decorators/hooks.js +30 -0
  295. package/defaults/extensions.d.ts +4 -0
  296. package/defaults/extensions.d.ts.map +1 -0
  297. package/defaults/extensions.js +34 -0
  298. package/defaults/index.d.ts +11 -0
  299. package/defaults/index.d.ts.map +1 -0
  300. package/defaults/index.js +49 -0
  301. package/defaults/options.d.ts +6 -0
  302. package/defaults/options.d.ts.map +1 -0
  303. package/defaults/options.js +267 -0
  304. package/defaults/post-status.d.ts +10 -0
  305. package/defaults/post-status.d.ts.map +1 -0
  306. package/defaults/post-status.js +83 -0
  307. package/defaults/post-types.d.ts +4 -0
  308. package/defaults/post-types.d.ts.map +1 -0
  309. package/defaults/post-types.js +72 -0
  310. package/defaults/roles.d.ts +31 -0
  311. package/defaults/roles.d.ts.map +1 -0
  312. package/defaults/roles.js +213 -0
  313. package/defaults/seeder.d.ts +34 -0
  314. package/defaults/seeder.d.ts.map +1 -0
  315. package/defaults/seeder.js +201 -0
  316. package/defaults/sitemeta.d.ts +2 -0
  317. package/defaults/sitemeta.d.ts.map +1 -0
  318. package/defaults/sitemeta.js +38 -0
  319. package/defaults/subdirectory-reserved-names.d.ts +2 -0
  320. package/defaults/subdirectory-reserved-names.d.ts.map +1 -0
  321. package/defaults/subdirectory-reserved-names.js +16 -0
  322. package/defaults/taxonomies.d.ts +5 -0
  323. package/defaults/taxonomies.d.ts.map +1 -0
  324. package/defaults/taxonomies.js +57 -0
  325. package/defaults/timezone.d.ts +2 -0
  326. package/defaults/timezone.d.ts.map +1 -0
  327. package/defaults/timezone.js +353 -0
  328. package/package.json +51 -0
  329. package/query-builder/alias.d.ts +24 -0
  330. package/query-builder/alias.d.ts.map +1 -0
  331. package/query-builder/alias.js +64 -0
  332. package/query-builder/blogs.query.d.ts +22 -0
  333. package/query-builder/blogs.query.d.ts.map +1 -0
  334. package/query-builder/blogs.query.js +85 -0
  335. package/query-builder/comments.query.d.ts +35 -0
  336. package/query-builder/comments.query.d.ts.map +1 -0
  337. package/query-builder/comments.query.js +211 -0
  338. package/query-builder/common.query.d.ts +18 -0
  339. package/query-builder/common.query.d.ts.map +1 -0
  340. package/query-builder/common.query.js +58 -0
  341. package/query-builder/index.d.ts +12 -0
  342. package/query-builder/index.d.ts.map +1 -0
  343. package/query-builder/index.js +27 -0
  344. package/query-builder/meta.query.d.ts +45 -0
  345. package/query-builder/meta.query.d.ts.map +1 -0
  346. package/query-builder/meta.query.js +188 -0
  347. package/query-builder/options.query.d.ts +19 -0
  348. package/query-builder/options.query.d.ts.map +1 -0
  349. package/query-builder/options.query.js +57 -0
  350. package/query-builder/posts.query.d.ts +30 -0
  351. package/query-builder/posts.query.d.ts.map +1 -0
  352. package/query-builder/posts.query.js +208 -0
  353. package/query-builder/query-builder.d.ts +21 -0
  354. package/query-builder/query-builder.d.ts.map +1 -0
  355. package/query-builder/query-builder.js +70 -0
  356. package/query-builder/query-builders.d.ts +18 -0
  357. package/query-builder/query-builders.d.ts.map +1 -0
  358. package/query-builder/query-builders.js +64 -0
  359. package/query-builder/site.query.d.ts +22 -0
  360. package/query-builder/site.query.d.ts.map +1 -0
  361. package/query-builder/site.query.js +85 -0
  362. package/query-builder/terms.query.d.ts +47 -0
  363. package/query-builder/terms.query.d.ts.map +1 -0
  364. package/query-builder/terms.query.js +233 -0
  365. package/query-builder/users.query.d.ts +37 -0
  366. package/query-builder/users.query.d.ts.map +1 -0
  367. package/query-builder/users.query.js +188 -0
  368. package/schema-builder/proxy.d.ts +10 -0
  369. package/schema-builder/proxy.d.ts.map +1 -0
  370. package/schema-builder/proxy.js +19 -0
  371. package/schema-builder/schema-builder.d.ts +21 -0
  372. package/schema-builder/schema-builder.d.ts.map +1 -0
  373. package/schema-builder/schema-builder.js +207 -0
  374. package/schema-builder/schema.d.ts +20 -0
  375. package/schema-builder/schema.d.ts.map +1 -0
  376. package/schema-builder/schema.js +527 -0
  377. package/transactions/blog.trx.d.ts +37 -0
  378. package/transactions/blog.trx.d.ts.map +1 -0
  379. package/transactions/blog.trx.js +296 -0
  380. package/transactions/comment.trx.d.ts +22 -0
  381. package/transactions/comment.trx.d.ts.map +1 -0
  382. package/transactions/comment.trx.js +311 -0
  383. package/transactions/index.d.ts +15 -0
  384. package/transactions/index.d.ts.map +1 -0
  385. package/transactions/index.js +30 -0
  386. package/transactions/link.trx.d.ts +22 -0
  387. package/transactions/link.trx.d.ts.map +1 -0
  388. package/transactions/link.trx.js +208 -0
  389. package/transactions/meta.trx.d.ts +30 -0
  390. package/transactions/meta.trx.d.ts.map +1 -0
  391. package/transactions/meta.trx.js +197 -0
  392. package/transactions/options.trx.d.ts +31 -0
  393. package/transactions/options.trx.d.ts.map +1 -0
  394. package/transactions/options.trx.js +192 -0
  395. package/transactions/post.trx.d.ts +48 -0
  396. package/transactions/post.trx.d.ts.map +1 -0
  397. package/transactions/post.trx.js +906 -0
  398. package/transactions/registration-log.trx.d.ts +14 -0
  399. package/transactions/registration-log.trx.d.ts.map +1 -0
  400. package/transactions/registration-log.trx.js +103 -0
  401. package/transactions/revision.trx.d.ts +32 -0
  402. package/transactions/revision.trx.d.ts.map +1 -0
  403. package/transactions/revision.trx.js +278 -0
  404. package/transactions/roles.trx.d.ts +20 -0
  405. package/transactions/roles.trx.d.ts.map +1 -0
  406. package/transactions/roles.trx.js +144 -0
  407. package/transactions/seeder.trx.d.ts +43 -0
  408. package/transactions/seeder.trx.d.ts.map +1 -0
  409. package/transactions/seeder.trx.js +530 -0
  410. package/transactions/signup.trx.d.ts +53 -0
  411. package/transactions/signup.trx.d.ts.map +1 -0
  412. package/transactions/signup.trx.js +305 -0
  413. package/transactions/site.trx.d.ts +21 -0
  414. package/transactions/site.trx.d.ts.map +1 -0
  415. package/transactions/site.trx.js +167 -0
  416. package/transactions/term.trx.d.ts +51 -0
  417. package/transactions/term.trx.d.ts.map +1 -0
  418. package/transactions/term.trx.js +838 -0
  419. package/transactions/trx.d.ts +9 -0
  420. package/transactions/trx.d.ts.map +1 -0
  421. package/transactions/trx.js +20 -0
  422. package/transactions/user.trx.d.ts +45 -0
  423. package/transactions/user.trx.d.ts.map +1 -0
  424. package/transactions/user.trx.js +535 -0
  425. package/types/capabilities.d.ts +71 -0
  426. package/types/common.d.ts +16 -0
  427. package/types/component.d.ts +3 -0
  428. package/types/config.d.ts +33 -0
  429. package/types/crud.d.ts +230 -0
  430. package/types/database.d.ts +50 -0
  431. package/types/hooks/actions.d.ts +67 -0
  432. package/types/hooks/command.d.ts +17 -0
  433. package/types/hooks/filters.d.ts +86 -0
  434. package/types/hooks/index.d.ts +11 -0
  435. package/types/index.d.ts +18 -0
  436. package/types/logging.d.ts +1 -0
  437. package/types/meta.d.ts +9 -0
  438. package/types/options.d.ts +3 -0
  439. package/types/post.d.ts +54 -0
  440. package/types/query-builder.d.ts +11 -0
  441. package/types/role.d.ts +34 -0
  442. package/types/schema.d.ts +11 -0
  443. package/types/schema.d.ts.map +1 -0
  444. package/types/schema.js +2 -0
  445. package/types/taxonomy.d.ts +29 -0
  446. package/types/timezone.d.ts +3 -0
  447. package/types/transactions.d.ts +32 -0
  448. package/types/user.d.ts +12 -0
  449. package/types/validating.d.ts +9 -0
  450. package/types/validating.d.ts.map +1 -0
  451. package/types/validating.js +2 -0
  452. package/validators/config.d.ts +948 -0
  453. package/validators/config.d.ts.map +1 -0
  454. package/validators/config.js +149 -0
  455. package/validators/crud.d.ts +571 -0
  456. package/validators/crud.d.ts.map +1 -0
  457. package/validators/crud.js +281 -0
  458. package/validators/database.d.ts +958 -0
  459. package/validators/database.d.ts.map +1 -0
  460. package/validators/database.js +245 -0
  461. package/validators/date.d.ts +4 -0
  462. package/validators/date.d.ts.map +1 -0
  463. package/validators/date.js +15 -0
  464. package/validators/helpers.d.ts +16 -0
  465. package/validators/helpers.d.ts.map +1 -0
  466. package/validators/helpers.js +86 -0
  467. package/validators/index.d.ts +10 -0
  468. package/validators/index.d.ts.map +1 -0
  469. package/validators/index.js +48 -0
  470. package/validators/options.d.ts +303 -0
  471. package/validators/options.d.ts.map +1 -0
  472. package/validators/options.js +106 -0
  473. package/validators/post-status.d.ts +42 -0
  474. package/validators/post-status.d.ts.map +1 -0
  475. package/validators/post-status.js +18 -0
  476. package/validators/query.d.ts +534 -0
  477. package/validators/query.d.ts.map +1 -0
  478. package/validators/query.js +110 -0
  479. package/validators/roles.d.ts +22 -0
  480. package/validators/roles.d.ts.map +1 -0
  481. package/validators/roles.js +9 -0
  482. package/validators/sitemeta.d.ts +105 -0
  483. package/validators/sitemeta.d.ts.map +1 -0
  484. package/validators/sitemeta.js +39 -0
  485. package/validators/transactions/blog.d.ts +225 -0
  486. package/validators/transactions/blog.d.ts.map +1 -0
  487. package/validators/transactions/blog.js +63 -0
  488. package/validators/transactions/comment.d.ts +155 -0
  489. package/validators/transactions/comment.d.ts.map +1 -0
  490. package/validators/transactions/comment.js +68 -0
  491. package/validators/transactions/index.d.ts +11 -0
  492. package/validators/transactions/index.d.ts.map +1 -0
  493. package/validators/transactions/index.js +26 -0
  494. package/validators/transactions/link.d.ts +128 -0
  495. package/validators/transactions/link.d.ts.map +1 -0
  496. package/validators/transactions/link.js +60 -0
  497. package/validators/transactions/meta.d.ts +23 -0
  498. package/validators/transactions/meta.d.ts.map +1 -0
  499. package/validators/transactions/meta.js +18 -0
  500. package/validators/transactions/post.d.ts +234 -0
  501. package/validators/transactions/post.d.ts.map +1 -0
  502. package/validators/transactions/post.js +100 -0
  503. package/validators/transactions/roles.d.ts +18 -0
  504. package/validators/transactions/roles.d.ts.map +1 -0
  505. package/validators/transactions/roles.js +13 -0
  506. package/validators/transactions/signup.d.ts +35 -0
  507. package/validators/transactions/signup.d.ts.map +1 -0
  508. package/validators/transactions/signup.js +51 -0
  509. package/validators/transactions/site.d.ts +36 -0
  510. package/validators/transactions/site.d.ts.map +1 -0
  511. package/validators/transactions/site.js +49 -0
  512. package/validators/transactions/term.d.ts +57 -0
  513. package/validators/transactions/term.d.ts.map +1 -0
  514. package/validators/transactions/term.js +44 -0
  515. package/validators/transactions/user.d.ts +182 -0
  516. package/validators/transactions/user.d.ts.map +1 -0
  517. package/validators/transactions/user.js +104 -0
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Hooks = void 0;
4
+ const action_1 = require("./action");
5
+ const filter_1 = require("./filter");
6
+ const hooks_reflect_1 = require("./hooks-reflect");
7
+ /**
8
+ * Represents a collection of hooks for filtering and actions.
9
+ *
10
+ * TFilters - The type of filters.
11
+ * TActions - The type of actions.
12
+ */
13
+ class Hooks {
14
+ hooks;
15
+ /**
16
+ * The map of hooks for each environment.
17
+ *
18
+ * @remarks The structure of the map is as follows:
19
+ * - The key is the environment.
20
+ * - The value is a map of hooks.
21
+ * - The key is the name of the hook which should be unique across all hooks.
22
+ * - The value is the hook class where its methods are decorated with `@filter` or `@action`.
23
+ * @example
24
+ * ```ts
25
+ * @hook("example")
26
+ * class ExampleHook {
27
+ * @filter("example_filter")
28
+ * async exampleFilter(n: number) {
29
+ * return n + 10;
30
+ * }
31
+ * }
32
+ * ```
33
+ */
34
+ static hooksEnvMap = new Map();
35
+ /**
36
+ * Retrieves the hook map for the specified environment.
37
+ *
38
+ * @param env - The environment for which to retrieve the hook map.
39
+ * @returns The hook map for the specified environment.
40
+ */
41
+ static get(env) {
42
+ const hookMap = Hooks.hooksEnvMap.get(env) ?? new Map();
43
+ return hookMap;
44
+ }
45
+ /**
46
+ * Sets the hook map for the specified environment.
47
+ *
48
+ * @param env - The environment for which to set the hook map.
49
+ * @param hookMap - The hook map to set.
50
+ */
51
+ static set(env, hookMap) {
52
+ Hooks.hooksEnvMap.set(env, hookMap);
53
+ }
54
+ #initialized = false;
55
+ action;
56
+ filter;
57
+ /**
58
+ * Creates an instance of Hooks.
59
+ *
60
+ * @param hooks - The map of hooks.
61
+ */
62
+ constructor(hooks) {
63
+ this.hooks = hooks;
64
+ this.filter = new filter_1.Filter();
65
+ this.action = new action_1.Action();
66
+ }
67
+ /**
68
+ * Initializes the hooks.
69
+ * If the hooks have already been initialized, this method does nothing.
70
+ */
71
+ init() {
72
+ if (this.#initialized) {
73
+ return;
74
+ }
75
+ // Load default actions
76
+ for (const hook of this.hooks.values()) {
77
+ hooks_reflect_1.HooksReflect.register([this.filter, this.action], new hook(), hook);
78
+ }
79
+ this.#initialized = true;
80
+ }
81
+ }
82
+ exports.Hooks = Hooks;
@@ -0,0 +1,4 @@
1
+ export * from "./action";
2
+ export * from "./filter";
3
+ export * from "./hooks-reflect";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./action"), exports);
18
+ __exportStar(require("./filter"), exports);
19
+ __exportStar(require("./hooks-reflect"), exports);
@@ -0,0 +1,56 @@
1
+ import { Config } from "../config";
2
+ import Database from "../database";
3
+ import { SeederTrx } from "../transactions";
4
+ import { Components } from "./components";
5
+ import { Schema } from "./schema";
6
+ import { LinkUtil } from "./utils/link.util";
7
+ import { QueryUtil } from "./utils/query.util";
8
+ import { TrxUtil } from "./utils/trx.util";
9
+ export declare class Installer {
10
+ private components;
11
+ private database;
12
+ private config;
13
+ private trxUtil;
14
+ private schema;
15
+ private queryUtil;
16
+ private linkUtil;
17
+ constructor(components: Components, database: Database, config: Config, trxUtil: TrxUtil, schema: Schema, queryUtil: QueryUtil, linkUtil: LinkUtil);
18
+ isBlogInitialized(blogId: number): Promise<boolean>;
19
+ initializeSite(...args: Parameters<SeederTrx["populateSite"]>): Promise<number>;
20
+ uninitializeSite(siteId: number, newSiteId?: number, options?: Partial<{
21
+ newBlogStatus: Partial<{
22
+ public: 0 | 1;
23
+ archived: 0 | 1;
24
+ deleted: 0 | 1;
25
+ }>;
26
+ }>): Promise<boolean>;
27
+ initializeBlog(blogId: number, args: {
28
+ userId: number;
29
+ title?: string;
30
+ options?: Record<string, any>;
31
+ meta?: Record<string, any>;
32
+ }): Promise<boolean>;
33
+ uninitializeBlog(blogId: number): Promise<boolean>;
34
+ /**
35
+ *
36
+ * Note: Requires siteUrl besides what's originally required for wp_install
37
+ *
38
+ * @param args - The arguments for the installation
39
+ * @returns
40
+ */
41
+ install(args: {
42
+ siteUrl: string;
43
+ blogTitle: string;
44
+ userName: string;
45
+ userEmail: string;
46
+ isPublic: boolean;
47
+ deprecated?: string;
48
+ userPassword?: string;
49
+ language?: string;
50
+ }): Promise<{
51
+ url: string;
52
+ userId: number;
53
+ password: string | undefined;
54
+ }>;
55
+ }
56
+ //# sourceMappingURL=installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAoB,SAAS,EAAW,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,qBACa,SAAS;IAElB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;gBANR,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ;IAItB,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAQhC,cAAc,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IA2D7D,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAChB,aAAa,EAAE,OAAO,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;YACd,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;SAChB,CAAC,CAAC;KACJ,CAAC;IAkDE,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC5B;IA8JG,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAgDrC;;;;;;OAMG;IACG,OAAO,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;;;;;CAgFF"}
@@ -0,0 +1,395 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __metadata = (this && this.__metadata) || function (k, v) {
42
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.Installer = void 0;
49
+ const common_1 = require("../common");
50
+ const config_1 = require("../config");
51
+ const constants_1 = require("../constants");
52
+ const database_1 = __importDefault(require("../database"));
53
+ const component_1 = require("../decorators/component");
54
+ const transactions_1 = require("../transactions");
55
+ const val = __importStar(require("../validators"));
56
+ const components_1 = require("./components");
57
+ const current_1 = require("./current");
58
+ const options_1 = require("./options");
59
+ const schema_1 = require("./schema");
60
+ const tables_1 = require("./tables");
61
+ const link_util_1 = require("./utils/link.util");
62
+ const query_util_1 = require("./utils/query.util");
63
+ const trx_util_1 = require("./utils/trx.util");
64
+ const user_util_1 = require("./utils/user.util");
65
+ let Installer = class Installer {
66
+ components;
67
+ database;
68
+ config;
69
+ trxUtil;
70
+ schema;
71
+ queryUtil;
72
+ linkUtil;
73
+ constructor(components, database, config, trxUtil, schema, queryUtil, linkUtil) {
74
+ this.components = components;
75
+ this.database = database;
76
+ this.config = config;
77
+ this.trxUtil = trxUtil;
78
+ this.schema = schema;
79
+ this.queryUtil = queryUtil;
80
+ this.linkUtil = linkUtil;
81
+ }
82
+ // wp_is_site_initialized
83
+ async isBlogInitialized(blogId) {
84
+ const tables = this.components.get(tables_1.Tables);
85
+ tables.index = blogId;
86
+ return await this.database.hasTable(tables.get("posts"));
87
+ }
88
+ // helper for seederTrx.populateSite
89
+ async initializeSite(...args) {
90
+ const seeder = this.components.get(transactions_1.SeederTrx);
91
+ const options = this.components.get(options_1.Options);
92
+ await seeder.populateSite(...args);
93
+ const queryUtil = this.components.get(query_util_1.QueryUtil);
94
+ const site = await queryUtil.sites((query) => {
95
+ const { column } = query.alias;
96
+ query.builder.orderBy(column("site", "id"), "desc").first();
97
+ if (args[0].domain) {
98
+ query.where("domain", args[0].domain);
99
+ }
100
+ if (args[0].path) {
101
+ query.where("path", args[0].path);
102
+ }
103
+ }, val.database.wpSite);
104
+ if (!site) {
105
+ throw new Error(`Site not found`);
106
+ }
107
+ // Update sitemeta for non-main site
108
+ if (site.id > 1) {
109
+ const siteAdmins = [];
110
+ if (args[0].email) {
111
+ const email = args[0].email;
112
+ const users = await this.queryUtil.users((query) => {
113
+ query.where("user_email", email);
114
+ });
115
+ if (users) {
116
+ siteAdmins.push(users[0].user_login);
117
+ }
118
+ }
119
+ let siteUrlScheme = "http";
120
+ const defaultSiteUrl = await options.get("siteurl", {
121
+ siteId: 1,
122
+ });
123
+ if (defaultSiteUrl && defaultSiteUrl.startsWith("https")) {
124
+ siteUrlScheme = "https";
125
+ }
126
+ const siteUrl = common_1.formatting.untrailingslashit(`${siteUrlScheme}://${args[0].domain}${args[0].path}`);
127
+ const metaTrx = this.components.get(transactions_1.MetaTrx);
128
+ await metaTrx.bulkUpsertObject("site", site.id, {
129
+ site_admins: siteAdmins,
130
+ siteurl: siteUrl,
131
+ });
132
+ }
133
+ return site.id;
134
+ }
135
+ async uninitializeSite(siteId, newSiteId, options) {
136
+ const newBlogStatus = {
137
+ public: options?.newBlogStatus?.public ?? 0,
138
+ archived: options?.newBlogStatus?.archived ?? 1,
139
+ deleted: options?.newBlogStatus?.deleted ?? 1,
140
+ };
141
+ const queryUtil = this.components.get(query_util_1.QueryUtil);
142
+ const site = await queryUtil.sites((query) => {
143
+ query.where("id", siteId).builder.first();
144
+ }, val.database.wpSite);
145
+ if (!site) {
146
+ throw new Error("Site not found");
147
+ }
148
+ if (1 === site.id) {
149
+ throw new Error("Main site can't be uninitialized");
150
+ }
151
+ const blogs = (await queryUtil.blogs((query) => {
152
+ query.where("site_id", siteId);
153
+ })) ?? [];
154
+ const blogTrx = this.components.get(transactions_1.BlogTrx);
155
+ for (const blog of blogs) {
156
+ if (newSiteId) {
157
+ await blogTrx.changeSite(blog.blog_id, newSiteId);
158
+ await blogTrx.upsert({
159
+ blog_id: blog.blog_id,
160
+ ...newBlogStatus,
161
+ });
162
+ continue;
163
+ }
164
+ await blogTrx.remove(blog.blog_id);
165
+ }
166
+ const siteTrx = this.components.get(transactions_1.SiteTrx);
167
+ await siteTrx.remove(siteId);
168
+ return true;
169
+ }
170
+ // wp_initialize_site
171
+ //
172
+ // Note: Don't directly call this method to create a new blog
173
+ // Use blogTrx.upsert instead
174
+ async initializeBlog(blogId, args) {
175
+ const optionsComponent = this.components.get(options_1.Options);
176
+ if (typeof blogId !== "number") {
177
+ throw new Error("Site ID must not be empty.");
178
+ }
179
+ const blog = await this.queryUtil.blogs((query) => {
180
+ query.where("blog_id", blogId).builder.first();
181
+ }, val.database.wpBlogs);
182
+ if (!blog) {
183
+ throw new Error(`Site with the ID does not exist. - ${blogId}`);
184
+ }
185
+ if (await this.isBlogInitialized(blogId)) {
186
+ throw new Error(`The site appears to be already initialized. - ${blogId}`);
187
+ }
188
+ const site = await this.queryUtil.sites((query) => {
189
+ query.where("id", blog.site_id).builder.first();
190
+ }, val.database.wpSite);
191
+ const current = this.components.get(current_1.Current);
192
+ let siteId;
193
+ if (site) {
194
+ siteId = site.id;
195
+ }
196
+ else {
197
+ if (!current.site?.props.site.id) {
198
+ throw new Error(`Site not found - ${blog.site_id}`);
199
+ }
200
+ siteId = current.site.props.site.id;
201
+ }
202
+ const currentBlogId = current.blogId;
203
+ if (currentBlogId !== blogId) {
204
+ await current.switchSite(siteId, blogId);
205
+ }
206
+ const { userId = 0, title = `Site ${site?.id}`, options = {}, meta = undefined, } = args ?? {};
207
+ // Set up the database tables.
208
+ await this.schema.build("blog");
209
+ let homeScheme = "http";
210
+ let siteUrlScheme = "http";
211
+ if (!this.config.isSubdomainInstall()) {
212
+ const homeUrl = await this.linkUtil.getHomeUrl({
213
+ blogId,
214
+ });
215
+ //if ("https" === new URL(homeUrl).protocol.replace(/:$/, "")) {
216
+ if (homeUrl.startsWith("https")) {
217
+ homeScheme = "https";
218
+ }
219
+ const siteUrl = await optionsComponent.get("siteurl", {
220
+ siteId,
221
+ });
222
+ //if (siteUrl && "https" === new URL(siteUrl).protocol.replace(/:$/, "")) {
223
+ if (siteUrl && siteUrl.startsWith("https")) {
224
+ siteUrlScheme = "https";
225
+ }
226
+ }
227
+ let uploadPath = await optionsComponent.get("upload_path", {
228
+ blogId,
229
+ });
230
+ const msFilesRewriting = await optionsComponent.get("ms_files_rewriting", {
231
+ siteId,
232
+ });
233
+ if (msFilesRewriting) {
234
+ uploadPath = `${this.config.config.multisite.uploadBlogsDir}/${siteId}/files`;
235
+ }
236
+ // Populate the site's options.
237
+ await this.trxUtil.seeder.populateOptions({
238
+ home: common_1.formatting.untrailingslashit(`${homeScheme}://${blog.domain}${blog.path}`),
239
+ siteUrl: common_1.formatting.untrailingslashit(`${siteUrlScheme}://${blog.domain}${blog.path}`),
240
+ blogname: common_1.formatting.unslash(title),
241
+ admin_email: "",
242
+ upload_path: uploadPath,
243
+ blog_public: blog.public,
244
+ WPLANG: await optionsComponent.get("WPLANG", { siteId }),
245
+ ...options,
246
+ });
247
+ // Populate the site's roles.
248
+ await this.trxUtil.seeder.populateRoles();
249
+ // Populate metadata for the site.
250
+ if (meta) {
251
+ await this.trxUtil.meta.bulkUpsertObject("site", siteId, meta);
252
+ }
253
+ const tables = this.components.get(tables_1.Tables);
254
+ tables.index = blogId;
255
+ // Remove all permissions that may exist for the site.
256
+ await this.trxUtil.meta.remove("user", {
257
+ key: `${tables.prefix}user_level`,
258
+ deleteAll: true,
259
+ });
260
+ await this.trxUtil.meta.remove("user", {
261
+ key: `${tables.prefix}capabilities`,
262
+ deleteAll: true,
263
+ });
264
+ await this.trxUtil.seeder.populateContent(userId);
265
+ // Set the site administrator.
266
+ await this.trxUtil.blog.addUser(blogId, userId, "administrator");
267
+ const userUtil = this.components.get(user_util_1.UserUtil);
268
+ const user = await userUtil.get(userId);
269
+ const role = await user.role();
270
+ const primaryBlog = await this.queryUtil.meta("user", (query) => {
271
+ query.withIds([userId]).withKeys(["primary_blog"]);
272
+ });
273
+ if (!role.isSuperAdmin() && !primaryBlog) {
274
+ await this.trxUtil.meta.upsert("user", userId, "primary_blog", blogId);
275
+ }
276
+ if (currentBlogId !== blogId) {
277
+ await current.restorePrevious();
278
+ }
279
+ return true;
280
+ }
281
+ // wp_uninitialize_site
282
+ //
283
+ // Note: Don't directly call this method to delete a blog
284
+ // Use blogTrx.remove instead
285
+ async uninitializeBlog(blogId) {
286
+ if (typeof blogId !== "number") {
287
+ throw new Error("Site ID must not be empty.");
288
+ }
289
+ const blog = await this.queryUtil.blogs((query) => {
290
+ query.where("blog_id", blogId).builder.first();
291
+ }, val.database.wpBlogs);
292
+ if (!blog) {
293
+ throw new Error(`Site with the ID does not exist. - ${blogId}`);
294
+ }
295
+ if (!(await this.isBlogInitialized(blogId))) {
296
+ throw new Error(`The site appears to be already uninitialized. - ${blogId}`);
297
+ }
298
+ const users = await this.queryUtil.users((query) => {
299
+ query.withBlogIds([blogId]);
300
+ });
301
+ if (users) {
302
+ for (const user of users) {
303
+ await this.trxUtil.blog.removeUser(blogId, user.ID);
304
+ }
305
+ }
306
+ const current = this.components.get(current_1.Current);
307
+ const currentBlogId = current.blogId;
308
+ if (currentBlogId != blogId) {
309
+ await current.switchSite(blog.site_id, blogId);
310
+ }
311
+ await this.schema.dropBlog(blogId);
312
+ // Delete directories
313
+ if (currentBlogId != blogId) {
314
+ await current.restorePrevious();
315
+ }
316
+ return true;
317
+ }
318
+ // wp_install
319
+ /**
320
+ *
321
+ * Note: Requires siteUrl besides what's originally required for wp_install
322
+ *
323
+ * @param args - The arguments for the installation
324
+ * @returns
325
+ */
326
+ async install(args) {
327
+ let { userPassword = undefined } = args;
328
+ const { siteUrl, blogTitle, userName, userEmail, isPublic, language = undefined, } = args;
329
+ // check_database_version - wp_check_mysql_version();
330
+ await this.schema.build("all");
331
+ await this.trxUtil.seeder.populateOptions({
332
+ siteUrl,
333
+ });
334
+ await this.trxUtil.seeder.populateRoles();
335
+ await this.trxUtil.options.update("blogname", blogTitle);
336
+ await this.trxUtil.options.update("admin_email", userEmail);
337
+ await this.trxUtil.options.update("blog_public", isPublic ? "1" : "0");
338
+ // Freshness of site - in the future, this could get more specific about actions taken, perhaps.
339
+ await this.trxUtil.options.update("fresh_site", "1");
340
+ if (language) {
341
+ await this.trxUtil.options.update("WPLANG", language);
342
+ }
343
+ await this.trxUtil.options.update("siteurl", siteUrl);
344
+ if (!isPublic) {
345
+ await this.trxUtil.options.update("default_pingback_flag", 0);
346
+ }
347
+ /*
348
+ * Create default user. If the user already exists, the user tables are
349
+ * being shared among sites. Just set the role in that case.
350
+ */
351
+ let userId = ((await this.queryUtil.users((query) => {
352
+ query.where("user_login", userName).builder.first();
353
+ }, val.database.wpUsers)) ?? {})?.ID;
354
+ if (!userId) {
355
+ let userUpsert = {
356
+ user_login: userName,
357
+ user_pass: userPassword,
358
+ user_email: userEmail,
359
+ user_url: siteUrl,
360
+ role: "administrator",
361
+ };
362
+ if (!userPassword) {
363
+ userPassword = (0, common_1.generatePassword)(12, false);
364
+ userUpsert = {
365
+ ...userUpsert,
366
+ user_pass: userPassword,
367
+ meta_input: {
368
+ default_password_nag: "true",
369
+ },
370
+ };
371
+ }
372
+ userId = await this.trxUtil.user.upsert(userUpsert);
373
+ if (!userId) {
374
+ throw new Error(`Failed to create user - ${userEmail} ${userPassword}`);
375
+ }
376
+ }
377
+ await this.trxUtil.seeder.populateContent(userId);
378
+ return {
379
+ url: siteUrl,
380
+ userId,
381
+ password: userPassword,
382
+ };
383
+ }
384
+ };
385
+ exports.Installer = Installer;
386
+ exports.Installer = Installer = __decorate([
387
+ (0, component_1.component)({ scope: constants_1.Scope.Transient }),
388
+ __metadata("design:paramtypes", [components_1.Components,
389
+ database_1.default,
390
+ config_1.Config,
391
+ trx_util_1.TrxUtil,
392
+ schema_1.Schema,
393
+ query_util_1.QueryUtil,
394
+ link_util_1.LinkUtil])
395
+ ], Installer);
@@ -0,0 +1,22 @@
1
+ import { Config } from "../config";
2
+ import { Vars } from "./vars";
3
+ export declare class Logger {
4
+ private vars;
5
+ private config;
6
+ private static logLevelMappping;
7
+ constructor(vars: Vars, config: Config);
8
+ /**
9
+ * Log a message
10
+ *
11
+ * @param message - The message to log
12
+ * @param meta - Additional data to log
13
+ * @param level - The log level
14
+ * @returns
15
+ */
16
+ private log;
17
+ debug(message: string, meta?: Record<string, any>): void;
18
+ info(message: string, meta?: Record<string, any>): void;
19
+ warn(message: string, meta?: Record<string, any>): void;
20
+ error(message: string, meta?: Record<string, any>): void;
21
+ }
22
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,qBACa,MAAM;IAQL,OAAO,CAAC,IAAI;IAAQ,OAAO,CAAC,MAAM;IAP9C,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAK7B;gBAEkB,IAAI,EAAE,IAAI,EAAU,MAAM,EAAE,MAAM;IAEtD;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG;IAkBX,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIhD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIhD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAGlD"}
package/core/logger.js ADDED
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var Logger_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.Logger = void 0;
14
+ const config_1 = require("../config");
15
+ const component_1 = require("../decorators/component");
16
+ const vars_1 = require("./vars");
17
+ let Logger = class Logger {
18
+ static { Logger_1 = this; }
19
+ vars;
20
+ config;
21
+ static logLevelMappping = {
22
+ debug: 0,
23
+ info: 1,
24
+ warn: 2,
25
+ error: 3,
26
+ };
27
+ constructor(vars, config) {
28
+ this.vars = vars;
29
+ this.config = config;
30
+ }
31
+ /**
32
+ * Log a message
33
+ *
34
+ * @param message - The message to log
35
+ * @param meta - Additional data to log
36
+ * @param level - The log level
37
+ * @returns
38
+ */
39
+ log(message, meta, level = "info") {
40
+ const configLogLevel = this.config.config.constants.WP_LOG_LEVEL;
41
+ // Skip logging if the log level is higher than the config log level
42
+ if (Logger_1.logLevelMappping[level] < Logger_1.logLevelMappping[configLogLevel]) {
43
+ return;
44
+ }
45
+ const action = this.vars.CONTEXT.hooks.action;
46
+ action.do("core_logging", message, meta, level);
47
+ }
48
+ debug(message, meta) {
49
+ this.log(message, meta, "debug");
50
+ }
51
+ info(message, meta) {
52
+ this.log(message, meta, "info");
53
+ }
54
+ warn(message, meta) {
55
+ this.log(message, meta, "warn");
56
+ }
57
+ error(message, meta) {
58
+ this.log(message, meta, "error");
59
+ }
60
+ };
61
+ exports.Logger = Logger;
62
+ exports.Logger = Logger = Logger_1 = __decorate([
63
+ (0, component_1.component)(),
64
+ __metadata("design:paramtypes", [vars_1.Vars, config_1.Config])
65
+ ], Logger);
package/core/meta.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ import { QueryUtil } from "./utils/query.util";
2
+ import type * as types from "../types";
3
+ export declare class Meta {
4
+ private queryUtil;
5
+ private table;
6
+ private id;
7
+ private _props;
8
+ constructor(queryUtil: QueryUtil, table: types.MetaTable, id: number, _props: Record<string, any>);
9
+ set(table: types.MetaTable, id: number): this;
10
+ setProps(props: Record<string, any>): void;
11
+ get<T = any>(key: string): Promise<T | undefined>;
12
+ private post;
13
+ private comment;
14
+ private site;
15
+ private blog;
16
+ private term;
17
+ private user;
18
+ props(): Promise<Record<string, any>>;
19
+ }
20
+ //# sourceMappingURL=meta.d.ts.map