@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,589 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.PostCrud = void 0;
46
+ const zod_1 = require("zod");
47
+ const common_1 = require("../common");
48
+ const diff_1 = require("../common/diff");
49
+ const components_1 = require("../core/components");
50
+ const options_1 = require("../core/options");
51
+ const date_time_util_1 = require("../core/utils/date-time.util");
52
+ const post_util_1 = require("../core/utils/post.util");
53
+ const query_util_1 = require("../core/utils/query.util");
54
+ const taxonomy_util_1 = require("../core/utils/taxonomy.util");
55
+ const component_1 = require("../decorators/component");
56
+ const transactions_1 = require("../transactions");
57
+ const val = __importStar(require("../validators"));
58
+ const crud_1 = require("./crud");
59
+ const error_1 = require("./error");
60
+ const meta_crud_1 = require("./meta.crud");
61
+ const vars_1 = require("../core/vars");
62
+ const revision_util_1 = require("../core/utils/revision.util");
63
+ let PostCrud = class PostCrud extends crud_1.Crud {
64
+ constructor(components) {
65
+ super(components);
66
+ }
67
+ // _wp_translate_postdata
68
+ async translate(data) {
69
+ const postId = data.ID ?? undefined;
70
+ let diffData = {};
71
+ let currentPost = {};
72
+ if (postId) {
73
+ currentPost = (await this.getAsUpsert(postId)).data;
74
+ diffData = (0, diff_1.diffObject)(data, currentPost);
75
+ }
76
+ else {
77
+ diffData = structuredClone(data);
78
+ }
79
+ const { user, userId } = await this.getUser();
80
+ const postUtil = this.components.get(post_util_1.PostUtil);
81
+ const postType = postUtil.getTypeObject(data.post_type);
82
+ if (postId && !(await user.can("edit_post", postId))) {
83
+ throw new error_1.CrudError(error_1.StatusMessage.UNAUTHORIZED, "Sorry, you are not allowed to edit posts as this user");
84
+ }
85
+ if (!postId && !user.can(postType?.capabilities?.create_posts)) {
86
+ throw new error_1.CrudError(error_1.StatusMessage.UNAUTHORIZED, "Sorry, you are not allowed to edit posts as this user");
87
+ }
88
+ if (userId !== data.post_author &&
89
+ !(await user.can(postType?.capabilities?.edit_others_posts))) {
90
+ throw new error_1.CrudError(error_1.StatusMessage.UNAUTHORIZED, "Sorry, you are not allowed to edit posts as this user");
91
+ }
92
+ if (diffData.post_status &&
93
+ "private" == diffData.post_status &&
94
+ postType?.capabilities?.publish_posts &&
95
+ !(await user.can(postType.capabilities.publish_posts))) {
96
+ data.post_status = currentPost?.post_status ?? "pending";
97
+ }
98
+ const publishedStatuses = ["publish", "future"];
99
+ /*
100
+ * Posts 'submitted for approval' are submitted to $_POST the same as if they were being published.
101
+ * Change status from 'publish' to 'pending' if user lacks permissions to publish or to resave published posts.
102
+ */
103
+ if (diffData.post_status &&
104
+ (!data.post_status || publishedStatuses.includes(data.post_status)) &&
105
+ !(await user.can(postType?.capabilities?.publish_posts)) &&
106
+ (!publishedStatuses.includes(currentPost?.post_status ?? "") ||
107
+ !postId ||
108
+ !(await user.can("edit_post", postId)))) {
109
+ data.post_status = "pending";
110
+ }
111
+ if (diffData.post_status && "auto-draft" === currentPost.post_status) {
112
+ data.post_status = "draft";
113
+ }
114
+ if (diffData.post_password &&
115
+ diffData.post_password?.length > 0 &&
116
+ !(await user.can(postType?.capabilities?.publish_posts))) {
117
+ data.post_password = currentPost.post_password ?? "";
118
+ }
119
+ if (diffData.post_categeory && diffData.post_categeory.length > 0) {
120
+ const category = await this.components.get(taxonomy_util_1.TaxonomyUtil).get("category");
121
+ if (!(await user.can(category.props?.capabilities?.assign_terms))) {
122
+ data.post_categeory = currentPost.post_categeory ?? undefined;
123
+ }
124
+ }
125
+ return data;
126
+ }
127
+ async formReturnData(post, options) {
128
+ const props = post.props;
129
+ if (!props) {
130
+ throw new error_1.CrudError(error_1.StatusMessage.BAD_REQUEST, "Invalid Post");
131
+ }
132
+ const { password, editable } = options;
133
+ if (!editable) {
134
+ props.post_content = common_1.formatting.trimMarkupComments(props.post_content);
135
+ props.post_excerpt = common_1.formatting.trimMarkupComments(props.post_excerpt);
136
+ if (!this.checkPasswordProtectedPost(props, password)) {
137
+ post.props.post_content = "";
138
+ post.props.post_excerpt = "";
139
+ post.props.post_password = "";
140
+ }
141
+ }
142
+ const author = await post.author();
143
+ const metas = await post.meta.props();
144
+ // public meta is key without _ prefix
145
+ const publicMetas = Object.entries(metas).reduce((acc, [key, value]) => {
146
+ if (key[0] !== "_") {
147
+ acc[key] = value;
148
+ }
149
+ return acc;
150
+ }, {});
151
+ return {
152
+ ...props,
153
+ metas: editable ? metas : publicMetas,
154
+ author: {
155
+ ID: author?.ID,
156
+ display_name: author?.display_name,
157
+ user_nicename: author?.user_nicename,
158
+ },
159
+ tags: ((await post.terms("post_tag")) ?? []).map((term) => ({
160
+ term_id: term.term_id,
161
+ name: term.name,
162
+ slug: term.slug,
163
+ })),
164
+ categories: ((await post.terms("category")) ?? []).map((term) => ({
165
+ term_id: term.term_id,
166
+ name: term.name,
167
+ slug: term.slug,
168
+ })),
169
+ };
170
+ }
171
+ async getAsUpsert(postId, defaultValue = {}) {
172
+ const getData = (await this.get(postId, { context: "edit" })).data;
173
+ const postUtil = this.components.get(post_util_1.PostUtil);
174
+ const post = await postUtil.get(postId);
175
+ const data = {
176
+ ...getData,
177
+ meta_input: await post.meta.props(),
178
+ tags_input: (await post.terms("post_tag"))?.map((tag) => tag.term_id),
179
+ post_categeory: (await post.terms("category"))?.map((category) => category.term_id),
180
+ };
181
+ return this.returnValue(val.trx.postUpsert.parse({ ...data, ...defaultValue }));
182
+ }
183
+ async checkPermission(action, postType, postId) {
184
+ const { user } = await this.getUser();
185
+ const postUtil = this.components.get(post_util_1.PostUtil);
186
+ const postTypeObject = postUtil.getTypeObject(postType);
187
+ return (postTypeObject?.capabilities &&
188
+ postTypeObject.capabilities[action] &&
189
+ (await user.can(postTypeObject.capabilities[action], postId)));
190
+ }
191
+ async get(postIdOrSlug, options) {
192
+ const { password = "", context = "view" } = options ?? {};
193
+ const postUtil = this.components.get(post_util_1.PostUtil);
194
+ const post = typeof postIdOrSlug == "string"
195
+ ? await postUtil.getBySlug(postIdOrSlug)
196
+ : await postUtil.get(postIdOrSlug);
197
+ if (!post?.props?.ID ||
198
+ (options?.postType && post.props.post_type !== options.postType)) {
199
+ throw new error_1.CrudError(error_1.StatusMessage.NOT_FOUND, `Post not found - ${postIdOrSlug}`);
200
+ }
201
+ const postId = post.props.ID;
202
+ const { user } = await this.getUser();
203
+ const postType = post.props.post_type;
204
+ if (context == "edit" &&
205
+ !(await this.checkPermission("edit_post", postType, postId))) {
206
+ throw new error_1.CrudError(error_1.StatusMessage.UNAUTHORIZED, "Sorry, you are not allowed to edit this post");
207
+ }
208
+ // Private post
209
+ if (post.props.post_status == "private" &&
210
+ !(await this.canReadPrivatePosts(postType))) {
211
+ throw new error_1.CrudError(error_1.StatusMessage.UNAUTHORIZED, "Sorry, you are not allowed to view this post");
212
+ }
213
+ const role = await user.role();
214
+ if (role.is("anonymous") && post.props.post_status !== "publish") {
215
+ throw new error_1.CrudError(error_1.StatusMessage.UNAUTHORIZED, "Sorry, you are not allowed to view this post");
216
+ }
217
+ return this.returnValue(await this.formReturnData(post, {
218
+ password,
219
+ editable: context == "edit",
220
+ }), { protected: post.props.post_password != "" });
221
+ }
222
+ // edit_post
223
+ async update(postId, data) {
224
+ data.ID = postId;
225
+ const currentPost = (await this.getAsUpsert(postId, { context: "edit" }))
226
+ .data;
227
+ data.ID = currentPost.ID;
228
+ data.post_type = currentPost.post_type;
229
+ data.post_mime_type = currentPost.post_mime_type;
230
+ data = await this.translate(data);
231
+ if (data.meta_input) {
232
+ const metaCrud = this.components.get(meta_crud_1.MetaCrud);
233
+ await metaCrud.update("post", postId, data.meta_input, "sync");
234
+ data.meta_input = undefined;
235
+ }
236
+ const postTrx = this.components.get(transactions_1.PostTrx);
237
+ const result = await postTrx.upsert(data);
238
+ const postUtil = this.components.get(post_util_1.PostUtil);
239
+ const postType = postUtil.getTypeObject(data.post_type);
240
+ if (postType?.supports.includes("revisions") &&
241
+ data.post_content !== currentPost.post_content) {
242
+ const revisionTrx = this.components.get(transactions_1.RevisionTrx);
243
+ await revisionTrx.save(postId);
244
+ }
245
+ return this.returnValue(result);
246
+ }
247
+ // wp_write_post
248
+ async create(data) {
249
+ if (!data.post_type || !(await this.canEditPosts(data.post_type))) {
250
+ throw new error_1.CrudError(error_1.StatusMessage.UNAUTHORIZED, "post_type is not defined or you are not allowed to edit posts in this post type");
251
+ }
252
+ if (data.post_type !== "attachment") {
253
+ data.post_mime_type = "";
254
+ }
255
+ if (data.ID && data.ID > 0) {
256
+ return await this.update(data.ID, val.trx.postUpsert.parse(data));
257
+ }
258
+ data.ID = undefined;
259
+ data = await this.translate(data);
260
+ const postTrx = this.components.get(transactions_1.PostTrx);
261
+ return this.returnValue(await postTrx.upsert(data));
262
+ }
263
+ async delete(postId) {
264
+ const postUtil = this.components.get(post_util_1.PostUtil);
265
+ const post = await postUtil.get(postId);
266
+ if (!post.props?.ID) {
267
+ throw new error_1.CrudError(error_1.StatusMessage.NOT_FOUND, `Post not found - ${postId}`);
268
+ }
269
+ const postType = post.props.post_type;
270
+ if (!(await this.checkPermission("delete_post", postType, postId))) {
271
+ throw new error_1.CrudError(error_1.StatusMessage.UNAUTHORIZED, "Sorry, you are not allowed to delete this post");
272
+ }
273
+ const postTrx = this.components.get(transactions_1.PostTrx);
274
+ return this.returnValue(await postTrx.remove(postId, true).then((v) => typeof v !== "undefined"));
275
+ }
276
+ async trashOrUntrash(postId, trash) {
277
+ const postUtil = this.components.get(post_util_1.PostUtil);
278
+ const post = await postUtil.get(postId);
279
+ if (!post.props?.ID) {
280
+ throw new error_1.CrudError(error_1.StatusMessage.NOT_FOUND, `Post not found - ${postId}`);
281
+ }
282
+ const postType = post.props.post_type;
283
+ if (!(await this.checkPermission("edit_post", postType, postId))) {
284
+ throw new error_1.CrudError(error_1.StatusMessage.UNAUTHORIZED, "Sorry, you are not allowed to edit this post");
285
+ }
286
+ const postTrx = this.components.get(transactions_1.PostTrx);
287
+ return trash
288
+ ? await postTrx.trash(postId).then((v) => typeof v !== "undefined")
289
+ : await postTrx.untrash(postId).then((v) => typeof v !== "undefined");
290
+ }
291
+ async trash(postId) {
292
+ return this.returnValue(await this.trashOrUntrash(postId, true));
293
+ }
294
+ async untrash(postId) {
295
+ return this.returnValue(await this.trashOrUntrash(postId, false));
296
+ }
297
+ async checkAutosavePermission(parent) {
298
+ const { user } = await this.getUser();
299
+ if (!parent.props) {
300
+ throw new error_1.CrudError(error_1.StatusMessage.BAD_REQUEST, "Invalid parameters.");
301
+ }
302
+ if (!(await user.can("edit_post", parent.props.ID))) {
303
+ throw new error_1.CrudError(error_1.StatusMessage.UNAUTHORIZED, "Sorry, you are not allowed to autosave of this post");
304
+ }
305
+ return true;
306
+ }
307
+ // class-wp-rest-autosaves-controller.php create_item
308
+ async autosave(parentId, data) {
309
+ const { user } = await this.getUser();
310
+ const vars = this.components.get(vars_1.Vars);
311
+ vars.DOING_AUTOSAVE = true;
312
+ const postUtil = this.components.get(post_util_1.PostUtil);
313
+ const parent = await postUtil.get(parentId);
314
+ await this.checkAutosavePermission(parent);
315
+ data = await this.translate(data);
316
+ data.post_parent = parentId;
317
+ const isDraft = data.post_status == "draft" || data.post_status == "auto-draft";
318
+ let autosaveId;
319
+ if (isDraft && user.props?.ID === data.post_author) {
320
+ /*
321
+ * Draft posts for the same author: autosaving updates the post and does not create a revision.
322
+ * Convert the post object to an array and add slashes, wp_update_post() expects escaped array.
323
+ */
324
+ const postTrx = this.components.get(transactions_1.PostTrx);
325
+ autosaveId = await postTrx.upsert(common_1.formatting.slash(data));
326
+ }
327
+ else {
328
+ const revisionTrx = this.components.get(transactions_1.RevisionTrx);
329
+ autosaveId = await revisionTrx.autosave(data);
330
+ }
331
+ if (!autosaveId) {
332
+ throw new error_1.CrudError(error_1.StatusMessage.BAD_REQUEST, "Failed to autosave post");
333
+ }
334
+ const post = await postUtil.get(autosaveId);
335
+ if (!post.props) {
336
+ throw new error_1.CrudError(error_1.StatusMessage.BAD_REQUEST, "Failed to get autosave post after saving");
337
+ }
338
+ return this.returnValue(post.props);
339
+ }
340
+ async getAutosave(parentId) {
341
+ const { user } = await this.getUser();
342
+ const postUtil = this.components.get(post_util_1.PostUtil);
343
+ const parent = await postUtil.get(parentId);
344
+ await this.checkAutosavePermission(parent);
345
+ const revisionUtil = this.components.get(revision_util_1.RevisionUtil);
346
+ const autosave = await revisionUtil.getAutosave(parentId, user.props?.ID);
347
+ if (!autosave?.props) {
348
+ throw new error_1.CrudError(error_1.StatusMessage.NOT_FOUND, "Autosave not found");
349
+ }
350
+ return await this.getAsUpsert(autosave.props.ID);
351
+ }
352
+ async copy(postId) {
353
+ const { user } = await this.getUser();
354
+ const postUtil = this.components.get(post_util_1.PostUtil);
355
+ const post = await postUtil.get(postId);
356
+ if (!post.props || !user.props?.ID) {
357
+ throw new error_1.CrudError(error_1.StatusMessage.NOT_FOUND, "Post not found");
358
+ }
359
+ const userId = user.props.ID;
360
+ if (post.props.post_type == "attachment") {
361
+ throw new error_1.CrudError(error_1.StatusMessage.BAD_REQUEST, "Sorry, you are not allowed to copy attachments");
362
+ }
363
+ await this.checkPermission("edit_post", post.props.post_type, postId);
364
+ const queryUtil = this.components.get(query_util_1.QueryUtil);
365
+ const postTitle = await (async () => {
366
+ const targetPostTitle = post?.props?.post_type;
367
+ let postTitle = `Copy of ${post?.props?.post_title}`;
368
+ for (let i = 0; i < 10; i++) {
369
+ const copyPosts = await queryUtil.posts((query) => {
370
+ query
371
+ .where("post_title", postTitle)
372
+ .where("post_type", targetPostTitle)
373
+ .builder.limit(1);
374
+ });
375
+ if (!copyPosts) {
376
+ return postTitle;
377
+ }
378
+ postTitle = `Copy of ${post?.props?.post_title} ${i + 2}`;
379
+ }
380
+ const maxSuffix = 10;
381
+ return `Copy of ${post?.props?.post_title} ${Math.floor(Math.random() * (maxSuffix + 999990010 - maxSuffix + 1) + maxSuffix + 1)}`;
382
+ })();
383
+ const postUpsert = (await this.getAsUpsert(postId)).data;
384
+ postUpsert.ID = undefined;
385
+ postUpsert.post_status = "draft";
386
+ postUpsert.post_title = postTitle;
387
+ postUpsert.post_author = userId;
388
+ const copiedPostId = (await this.create(postUpsert)).data;
389
+ return this.returnValue(copiedPostId);
390
+ }
391
+ async list(args, options) {
392
+ const { password = "", postTypes = ["post"], context = "view", countGroupBy: includeCountGroupBy, } = options ?? {};
393
+ const queryUtil = this.components.get(query_util_1.QueryUtil);
394
+ const postUtil = this.components.get(post_util_1.PostUtil);
395
+ const parsedArgs = val.crud.postListParams.parse(args ?? {});
396
+ const { user } = await this.getUser();
397
+ const role = await user.role();
398
+ let canReadPrivatePosts = true;
399
+ for (const postType of postTypes) {
400
+ const postTypeObject = postUtil.getTypeObject(postType);
401
+ if (!postTypeObject) {
402
+ throw new error_1.CrudError(error_1.StatusMessage.BAD_REQUEST, `Invalid post type`);
403
+ }
404
+ if (context == "edit" && !(await this.canEditPosts(postType))) {
405
+ throw new error_1.CrudError(error_1.StatusMessage.UNAUTHORIZED, "Sorry, you are not allowed to edit posts in this post type");
406
+ }
407
+ canReadPrivatePosts =
408
+ canReadPrivatePosts && (await this.canReadPrivatePosts(postType));
409
+ }
410
+ let stickyPostIds = [];
411
+ if (parsedArgs.sticky) {
412
+ try {
413
+ stickyPostIds = zod_1.z
414
+ .array(zod_1.z.number())
415
+ .parse(await this.components
416
+ .get(options_1.Options)
417
+ .get("sticky_posts", { default: (0, common_1.phpSerialize)([]) }));
418
+ }
419
+ catch (e) {
420
+ stickyPostIds = [0];
421
+ }
422
+ }
423
+ const protectedPostIds = [];
424
+ const dateTimeUtil = this.components.get(date_time_util_1.DateTimeUtil);
425
+ const buildQuery = (query) => {
426
+ const { column } = query.alias;
427
+ const offset = parsedArgs.offset ?? (parsedArgs.page - 1) * parsedArgs.per_page;
428
+ const limit = parsedArgs.per_page;
429
+ query.builder.offset(offset).limit(limit).groupBy(column("posts", "ID"));
430
+ query.whereIn("post_type", postTypes);
431
+ // Check for mime types
432
+ if (postTypes.includes("attachment") &&
433
+ Array.isArray(options?.mimeTypes)) {
434
+ query.andWhere((query) => {
435
+ for (const mimeType of options.mimeTypes) {
436
+ // Use whereLike if mimeType does not have a slash
437
+ if (!mimeType.includes("/")) {
438
+ query.or.whereLike("post_mime_type", mimeType);
439
+ }
440
+ else {
441
+ query.or.where("post_mime_type", mimeType);
442
+ }
443
+ }
444
+ });
445
+ }
446
+ if (parsedArgs.orderby) {
447
+ query.builder.orderBy(column("posts", parsedArgs.orderby), parsedArgs.order);
448
+ }
449
+ if (role.is("anonymous")) {
450
+ query.where("post_status", "publish").andWhere((query) => {
451
+ query.where("post_password", password).or.where("post_password", "");
452
+ });
453
+ }
454
+ if (!canReadPrivatePosts) {
455
+ query.andWhereNot((query) => query.where("post_status", "private"));
456
+ }
457
+ if (stickyPostIds.length > 0 || Array.isArray(parsedArgs.include)) {
458
+ query.whereIn("ID", [...stickyPostIds, ...(parsedArgs.include ?? [])]);
459
+ }
460
+ if (Array.isArray(parsedArgs.exclude)) {
461
+ query.not.andWhere((query) => query.whereIn("ID", parsedArgs.exclude));
462
+ }
463
+ if (parsedArgs.search) {
464
+ query.andWhere((query) => {
465
+ const searchColumns = [
466
+ "post_title",
467
+ "post_excerpt",
468
+ "post_content",
469
+ ];
470
+ for (const searchColumn of searchColumns) {
471
+ parsedArgs.search &&
472
+ query.or.whereLike(searchColumn, parsedArgs.search);
473
+ }
474
+ });
475
+ }
476
+ if (parsedArgs.meta && context == "edit") {
477
+ query
478
+ .withMeta()
479
+ .where("meta_key", parsedArgs.meta.key)
480
+ .where("meta_value", parsedArgs.meta.value);
481
+ }
482
+ if (parsedArgs.exclude_meta && context == "edit") {
483
+ query.withoutMeta(parsedArgs.exclude_meta.key, parsedArgs.exclude_meta.value);
484
+ }
485
+ const taxonomyNames = [];
486
+ for (const key of Object.keys(parsedArgs)) {
487
+ if (!parsedArgs[key] || key == "meta")
488
+ continue;
489
+ const value = parsedArgs[key];
490
+ switch (key) {
491
+ case "after":
492
+ case "before":
493
+ query.where("post_date", dateTimeUtil.get(new Date(value)).mySQLDatetime, key == "after" ? ">=" : "<=");
494
+ break;
495
+ case "modified_after":
496
+ case "modified_before":
497
+ query.where("post_date", dateTimeUtil.get(new Date(value)).mySQLDatetime, key == "modified_after" ? ">=" : "<=");
498
+ break;
499
+ case "author":
500
+ Array.isArray(value) && query.whereIn("post_author", value);
501
+ break;
502
+ case "author_exclude":
503
+ Array.isArray(value) &&
504
+ query.andWhereNot((query) => query.whereIn("post_author", value));
505
+ break;
506
+ case "slug":
507
+ query.where("post_name", value);
508
+ break;
509
+ case "status":
510
+ Array.isArray(value) && query.whereIn("post_status", value);
511
+ break;
512
+ case "status_exclude":
513
+ Array.isArray(value) &&
514
+ query.andWhereNot((query) => query.whereIn("post_status", value));
515
+ break;
516
+ case "categories":
517
+ case "categories_exclude":
518
+ taxonomyNames.push("category");
519
+ break;
520
+ case "tags":
521
+ case "tags_exclude":
522
+ taxonomyNames.push("post_tag");
523
+ }
524
+ }
525
+ if (taxonomyNames.length > 0) {
526
+ query.withTerms(taxonomyNames, (query) => {
527
+ query[parsedArgs.tax_relation === "OR" ? "orWhere" : "andWhere"]((query) => {
528
+ if (parsedArgs.categories || parsedArgs.tags) {
529
+ query.whereIn("term_id", [
530
+ ...(parsedArgs.categories ?? []),
531
+ ...(parsedArgs.tags ?? []),
532
+ ]);
533
+ }
534
+ if (parsedArgs.categories_exclude || parsedArgs.tags_exclude) {
535
+ query.andWhereNot((query) => query.whereIn("term_id", [
536
+ ...(parsedArgs.categories_exclude ?? []),
537
+ ...(parsedArgs.tags_exclude ?? []),
538
+ ]));
539
+ }
540
+ });
541
+ });
542
+ }
543
+ };
544
+ const posts = (await queryUtil.posts((query) => {
545
+ buildQuery(query);
546
+ if (postTypes.includes("attachment")) {
547
+ console.log(query.builder.toString());
548
+ }
549
+ })) ?? [];
550
+ const counts = await queryUtil.posts((query) => {
551
+ buildQuery(query);
552
+ query.count("posts", "ID");
553
+ }, val.query.resultCount);
554
+ const countGroupBy = (includeCountGroupBy
555
+ ? await queryUtil.posts((query) => {
556
+ buildQuery(query);
557
+ query
558
+ .where("post_type", postTypes)
559
+ .countGroupby("posts", includeCountGroupBy);
560
+ }, val.query.resultCountGroupBy(includeCountGroupBy))
561
+ : []);
562
+ const data = [];
563
+ for (const post of postUtil.toPosts(posts)) {
564
+ const props = post.props;
565
+ if (props.post_password != "") {
566
+ protectedPostIds.push(props.ID);
567
+ }
568
+ data.push(await this.formReturnData(post, {
569
+ password,
570
+ editable: context == "edit",
571
+ }));
572
+ }
573
+ const pagination = this.pagination({
574
+ page: parsedArgs.page,
575
+ limit: parsedArgs.per_page,
576
+ count: counts?.count ?? 0,
577
+ });
578
+ return this.returnValue(data, {
579
+ pagination,
580
+ protected: protectedPostIds,
581
+ countGroupBy,
582
+ });
583
+ }
584
+ };
585
+ exports.PostCrud = PostCrud;
586
+ exports.PostCrud = PostCrud = __decorate([
587
+ (0, component_1.component)(),
588
+ __metadata("design:paramtypes", [components_1.Components])
589
+ ], PostCrud);
@@ -0,0 +1,76 @@
1
+ import { z } from "zod";
2
+ import { Components } from "../core/components";
3
+ import * as val from "../validators";
4
+ import { Crud } from "./crud";
5
+ export declare class RevisionCrud extends Crud {
6
+ constructor(components: Components);
7
+ private checkPermission;
8
+ get(parentId: number, id: number): Promise<{
9
+ data: import("../types").WpPosts;
10
+ info: undefined;
11
+ }>;
12
+ restore(parentId: number, id: number): Promise<{
13
+ data: boolean;
14
+ info: undefined;
15
+ }>;
16
+ list(parentId: number, args: Partial<z.infer<typeof val.crud.revisionListParams>>): Promise<{
17
+ data: [] | [{
18
+ ID: number;
19
+ post_author: number;
20
+ post_content: string;
21
+ post_title: string;
22
+ post_excerpt: string;
23
+ post_status: string;
24
+ comment_status: string;
25
+ ping_status: string;
26
+ post_password: string;
27
+ post_name: string;
28
+ to_ping: string;
29
+ pinged: string;
30
+ post_content_filtered: string;
31
+ post_parent: number;
32
+ guid: string;
33
+ menu_order: number;
34
+ post_type: string;
35
+ post_mime_type: string;
36
+ comment_count: number;
37
+ post_date?: string | undefined;
38
+ post_date_gmt?: string | undefined;
39
+ post_modified?: string | undefined;
40
+ post_modified_gmt?: string | undefined;
41
+ }, ...{
42
+ ID: number;
43
+ post_author: number;
44
+ post_content: string;
45
+ post_title: string;
46
+ post_excerpt: string;
47
+ post_status: string;
48
+ comment_status: string;
49
+ ping_status: string;
50
+ post_password: string;
51
+ post_name: string;
52
+ to_ping: string;
53
+ pinged: string;
54
+ post_content_filtered: string;
55
+ post_parent: number;
56
+ guid: string;
57
+ menu_order: number;
58
+ post_type: string;
59
+ post_mime_type: string;
60
+ comment_count: number;
61
+ post_date?: string | undefined;
62
+ post_date_gmt?: string | undefined;
63
+ post_modified?: string | undefined;
64
+ post_modified_gmt?: string | undefined;
65
+ }[]];
66
+ info: {
67
+ pagination: {
68
+ page: number;
69
+ limit: number;
70
+ totalPage: number;
71
+ count: number;
72
+ };
73
+ };
74
+ }>;
75
+ }
76
+ //# sourceMappingURL=revision.crud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revision.crud.d.ts","sourceRoot":"","sources":["../../src/crud/revision.crud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMhD,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,qBACa,YAAa,SAAQ,IAAI;gBACxB,UAAU,EAAE,UAAU;YAIpB,eAAe;IAoBvB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;IAgBhC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;IAqCpC,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqE7D"}