@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,550 @@
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 UserUtil_1;
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.UserUtil = void 0;
47
+ const zod_1 = require("zod");
48
+ const common_1 = require("../../common");
49
+ const config_1 = require("../../config");
50
+ const component_1 = require("../../decorators/component");
51
+ const transactions_1 = require("../../transactions");
52
+ const val = __importStar(require("../../validators"));
53
+ const components_1 = require("../components");
54
+ const current_1 = require("../current");
55
+ const logger_1 = require("../logger");
56
+ const options_1 = require("../options");
57
+ const user_1 = require("../user");
58
+ const vars_1 = require("../vars");
59
+ const blog_util_1 = require("./blog.util");
60
+ const query_util_1 = require("./query.util");
61
+ const roles_util_1 = require("./roles.util");
62
+ let UserUtil = UserUtil_1 = class UserUtil {
63
+ config;
64
+ logger;
65
+ components;
66
+ vars;
67
+ constructor(config, logger, components, vars) {
68
+ this.config = config;
69
+ this.logger = logger;
70
+ this.components = components;
71
+ this.vars = vars;
72
+ }
73
+ async get(userRef) {
74
+ return await this.components.asyncGet(user_1.User, [userRef]);
75
+ }
76
+ async toUsers(users) {
77
+ const arr = [];
78
+ for (const user of users) {
79
+ arr.push(await this.components.asyncGet(user_1.User, [user.ID, user]));
80
+ }
81
+ return arr;
82
+ }
83
+ // count_many_users_posts
84
+ async countPosts(userIds, postType = "post", options) {
85
+ const { publicOnly = false } = options ?? {};
86
+ const queryUtil = this.components.get(query_util_1.QueryUtil);
87
+ const counts = await queryUtil.posts((query) => {
88
+ query.where("post_type", postType).whereIn("post_author", userIds);
89
+ if (publicOnly) {
90
+ query.where("post_status", "publish");
91
+ }
92
+ query.countGroupby("posts", "post_author");
93
+ }, val.query.resultCountGroupBy("post_author"));
94
+ return counts;
95
+ }
96
+ // reset_password
97
+ async resetPassword(user, newPassword) {
98
+ if (!user.props) {
99
+ return;
100
+ }
101
+ const userId = user.props.ID;
102
+ const userTrx = this.components.get(transactions_1.UserTrx);
103
+ await userTrx.upsert({
104
+ ID: userId,
105
+ user_pass: (0, common_1.hashPassword)(newPassword),
106
+ });
107
+ const metaTrx = this.components.get(transactions_1.MetaTrx);
108
+ await metaTrx.upsert("user", userId, "default_password_nag", false);
109
+ }
110
+ // wp_is_password_reset_allowed_for_user
111
+ isPasswordResetAllowed(user) {
112
+ if (!this.config.isMultiSite()) {
113
+ return true;
114
+ }
115
+ // is_user_spammy
116
+ return 1 === user.props?.spam ? false : true;
117
+ }
118
+ // check_password_reset_key
119
+ async checkPasswordResetKey(resetKey, userRef) {
120
+ resetKey = resetKey.replace(/[^a-z0-9]/gi, "");
121
+ if (0 >= resetKey.length) {
122
+ this.logger.info(`Invalid resetKey: ${resetKey}`);
123
+ return false;
124
+ }
125
+ const user = await this.get(userRef);
126
+ if (!user.props ||
127
+ !user.props.user_activation_key ||
128
+ 0 >= user.props.user_activation_key.length) {
129
+ this.logger.info(`Invalid user or activation key - ${user.props?.ID} ${user.props?.user_activation_key}`);
130
+ return false;
131
+ }
132
+ // Revoke activation key
133
+ const userTrx = this.components.get(transactions_1.UserTrx);
134
+ await userTrx.revokeActivationKey(user);
135
+ const activationKey = user.props.user_activation_key;
136
+ const [passRequestTime, storedHash] = activationKey.split(":");
137
+ if (!passRequestTime.match(/^[0-9]+$/) || 0 >= storedHash.length) {
138
+ this.logger.info(`Invalid passRequestTime or storedHash - ${passRequestTime} ${storedHash}`);
139
+ return false;
140
+ }
141
+ const expirationDuration = parseInt(passRequestTime) + 60 * 60; // 3600sec
142
+ if (Math.floor(Date.now() / 1000) > expirationDuration) {
143
+ this.logger.info(`Reset key expired: ${expirationDuration}`);
144
+ return false;
145
+ }
146
+ if (!(0, common_1.checkPassword)(resetKey, storedHash)) {
147
+ return false;
148
+ }
149
+ return user.props.ID;
150
+ }
151
+ // Handles sending a password retrieval email to a user.
152
+ // retrieve_password
153
+ async getPasswordResetKey(userLogin, options) {
154
+ const { registration = false } = options ?? {};
155
+ userLogin = common_1.formatting.unslash(userLogin);
156
+ const user = await this.get(userLogin);
157
+ if (!user.props) {
158
+ throw new Error(`There is no account with that username or email address.' - ${userLogin}`);
159
+ }
160
+ // Generate something random for a password reset key.
161
+ const userTrx = this.components.get(transactions_1.UserTrx);
162
+ const resetKey = await userTrx.resetActivationKey(user);
163
+ let siteName = "";
164
+ if (this.config.isMultiSite()) {
165
+ const current = this.components.get(current_1.Current);
166
+ if (current.site?.props.blog.domain) {
167
+ siteName = current.site?.props.blog.domain;
168
+ }
169
+ }
170
+ else {
171
+ const options = this.components.get(options_1.Options);
172
+ const blogName = await options.get("blogname");
173
+ if (blogName) {
174
+ siteName = common_1.formatting.specialcharsDecode(blogName);
175
+ }
176
+ }
177
+ // invoke action hook
178
+ const context = this.vars.CONTEXT;
179
+ context.hooks.action.do("core_reset_password", resetKey, user, siteName, registration, context);
180
+ return resetKey;
181
+ }
182
+ roleNamesToCapabilities(roleNames, roles) {
183
+ return (roleNames?.map((roleName) => roles[roleName].capabilities).flat() ?? []);
184
+ }
185
+ // Retrieves sites and blogs associated with a user.
186
+ async getSites(userRef) {
187
+ if (this.config.isMultiSite()) {
188
+ return await this.getMultiSites(userRef);
189
+ }
190
+ return await this.getSingleSite(userRef);
191
+ }
192
+ async getSingleSite(userRef) {
193
+ const rolesUtil = this.components.get(roles_util_1.RolesUtil);
194
+ const user = await this.get(userRef);
195
+ if (!user.props?.user_login) {
196
+ throw new Error("Invalid user");
197
+ }
198
+ const primaryBlog = (await this.getBlogs(userRef))[0];
199
+ const roles = await rolesUtil.get();
200
+ const capabilities = this.roleNamesToCapabilities(primaryBlog.rolenames, roles);
201
+ return {
202
+ user: user.props,
203
+ primary_blog: {
204
+ ...primaryBlog,
205
+ capabilities,
206
+ },
207
+ is_multisite: false,
208
+ sites: undefined,
209
+ };
210
+ }
211
+ async getMultiSites(userRef) {
212
+ const options = this.components.get(options_1.Options);
213
+ const user = await this.get(userRef);
214
+ if (!user.props?.user_login) {
215
+ throw new Error("Invalid user");
216
+ }
217
+ const userLogin = user.props.user_login;
218
+ // Blogs belonged to a user
219
+ const blogsOfUser = await this.getBlogs(userRef);
220
+ const siteIds = new Set(blogsOfUser.map((blog) => blog.site_id));
221
+ // User's primary blog
222
+ const primaryBlogId = await this.getPrimaryBlogId(userRef);
223
+ let primaryBlog;
224
+ let primarySite;
225
+ const result = [];
226
+ for (const siteId of Array.from(siteIds)) {
227
+ const blogs = [];
228
+ for (const blogOfUser of blogsOfUser.filter((blog) => blog.site_id == siteId)) {
229
+ blogs.push({
230
+ ...blogOfUser,
231
+ capabilities: this.roleNamesToCapabilities(blogOfUser.rolenames, blogOfUser.blog_roles),
232
+ });
233
+ }
234
+ primaryBlog = blogs.filter((blogs) => blogs.blog_id == primaryBlogId)[0];
235
+ const optionValues = await options.get(["site_name", "siteurl"], {
236
+ siteId,
237
+ });
238
+ const sitename = (optionValues.get("site_name") ?? "");
239
+ const siteurl = (optionValues.get("siteurl") ?? "");
240
+ if (primaryBlog) {
241
+ primarySite = {
242
+ sitename,
243
+ siteurl,
244
+ };
245
+ }
246
+ const rolesUtil = this.components.get(roles_util_1.RolesUtil);
247
+ const superAdmins = await rolesUtil.getSuperAdmins({ siteId });
248
+ result.push({
249
+ site_id: siteId,
250
+ sitename,
251
+ siteurl,
252
+ is_superadmin: superAdmins.includes(userLogin),
253
+ blogs,
254
+ });
255
+ }
256
+ if (!primaryBlog && result.length > 0) {
257
+ primaryBlog = result[0].blogs[0];
258
+ }
259
+ if (!primarySite) {
260
+ primarySite = result[0];
261
+ }
262
+ return {
263
+ user: user.props,
264
+ primary_blog: !primaryBlog
265
+ ? undefined
266
+ : {
267
+ ...primarySite,
268
+ blog_id: primaryBlog.blog_id,
269
+ site_id: primaryBlog.site_id,
270
+ blog_roles: primaryBlog.blog_roles,
271
+ blogname: primaryBlog.blogname ?? "",
272
+ rolenames: primaryBlog.rolenames ?? [],
273
+ capabilities: primaryBlog.capabilities,
274
+ },
275
+ is_multisite: true,
276
+ sites: result,
277
+ };
278
+ }
279
+ async getPrimaryBlogId(userRef) {
280
+ const user = await this.get(userRef);
281
+ if (!user.props?.user_login) {
282
+ throw new Error("Invalid user");
283
+ }
284
+ if (!this.config.isMultiSite()) {
285
+ return 1;
286
+ }
287
+ return await user.meta.get("primary_blog");
288
+ }
289
+ // get role names of user (across all blogs)
290
+ async getRoleNames(userRefOrUser) {
291
+ const user = typeof userRefOrUser == "string" || typeof userRefOrUser == "number"
292
+ ? await this.get(userRefOrUser)
293
+ : userRefOrUser;
294
+ if (!user.props?.user_login) {
295
+ throw new Error("Invalid user");
296
+ }
297
+ const userLogin = user.props.user_login;
298
+ const metas = (await user.meta.props()) ?? {};
299
+ const rolesMap = new Map();
300
+ for (const [key, value] of Object.entries(metas)) {
301
+ if (!key.startsWith(this.config.config.tablePrefix) ||
302
+ !key.endsWith("_capabilities")) {
303
+ continue;
304
+ }
305
+ let blogId;
306
+ const roleNames = Object.entries(value)
307
+ .filter(([, value]) => value)
308
+ .map(([roleName]) => roleName)
309
+ .flat();
310
+ if (key === `${this.config.config.tablePrefix}capabilities`) {
311
+ blogId = 1;
312
+ }
313
+ else {
314
+ const blogIdString = key.replace(new RegExp(`^${this.config.config.tablePrefix}|_capabilities$`, "g"), "");
315
+ if (!blogIdString.match(/^[0-9]+$/)) {
316
+ continue;
317
+ }
318
+ blogId = parseInt(blogIdString);
319
+ }
320
+ rolesMap.set(blogId, roleNames);
321
+ }
322
+ // Super Admins
323
+ if (this.config.isMultiSite()) {
324
+ const queryUtil = this.components.get(query_util_1.QueryUtil);
325
+ const siteIds = ((await queryUtil.meta("site", (query) => {
326
+ query.whereLike("site_admins", `:"${userLogin}";`);
327
+ })) ?? []).map((site) => site.site_id);
328
+ if (siteIds.length > 0) {
329
+ const blogIds = ((await queryUtil.blogs((query) => {
330
+ query.whereIn("site_id", siteIds);
331
+ })) ?? []).map((blog) => blog.blog_id) ?? [];
332
+ for (const blogId of blogIds) {
333
+ rolesMap.set(blogId, [...(rolesMap.get(blogId) ?? []), "superadmin"]);
334
+ }
335
+ }
336
+ }
337
+ return rolesMap;
338
+ }
339
+ // get site ids of user
340
+ async getSiteIds(userRef) {
341
+ const blogIds = await this.getBlogIds(userRef);
342
+ const queryUtil = this.components.get(query_util_1.QueryUtil);
343
+ const blogs = (await queryUtil.blogs((query) => {
344
+ const { column } = query.alias;
345
+ query
346
+ .whereIn("blog_id", blogIds)
347
+ .select(["site_id"])
348
+ .builder.groupBy(column("blogs", "site_id"));
349
+ }, zod_1.z.array(zod_1.z.object({
350
+ site_id: zod_1.z.number(),
351
+ })))) ?? [];
352
+ return blogs.map((blog) => blog.site_id);
353
+ }
354
+ // get blog ids of user
355
+ async getBlogIds(userRef) {
356
+ if (!this.config.isMultiSite()) {
357
+ return [1];
358
+ }
359
+ const user = await this.get(userRef);
360
+ if (!user.props || !user.props.user_login) {
361
+ throw new Error("Invalid user");
362
+ }
363
+ const userId = user.props.ID;
364
+ const rolesMap = await this.getRoleNames(userId);
365
+ const blogIds = [...rolesMap.keys()];
366
+ return blogIds;
367
+ }
368
+ // get_blogs_of_user
369
+ async getBlogs(userRef, options) {
370
+ const { siteId, blogId: targetBlogId } = options ?? {};
371
+ const user = await this.get(userRef);
372
+ if (!user.props) {
373
+ throw new Error("Invalid user");
374
+ }
375
+ const userId = user.props.ID;
376
+ const rolesUtil = this.components.get(roles_util_1.RolesUtil);
377
+ const rolesMap = await this.getRoleNames(userId);
378
+ if (!this.config.isMultiSite()) {
379
+ const options = this.components.get(options_1.Options);
380
+ const vars = this.components.get(vars_1.Vars);
381
+ return [
382
+ {
383
+ blog_id: 1,
384
+ domain: "",
385
+ path: "",
386
+ site_id: 0,
387
+ siteurl: await options.get("siteurl"),
388
+ archived: 0,
389
+ spam: 0,
390
+ deleted: 0,
391
+ rolenames: rolesMap.get(1) ?? [],
392
+ blog_roles: vars.USER_ROLES,
393
+ blogname: await options.get("blogname"),
394
+ },
395
+ ];
396
+ }
397
+ let blogIds = [...rolesMap.keys()];
398
+ // Filter if blogId is specified
399
+ if (targetBlogId) {
400
+ blogIds = blogIds.filter((blogId) => blogId === targetBlogId);
401
+ }
402
+ if (0 >= blogIds.length) {
403
+ return [];
404
+ }
405
+ const queryUtil = this.components.get(query_util_1.QueryUtil);
406
+ const blogs = (await queryUtil.blogs((query) => {
407
+ query.whereIn("blog_id", blogIds);
408
+ if (siteId) {
409
+ query.where("site_id", siteId);
410
+ }
411
+ })) ?? [];
412
+ const blogUtil = this.components.get(blog_util_1.BlogUtil);
413
+ const result = [];
414
+ for (const blogItem of blogs) {
415
+ if (0 >= blogItem.blog_id || 0 >= blogItem.site_id) {
416
+ this.logger.warn(`Invalid blog - blog_id: ${blogItem.blog_id} domain: ${blogItem.domain} path: ${blogItem.path}`);
417
+ continue;
418
+ }
419
+ const blog = blogUtil.toBlog(blogItem);
420
+ result.push({
421
+ ...blogItem,
422
+ rolenames: rolesMap.get(blogItem.blog_id),
423
+ blog_roles: await rolesUtil.get(blogItem.blog_id),
424
+ siteurl: await blog.options("siteurl"),
425
+ blogname: await blog.options("blogname"),
426
+ });
427
+ }
428
+ return result;
429
+ }
430
+ async checkSuperAdminStatus(userRefOrUser, args) {
431
+ const user = typeof userRefOrUser === "string" || typeof userRefOrUser === "number"
432
+ ? await this.get(userRefOrUser)
433
+ : userRefOrUser;
434
+ if (!user.props?.user_login) {
435
+ throw new Error("Invalid user");
436
+ }
437
+ const userLogin = user.props.user_login;
438
+ if (!this.config.isMultiSite()) {
439
+ const role = await user.role();
440
+ return [role.isAdmin(), [1]];
441
+ }
442
+ const { blogIds = [] } = args ?? {};
443
+ let { siteIds = [] } = args ?? {};
444
+ const queryUtil = this.components.get(query_util_1.QueryUtil);
445
+ if (0 >= blogIds.length && 0 >= siteIds.length) {
446
+ // Check superadmin across all sites
447
+ siteIds = ((await queryUtil.sites((query) => {
448
+ query;
449
+ })) ?? []).map((site) => siteIds.push(site.id));
450
+ }
451
+ else if (blogIds.length > 0) {
452
+ siteIds = ((await queryUtil.blogs((query) => {
453
+ query.whereIn("blog_id", blogIds);
454
+ })) ?? []).map((blog) => siteIds.push(blog.site_id));
455
+ }
456
+ if (0 >= siteIds.length) {
457
+ return [false, []];
458
+ }
459
+ const rolesUtil = this.components.get(roles_util_1.RolesUtil);
460
+ for (const siteId of siteIds) {
461
+ const superAdmins = await rolesUtil.getSuperAdmins({
462
+ siteId,
463
+ });
464
+ if (!Array.isArray(superAdmins) || !superAdmins.includes(userLogin)) {
465
+ return [false, []];
466
+ }
467
+ }
468
+ return [true, siteIds];
469
+ }
470
+ async hasCapabilities(userRefOrUser, targetCapabilities, options) {
471
+ const user = typeof userRefOrUser == "string" || typeof userRefOrUser == "number"
472
+ ? await this.get(userRefOrUser)
473
+ : userRefOrUser;
474
+ if (!user.props?.user_login || !user.props.ID) {
475
+ throw new Error("Invalid user");
476
+ }
477
+ const { blogIds = [] } = options ?? {};
478
+ if (0 >= blogIds.length) {
479
+ const current = this.components.get(current_1.Current);
480
+ blogIds.push(current.blogId);
481
+ }
482
+ const rolesUtil = this.components.get(roles_util_1.RolesUtil);
483
+ const roleNamesMap = await this.getRoleNames(user);
484
+ for (const blogId of blogIds) {
485
+ if (!roleNamesMap.get(blogId)) {
486
+ return false;
487
+ }
488
+ const roleNames = roleNamesMap.get(blogId);
489
+ const roles = await rolesUtil.get(blogId);
490
+ let capabilities = [];
491
+ for (const roleName of roleNames) {
492
+ capabilities = [
493
+ ...capabilities,
494
+ ...(roles[roleName]?.capabilities ?? []),
495
+ ];
496
+ }
497
+ if (targetCapabilities.filter((v) => capabilities.includes(v)).length !==
498
+ targetCapabilities.length) {
499
+ return false;
500
+ }
501
+ }
502
+ return true;
503
+ }
504
+ async getUniqueNicename(nicename, userLogin, maxSuffix = 10) {
505
+ const queryUtil = this.components.get(query_util_1.QueryUtil);
506
+ nicename = common_1.formatting.slug(nicename);
507
+ if (50 < nicename.length) {
508
+ throw new Error(`user_nicename is too long - ${nicename}`);
509
+ }
510
+ for (let suffix = 0; suffix < maxSuffix; suffix++) {
511
+ const newNicename = 0 >= suffix ? nicename : `${nicename}-${suffix + 1}`;
512
+ const users = await queryUtil.users((query) => {
513
+ query
514
+ .where("user_nicename", newNicename)
515
+ .builder.not.where("user_login", userLogin);
516
+ });
517
+ if (!users) {
518
+ return newNicename;
519
+ }
520
+ }
521
+ return `${nicename}-${Math.floor(Math.random() * (maxSuffix + 999990010 - maxSuffix + 1) + maxSuffix + 1)}`;
522
+ }
523
+ async getUniqueUserLogin(maxSuffix = 10) {
524
+ const queryUtil = this.components.get(query_util_1.QueryUtil);
525
+ const prefix = "user-";
526
+ // Generate a random 6 character string
527
+ const randomString = Math.random().toString(36).substring(2, 8);
528
+ let userLogin = `${prefix}${randomString}`;
529
+ const context = this.vars.CONTEXT;
530
+ userLogin = await context.hooks.filter.asyncApply("core_unigue_user_login", userLogin);
531
+ for (let suffix = 0; suffix < maxSuffix; suffix++) {
532
+ const users = await queryUtil.users((query) => {
533
+ query.where("user_login", userLogin);
534
+ });
535
+ if (!users) {
536
+ return userLogin;
537
+ }
538
+ userLogin = 0 >= suffix ? userLogin : `${userLogin}${suffix + 1}`;
539
+ }
540
+ return `${userLogin}-${Math.floor(Math.random() * (maxSuffix + 999990010 - maxSuffix + 1) + maxSuffix + 1)}`;
541
+ }
542
+ };
543
+ exports.UserUtil = UserUtil;
544
+ exports.UserUtil = UserUtil = UserUtil_1 = __decorate([
545
+ (0, component_1.component)(),
546
+ __metadata("design:paramtypes", [config_1.Config,
547
+ logger_1.Logger,
548
+ components_1.Components,
549
+ vars_1.Vars])
550
+ ], UserUtil);
@@ -0,0 +1,36 @@
1
+ import { RevisionTrx } from "../../transactions";
2
+ import { Components } from "../components";
3
+ import { BlogUtil } from "./blog.util";
4
+ import { CommentUtil } from "./comment.util";
5
+ import { CrudUtil } from "./crud.util";
6
+ import { DateTimeUtil } from "./date-time.util";
7
+ import { LinkUtil } from "./link.util";
8
+ import { MetaUtil } from "./meta.util";
9
+ import { PostUtil } from "./post.util";
10
+ import { QueryUtil } from "./query.util";
11
+ import { RolesUtil } from "./roles.util";
12
+ import { SiteUtil } from "./site.util";
13
+ import { TaxonomyUtil } from "./taxonomy.util";
14
+ import { TermUtil } from "./term.util";
15
+ import { TrxUtil } from "./trx.util";
16
+ import { UserUtil } from "./user.util";
17
+ export declare class Utils {
18
+ private components;
19
+ constructor(components: Components);
20
+ get blog(): BlogUtil;
21
+ get comment(): CommentUtil;
22
+ get datetime(): DateTimeUtil;
23
+ get meta(): MetaUtil;
24
+ get post(): PostUtil;
25
+ get revision(): RevisionTrx;
26
+ get roles(): RolesUtil;
27
+ get taxonomy(): TaxonomyUtil;
28
+ get user(): UserUtil;
29
+ get trx(): TrxUtil;
30
+ get query(): QueryUtil;
31
+ get link(): LinkUtil;
32
+ get site(): SiteUtil;
33
+ get term(): TermUtil;
34
+ get crud(): CrudUtil;
35
+ }
36
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/utils/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBACa,KAAK;IACJ,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE1C,IAAI,IAAI,aAEP;IAED,IAAI,OAAO,gBAEV;IAED,IAAI,QAAQ,iBAEX;IAED,IAAI,IAAI,aAEP;IAED,IAAI,IAAI,aAEP;IAED,IAAI,QAAQ,gBAEX;IAED,IAAI,KAAK,cAER;IAED,IAAI,QAAQ,iBAEX;IAED,IAAI,IAAI,aAEP;IAED,IAAI,GAAG,YAEN;IAED,IAAI,KAAK,cAER;IAED,IAAI,IAAI,aAEP;IAED,IAAI,IAAI,aAEP;IAED,IAAI,IAAI,aAEP;IAED,IAAI,IAAI,aAEP;CACF"}
@@ -0,0 +1,85 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Utils = void 0;
13
+ const component_1 = require("../../decorators/component");
14
+ const transactions_1 = require("../../transactions");
15
+ const components_1 = require("../components");
16
+ const blog_util_1 = require("./blog.util");
17
+ const comment_util_1 = require("./comment.util");
18
+ const crud_util_1 = require("./crud.util");
19
+ const date_time_util_1 = require("./date-time.util");
20
+ const link_util_1 = require("./link.util");
21
+ const meta_util_1 = require("./meta.util");
22
+ const post_util_1 = require("./post.util");
23
+ const query_util_1 = require("./query.util");
24
+ const roles_util_1 = require("./roles.util");
25
+ const site_util_1 = require("./site.util");
26
+ const taxonomy_util_1 = require("./taxonomy.util");
27
+ const term_util_1 = require("./term.util");
28
+ const trx_util_1 = require("./trx.util");
29
+ const user_util_1 = require("./user.util");
30
+ let Utils = class Utils {
31
+ components;
32
+ constructor(components) {
33
+ this.components = components;
34
+ }
35
+ get blog() {
36
+ return this.components.get(blog_util_1.BlogUtil);
37
+ }
38
+ get comment() {
39
+ return this.components.get(comment_util_1.CommentUtil);
40
+ }
41
+ get datetime() {
42
+ return this.components.get(date_time_util_1.DateTimeUtil);
43
+ }
44
+ get meta() {
45
+ return this.components.get(meta_util_1.MetaUtil);
46
+ }
47
+ get post() {
48
+ return this.components.get(post_util_1.PostUtil);
49
+ }
50
+ get revision() {
51
+ return this.components.get(transactions_1.RevisionTrx);
52
+ }
53
+ get roles() {
54
+ return this.components.get(roles_util_1.RolesUtil);
55
+ }
56
+ get taxonomy() {
57
+ return this.components.get(taxonomy_util_1.TaxonomyUtil);
58
+ }
59
+ get user() {
60
+ return this.components.get(user_util_1.UserUtil);
61
+ }
62
+ get trx() {
63
+ return this.components.get(trx_util_1.TrxUtil);
64
+ }
65
+ get query() {
66
+ return this.components.get(query_util_1.QueryUtil);
67
+ }
68
+ get link() {
69
+ return this.components.get(link_util_1.LinkUtil);
70
+ }
71
+ get site() {
72
+ return this.components.get(site_util_1.SiteUtil);
73
+ }
74
+ get term() {
75
+ return this.components.get(term_util_1.TermUtil);
76
+ }
77
+ get crud() {
78
+ return this.components.get(crud_util_1.CrudUtil);
79
+ }
80
+ };
81
+ exports.Utils = Utils;
82
+ exports.Utils = Utils = __decorate([
83
+ (0, component_1.component)(),
84
+ __metadata("design:paramtypes", [components_1.Components])
85
+ ], Utils);
@@ -0,0 +1,11 @@
1
+ import type * as types from "../types";
2
+ export declare class Validator {
3
+ constructor();
4
+ fieldSafe<T extends types.validating.Tables, V>(table: T, field: types.validating.Field<T>, value: V): V | undefined;
5
+ field<T extends types.validating.Tables, V>(table: T, field: types.validating.Field<T>, value: V): Exclude<V, undefined>;
6
+ exec<T extends types.validating.Parser>(func: T, v: types.validating.ParserReturnType<T>): types.validating.ParserReturnType<T>;
7
+ execAny<T extends types.validating.Parser>(func: T, v: any): types.validating.ParserReturnType<T>;
8
+ execSafe<T extends types.validating.Parser>(func: T, v: types.validating.ParserReturnType<T>): types.validating.ParserReturnType<T> | undefined;
9
+ execSafeAny<T extends types.validating.Parser>(func: T, v: any): types.validating.ParserReturnType<T> | undefined;
10
+ }
11
+ //# sourceMappingURL=validator.d.ts.map