@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.
- package/application.d.ts +76 -0
- package/application.d.ts.map +1 -0
- package/application.js +132 -0
- package/common/async-constructor.d.ts +2 -0
- package/common/async-constructor.d.ts.map +1 -0
- package/common/async-constructor.js +7 -0
- package/common/config/define-post-status.config.d.ts +4 -0
- package/common/config/define-post-status.config.d.ts.map +1 -0
- package/common/config/define-post-status.config.js +26 -0
- package/common/config/define-post-type.config.d.ts +4 -0
- package/common/config/define-post-type.config.d.ts.map +1 -0
- package/common/config/define-post-type.config.js +39 -0
- package/common/config/define-taxonomies.config.d.ts +4 -0
- package/common/config/define-taxonomies.config.d.ts.map +1 -0
- package/common/config/define-taxonomies.config.js +26 -0
- package/common/config/define-wp.config..d.ts +12 -0
- package/common/config/define-wp.config..d.ts.map +1 -0
- package/common/config/define-wp.config..js +110 -0
- package/common/config/index.d.ts +5 -0
- package/common/config/index.d.ts.map +1 -0
- package/common/config/index.js +20 -0
- package/common/date.d.ts +19 -0
- package/common/date.d.ts.map +1 -0
- package/common/date.js +116 -0
- package/common/define-hooks.d.ts +4 -0
- package/common/define-hooks.d.ts.map +1 -0
- package/common/define-hooks.js +16 -0
- package/common/diff.d.ts +3 -0
- package/common/diff.d.ts.map +1 -0
- package/common/diff.js +23 -0
- package/common/files.d.ts +14 -0
- package/common/files.d.ts.map +1 -0
- package/common/files.js +160 -0
- package/common/formatting.d.ts +47 -0
- package/common/formatting.d.ts.map +1 -0
- package/common/formatting.js +218 -0
- package/common/hierarchy.d.ts +21 -0
- package/common/hierarchy.d.ts.map +1 -0
- package/common/hierarchy.js +78 -0
- package/common/hooks-command.d.ts +7 -0
- package/common/hooks-command.d.ts.map +1 -0
- package/common/hooks-command.js +21 -0
- package/common/index.d.ts +11 -0
- package/common/index.d.ts.map +1 -0
- package/common/index.js +49 -0
- package/common/password.d.ts +4 -0
- package/common/password.d.ts.map +1 -0
- package/common/password.js +224 -0
- package/common/php-serialize.d.ts +3 -0
- package/common/php-serialize.d.ts.map +1 -0
- package/common/php-serialize.js +17 -0
- package/common/validating.d.ts +10 -0
- package/common/validating.d.ts.map +1 -0
- package/common/validating.js +65 -0
- package/config.d.ts +99 -0
- package/config.d.ts.map +1 -0
- package/config.js +76 -0
- package/constants/async-init.d.ts +2 -0
- package/constants/async-init.d.ts.map +1 -0
- package/constants/async-init.js +4 -0
- package/constants/component.d.ts +3 -0
- package/constants/component.d.ts.map +1 -0
- package/constants/component.js +5 -0
- package/constants/database.d.ts +2 -0
- package/constants/database.d.ts.map +1 -0
- package/constants/database.js +9 -0
- package/constants/default-database-tables.d.ts +7 -0
- package/constants/default-database-tables.d.ts.map +1 -0
- package/constants/default-database-tables.js +26 -0
- package/constants/index.d.ts +9 -0
- package/constants/index.d.ts.map +1 -0
- package/constants/index.js +24 -0
- package/constants/role-capabilities.d.ts +3 -0
- package/constants/role-capabilities.d.ts.map +1 -0
- package/constants/role-capabilities.js +67 -0
- package/constants/role-capability-actions.d.ts +2 -0
- package/constants/role-capability-actions.d.ts.map +1 -0
- package/constants/role-capability-actions.js +90 -0
- package/constants/role-names.d.ts +2 -0
- package/constants/role-names.d.ts.map +1 -0
- package/constants/role-names.js +12 -0
- package/constants/scope.d.ts +6 -0
- package/constants/scope.d.ts.map +1 -0
- package/constants/scope.js +9 -0
- package/core/async-init-reflect.d.ts +5 -0
- package/core/async-init-reflect.d.ts.map +1 -0
- package/core/async-init-reflect.js +18 -0
- package/core/blog.d.ts +20 -0
- package/core/blog.d.ts.map +1 -0
- package/core/blog.js +123 -0
- package/core/capabilities.d.ts +12 -0
- package/core/capabilities.d.ts.map +1 -0
- package/core/capabilities.js +625 -0
- package/core/comment.d.ts +111 -0
- package/core/comment.d.ts.map +1 -0
- package/core/comment.js +173 -0
- package/core/components.d.ts +13 -0
- package/core/components.d.ts.map +1 -0
- package/core/components.js +129 -0
- package/core/context.d.ts +38 -0
- package/core/context.d.ts.map +1 -0
- package/core/context.js +77 -0
- package/core/current.d.ts +33 -0
- package/core/current.d.ts.map +1 -0
- package/core/current.js +229 -0
- package/core/date-time.d.ts +18 -0
- package/core/date-time.d.ts.map +1 -0
- package/core/date-time.js +71 -0
- package/core/hooks/action.d.ts +16 -0
- package/core/hooks/action.d.ts.map +1 -0
- package/core/hooks/action.js +44 -0
- package/core/hooks/actions/init.d.ts +5 -0
- package/core/hooks/actions/init.d.ts.map +1 -0
- package/core/hooks/actions/init.js +28 -0
- package/core/hooks/default-hooks.d.ts +7 -0
- package/core/hooks/default-hooks.d.ts.map +1 -0
- package/core/hooks/default-hooks.js +19 -0
- package/core/hooks/filter.d.ts +12 -0
- package/core/hooks/filter.d.ts.map +1 -0
- package/core/hooks/filter.js +76 -0
- package/core/hooks/filters/capabilities.d.ts +16 -0
- package/core/hooks/filters/capabilities.d.ts.map +1 -0
- package/core/hooks/filters/capabilities.js +395 -0
- package/core/hooks/hooks-command.d.ts +9 -0
- package/core/hooks/hooks-command.d.ts.map +1 -0
- package/core/hooks/hooks-command.js +28 -0
- package/core/hooks/hooks-reflect.d.ts +42 -0
- package/core/hooks/hooks-reflect.d.ts.map +1 -0
- package/core/hooks/hooks-reflect.js +73 -0
- package/core/hooks/hooks.d.ts +61 -0
- package/core/hooks/hooks.d.ts.map +1 -0
- package/core/hooks/hooks.js +82 -0
- package/core/hooks/index.d.ts +4 -0
- package/core/hooks/index.d.ts.map +1 -0
- package/core/hooks/index.js +19 -0
- package/core/installer.d.ts +56 -0
- package/core/installer.d.ts.map +1 -0
- package/core/installer.js +395 -0
- package/core/logger.d.ts +22 -0
- package/core/logger.d.ts.map +1 -0
- package/core/logger.js +65 -0
- package/core/meta.d.ts +20 -0
- package/core/meta.d.ts.map +1 -0
- package/core/meta.js +123 -0
- package/core/options.d.ts +20 -0
- package/core/options.d.ts.map +1 -0
- package/core/options.js +148 -0
- package/core/post.d.ts +39 -0
- package/core/post.d.ts.map +1 -0
- package/core/post.js +164 -0
- package/core/query.d.ts +14 -0
- package/core/query.d.ts.map +1 -0
- package/core/query.js +39 -0
- package/core/role.d.ts +21 -0
- package/core/role.d.ts.map +1 -0
- package/core/role.js +71 -0
- package/core/roles.d.ts +16 -0
- package/core/roles.d.ts.map +1 -0
- package/core/roles.js +84 -0
- package/core/schema.d.ts +13 -0
- package/core/schema.d.ts.map +1 -0
- package/core/schema.js +83 -0
- package/core/site.d.ts +28 -0
- package/core/site.d.ts.map +1 -0
- package/core/site.js +105 -0
- package/core/tables.d.ts +18 -0
- package/core/tables.d.ts.map +1 -0
- package/core/tables.js +64 -0
- package/core/taxonomy.d.ts +23 -0
- package/core/taxonomy.d.ts.map +1 -0
- package/core/taxonomy.js +83 -0
- package/core/term.d.ts +104 -0
- package/core/term.d.ts.map +1 -0
- package/core/term.js +136 -0
- package/core/user.d.ts +32 -0
- package/core/user.d.ts.map +1 -0
- package/core/user.js +273 -0
- package/core/utils/blog.util.d.ts +14 -0
- package/core/utils/blog.util.d.ts.map +1 -0
- package/core/utils/blog.util.js +97 -0
- package/core/utils/comment.util.d.ts +23 -0
- package/core/utils/comment.util.d.ts.map +1 -0
- package/core/utils/comment.util.js +312 -0
- package/core/utils/crud.util.d.ts +40 -0
- package/core/utils/crud.util.d.ts.map +1 -0
- package/core/utils/crud.util.js +97 -0
- package/core/utils/date-time.util.d.ts +9 -0
- package/core/utils/date-time.util.d.ts.map +1 -0
- package/core/utils/date-time.util.js +29 -0
- package/core/utils/link.util.d.ts +23 -0
- package/core/utils/link.util.d.ts.map +1 -0
- package/core/utils/link.util.js +148 -0
- package/core/utils/meta.util.d.ts +13 -0
- package/core/utils/meta.util.d.ts.map +1 -0
- package/core/utils/meta.util.js +73 -0
- package/core/utils/post.util.d.ts +34 -0
- package/core/utils/post.util.d.ts.map +1 -0
- package/core/utils/post.util.js +272 -0
- package/core/utils/query.util.d.ts +36 -0
- package/core/utils/query.util.d.ts.map +1 -0
- package/core/utils/query.util.js +168 -0
- package/core/utils/revision.util.d.ts +67 -0
- package/core/utils/revision.util.d.ts.map +1 -0
- package/core/utils/revision.util.js +105 -0
- package/core/utils/roles.util.d.ts +30 -0
- package/core/utils/roles.util.d.ts.map +1 -0
- package/core/utils/roles.util.js +189 -0
- package/core/utils/signup.util.d.ts +33 -0
- package/core/utils/signup.util.d.ts.map +1 -0
- package/core/utils/signup.util.js +227 -0
- package/core/utils/site.util.d.ts +22 -0
- package/core/utils/site.util.d.ts.map +1 -0
- package/core/utils/site.util.js +122 -0
- package/core/utils/taxonomy.util.d.ts +19 -0
- package/core/utils/taxonomy.util.d.ts.map +1 -0
- package/core/utils/taxonomy.util.js +52 -0
- package/core/utils/term.util.d.ts +13 -0
- package/core/utils/term.util.d.ts.map +1 -0
- package/core/utils/term.util.js +113 -0
- package/core/utils/trx.util.d.ts +24 -0
- package/core/utils/trx.util.d.ts.map +1 -0
- package/core/utils/trx.util.js +86 -0
- package/core/utils/user-self-registration.util.d.ts +46 -0
- package/core/utils/user-self-registration.util.d.ts.map +1 -0
- package/core/utils/user-self-registration.util.js +171 -0
- package/core/utils/user.util.d.ts +153 -0
- package/core/utils/user.util.d.ts.map +1 -0
- package/core/utils/user.util.js +550 -0
- package/core/utils/utils.d.ts +36 -0
- package/core/utils/utils.d.ts.map +1 -0
- package/core/utils/utils.js +85 -0
- package/core/validator.d.ts +11 -0
- package/core/validator.d.ts.map +1 -0
- package/core/validator.js +40 -0
- package/core/vars.d.ts +19 -0
- package/core/vars.d.ts.map +1 -0
- package/core/vars.js +54 -0
- package/crud/blog.crud.d.ts +56 -0
- package/crud/blog.crud.d.ts.map +1 -0
- package/crud/blog.crud.js +301 -0
- package/crud/comment.crud.d.ts +104 -0
- package/crud/comment.crud.d.ts.map +1 -0
- package/crud/comment.crud.js +431 -0
- package/crud/crud.d.ts +63 -0
- package/crud/crud.d.ts.map +1 -0
- package/crud/crud.js +278 -0
- package/crud/error.d.ts +23 -0
- package/crud/error.d.ts.map +1 -0
- package/crud/error.js +51 -0
- package/crud/meta.crud.d.ts +69 -0
- package/crud/meta.crud.d.ts.map +1 -0
- package/crud/meta.crud.js +244 -0
- package/crud/options.crud.d.ts +37 -0
- package/crud/options.crud.d.ts.map +1 -0
- package/crud/options.crud.js +178 -0
- package/crud/post.crud.d.ts +225 -0
- package/crud/post.crud.d.ts.map +1 -0
- package/crud/post.crud.js +589 -0
- package/crud/revision.crud.d.ts +76 -0
- package/crud/revision.crud.d.ts.map +1 -0
- package/crud/revision.crud.js +155 -0
- package/crud/roles.crud.d.ts +50 -0
- package/crud/roles.crud.d.ts.map +1 -0
- package/crud/roles.crud.js +198 -0
- package/crud/settings.crud.d.ts +50 -0
- package/crud/settings.crud.d.ts.map +1 -0
- package/crud/settings.crud.js +153 -0
- package/crud/site.crud.d.ts +62 -0
- package/crud/site.crud.d.ts.map +1 -0
- package/crud/site.crud.js +241 -0
- package/crud/sitemeta.crud.d.ts +55 -0
- package/crud/sitemeta.crud.d.ts.map +1 -0
- package/crud/sitemeta.crud.js +97 -0
- package/crud/term.crud.d.ts +85 -0
- package/crud/term.crud.d.ts.map +1 -0
- package/crud/term.crud.js +285 -0
- package/crud/user-self-registration.crud.d.ts +57 -0
- package/crud/user-self-registration.crud.d.ts.map +1 -0
- package/crud/user-self-registration.crud.js +173 -0
- package/crud/user.crud.d.ts +147 -0
- package/crud/user.crud.d.ts.map +1 -0
- package/crud/user.crud.js +626 -0
- package/database.d.ts +18 -0
- package/database.d.ts.map +1 -0
- package/database.js +80 -0
- package/decorators/async-init.d.ts +2 -0
- package/decorators/async-init.d.ts.map +1 -0
- package/decorators/async-init.js +7 -0
- package/decorators/component.d.ts +12 -0
- package/decorators/component.d.ts.map +1 -0
- package/decorators/component.js +47 -0
- package/decorators/hooks.d.ts +5 -0
- package/decorators/hooks.d.ts.map +1 -0
- package/decorators/hooks.js +30 -0
- package/defaults/extensions.d.ts +4 -0
- package/defaults/extensions.d.ts.map +1 -0
- package/defaults/extensions.js +34 -0
- package/defaults/index.d.ts +11 -0
- package/defaults/index.d.ts.map +1 -0
- package/defaults/index.js +49 -0
- package/defaults/options.d.ts +6 -0
- package/defaults/options.d.ts.map +1 -0
- package/defaults/options.js +267 -0
- package/defaults/post-status.d.ts +10 -0
- package/defaults/post-status.d.ts.map +1 -0
- package/defaults/post-status.js +83 -0
- package/defaults/post-types.d.ts +4 -0
- package/defaults/post-types.d.ts.map +1 -0
- package/defaults/post-types.js +72 -0
- package/defaults/roles.d.ts +31 -0
- package/defaults/roles.d.ts.map +1 -0
- package/defaults/roles.js +213 -0
- package/defaults/seeder.d.ts +34 -0
- package/defaults/seeder.d.ts.map +1 -0
- package/defaults/seeder.js +201 -0
- package/defaults/sitemeta.d.ts +2 -0
- package/defaults/sitemeta.d.ts.map +1 -0
- package/defaults/sitemeta.js +38 -0
- package/defaults/subdirectory-reserved-names.d.ts +2 -0
- package/defaults/subdirectory-reserved-names.d.ts.map +1 -0
- package/defaults/subdirectory-reserved-names.js +16 -0
- package/defaults/taxonomies.d.ts +5 -0
- package/defaults/taxonomies.d.ts.map +1 -0
- package/defaults/taxonomies.js +57 -0
- package/defaults/timezone.d.ts +2 -0
- package/defaults/timezone.d.ts.map +1 -0
- package/defaults/timezone.js +353 -0
- package/package.json +51 -0
- package/query-builder/alias.d.ts +24 -0
- package/query-builder/alias.d.ts.map +1 -0
- package/query-builder/alias.js +64 -0
- package/query-builder/blogs.query.d.ts +22 -0
- package/query-builder/blogs.query.d.ts.map +1 -0
- package/query-builder/blogs.query.js +85 -0
- package/query-builder/comments.query.d.ts +35 -0
- package/query-builder/comments.query.d.ts.map +1 -0
- package/query-builder/comments.query.js +211 -0
- package/query-builder/common.query.d.ts +18 -0
- package/query-builder/common.query.d.ts.map +1 -0
- package/query-builder/common.query.js +58 -0
- package/query-builder/index.d.ts +12 -0
- package/query-builder/index.d.ts.map +1 -0
- package/query-builder/index.js +27 -0
- package/query-builder/meta.query.d.ts +45 -0
- package/query-builder/meta.query.d.ts.map +1 -0
- package/query-builder/meta.query.js +188 -0
- package/query-builder/options.query.d.ts +19 -0
- package/query-builder/options.query.d.ts.map +1 -0
- package/query-builder/options.query.js +57 -0
- package/query-builder/posts.query.d.ts +30 -0
- package/query-builder/posts.query.d.ts.map +1 -0
- package/query-builder/posts.query.js +208 -0
- package/query-builder/query-builder.d.ts +21 -0
- package/query-builder/query-builder.d.ts.map +1 -0
- package/query-builder/query-builder.js +70 -0
- package/query-builder/query-builders.d.ts +18 -0
- package/query-builder/query-builders.d.ts.map +1 -0
- package/query-builder/query-builders.js +64 -0
- package/query-builder/site.query.d.ts +22 -0
- package/query-builder/site.query.d.ts.map +1 -0
- package/query-builder/site.query.js +85 -0
- package/query-builder/terms.query.d.ts +47 -0
- package/query-builder/terms.query.d.ts.map +1 -0
- package/query-builder/terms.query.js +233 -0
- package/query-builder/users.query.d.ts +37 -0
- package/query-builder/users.query.d.ts.map +1 -0
- package/query-builder/users.query.js +188 -0
- package/schema-builder/proxy.d.ts +10 -0
- package/schema-builder/proxy.d.ts.map +1 -0
- package/schema-builder/proxy.js +19 -0
- package/schema-builder/schema-builder.d.ts +21 -0
- package/schema-builder/schema-builder.d.ts.map +1 -0
- package/schema-builder/schema-builder.js +207 -0
- package/schema-builder/schema.d.ts +20 -0
- package/schema-builder/schema.d.ts.map +1 -0
- package/schema-builder/schema.js +527 -0
- package/transactions/blog.trx.d.ts +37 -0
- package/transactions/blog.trx.d.ts.map +1 -0
- package/transactions/blog.trx.js +296 -0
- package/transactions/comment.trx.d.ts +22 -0
- package/transactions/comment.trx.d.ts.map +1 -0
- package/transactions/comment.trx.js +311 -0
- package/transactions/index.d.ts +15 -0
- package/transactions/index.d.ts.map +1 -0
- package/transactions/index.js +30 -0
- package/transactions/link.trx.d.ts +22 -0
- package/transactions/link.trx.d.ts.map +1 -0
- package/transactions/link.trx.js +208 -0
- package/transactions/meta.trx.d.ts +30 -0
- package/transactions/meta.trx.d.ts.map +1 -0
- package/transactions/meta.trx.js +197 -0
- package/transactions/options.trx.d.ts +31 -0
- package/transactions/options.trx.d.ts.map +1 -0
- package/transactions/options.trx.js +192 -0
- package/transactions/post.trx.d.ts +48 -0
- package/transactions/post.trx.d.ts.map +1 -0
- package/transactions/post.trx.js +906 -0
- package/transactions/registration-log.trx.d.ts +14 -0
- package/transactions/registration-log.trx.d.ts.map +1 -0
- package/transactions/registration-log.trx.js +103 -0
- package/transactions/revision.trx.d.ts +32 -0
- package/transactions/revision.trx.d.ts.map +1 -0
- package/transactions/revision.trx.js +278 -0
- package/transactions/roles.trx.d.ts +20 -0
- package/transactions/roles.trx.d.ts.map +1 -0
- package/transactions/roles.trx.js +144 -0
- package/transactions/seeder.trx.d.ts +43 -0
- package/transactions/seeder.trx.d.ts.map +1 -0
- package/transactions/seeder.trx.js +530 -0
- package/transactions/signup.trx.d.ts +53 -0
- package/transactions/signup.trx.d.ts.map +1 -0
- package/transactions/signup.trx.js +305 -0
- package/transactions/site.trx.d.ts +21 -0
- package/transactions/site.trx.d.ts.map +1 -0
- package/transactions/site.trx.js +167 -0
- package/transactions/term.trx.d.ts +51 -0
- package/transactions/term.trx.d.ts.map +1 -0
- package/transactions/term.trx.js +838 -0
- package/transactions/trx.d.ts +9 -0
- package/transactions/trx.d.ts.map +1 -0
- package/transactions/trx.js +20 -0
- package/transactions/user.trx.d.ts +45 -0
- package/transactions/user.trx.d.ts.map +1 -0
- package/transactions/user.trx.js +535 -0
- package/types/capabilities.d.ts +71 -0
- package/types/common.d.ts +16 -0
- package/types/component.d.ts +3 -0
- package/types/config.d.ts +33 -0
- package/types/crud.d.ts +230 -0
- package/types/database.d.ts +50 -0
- package/types/hooks/actions.d.ts +67 -0
- package/types/hooks/command.d.ts +17 -0
- package/types/hooks/filters.d.ts +86 -0
- package/types/hooks/index.d.ts +11 -0
- package/types/index.d.ts +18 -0
- package/types/logging.d.ts +1 -0
- package/types/meta.d.ts +9 -0
- package/types/options.d.ts +3 -0
- package/types/post.d.ts +54 -0
- package/types/query-builder.d.ts +11 -0
- package/types/role.d.ts +34 -0
- package/types/schema.d.ts +11 -0
- package/types/schema.d.ts.map +1 -0
- package/types/schema.js +2 -0
- package/types/taxonomy.d.ts +29 -0
- package/types/timezone.d.ts +3 -0
- package/types/transactions.d.ts +32 -0
- package/types/user.d.ts +12 -0
- package/types/validating.d.ts +9 -0
- package/types/validating.d.ts.map +1 -0
- package/types/validating.js +2 -0
- package/validators/config.d.ts +948 -0
- package/validators/config.d.ts.map +1 -0
- package/validators/config.js +149 -0
- package/validators/crud.d.ts +571 -0
- package/validators/crud.d.ts.map +1 -0
- package/validators/crud.js +281 -0
- package/validators/database.d.ts +958 -0
- package/validators/database.d.ts.map +1 -0
- package/validators/database.js +245 -0
- package/validators/date.d.ts +4 -0
- package/validators/date.d.ts.map +1 -0
- package/validators/date.js +15 -0
- package/validators/helpers.d.ts +16 -0
- package/validators/helpers.d.ts.map +1 -0
- package/validators/helpers.js +86 -0
- package/validators/index.d.ts +10 -0
- package/validators/index.d.ts.map +1 -0
- package/validators/index.js +48 -0
- package/validators/options.d.ts +303 -0
- package/validators/options.d.ts.map +1 -0
- package/validators/options.js +106 -0
- package/validators/post-status.d.ts +42 -0
- package/validators/post-status.d.ts.map +1 -0
- package/validators/post-status.js +18 -0
- package/validators/query.d.ts +534 -0
- package/validators/query.d.ts.map +1 -0
- package/validators/query.js +110 -0
- package/validators/roles.d.ts +22 -0
- package/validators/roles.d.ts.map +1 -0
- package/validators/roles.js +9 -0
- package/validators/sitemeta.d.ts +105 -0
- package/validators/sitemeta.d.ts.map +1 -0
- package/validators/sitemeta.js +39 -0
- package/validators/transactions/blog.d.ts +225 -0
- package/validators/transactions/blog.d.ts.map +1 -0
- package/validators/transactions/blog.js +63 -0
- package/validators/transactions/comment.d.ts +155 -0
- package/validators/transactions/comment.d.ts.map +1 -0
- package/validators/transactions/comment.js +68 -0
- package/validators/transactions/index.d.ts +11 -0
- package/validators/transactions/index.d.ts.map +1 -0
- package/validators/transactions/index.js +26 -0
- package/validators/transactions/link.d.ts +128 -0
- package/validators/transactions/link.d.ts.map +1 -0
- package/validators/transactions/link.js +60 -0
- package/validators/transactions/meta.d.ts +23 -0
- package/validators/transactions/meta.d.ts.map +1 -0
- package/validators/transactions/meta.js +18 -0
- package/validators/transactions/post.d.ts +234 -0
- package/validators/transactions/post.d.ts.map +1 -0
- package/validators/transactions/post.js +100 -0
- package/validators/transactions/roles.d.ts +18 -0
- package/validators/transactions/roles.d.ts.map +1 -0
- package/validators/transactions/roles.js +13 -0
- package/validators/transactions/signup.d.ts +35 -0
- package/validators/transactions/signup.d.ts.map +1 -0
- package/validators/transactions/signup.js +51 -0
- package/validators/transactions/site.d.ts +36 -0
- package/validators/transactions/site.d.ts.map +1 -0
- package/validators/transactions/site.js +49 -0
- package/validators/transactions/term.d.ts +57 -0
- package/validators/transactions/term.d.ts.map +1 -0
- package/validators/transactions/term.js +44 -0
- package/validators/transactions/user.d.ts +182 -0
- package/validators/transactions/user.d.ts.map +1 -0
- 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
|