json-rest-api 1.0.22 → 1.0.24
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/CLAUDE.md +1 -2
- package/JSKIT_BACKEND_MIGRATION_TRACKER.txt +180 -0
- package/README.md +22 -1
- package/SINGLE_VALIDATION_CONTRACT_TODO.txt +172 -0
- package/docs/API.md +196 -38
- package/docs/COMPARISON.md +2 -2
- package/docs/GUIDE/GUIDE_1_Initial_Setup.md +111 -5
- package/docs/GUIDE/GUIDE_2_2_Manipulating_And_Searching_Tables.md +5 -1
- package/docs/GUIDE/GUIDE_2_7_Pagination_And_Ordering.md +3 -1
- package/docs/GUIDE/GUIDE_2_8_Effects_of_PUT_and_PATCH.md +12 -60
- package/docs/GUIDE/GUIDE_2_Data_And_Relations.md +2 -2
- package/docs/GUIDE/GUIDE_3_Field_Transformations.md +5 -1
- package/docs/GUIDE/GUIDE_7_Hooks_Data_Management_And_Plugins.md +2 -0
- package/docs/GUIDE/GUIDE_X_Autofiltering.md +355 -0
- package/docs/GUIDE/GUIDE_X_Fastify.md +78 -0
- package/docs/GUIDE/GUIDE_X_Knex_Schema_And_Migrations.md +370 -0
- package/docs/GUIDE/GUIDE_X_Query_Projections.md +159 -0
- package/docs/GUIDE/GUIDE_X_Writing_Plugins.md +199 -0
- package/docs/GUIDE/index.md +18 -9
- package/docs/QUICKSTART.md +5 -1
- package/docs/index.md +1 -1
- package/index.js +3 -2
- package/lib/enhanced-logger.js +1 -1
- package/package.json +6 -2
- package/plugins/core/bulk-operations-plugin.js +26 -34
- package/plugins/core/connectors/express-plugin.js +97 -190
- package/plugins/core/connectors/fastify-plugin.js +206 -0
- package/plugins/core/connectors/lib/busboy-detector.js +4 -4
- package/plugins/core/connectors/lib/connector-core.js +195 -0
- package/plugins/core/connectors/lib/transport-http-helpers.js +122 -0
- package/plugins/core/connectors/lib/transport-route-schemas.js +92 -0
- package/plugins/core/lib/anyapi/schema-utils.js +43 -4
- package/plugins/core/lib/anyapi/utils/descriptor-helpers.js +4 -1
- package/plugins/core/lib/dbIntrospection.js +1078 -0
- package/plugins/core/lib/dbTablesOperations.js +1111 -160
- package/plugins/core/lib/querying/knex-cross-table-search.js +0 -7
- package/plugins/core/lib/querying/knex-json-api-transformers-querying.js +5 -3
- package/plugins/core/lib/querying/knex-process-includes.js +3 -4
- package/plugins/core/lib/querying/knex-query-helpers.js +21 -76
- package/plugins/core/lib/querying/knex-relationship-includes.js +468 -215
- package/plugins/core/lib/querying/query-builder-utils.js +19 -0
- package/plugins/core/lib/querying/query-field-sort-helpers.js +135 -0
- package/plugins/core/lib/querying/sort-helpers.js +33 -0
- package/plugins/core/lib/querying/storage-adapter-utils.js +51 -0
- package/plugins/core/lib/querying/url-helpers.js +8 -2
- package/plugins/core/lib/querying-writing/compile-schemas.js +20 -5
- package/plugins/core/lib/querying-writing/knex-field-helpers.js +83 -14
- package/plugins/core/lib/querying-writing/knex-json-api-transformers.js +13 -12
- package/plugins/core/lib/querying-writing/query-field-helpers.js +88 -0
- package/plugins/core/lib/querying-writing/request-contracts.js +590 -0
- package/plugins/core/lib/querying-writing/resource-id-normalization.js +131 -0
- package/plugins/core/lib/querying-writing/schema-helpers.js +0 -2
- package/plugins/core/lib/querying-writing/simplified-helpers.js +4 -11
- package/plugins/core/lib/storage/canonical-storage-mapping.js +133 -0
- package/plugins/core/lib/storage/storage-adapter.js +82 -4
- package/plugins/core/lib/storage/storage-mapping.js +274 -0
- package/plugins/core/lib/writing/many-to-many-manipulations.js +4 -2
- package/plugins/core/rest-api-anyapi-knex-plugin.js +531 -312
- package/plugins/core/rest-api-autofilter-plugin.js +414 -0
- package/plugins/core/rest-api-knex-plugin.js +271 -226
- package/plugins/core/rest-api-plugin-hooks/register-relationship-routes.js +10 -5
- package/plugins/core/rest-api-plugin-hooks/register-scope-routes.js +12 -6
- package/plugins/core/rest-api-plugin-hooks/turn-scope-init-into-vars.js +1 -0
- package/plugins/core/rest-api-plugin-methods/apply-query-filters.js +41 -0
- package/plugins/core/rest-api-plugin-methods/common.js +148 -92
- package/plugins/core/rest-api-plugin-methods/delete-relationship.js +11 -2
- package/plugins/core/rest-api-plugin-methods/delete.js +6 -1
- package/plugins/core/rest-api-plugin-methods/enrich-attributes.js +6 -1
- package/plugins/core/rest-api-plugin-methods/get-related.js +7 -2
- package/plugins/core/rest-api-plugin-methods/get-relationship.js +7 -2
- package/plugins/core/rest-api-plugin-methods/get.js +29 -14
- package/plugins/core/rest-api-plugin-methods/patch-relationship.js +10 -3
- package/plugins/core/rest-api-plugin-methods/patch.js +56 -12
- package/plugins/core/rest-api-plugin-methods/post-relationship.js +11 -2
- package/plugins/core/rest-api-plugin-methods/post.js +21 -8
- package/plugins/core/rest-api-plugin-methods/put.js +73 -21
- package/plugins/core/rest-api-plugin-methods/query.js +15 -53
- package/plugins/core/rest-api-plugin-methods/release.js +0 -2
- package/plugins/core/rest-api-plugin.js +6 -0
- package/plugins/core/rest-api-positioning-plugin.js +2 -5
- package/plugins/core/rest-api-query-projections-plugin.js +130 -0
- package/plugins/core/socketio-plugin.js +1 -4
- package/plugins/storage/local-storage.js +1 -1
- package/plugins/storage/s3-storage.js +5 -2
- package/quickTest.js +1 -0
- package/scripts/run-docs.js +80 -84
- package/test-debug.js +1 -1
- package/tests/README.md +7 -0
- package/tests/anyapi-basic.test.js +3 -0
- package/tests/autofilter.test.js +463 -0
- package/tests/custom-id-mysql-returning-fallback.test.js +128 -0
- package/tests/custom-id-simplified-post.test.js +75 -0
- package/tests/custom-idproperty-relationships.test.js +33 -0
- package/tests/db-introspection.test.js +521 -0
- package/tests/db-table-operations.test.js +786 -0
- package/tests/fastify-plugin.test.js +156 -0
- package/tests/field-getters.test.js +1 -2
- package/tests/field-setters.test.js +0 -4
- package/tests/fixtures/api-configs.js +278 -176
- package/tests/helpers/fake-fastify.js +99 -0
- package/tests/http-connectors-parity.test.js +235 -0
- package/tests/id-normalization.test.js +444 -0
- package/tests/logical-id-write-validation.test.js +151 -0
- package/tests/pagination-cursor-multifield.test.js +11 -11
- package/tests/projected-fields.test.js +319 -0
- package/tests/relationships.test.js +3 -3
- package/tests/searchschema-knex-behavior.test.js +187 -0
- package/tests/searchschema-merge.test.js +21 -69
- package/tests/storage-mapping.test.js +259 -0
- package/audit/00-charter.md +0 -103
- package/audit/01-scope-map.md +0 -84
- package/audit/02-coverage-matrix.csv +0 -174
- package/audit/03-invariants.md +0 -123
- package/audit/04-standards-rubric.md +0 -56
- package/audit/05-competitor-rubric.md +0 -77
- package/audit/06-findings.md +0 -160
- package/audit/07-risk-register.csv +0 -10
- package/audit/08-remediation-roadmap.md +0 -177
- package/audit/09-signoff-check.md +0 -23
- package/audit/10-final-synthesis.md +0 -29
- package/audit/evidence/code/all-files-json-rest-api.txt +0 -168
- package/audit/evidence/code/all-files-json-rest-schema.txt +0 -12
- package/audit/evidence/code/boundary-leak-checks.txt +0 -72
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__bulk-operations-plugin.js.txt +0 -480
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__connectors__express-plugin.js.txt +0 -532
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__connectors__lib__busboy-detector.js.txt +0 -175
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__connectors__lib__formidable-detector.js.txt +0 -138
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__connectors__lib__request-helpers.js.txt +0 -222
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__file-handling-plugin.js.txt +0 -342
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__dbTablesOperations.js.txt +0 -304
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__fractional-positioning.js.txt +0 -188
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__compile-schemas.js.txt +0 -336
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__connectors-query-parser.js.txt +0 -165
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__database-capabilities.js.txt +0 -265
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__database-value-normalizers.js.txt +0 -369
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__default-data-helpers.js.txt +0 -72
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__field-utils.js.txt +0 -139
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__knex-constants.js.txt +0 -45
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__knex-field-helpers.js.txt +0 -396
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__knex-json-api-transformers.js.txt +0 -162
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__payload-validators.js.txt +0 -1314
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__schema-helpers.js.txt +0 -488
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__scope-validations.js.txt +0 -484
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__simplified-helpers.js.txt +0 -857
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-cross-table-search.js.txt +0 -565
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-json-api-transformers-querying.js.txt +0 -485
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-pagination-helpers.js.txt +0 -560
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-process-includes.js.txt +0 -167
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-query-helpers-base.js.txt +0 -109
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-query-helpers.js.txt +0 -1064
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-relationship-includes.js.txt +0 -1983
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-window-queries.js.txt +0 -328
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__url-helpers.js.txt +0 -119
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__storage__storage-adapter.js.txt +0 -160
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__writing__many-to-many-manipulations.js.txt +0 -300
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__writing__relationship-processor.js.txt +0 -245
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-access.js.txt +0 -459
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-cors-plugin.js.txt +0 -237
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-knex-plugin.js.txt +0 -1135
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-multihome-plugin.js.txt +0 -314
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-hooks__compile-resource-schemas.js.txt +0 -7
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-hooks__register-relationship-routes.js.txt +0 -71
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-hooks__register-scope-routes.js.txt +0 -102
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-hooks__turn-scope-init-into-vars.js.txt +0 -49
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-hooks__validate-include-configurations.js.txt +0 -39
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__add-route.js.txt +0 -23
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__check-permissions.js.txt +0 -13
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__common.js.txt +0 -639
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__delete-relationship.js.txt +0 -117
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__delete.js.txt +0 -104
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__enrich-attributes.js.txt +0 -199
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__get-related.js.txt +0 -353
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__get-relationship.js.txt +0 -61
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__get.js.txt +0 -184
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__patch-relationship.js.txt +0 -55
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__patch.js.txt +0 -191
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__post-relationship.js.txt +0 -110
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__post.js.txt +0 -168
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__put.js.txt +0 -253
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__query.js.txt +0 -207
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__release.js.txt +0 -12
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin.js.txt +0 -165
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-positioning-plugin.js.txt +0 -668
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__socketio-plugin.js.txt +0 -621
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__storage__local-storage.js.txt +0 -218
- package/audit/evidence/code/critical-pass1/json-rest-api__plugins__storage__s3-storage.js.txt +0 -124
- package/audit/evidence/code/critical-pass1/json-rest-schema__src__CorePlugin.js.txt +0 -269
- package/audit/evidence/code/critical-pass1/json-rest-schema__src__Schema.js.txt +0 -242
- package/audit/evidence/code/critical-pass1/json-rest-schema__src__index.js.txt +0 -77
- package/audit/evidence/code/critical-pass1-risk-keywords.txt +0 -238
- package/audit/evidence/code/critical-pass1-summary.csv +0 -67
- package/audit/evidence/code/critical-pass2-summary.csv +0 -67
- package/audit/evidence/code/early-silent-zones-no-test-token.txt +0 -57
- package/audit/evidence/code/error-model-signals.txt +0 -98
- package/audit/evidence/code/git-files-json-rest-api.txt +0 -171
- package/audit/evidence/code/git-files-json-rest-schema.txt +0 -27
- package/audit/evidence/code/hook-flow-signals.txt +0 -282
- package/audit/evidence/code/idproperty-signals.txt +0 -157
- package/audit/evidence/code/import-cycles-non-anyapi.txt +0 -3
- package/audit/evidence/code/import-hotspots-non-anyapi.txt +0 -96
- package/audit/evidence/code/imports-json-rest-api.txt +0 -354
- package/audit/evidence/code/imports-json-rest-schema.txt +0 -15
- package/audit/evidence/code/in-scope-files-json-rest-api.txt +0 -160
- package/audit/evidence/code/in-scope-files-json-rest-schema.txt +0 -13
- package/audit/evidence/code/non-anyapi-core-files.txt +0 -101
- package/audit/evidence/code/permission-signals.txt +0 -193
- package/audit/evidence/code/query-include-signals.txt +0 -687
- package/audit/evidence/code/transaction-signals.txt +0 -28
- package/audit/evidence/code/validation-signals.txt +0 -650
- package/audit/evidence/code/write-path-signals.txt +0 -61
- package/audit/evidence/docs/docs-claims-signals.txt +0 -1075
- package/audit/evidence/docs/schema-docs-claims-signals.txt +0 -179
- package/audit/evidence/external/corpus-freeze.md +0 -21
- package/audit/evidence/external/npm-competitor-metadata.txt +0 -70
- package/audit/evidence/external/npm-download-signals.txt +0 -23
- package/audit/evidence/external/npm-jsonapi-server.txt +0 -8
- package/audit/evidence/external/npm-modern-jsonapi-metadata.txt +0 -38
- package/audit/evidence/external/readme-fortune-signals.txt +0 -26
- package/audit/evidence/external/readme-fortune.md +0 -165
- package/audit/evidence/external/readme-json-api-serializer-signals.txt +0 -80
- package/audit/evidence/external/readme-json-api-serializer.md +0 -690
- package/audit/evidence/external/readme-jsonapi-serde-server-signals.txt +0 -0
- package/audit/evidence/external/readme-jsonapi-serde-server.md +0 -22
- package/audit/evidence/external/readme-jsonapi-serializer-signals.txt +0 -63
- package/audit/evidence/external/readme-jsonapi-serializer.md +0 -315
- package/audit/evidence/external/readme-jsonapi-server-signals.txt +0 -19
- package/audit/evidence/external/readme-jsonapi-server.md +0 -104
- package/audit/evidence/external/readme-nestjs-json-api-signals.txt +0 -4
- package/audit/evidence/external/readme-nestjs-json-api.md +0 -94
- package/audit/evidence/external/readme-yaser-json-api-nestjs-signals.txt +0 -47
- package/audit/evidence/external/readme-yaser-json-api-nestjs.md +0 -447
- package/audit/evidence/external/standard-jsonapi-snippets.txt +0 -84
- package/audit/evidence/external/standard-rfc-snippets.txt +0 -168
- package/audit/evidence/external/standards-sources.txt +0 -6
- package/audit/evidence/runtime/baseline-commits.txt +0 -2
- package/audit/evidence/runtime/db-adapter-assumptions.txt +0 -3
- package/audit/evidence/runtime/environment.txt +0 -4
- package/audit/evidence/runtime/invariant-runtime-mapping.md +0 -38
- package/audit/evidence/runtime/probe-patch-relationship-error.exitcode +0 -1
- package/audit/evidence/runtime/probe-patch-relationship-error.log +0 -76
- package/audit/evidence/runtime/probe-patch-relationship-error.mjs +0 -67
- package/audit/evidence/runtime/probe-patch-relationship-referenceerror.exitcode +0 -1
- package/audit/evidence/runtime/probe-patch-relationship-referenceerror.log +0 -62
- package/audit/evidence/runtime/probe-patch-relationship-referenceerror.mjs +0 -47
- package/audit/evidence/runtime/test-exitcodes.txt +0 -4
- package/audit/evidence/runtime/test-summary.md +0 -107
- package/audit/evidence/runtime/trace-anchors.txt +0 -61
- package/audit/evidence/tests/access-multitenancy-test-signals.txt +0 -125
- package/audit/evidence/tests/failing-tests-summary.txt +0 -25
- package/audit/evidence/tests/npm-test-json-rest-api.exitcode +0 -1
- package/audit/evidence/tests/npm-test-json-rest-api.log +0 -5885
- package/audit/evidence/tests/npm-test-json-rest-schema.exitcode +0 -1
- package/audit/evidence/tests/npm-test-json-rest-schema.log +0 -356
- package/audit/evidence/tests/query-include-test-signals.txt +0 -948
- package/audit/evidence/tests/relationship-test-signals.txt +0 -223
- package/audit/evidence/tests/skipped-tests.txt +0 -10
- package/audit/evidence/tests/test-suite-list-non-anyapi.txt +0 -30
- package/audit/evidence/tests/test-suite-list.txt +0 -32
- package/audit/subsystems/docs-drift.md +0 -49
- package/audit/subsystems/pass2-cross-review.md +0 -131
- package/audit/subsystems/plugins-access.md +0 -51
- package/audit/subsystems/plugins-bulk.md +0 -50
- package/audit/subsystems/plugins-cors.md +0 -48
- package/audit/subsystems/plugins-file.md +0 -53
- package/audit/subsystems/plugins-multihome.md +0 -50
- package/audit/subsystems/plugins-positioning.md +0 -54
- package/audit/subsystems/plugins-socketio.md +0 -50
- package/audit/subsystems/query-engine.md +0 -61
- package/audit/subsystems/relationships.md +0 -55
- package/audit/subsystems/rest-orchestration.md +0 -66
- package/audit/subsystems/schema-core.md +0 -64
- package/audit/subsystems/storage-knex.md +0 -57
- package/audit/subsystems/tests.md +0 -48
- package/audit/subsystems/transport-express.md +0 -55
- package/audit/traces/trace-read-get.md +0 -22
- package/audit/traces/trace-read-query.md +0 -25
- package/audit/traces/trace-relationship-endpoints.md +0 -31
- package/audit/traces/trace-write-delete.md +0 -17
- package/audit/traces/trace-write-patch.md +0 -26
- package/audit/traces/trace-write-post.md +0 -22
- package/audit/traces/trace-write-put.md +0 -23
- package/docs/GUIDE/GUIDE_4_Authentication_And_Permissions.md +0 -707
- package/docs/GUIDE/GUIDE_X_Multihome.md +0 -666
- package/plugins/core/lib/querying-writing/payload-validators.js +0 -1314
- package/plugins/core/rest-api-access.js +0 -459
- package/plugins/core/rest-api-multihome-plugin.js +0 -314
- package/tests/multihome.test.js +0 -553
- package/tests/multihome.test.js.bak +0 -550
- package/tests/ownership-optout.test.js +0 -76
- package/tests/rest-api-access.test.js +0 -206
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
plugins/core/rest-api-plugin-methods/get-relationship.js:31: await runHooks('checkPermissions')
|
|
2
|
-
plugins/core/rest-api-plugin-methods/get-relationship.js:32: await runHooks('checkPermissionsGetRelationship')
|
|
3
|
-
plugins/core/rest-api-plugin-methods/get.js:94: await runHooks('beforeData')
|
|
4
|
-
plugins/core/rest-api-plugin-methods/get.js:95: await runHooks('beforeDataGet')
|
|
5
|
-
plugins/core/rest-api-plugin-methods/get.js:119: await runHooks('checkDataPermissions')
|
|
6
|
-
plugins/core/rest-api-plugin-methods/get.js:120: await runHooks('checkDataPermissionsGet')
|
|
7
|
-
plugins/core/rest-api-plugin-methods/get.js:126: await runHooks('enrichRecord')
|
|
8
|
-
plugins/core/rest-api-plugin-methods/get.js:163: await runHooks('enrichRecordWithRelationships')
|
|
9
|
-
plugins/core/rest-api-plugin-methods/get.js:165: // The called hooks should NOT change context.record
|
|
10
|
-
plugins/core/rest-api-plugin-methods/get.js:166: await runHooks('finish')
|
|
11
|
-
plugins/core/rest-api-plugin-methods/get.js:167: await runHooks('finishGet')
|
|
12
|
-
plugins/core/rest-api-plugin-methods/query.js:131: await runHooks('beforeData')
|
|
13
|
-
plugins/core/rest-api-plugin-methods/query.js:132: await runHooks('beforeDataQuery')
|
|
14
|
-
plugins/core/rest-api-plugin-methods/query.js:155: await runHooks('enrichRecord')
|
|
15
|
-
plugins/core/rest-api-plugin-methods/query.js:191: // The called hooks should NOT change context.record
|
|
16
|
-
plugins/core/rest-api-plugin-methods/query.js:192: await runHooks('finish')
|
|
17
|
-
plugins/core/rest-api-plugin-methods/query.js:193: await runHooks('finishQuery')
|
|
18
|
-
plugins/core/rest-api-label-plugin.js:8: * @param {function} deps.addHook - Register hooks
|
|
19
|
-
plugins/core/rest-api-label-plugin.js:31: addHook(
|
|
20
|
-
plugins/core/rest-api-plugin-methods/post-relationship.js:50: await runHooks('checkPermissions')
|
|
21
|
-
plugins/core/rest-api-plugin-methods/post-relationship.js:51: await runHooks('checkPermissionsPostRelationship')
|
|
22
|
-
plugins/core/rest-api-plugin-methods/post-relationship.js:99: await runHooks('finish')
|
|
23
|
-
plugins/core/rest-api-plugin-methods/post-relationship.js:100: await runHooks('finishPostRelationship')
|
|
24
|
-
plugins/core/rest-api-positioning-plugin.js:27: // Get configuration - hooked-api namespaces options by plugin name
|
|
25
|
-
plugins/core/rest-api-positioning-plugin.js:143: addHook('scope:added', 'validate-position-field', {}, ({ context, vars }) => {
|
|
26
|
-
plugins/core/rest-api-positioning-plugin.js:187: addHook('scope:added', 'add-position-index', { afterFunction: 'validate-position-field' }, async ({ context, vars, scopes }) => {
|
|
27
|
-
plugins/core/rest-api-positioning-plugin.js:257: addHook('beforeSchemaValidate', 'process-beforeid', {}, async ({ context, scopeName, vars }) => {
|
|
28
|
-
plugins/core/rest-api-positioning-plugin.js:258: log.debug('*** beforeSchemaValidate positioning hook', {
|
|
29
|
-
plugins/core/rest-api-positioning-plugin.js:326: addHook('beforeDataCallPost', 'calculate-position-post', {}, async ({ context, scopeName, vars, helpers }) => {
|
|
30
|
-
plugins/core/rest-api-positioning-plugin.js:327: log.debug('*** beforeDataCallPost hook fired for positioning', { scopeName, method: context.method })
|
|
31
|
-
plugins/core/rest-api-positioning-plugin.js:331: addHook('beforeDataCallPut', 'calculate-position-put', {}, async ({ context, scopeName, vars, helpers }) => {
|
|
32
|
-
plugins/core/rest-api-positioning-plugin.js:332: log.debug('*** beforeDataCallPut hook fired for positioning', { scopeName, method: context.method })
|
|
33
|
-
plugins/core/rest-api-positioning-plugin.js:339: addHook('beforeDataCallPatch', 'calculate-position-patch', {}, async ({ context, scopeName, vars, helpers }) => {
|
|
34
|
-
plugins/core/rest-api-positioning-plugin.js:340: log.debug('*** beforeDataCallPatch hook fired for positioning', { scopeName, method: context.method })
|
|
35
|
-
plugins/core/rest-api-positioning-plugin.js:558: addHook('afterGet', 'add-beforeid-to-response', {}, async ({ context, vars }) => {
|
|
36
|
-
plugins/core/rest-api-positioning-plugin.js:574: addHook('beforeQuery', 'apply-position-sort', {}, async ({ context, scopeName, vars }) => {
|
|
37
|
-
plugins/core/file-handling-plugin.js:104: addHook('scope:added', 'analyzeFileFields', {}, ({ context }) => {
|
|
38
|
-
plugins/core/file-handling-plugin.js:280: addHook('beforeProcessing', 'processFiles', {}, async ({ context }) => {
|
|
39
|
-
plugins/core/connectors/lib/busboy-detector.js:26:import { requirePackage } from 'hooked-api'
|
|
40
|
-
plugins/core/lib/querying/knex-relationship-includes.js:278: * @param {Object} scopes - The hooked-api scopes object
|
|
41
|
-
plugins/core/lib/querying/knex-relationship-includes.js:354: * @param {Object} scope - The hooked-api scope object containing:
|
|
42
|
-
plugins/core/lib/querying/knex-relationship-includes.js:366: * - context.scopes: Object - The hooked-api scopes object
|
|
43
|
-
plugins/core/lib/querying/knex-relationship-includes.js:565: * @param {Object} scope - The hooked-api scope object containing:
|
|
44
|
-
plugins/core/lib/querying/knex-relationship-includes.js:576: * - context.scopes: Object - The hooked-api scopes object
|
|
45
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1045: * @param {Object} scope - The hooked-api scope object
|
|
46
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1173: * @param {Object} scope - The hooked-api scope object containing:
|
|
47
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1183: * - context.scopes: Object - The hooked-api scopes object
|
|
48
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1386: * @param {Object} scope - The hooked-api scope object containing:
|
|
49
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1397: * - context.scopes: Object - The hooked-api scopes object
|
|
50
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1583: * @param {Object} scope - The hooked-api scope object containing:
|
|
51
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1593: * - context.scopes: Object - The hooked-api scopes object
|
|
52
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1735: * @param {Object} scope - The hooked-api scope object containing:
|
|
53
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1742: * - context.scopes: Object - The hooked-api scopes object
|
|
54
|
-
plugins/core/rest-api-plugin-methods/patch.js:54: // Run early hooks for pre-processing (e.g., file handling)
|
|
55
|
-
plugins/core/rest-api-plugin-methods/patch.js:55: await runHooks('beforeProcessing')
|
|
56
|
-
plugins/core/rest-api-plugin-methods/patch.js:56: await runHooks('beforeProcessingPatch')
|
|
57
|
-
plugins/core/rest-api-plugin-methods/patch.js:116: await runHooks('beforeDataCall')
|
|
58
|
-
plugins/core/rest-api-plugin-methods/patch.js:117: await runHooks('beforeDataCallPatch')
|
|
59
|
-
plugins/core/rest-api-plugin-methods/patch.js:136: await runHooks('afterDataCallPatch')
|
|
60
|
-
plugins/core/rest-api-plugin-methods/patch.js:137: await runHooks('afterDataCall')
|
|
61
|
-
plugins/core/rest-api-plugin-methods/patch.js:184: await runHooks('afterCommit')
|
|
62
|
-
plugins/core/lib/querying/url-helpers.js:12: * 1. context.urlPrefixOverride - Explicit override (from hooks or middleware)
|
|
63
|
-
plugins/core/connectors/lib/formidable-detector.js:29:import { requirePackage } from 'hooked-api'
|
|
64
|
-
plugins/core/rest-api-plugin-methods/delete.js:25: // Make the method available to all hooks
|
|
65
|
-
plugins/core/rest-api-plugin-methods/delete.js:74: await runHooks('beforeDataCall')
|
|
66
|
-
plugins/core/rest-api-plugin-methods/delete.js:75: await runHooks('beforeDataCallDelete')
|
|
67
|
-
plugins/core/rest-api-plugin-methods/delete.js:77: // Initialize record context for hooks
|
|
68
|
-
plugins/core/rest-api-plugin-methods/delete.js:86: await runHooks('afterDataCallDelete')
|
|
69
|
-
plugins/core/rest-api-plugin-methods/delete.js:87: await runHooks('afterDataCall')
|
|
70
|
-
plugins/core/rest-api-plugin-methods/delete.js:91: await runHooks('finish')
|
|
71
|
-
plugins/core/rest-api-plugin-methods/delete.js:92: await runHooks('finishDelete')
|
|
72
|
-
plugins/core/rest-api-plugin-methods/delete.js:97: await runHooks('afterCommit')
|
|
73
|
-
plugins/core/socketio-plugin.js:1:import { requirePackage } from 'hooked-api'
|
|
74
|
-
plugins/core/socketio-plugin.js:153: } catch (hookError) {
|
|
75
|
-
plugins/core/socketio-plugin.js:154: log.error('socketio auth failure handler threw error', hookError)
|
|
76
|
-
plugins/core/socketio-plugin.js:269: await runHooks('subscriptionFilters', { subscription, auth })
|
|
77
|
-
plugins/core/socketio-plugin.js:576: addHook('finish', 'socketio-broadcast', {}, async ({ context }) => {
|
|
78
|
-
plugins/core/socketio-plugin.js:604: addHook('afterCommit', 'socketio-broadcast-deferred', {}, async ({ context }) => {
|
|
79
|
-
plugins/core/socketio-plugin.js:616: addHook('afterRollback', 'socketio-cleanup-broadcasts', {}, async ({ context }) => {
|
|
80
|
-
plugins/core/rest-api-plugin-methods/post.js:49: // Run early hooks for pre-processing (e.g., file handling)
|
|
81
|
-
plugins/core/rest-api-plugin-methods/post.js:50: await runHooks('beforeProcessing')
|
|
82
|
-
plugins/core/rest-api-plugin-methods/post.js:51: await runHooks('beforeProcessingPost')
|
|
83
|
-
plugins/core/rest-api-plugin-methods/post.js:103: await runHooks('beforeDataCall')
|
|
84
|
-
plugins/core/rest-api-plugin-methods/post.js:104: await runHooks('beforeDataCallPost')
|
|
85
|
-
plugins/core/rest-api-plugin-methods/post.js:123: await runHooks('afterDataCallPost')
|
|
86
|
-
plugins/core/rest-api-plugin-methods/post.js:124: await runHooks('afterDataCall')
|
|
87
|
-
plugins/core/rest-api-plugin-methods/post.js:161: await runHooks('afterCommit')
|
|
88
|
-
plugins/core/lib/querying/knex-query-helpers.js:77:const createAdapterUtilities = (hookParams, { getStorageAdapter } = {}) => {
|
|
89
|
-
plugins/core/lib/querying/knex-query-helpers.js:78: const context = hookParams.context || {}
|
|
90
|
-
plugins/core/lib/querying/knex-query-helpers.js:132: * @param {Object} hookParams - Hook parameters containing context
|
|
91
|
-
plugins/core/lib/querying/knex-query-helpers.js:184: * - rest-api-knex-plugin calls this hook first during query building
|
|
92
|
-
plugins/core/lib/querying/knex-query-helpers.js:185: * - Must run before other filter hooks to establish JOINs
|
|
93
|
-
plugins/core/lib/querying/knex-query-helpers.js:199: * 4. Sets hasJoins flag for subsequent hooks
|
|
94
|
-
plugins/core/lib/querying/knex-query-helpers.js:202:export const polymorphicFiltersHook = async (hookParams, dependencies) => {
|
|
95
|
-
plugins/core/lib/querying/knex-query-helpers.js:204: const adapterUtils = createAdapterUtilities(hookParams, dependencies)
|
|
96
|
-
plugins/core/lib/querying/knex-query-helpers.js:207: const scopeName = hookParams.context?.knexQuery?.scopeName
|
|
97
|
-
plugins/core/lib/querying/knex-query-helpers.js:208: const filters = hookParams.context?.knexQuery?.filters
|
|
98
|
-
plugins/core/lib/querying/knex-query-helpers.js:209: const query = hookParams.context?.knexQuery?.query
|
|
99
|
-
plugins/core/lib/querying/knex-query-helpers.js:210: const db = hookParams.context?.knexQuery?.db || knex
|
|
100
|
-
plugins/core/lib/querying/knex-query-helpers.js:380: // Mark that we have JOINs for other hooks
|
|
101
|
-
plugins/core/lib/querying/knex-query-helpers.js:381: hookParams.context.knexQuery.hasJoins = true
|
|
102
|
-
plugins/core/lib/querying/knex-query-helpers.js:437: * @param {Object} hookParams - Hook parameters containing context
|
|
103
|
-
plugins/core/lib/querying/knex-query-helpers.js:507: * - rest-api-knex-plugin calls this hook second during query building
|
|
104
|
-
plugins/core/lib/querying/knex-query-helpers.js:526:export const crossTableFiltersHook = async (hookParams, dependencies) => {
|
|
105
|
-
plugins/core/lib/querying/knex-query-helpers.js:528: const adapterUtils = createAdapterUtilities(hookParams, dependencies)
|
|
106
|
-
plugins/core/lib/querying/knex-query-helpers.js:531: const scopeName = hookParams.context?.knexQuery?.scopeName
|
|
107
|
-
plugins/core/lib/querying/knex-query-helpers.js:532: const filters = hookParams.context?.knexQuery?.filters
|
|
108
|
-
plugins/core/lib/querying/knex-query-helpers.js:533: const query = hookParams.context?.knexQuery?.query
|
|
109
|
-
plugins/core/lib/querying/knex-query-helpers.js:534: const db = hookParams.context?.knexQuery?.db || knex
|
|
110
|
-
plugins/core/lib/querying/knex-query-helpers.js:721: // Store state for basic filters hook
|
|
111
|
-
plugins/core/lib/querying/knex-query-helpers.js:722: hookParams.context.knexQuery.hasJoins = true
|
|
112
|
-
plugins/core/lib/querying/knex-query-helpers.js:801: * @param {Object} hookParams - Hook parameters containing context
|
|
113
|
-
plugins/core/lib/querying/knex-query-helpers.js:919: * - rest-api-knex-plugin calls this hook last during query building
|
|
114
|
-
plugins/core/lib/querying/knex-query-helpers.js:920: * - Runs after all JOINs have been established by previous hooks
|
|
115
|
-
plugins/core/lib/querying/knex-query-helpers.js:932: * 1. Skips filters already handled by polymorphic/cross-table hooks
|
|
116
|
-
plugins/core/lib/querying/knex-query-helpers.js:939:export const basicFiltersHook = async (hookParams, dependencies) => {
|
|
117
|
-
plugins/core/lib/querying/knex-query-helpers.js:941: const adapterUtils = createAdapterUtilities(hookParams, dependencies)
|
|
118
|
-
plugins/core/lib/querying/knex-query-helpers.js:944: const scopeName = hookParams.context?.knexQuery?.scopeName
|
|
119
|
-
plugins/core/lib/querying/knex-query-helpers.js:945: const filters = hookParams.context?.knexQuery?.filters
|
|
120
|
-
plugins/core/lib/querying/knex-query-helpers.js:946: const query = hookParams.context?.knexQuery?.query
|
|
121
|
-
plugins/core/lib/querying/knex-query-helpers.js:947: const db = hookParams.context?.knexQuery?.db || knex
|
|
122
|
-
plugins/core/lib/querying-writing/compile-schemas.js:8: * @param {Object} deps - Dependencies with context and hooks
|
|
123
|
-
plugins/core/lib/querying-writing/compile-schemas.js:110: * - Provides hooks for schema enrichment
|
|
124
|
-
plugins/core/lib/querying-writing/compile-schemas.js:117: * 4. Runs schema:enrich hook for plugins
|
|
125
|
-
plugins/core/lib/querying-writing/compile-schemas.js:120: * 7. Runs searchSchema:enrich hook
|
|
126
|
-
plugins/core/lib/querying-writing/compile-schemas.js:190: await runHooks('schema:enrich', schemaContext)
|
|
127
|
-
plugins/core/lib/querying-writing/compile-schemas.js:223: await runHooks('searchSchema:enrich', searchSchemaContext)
|
|
128
|
-
plugins/core/rest-api-plugin-methods/common.js:207: * @param {Function} runHooks - Function to run hooks
|
|
129
|
-
plugins/core/rest-api-plugin-methods/common.js:214: await runHooks('afterRollback')
|
|
130
|
-
plugins/core/rest-api-plugin-methods/common.js:255: * Gets the appropriate hook suffix based on HTTP method
|
|
131
|
-
plugins/core/rest-api-plugin-methods/common.js:258: * @returns {string} The capitalized method name for hook naming
|
|
132
|
-
plugins/core/rest-api-plugin-methods/common.js:271: * @param {Function} params.runHooks - Function to run hooks
|
|
133
|
-
plugins/core/rest-api-plugin-methods/common.js:285: await runHooks('beforeSchemaValidate')
|
|
134
|
-
plugins/core/rest-api-plugin-methods/common.js:286: await runHooks(`beforeSchemaValidate${methodSpecificHookSuffix}`)
|
|
135
|
-
plugins/core/rest-api-plugin-methods/common.js:409: await runHooks(`afterSchemaValidate${methodSpecificHookSuffix}`)
|
|
136
|
-
plugins/core/rest-api-plugin-methods/common.js:410: await runHooks('afterSchemaValidate')
|
|
137
|
-
plugins/core/rest-api-plugin-methods/common.js:419: * @param {function} runHooks - Function to run hooks
|
|
138
|
-
plugins/core/rest-api-plugin-methods/common.js:542: // Step 1: Set up record state for hooks
|
|
139
|
-
plugins/core/rest-api-plugin-methods/common.js:574: await runHooks('finish')
|
|
140
|
-
plugins/core/rest-api-plugin-methods/common.js:575: await runHooks(`finish${methodSpecificHookSuffix}`)
|
|
141
|
-
plugins/core/rest-api-plugin-methods/common.js:594: await runHooks('finish')
|
|
142
|
-
plugins/core/rest-api-plugin-methods/common.js:595: await runHooks(`finish${methodSpecificHookSuffix}`)
|
|
143
|
-
plugins/core/rest-api-plugin-methods/common.js:611: // Run finish hooks
|
|
144
|
-
plugins/core/rest-api-plugin-methods/common.js:612: await runHooks('finish')
|
|
145
|
-
plugins/core/rest-api-plugin-methods/common.js:613: await runHooks(`finish${methodSpecificHookSuffix}`)
|
|
146
|
-
plugins/core/rest-api-plugin-methods/put.js:53: // Run early hooks for pre-processing (e.g., file handling)
|
|
147
|
-
plugins/core/rest-api-plugin-methods/put.js:54: await runHooks('beforeProcessing')
|
|
148
|
-
plugins/core/rest-api-plugin-methods/put.js:55: await runHooks('beforeProcessingPut')
|
|
149
|
-
plugins/core/rest-api-plugin-methods/put.js:176: await runHooks('beforeDataCall')
|
|
150
|
-
plugins/core/rest-api-plugin-methods/put.js:177: await runHooks('beforeDataCallPut')
|
|
151
|
-
plugins/core/rest-api-plugin-methods/put.js:195: await runHooks('afterDataCallPut')
|
|
152
|
-
plugins/core/rest-api-plugin-methods/put.js:196: await runHooks('afterDataCall')
|
|
153
|
-
plugins/core/rest-api-plugin-methods/put.js:246: await runHooks('afterCommit')
|
|
154
|
-
plugins/core/lib/fractional-positioning.js:1:import { requirePackage } from 'hooked-api'
|
|
155
|
-
plugins/core/rest-api-plugin-methods/patch-relationship.js:24: await runHooks('checkPermissions')
|
|
156
|
-
plugins/core/rest-api-plugin-methods/patch-relationship.js:25: await runHooks('checkPermissionsPatchRelationship')
|
|
157
|
-
plugins/core/rest-api-plugin-methods/patch-relationship.js:44: await runHooks('finish')
|
|
158
|
-
plugins/core/rest-api-plugin-methods/patch-relationship.js:45: await runHooks('finishPatchRelationship')
|
|
159
|
-
plugins/core/rest-api-plugin-methods/release.js:1:import { ValidationError } from 'hooked-api'
|
|
160
|
-
plugins/core/rest-api-plugin-methods/release.js:5: * Runs the hook that tells plugins to release resources
|
|
161
|
-
plugins/core/rest-api-plugin-methods/release.js:8: // Run the addRoute hook to notify transport plugins
|
|
162
|
-
plugins/core/rest-api-plugin-methods/release.js:9: await runHooks('release')
|
|
163
|
-
plugins/core/rest-api-multihome-plugin.js:10: // Get configuration - hooked-api namespaces options by plugin name
|
|
164
|
-
plugins/core/rest-api-multihome-plugin.js:21: const resolveStorageAdapter = (scopeName, hookContext = {}) => {
|
|
165
|
-
plugins/core/rest-api-multihome-plugin.js:23: if (hookContext.storageAdapter) return hookContext.storageAdapter
|
|
166
|
-
plugins/core/rest-api-multihome-plugin.js:24: if (hookContext.knexQuery?.storageAdapter) return hookContext.knexQuery.storageAdapter
|
|
167
|
-
plugins/core/rest-api-multihome-plugin.js:31: const translateColumnReference = ({ field, tableName, scopeName, hookContext }) => {
|
|
168
|
-
plugins/core/rest-api-multihome-plugin.js:32: const storageAdapter = resolveStorageAdapter(scopeName, hookContext)
|
|
169
|
-
plugins/core/rest-api-multihome-plugin.js:40: const translateFilterValue = ({ field, value, scopeName, hookContext }) => {
|
|
170
|
-
plugins/core/rest-api-multihome-plugin.js:41: const storageAdapter = resolveStorageAdapter(scopeName, hookContext)
|
|
171
|
-
plugins/core/rest-api-multihome-plugin.js:65: addHook('transport:request', 'extract-multihome-id', {}, async ({ context, request, helpers }) => {
|
|
172
|
-
plugins/core/rest-api-multihome-plugin.js:87: addHook('scope:added', 'validate-multihome-field', {}, ({ context, vars }) => {
|
|
173
|
-
plugins/core/rest-api-multihome-plugin.js:110: // Main filtering hook - adds WHERE clause to all queries
|
|
174
|
-
plugins/core/rest-api-multihome-plugin.js:111: log.debug('Registering multihome filter hook')
|
|
175
|
-
plugins/core/rest-api-multihome-plugin.js:112: addHook('knexQueryFiltering', 'multihome-filter', {}, async ({ context, vars }) => {
|
|
176
|
-
plugins/core/rest-api-multihome-plugin.js:158: hookContext: context,
|
|
177
|
-
plugins/core/rest-api-multihome-plugin.js:165: hookContext: context,
|
|
178
|
-
plugins/core/rest-api-multihome-plugin.js:182: addHook('beforeSchemaValidate', 'set-multihome-id', {}, async ({ context, scopeName, vars }) => {
|
|
179
|
-
plugins/core/rest-api-multihome-plugin.js:230: // Add checkPermissions hook to enforce tenant isolation
|
|
180
|
-
plugins/core/rest-api-multihome-plugin.js:232: addHook('checkPermissions', 'multihome-check-permissions', {}, async ({ context, scopeName }) => {
|
|
181
|
-
plugins/core/rest-api-plugin-methods/delete-relationship.js:48: await runHooks('checkPermissions')
|
|
182
|
-
plugins/core/rest-api-plugin-methods/delete-relationship.js:49: await runHooks('checkPermissionsDeleteRelationship')
|
|
183
|
-
plugins/core/rest-api-plugin-methods/delete-relationship.js:106: await runHooks('finish')
|
|
184
|
-
plugins/core/rest-api-plugin-methods/delete-relationship.js:107: await runHooks('finishDeleteRelationship')
|
|
185
|
-
plugins/core/rest-api-plugin-methods/check-permissions.js:12: await runHooks('checkPermissions')
|
|
186
|
-
plugins/core/bulk-operations-plugin.js:347: addHook('afterAddScope', 'bulkOperationsRoutes', {}, async ({ scopeName }) => {
|
|
187
|
-
plugins/core/bulk-operations-plugin.js:418: addHook('beforeBulkPost', 'optimizedBulkInsert', {}, async ({ scope, params, context }) => {
|
|
188
|
-
plugins/core/rest-api-plugin-methods/get-related.js:52: await runHooks('checkPermissions')
|
|
189
|
-
plugins/core/rest-api-plugin-methods/get-related.js:53: await runHooks('checkPermissionsGetRelated')
|
|
190
|
-
plugins/core/rest-api-access.js:87: const resolveStorageAdapter = (scopeName, hookContext = {}) => {
|
|
191
|
-
plugins/core/rest-api-access.js:90: if (hookContext.storageAdapter) return hookContext.storageAdapter
|
|
192
|
-
plugins/core/rest-api-access.js:91: if (hookContext.knexQuery?.storageAdapter) return hookContext.knexQuery.storageAdapter
|
|
193
|
-
plugins/core/rest-api-access.js:99: const translateColumnReference = ({ field, tableName, scopeName, hookContext }) => {
|
|
194
|
-
plugins/core/rest-api-access.js:100: const storageAdapter = resolveStorageAdapter(scopeName, hookContext)
|
|
195
|
-
plugins/core/rest-api-access.js:108: const translateFilterValue = ({ field, value, scopeName, hookContext }) => {
|
|
196
|
-
plugins/core/rest-api-access.js:109: const storageAdapter = resolveStorageAdapter(scopeName, hookContext)
|
|
197
|
-
plugins/core/rest-api-access.js:148: addHook('scope:added', 'rest-auth-process-rules', {}, ({ context, scopes }) => {
|
|
198
|
-
plugins/core/rest-api-access.js:167: addHook('schema:enrich', 'rest-auth-auto-ownership-field', {}, ({ context }) => {
|
|
199
|
-
plugins/core/rest-api-access.js:239: addHook('beforeProcessingPost', 'rest-auth-auto-set-owner', {}, ({ context, scopeName, scopes, scopeOptions }) => {
|
|
200
|
-
plugins/core/rest-api-access.js:242: addHook('beforeProcessingPatch', 'rest-auth-auto-set-owner', {}, ({ context, scopeName, scopes, scopeOptions }) => {
|
|
201
|
-
plugins/core/rest-api-access.js:245: addHook('beforeProcessingPut', 'rest-auth-auto-set-owner', {}, ({ context, scopeName, scopes, scopeOptions }) => {
|
|
202
|
-
plugins/core/rest-api-access.js:249: addHook('knexQueryFiltering', 'rest-auth-filter-by-owner', { sequence: -40 }, ({ context, scopes, scopeOptions }) => {
|
|
203
|
-
plugins/core/rest-api-access.js:281: const columnRef = translateColumnReference({ field, tableName, scopeName, hookContext: context })
|
|
204
|
-
plugins/core/rest-api-access.js:282: const ownerValue = translateFilterValue({ field, value: context.auth.userId, scopeName, hookContext: context })
|
|
205
|
-
plugins/core/rest-api-access.js:291: addHook('checkPermissions', 'rest-auth-enforce', { sequence: -100 }, async ({ context, scope, scopeName }) => {
|
|
206
|
-
plugins/core/rest-api-access.js:343: addHook('checkPermissions', 'rest-auth-check-get-ownership', { sequence: -80 }, ({ context, scope, scopeName, scopeOptions }) => {
|
|
207
|
-
plugins/core/connectors/express-plugin.js:8: * - Automatic route creation via addRoute hook
|
|
208
|
-
plugins/core/connectors/express-plugin.js:17:import { requirePackage } from 'hooked-api'
|
|
209
|
-
plugins/core/connectors/express-plugin.js:27: addHook('release', 'releaseHook', {},
|
|
210
|
-
plugins/core/connectors/express-plugin.js:116: // Add transport hook middleware
|
|
211
|
-
plugins/core/connectors/express-plugin.js:129: // Transport-specific data for hooks
|
|
212
|
-
plugins/core/connectors/express-plugin.js:149: // Run transport hooks - don't check return value for consistency with other hooks
|
|
213
|
-
plugins/core/connectors/express-plugin.js:151: await runHooks('transport:request', context)
|
|
214
|
-
plugins/core/connectors/express-plugin.js:155: // Apply response headers from hooks
|
|
215
|
-
plugins/core/connectors/express-plugin.js:168: // Check if request was already handled by a hook
|
|
216
|
-
plugins/core/connectors/express-plugin.js:268: // Run transport:response hook for errors
|
|
217
|
-
plugins/core/connectors/express-plugin.js:273: await runHooks('transport:response', req.context)
|
|
218
|
-
plugins/core/connectors/express-plugin.js:275: // Apply response headers from hooks
|
|
219
|
-
plugins/core/connectors/express-plugin.js:285: * Listen to addRoute hook to create Express routes
|
|
220
|
-
plugins/core/connectors/express-plugin.js:287: addHook('addRoute', 'expressRouteCreator', {}, async ({ context }) => {
|
|
221
|
-
plugins/core/connectors/express-plugin.js:338: await runHooks('transport:response', context)
|
|
222
|
-
plugins/core/connectors/express-plugin.js:487: // Run transport:response hook for 404
|
|
223
|
-
plugins/core/connectors/express-plugin.js:488: await runHooks('transport:response', context)
|
|
224
|
-
plugins/core/connectors/express-plugin.js:490: // Apply response headers from hooks
|
|
225
|
-
plugins/core/rest-api-plugin-methods/add-route.js:1:import { ValidationError } from 'hooked-api'
|
|
226
|
-
plugins/core/rest-api-plugin-methods/add-route.js:16: // Create context for enrichAttributes hooks
|
|
227
|
-
plugins/core/rest-api-plugin-methods/add-route.js:19: // Run the addRoute hook to notify transport plugins
|
|
228
|
-
plugins/core/rest-api-plugin-methods/add-route.js:20: await runHooks('addRoute')
|
|
229
|
-
plugins/core/lib/querying/knex-cross-table-search.js:7: * @param {Object} scopes - All registered hooked-api scopes containing schema and relationship definitions
|
|
230
|
-
plugins/core/lib/querying/knex-cross-table-search.js:87: * @param {Object} scopes - All registered hooked-api scopes containing schema and relationship definitions
|
|
231
|
-
plugins/core/lib/querying/knex-cross-table-search.js:390: * @param {Object} scopes - All registered hooked-api scopes containing schema and relationship definitions
|
|
232
|
-
plugins/core/lib/querying/knex-cross-table-search.js:488: * @param {Object} scopes - All registered hooked-api scopes containing schema and relationship definitions
|
|
233
|
-
plugins/core/rest-api-cors-plugin.js:43: // Store reference in vars for access in hooks
|
|
234
|
-
plugins/core/rest-api-cors-plugin.js:129: addHook('transport:response', 'cors-headers', { order: -1000 }, async ({ context }) => {
|
|
235
|
-
plugins/core/rest-api-cors-plugin.js:134: log.error('CORS: request is undefined in transport:response hook')
|
|
236
|
-
plugins/core/rest-api-plugin.js:3:// Import hook functions
|
|
237
|
-
plugins/core/rest-api-plugin.js:4:import compileResourceSchemas from './rest-api-plugin-hooks/compile-resource-schemas.js'
|
|
238
|
-
plugins/core/rest-api-plugin.js:5:import validateIncludeConfigurations from './rest-api-plugin-hooks/validate-include-configurations.js'
|
|
239
|
-
plugins/core/rest-api-plugin.js:6:import turnScopeInitIntoVars from './rest-api-plugin-hooks/turn-scope-init-into-vars.js'
|
|
240
|
-
plugins/core/rest-api-plugin.js:7:import registerScopeRoutes from './rest-api-plugin-hooks/register-scope-routes.js'
|
|
241
|
-
plugins/core/rest-api-plugin.js:8:import registerRelationshipRoutes from './rest-api-plugin-hooks/register-relationship-routes.js'
|
|
242
|
-
plugins/core/rest-api-plugin.js:114: // Scope (resources) added hooks
|
|
243
|
-
plugins/core/rest-api-plugin.js:117: addHook('scope:added', 'validateRelationships', {}, validateRelationships)
|
|
244
|
-
plugins/core/rest-api-plugin.js:118: addHook('scope:added', 'compileResourceSchemas', {}, compileResourceSchemas)
|
|
245
|
-
plugins/core/rest-api-plugin.js:119: addHook('scope:added', 'validateIncludeConfigurations', {}, validateIncludeConfigurations)
|
|
246
|
-
plugins/core/rest-api-plugin.js:120: addHook('scope:added', 'turnScopeInitIntoVars', {}, turnScopeInitIntoVars)
|
|
247
|
-
plugins/core/rest-api-plugin.js:145: addHook('scope:added', 'registerRelationshipRoutes', {}, registerRelationshipRoutes)
|
|
248
|
-
plugins/core/rest-api-plugin.js:146: addHook('scope:added', 'registerScopeRoutes', {}, registerScopeRoutes)
|
|
249
|
-
plugins/core/rest-api-plugin-methods/enrich-attributes.js:5: * Runs the enrichAttributes hook for a specific scope to allow plugins to modify attributes
|
|
250
|
-
plugins/core/rest-api-plugin-methods/enrich-attributes.js:183: // Create context for enrichAttributes hooks
|
|
251
|
-
plugins/core/rest-api-plugin-methods/enrich-attributes.js:194: // Run enrichAttributes hooks for additional/override computations
|
|
252
|
-
plugins/core/rest-api-plugin-methods/enrich-attributes.js:195: await runHooks('enrichAttributes')
|
|
253
|
-
plugins/core/rest-api-plugin-methods/enrich-attributes.js:197: // Return the attributes from context, which hooks may have modified
|
|
254
|
-
plugins/core/rest-api-knex-plugin.js:1:import { requirePackage } from 'hooked-api'
|
|
255
|
-
plugins/core/rest-api-knex-plugin.js:144: // Register the three separate filter hooks
|
|
256
|
-
plugins/core/rest-api-knex-plugin.js:145: // Dependencies object for the hooks
|
|
257
|
-
plugins/core/rest-api-knex-plugin.js:152: addHook('knexQueryFiltering', 'polymorphicFiltersHook', {},
|
|
258
|
-
plugins/core/rest-api-knex-plugin.js:153: async (hookParams) => polymorphicFiltersHook(hookParams, polymorphicFiltersHookParams)
|
|
259
|
-
plugins/core/rest-api-knex-plugin.js:157: addHook('knexQueryFiltering', 'crossTableFiltersHook', {},
|
|
260
|
-
plugins/core/rest-api-knex-plugin.js:158: async (hookParams) => crossTableFiltersHook(hookParams, polymorphicFiltersHookParams)
|
|
261
|
-
plugins/core/rest-api-knex-plugin.js:162: addHook('knexQueryFiltering', 'basicFiltersHook', {},
|
|
262
|
-
plugins/core/rest-api-knex-plugin.js:163: async (hookParams) => basicFiltersHook(hookParams, polymorphicFiltersHookParams)
|
|
263
|
-
plugins/core/rest-api-knex-plugin.js:167: addHook('release', 'releaseHook', {},
|
|
264
|
-
plugins/core/rest-api-knex-plugin.js:316: // Build query - no filtering hooks for single records
|
|
265
|
-
plugins/core/rest-api-knex-plugin.js:385: // Build query - no filtering hooks for single records
|
|
266
|
-
plugins/core/rest-api-knex-plugin.js:428: * @param {Object} [params.context.knexQuery] - Temporarily set during hooks for query building
|
|
267
|
-
plugins/core/rest-api-knex-plugin.js:430: * @param {Function} params.runHooks - Function to run hooks (e.g., 'knexQueryFiltering')
|
|
268
|
-
plugins/core/rest-api-knex-plugin.js:475: * This is where the magic happens. The knexQueryFiltering hook is called
|
|
269
|
-
plugins/core/rest-api-knex-plugin.js:476: * to apply all filter conditions. The searchSchemaFilter hook (registered
|
|
270
|
-
plugins/core/rest-api-knex-plugin.js:479: * IMPORTANT: Each hook should wrap its conditions in query.where(function() {...})
|
|
271
|
-
plugins/core/rest-api-knex-plugin.js:483: log.trace('[DATA-QUERY] Calling knexQueryFiltering hook', { hasQuery: !!query, hasFilters: !!queryParams.filters, scopeName, tableName })
|
|
272
|
-
plugins/core/rest-api-knex-plugin.js:485: log.trace('[DATA-QUERY] About to call runHooks', { hookName: 'knexQueryFiltering' })
|
|
273
|
-
plugins/core/rest-api-knex-plugin.js:491: // Store the query data in context where hooks can access it
|
|
274
|
-
plugins/core/rest-api-knex-plugin.js:492: // This is the proper way to share data between methods and hooks
|
|
275
|
-
plugins/core/rest-api-knex-plugin.js:507: await runHooks('knexQueryFiltering')
|
|
276
|
-
plugins/core/rest-api-knex-plugin.js:509: // Clean up after hook execution
|
|
277
|
-
plugins/core/rest-api-knex-plugin.js:514: log.trace('[DATA-QUERY] Finished knexQueryFiltering hook')
|
|
278
|
-
plugins/core/rest-api-knex-plugin.js:516: // Apply sorting directly (no hooks)
|
|
279
|
-
plugins/core/rest-api-knex-plugin.js:784: // Apply filters through hooks (same as main query)
|
|
280
|
-
plugins/core/rest-api-knex-plugin.js:786: // Store query data in context for hooks
|
|
281
|
-
plugins/core/rest-api-knex-plugin.js:798: // Run the same filtering hooks
|
|
282
|
-
plugins/core/rest-api-knex-plugin.js:799: await runHooks('knexQueryFiltering')
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
tests/pagination-cursor-multifield.test.js:421: it.skip('should maintain stable sorting with custom id property', async () => {
|
|
2
|
-
plugins/core/rest-api-plugin-methods/get-relationship.js:39: fields: { [scopeName]: vars.idProperty || 'id' }
|
|
3
|
-
plugins/core/rest-api-plugin-methods/get-related.js:95: fields: { [scopeName]: vars.idProperty || 'id' } // Only fetch parent ID to minimize data
|
|
4
|
-
tests/computed-fields.test.js:306: // Should only have id property (minimal object)
|
|
5
|
-
plugins/core/rest-api-plugin.js:67: vars.idProperty = restApiOptions.idProperty || 'id'
|
|
6
|
-
plugins/core/rest-api-label-plugin.js:51: const idProp = schemaInfo.idProperty || 'id'
|
|
7
|
-
tests/fixtures/api-configs.js:1498: * Creates an API with custom idProperty for all resources to test idProperty functionality
|
|
8
|
-
tests/fixtures/api-configs.js:1534: // Countries table with custom idProperty
|
|
9
|
-
tests/fixtures/api-configs.js:1546: idProperty: 'country_id' // Custom ID property
|
|
10
|
-
tests/fixtures/api-configs.js:1551: // Publishers table with custom idProperty
|
|
11
|
-
tests/fixtures/api-configs.js:1566: idProperty: 'publisher_id'
|
|
12
|
-
tests/fixtures/api-configs.js:1571: // Authors table with custom idProperty
|
|
13
|
-
tests/fixtures/api-configs.js:1587: idProperty: 'author_id'
|
|
14
|
-
tests/fixtures/api-configs.js:1592: // Books table with custom idProperty
|
|
15
|
-
tests/fixtures/api-configs.js:1611: idProperty: 'book_id'
|
|
16
|
-
tests/fixtures/api-configs.js:1616: // Book-Authors pivot table with custom idProperty
|
|
17
|
-
tests/fixtures/api-configs.js:1625: idProperty: 'book_author_id'
|
|
18
|
-
tests/fixtures/api-configs.js:1630: // Polymorphic reviews with custom idProperty
|
|
19
|
-
tests/fixtures/api-configs.js:1652: idProperty: 'review_id'
|
|
20
|
-
tests/fixtures/api-configs.js:1726: idProperty: 'item_id',
|
|
21
|
-
plugins/core/rest-api-access.js:37: const idProperty = schemaInfo?.idProperty || 'id'
|
|
22
|
-
plugins/core/rest-api-access.js:43: if (field === idProperty) {
|
|
23
|
-
plugins/core/rest-api-access.js:363: const idProperty = schemaInfo.idProperty || 'id'
|
|
24
|
-
plugins/core/rest-api-access.js:367: if (field === idProperty) {
|
|
25
|
-
plugins/core/lib/dbTablesOperations.js:113: * @param {string} [idProperty='id'] - The name of the ID column
|
|
26
|
-
plugins/core/lib/dbTablesOperations.js:123: const idProperty = schemaInfo.idProperty
|
|
27
|
-
plugins/core/lib/dbTablesOperations.js:127: // Check if schema has the idProperty field with primary key
|
|
28
|
-
plugins/core/lib/dbTablesOperations.js:128: const hasIdField = tableSchemaStructure[idProperty] && tableSchemaStructure[idProperty].primary === true
|
|
29
|
-
plugins/core/lib/dbTablesOperations.js:132: table.increments(idProperty).primary()
|
|
30
|
-
plugins/core/lib/dbTablesOperations.js:138: if (fieldName === idProperty && !hasIdField && autoIncrement) {
|
|
31
|
-
tests/custom-idproperty-relationships.test.js:30:describe('Custom idProperty Relationship Operations', () => {
|
|
32
|
-
tests/custom-idproperty-relationships.test.js:32: // Initialize API with custom idProperty for all resources
|
|
33
|
-
tests/custom-idproperty-relationships.test.js:40: describe('Basic CRUD with custom idProperty', () => {
|
|
34
|
-
tests/custom-idproperty-relationships.test.js:106: describe('One-to-One (belongsTo) Relationships with custom idProperty', () => {
|
|
35
|
-
tests/custom-idproperty-relationships.test.js:215: describe('Many-to-Many Relationships with custom idProperty', () => {
|
|
36
|
-
tests/custom-idproperty-relationships.test.js:349: describe('Polymorphic Relationships with custom idProperty', () => {
|
|
37
|
-
tests/custom-idproperty-relationships.test.js:459: describe('Nested Includes with custom idProperty', () => {
|
|
38
|
-
tests/custom-idproperty-relationships.test.js:566: describe('Include with Sparse Fieldsets and custom idProperty', () => {
|
|
39
|
-
tests/custom-idproperty-relationships.test.js:637: describe('Include Depth Validation with custom idProperty', () => {
|
|
40
|
-
tests/custom-idproperty-relationships.test.js:696: describe('Complex Scenarios with custom idProperty', () => {
|
|
41
|
-
plugins/core/lib/querying/knex-json-api-transformers-querying.js:82: const idProperty = context.schemaInfo?.idProperty || 'id'
|
|
42
|
-
plugins/core/lib/querying/knex-json-api-transformers-querying.js:98: if (!foreignKeys.has(key) && !polymorphicFields.has(key) && !internalFields.has(key) && key !== idProperty) {
|
|
43
|
-
plugins/core/lib/querying/knex-json-api-transformers-querying.js:187: schemaInfo: { schemaRelationships: relationships, idProperty }
|
|
44
|
-
plugins/core/lib/querying/knex-json-api-transformers-querying.js:207: schemaInfo: { idProperty },
|
|
45
|
-
plugins/core/lib/querying/knex-json-api-transformers-querying.js:350: schemaInfo: { schemaInstance, schemaRelationships: relationships, idProperty }
|
|
46
|
-
plugins/core/lib/querying/knex-json-api-transformers-querying.js:354: const idField = idProperty || 'id'
|
|
47
|
-
plugins/core/lib/querying/knex-query-helpers.js:270: const targetIdField = scopes[targetType].vars.schemaInfo.idProperty || 'id'
|
|
48
|
-
plugins/core/lib/querying/knex-query-helpers.js:353: const nextIdField = scopes[nextScope].vars.schemaInfo.idProperty || 'id'
|
|
49
|
-
plugins/core/lib/storage/storage-adapter.js:53: const idColumn = schemaInfo.idProperty || 'id'
|
|
50
|
-
plugins/core/lib/querying-writing/knex-field-helpers.js:60: * schemaInfo: { idProperty: 'id', ... }
|
|
51
|
-
plugins/core/lib/querying-writing/knex-field-helpers.js:70: * // idProperty: 'id'
|
|
52
|
-
plugins/core/lib/querying-writing/knex-field-helpers.js:100: * // idProperty: 'id'
|
|
53
|
-
plugins/core/lib/querying-writing/knex-field-helpers.js:117: * // idProperty: 'id'
|
|
54
|
-
plugins/core/lib/querying-writing/knex-field-helpers.js:156: const idProperty = context.schemaInfo.idProperty
|
|
55
|
-
plugins/core/lib/querying-writing/knex-field-helpers.js:159: // Handle aliasing if idProperty is not 'id'
|
|
56
|
-
plugins/core/lib/querying-writing/knex-field-helpers.js:160: if (idProperty !== 'id') {
|
|
57
|
-
plugins/core/lib/querying-writing/knex-field-helpers.js:161: fieldsToSelect.add(`${idProperty} as id`)
|
|
58
|
-
plugins/core/lib/querying-writing/knex-field-helpers.js:323: idProperty // Pass idProperty for reference
|
|
59
|
-
plugins/core/lib/querying-writing/compile-schemas.js:330: idProperty: scope.scopeOptions.idProperty || scope.vars.idProperty,
|
|
60
|
-
plugins/core/lib/querying-writing/knex-constants.js:23:export const getIdProperty = (schemaInfo) => schemaInfo?.idProperty || 'id'
|
|
61
|
-
plugins/core/lib/querying-writing/knex-json-api-transformers.js:101: schemaInfo: { schemaInstance, schemaRelationships: relationships, idProperty }
|
|
62
|
-
plugins/core/lib/querying-writing/knex-json-api-transformers.js:105: const idField = idProperty || 'id'
|
|
63
|
-
plugins/core/lib/querying/knex-relationship-includes.js:364: * - idProperty: string - The ID property name
|
|
64
|
-
plugins/core/lib/querying/knex-relationship-includes.js:372: const { records, scopeName, fieldName, fieldDef, includeName, subIncludes, included, processedPaths, currentPath, fields, idProperty } = scope
|
|
65
|
-
plugins/core/lib/querying/knex-relationship-includes.js:410: self: `${urlPrefix}/${scopeName}/${record[idProperty]}/relationships/${includeName}`,
|
|
66
|
-
plugins/core/lib/querying/knex-relationship-includes.js:411: related: `${urlPrefix}/${scopeName}/${record[idProperty]}/${includeName}`
|
|
67
|
-
plugins/core/lib/querying/knex-relationship-includes.js:422: const targetIdProperty = scopes[targetScope].vars.schemaInfo.idProperty
|
|
68
|
-
plugins/core/lib/querying/knex-relationship-includes.js:445: // If no field selection but custom idProperty, we need to alias it
|
|
69
|
-
plugins/core/lib/querying/knex-relationship-includes.js:494: self: `${urlPrefix}/${scopeName}/${record[idProperty]}/relationships/${includeName}`,
|
|
70
|
-
plugins/core/lib/querying/knex-relationship-includes.js:495: related: `${urlPrefix}/${scopeName}/${record[idProperty]}/${includeName}`
|
|
71
|
-
plugins/core/lib/querying/knex-relationship-includes.js:518: self: `${urlPrefix}/${scopeName}/${record[idProperty]}/relationships/${includeName}`,
|
|
72
|
-
plugins/core/lib/querying/knex-relationship-includes.js:519: related: `${urlPrefix}/${scopeName}/${record[idProperty]}/${includeName}`
|
|
73
|
-
plugins/core/lib/querying/knex-relationship-includes.js:532: { records: targetRecordsToProcess, scopeName: targetScope, includeTree: subIncludes, included, processedPaths, currentPath: nextPath, fields, idProperty: targetIdProperty },
|
|
74
|
-
plugins/core/lib/querying/knex-relationship-includes.js:659: const targetIdProperty = targetScopeObject.vars.schemaInfo.idProperty
|
|
75
|
-
plugins/core/lib/querying/knex-relationship-includes.js:693: const targetIdProperty = scopes[targetScope]?.vars?.schemaInfo?.idProperty || 'id'
|
|
76
|
-
plugins/core/lib/querying/knex-relationship-includes.js:726: const targetIdProperty = scopes[targetScope]?.vars?.schemaInfo?.idProperty || 'id'
|
|
77
|
-
plugins/core/lib/querying/knex-relationship-includes.js:733: // If no field selection but custom idProperty, we need to alias it
|
|
78
|
-
plugins/core/lib/querying/knex-relationship-includes.js:833: { records: targetRecords, scopeName: targetScope, includeTree: subIncludes, included, processedPaths, currentPath: nextPath, fields, idProperty: targetIdProperty },
|
|
79
|
-
plugins/core/lib/querying/knex-relationship-includes.js:857: const targetIdProperty = targetScopeObject.vars.schemaInfo.idProperty
|
|
80
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1012: { records: targetRecords, scopeName: targetScope, includeTree: subIncludes, included, processedPaths, currentPath: nextPath, fields, idProperty: targetIdProperty },
|
|
81
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1060: const idProperty = scopes[scopeName]?.vars?.schemaInfo?.idProperty || 'id'
|
|
82
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1061: const mainIds = [...new Set(records.map(r => r[idProperty]).filter(Boolean))]
|
|
83
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1084: const targetIdProperty = targetScopeObject.vars.schemaInfo.idProperty
|
|
84
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1120: const recordId = record[idProperty]
|
|
85
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1227: // const targetIdProperty = targetScopeObject.vars.schemaInfo.idProperty;
|
|
86
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1246: const targetIdProperty = scopes[targetType]?.vars?.schemaInfo?.idProperty || 'id'
|
|
87
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1252: // If no field selection but custom idProperty, we need to alias it
|
|
88
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1335: { records: targetRecords, scopeName: targetType, includeTree: subIncludes, included, processedPaths, currentPath: nextPath, fields, idProperty: targetIdProperty },
|
|
89
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1446: const targetIdProperty = targetScopeObject.vars.schemaInfo.idProperty
|
|
90
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1467: // If no field selection but custom idProperty, we need to alias it
|
|
91
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1550: { records: targetRecords, scopeName: targetScope, includeTree: subIncludes, included, processedPaths, currentPath: nextPath, fields, idProperty: targetIdProperty },
|
|
92
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1591: * - idProperty: string - The ID property name
|
|
93
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1599: const { records, scopeName, includeTree, included, processedPaths, currentPath = '', fields = {}, idProperty } = scope
|
|
94
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1639: { records, scopeName, fieldName, fieldDef, includeName, subIncludes, included, processedPaths, currentPath, fields, idProperty },
|
|
95
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1740: * - idProperty: string - The ID property name
|
|
96
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1754: * idProperty: 'id'
|
|
97
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1768: const { records, scopeName, includeParam, fields, idProperty } = scope
|
|
98
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1802: { records, scopeName, includeTree, included, processedPaths, currentPath: '', fields, idProperty },
|
|
99
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1899: const targetIdProperty = targetScope?.vars?.schemaInfo?.idProperty || 'id'
|
|
100
|
-
plugins/core/lib/querying/knex-relationship-includes.js:1947: const targetIdProperty = scopes[targetScope]?.vars?.schemaInfo?.idProperty || 'id'
|
|
101
|
-
plugins/core/lib/querying/knex-process-includes.js:23: * schemaInfo: { idProperty: 'id' }
|
|
102
|
-
plugins/core/lib/querying/knex-process-includes.js:114: const idProperty = context.schemaInfo.idProperty
|
|
103
|
-
plugins/core/lib/querying/knex-process-includes.js:128: idProperty
|
|
104
|
-
plugins/core/rest-api-plugin-hooks/turn-scope-init-into-vars.js:25: // Set idProperty as scope var
|
|
105
|
-
plugins/core/rest-api-plugin-hooks/turn-scope-init-into-vars.js:26: if (typeof scopeOptions.idProperty !== 'undefined') vars.idProperty = scopeOptions.idProperty
|
|
106
|
-
plugins/core/rest-api-knex-plugin.js:231: * @param {string} params.context.schemaInfo.idProperty - The primary key field name (e.g., 'id')
|
|
107
|
-
plugins/core/rest-api-knex-plugin.js:244: const idProperty = storageAdapter?.getIdColumn?.() || context.schemaInfo.idProperty
|
|
108
|
-
plugins/core/rest-api-knex-plugin.js:249: const selectClause = idProperty !== 'id' ? `${idProperty} as id` : 'id'
|
|
109
|
-
plugins/core/rest-api-knex-plugin.js:252: .where(idProperty, id)
|
|
110
|
-
plugins/core/rest-api-knex-plugin.js:268: * @param {string} params.context.schemaInfo.idProperty - The primary key field name (e.g., 'id')
|
|
111
|
-
plugins/core/rest-api-knex-plugin.js:298: const idProperty = storageAdapter?.getIdColumn?.() || context.schemaInfo.idProperty
|
|
112
|
-
plugins/core/rest-api-knex-plugin.js:318: let query = db(tableName).where(idProperty, id)
|
|
113
|
-
plugins/core/rest-api-knex-plugin.js:368: * @param {string} params.context.schemaInfo.idProperty - The primary key field name (e.g., 'id')
|
|
114
|
-
plugins/core/rest-api-knex-plugin.js:380: const idProperty = storageAdapter?.getIdColumn?.() || context.schemaInfo.idProperty
|
|
115
|
-
plugins/core/rest-api-knex-plugin.js:387: let query = db(tableName).where(idProperty, id)
|
|
116
|
-
plugins/core/rest-api-knex-plugin.js:389: // Add alias if idProperty is not 'id'
|
|
117
|
-
plugins/core/rest-api-knex-plugin.js:390: if (idProperty !== 'id') {
|
|
118
|
-
plugins/core/rest-api-knex-plugin.js:391: query = query.select('*', `${idProperty} as id`)
|
|
119
|
-
plugins/core/rest-api-knex-plugin.js:415: * @param {string} params.context.schemaInfo.idProperty - The primary key field name (e.g., 'id')
|
|
120
|
-
plugins/core/rest-api-knex-plugin.js:587: const idProperty = context.schemaInfo.idProperty || 'id'
|
|
121
|
-
plugins/core/rest-api-knex-plugin.js:617: field: scope.vars.defaultSort.field || idProperty,
|
|
122
|
-
plugins/core/rest-api-knex-plugin.js:621: sortFields.push({ field: idProperty, direction: 'ASC' })
|
|
123
|
-
plugins/core/rest-api-knex-plugin.js:685: field: scope.vars.defaultSort.field || idProperty,
|
|
124
|
-
plugins/core/rest-api-knex-plugin.js:689: sortFields.push({ field: idProperty, direction: 'ASC' })
|
|
125
|
-
plugins/core/rest-api-knex-plugin.js:848: const idProperty = context.schemaInfo.idProperty || 'id'
|
|
126
|
-
plugins/core/rest-api-knex-plugin.js:849: let sortFields = [idProperty]
|
|
127
|
-
plugins/core/rest-api-knex-plugin.js:891: * @param {string} params.context.schemaInfo.idProperty - The primary key field name (e.g., 'id')
|
|
128
|
-
plugins/core/rest-api-knex-plugin.js:906: const idProperty = storageAdapter?.getIdColumn?.() || context.schemaInfo.idProperty
|
|
129
|
-
plugins/core/rest-api-knex-plugin.js:919: const result = await db(tableName).insert(dbAttributes).returning(idProperty)
|
|
130
|
-
plugins/core/rest-api-knex-plugin.js:922: const id = result[0]?.[idProperty] || result[0]
|
|
131
|
-
plugins/core/rest-api-knex-plugin.js:935: * @param {string} params.context.schemaInfo.idProperty - The primary key field name (e.g., 'id')
|
|
132
|
-
plugins/core/rest-api-knex-plugin.js:954: const idProperty = storageAdapter?.getIdColumn?.() || context.schemaInfo.idProperty
|
|
133
|
-
plugins/core/rest-api-knex-plugin.js:969: // Map 'id' to actual idProperty if needed (for PUT with specific ID)
|
|
134
|
-
plugins/core/rest-api-knex-plugin.js:970: if (idProperty !== 'id' && inputRecord.data.id) {
|
|
135
|
-
plugins/core/rest-api-knex-plugin.js:971: finalAttributes[idProperty] = inputRecord.data.id
|
|
136
|
-
plugins/core/rest-api-knex-plugin.js:978: [idProperty]: id
|
|
137
|
-
plugins/core/rest-api-knex-plugin.js:985: .where(idProperty, id)
|
|
138
|
-
plugins/core/rest-api-knex-plugin.js:999: // Remove the idProperty from attributes to prevent updating the primary key
|
|
139
|
-
plugins/core/rest-api-knex-plugin.js:1000: delete finalAttributes[idProperty]
|
|
140
|
-
plugins/core/rest-api-knex-plugin.js:1005: .where(idProperty, id)
|
|
141
|
-
plugins/core/rest-api-knex-plugin.js:1020: * @param {string} params.context.schemaInfo.idProperty - The primary key field name (e.g., 'id')
|
|
142
|
-
plugins/core/rest-api-knex-plugin.js:1038: const idProperty = storageAdapter?.getIdColumn?.() || context.schemaInfo.idProperty
|
|
143
|
-
plugins/core/rest-api-knex-plugin.js:1046: .where(idProperty, id)
|
|
144
|
-
plugins/core/rest-api-knex-plugin.js:1070: // Remove the idProperty from attributes to prevent updating the primary key
|
|
145
|
-
plugins/core/rest-api-knex-plugin.js:1071: delete finalAttributes[idProperty]
|
|
146
|
-
plugins/core/rest-api-knex-plugin.js:1076: .where(idProperty, id)
|
|
147
|
-
plugins/core/rest-api-knex-plugin.js:1090: * @param {string} params.context.schemaInfo.idProperty - The primary key field name (e.g., 'id')
|
|
148
|
-
plugins/core/rest-api-knex-plugin.js:1104: const idProperty = storageAdapter?.getIdColumn?.() || context.schemaInfo.idProperty
|
|
149
|
-
plugins/core/rest-api-knex-plugin.js:1111: .where(idProperty, id)
|
|
150
|
-
plugins/core/rest-api-knex-plugin.js:1127: .where(idProperty, id)
|
|
151
|
-
plugins/core/rest-api-positioning-plugin.js:424: const idProperty = schemaInfo.idProperty
|
|
152
|
-
plugins/core/rest-api-positioning-plugin.js:430: idProperty,
|
|
153
|
-
plugins/core/rest-api-positioning-plugin.js:450: const translatedId = adapter.translateFilterValue(idProperty, context.id)
|
|
154
|
-
plugins/core/rest-api-positioning-plugin.js:469: [idProperty]: idColumn,
|
|
155
|
-
plugins/core/rest-api-positioning-plugin.js:498: effectiveBeforeId = firstItem[idProperty]
|
|
156
|
-
plugins/core/rest-api-positioning-plugin.js:504: const normalizedTargetId = adapter.translateFilterValue(idProperty, effectiveBeforeId)
|
|
157
|
-
plugins/core/rest-api-positioning-plugin.js:534: : calculatePosition(items, effectiveBeforeId, idProperty, vars.positioning.field)
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
31 node:assert/strict
|
|
2
|
-
30 node:test
|
|
3
|
-
30 knex
|
|
4
|
-
30 ./helpers/test-utils.js
|
|
5
|
-
27 ./fixtures/api-configs.js
|
|
6
|
-
13 hooked-api
|
|
7
|
-
11 ../../../lib/rest-api-errors.js
|
|
8
|
-
10 ./common.js
|
|
9
|
-
7 ../../../../lib/rest-api-errors.js
|
|
10
|
-
5 ../lib/querying-writing/payload-validators.js
|
|
11
|
-
4 ../../lib/rest-api-errors.js
|
|
12
|
-
4 ../querying-writing/knex-constants.js
|
|
13
|
-
4 ../lib/writing/many-to-many-manipulations.js
|
|
14
|
-
4 ../plugins/core/rest-api-positioning-plugin.js
|
|
15
|
-
3 ../lib/querying-writing/connectors-query-parser.js
|
|
16
|
-
3 ../lib/querying-writing/simplified-helpers.js
|
|
17
|
-
3 ../lib/writing/relationship-processor.js
|
|
18
|
-
3 ./helpers/storage-mode.js
|
|
19
|
-
3 express
|
|
20
|
-
3 ../plugins/core/rest-api-plugin.js
|
|
21
|
-
3 ../plugins/core/rest-api-knex-plugin.js
|
|
22
|
-
2 ../../../lib/enhanced-logger.js
|
|
23
|
-
2 json-rest-schema
|
|
24
|
-
2 ../querying-writing/field-utils.js
|
|
25
|
-
2 ./lib/querying-writing/knex-constants.js
|
|
26
|
-
2 ./lib/storage/storage-adapter.js
|
|
27
|
-
2 ../lib/querying/url-helpers.js
|
|
28
|
-
2 ../lib/querying-writing/database-value-normalizers.js
|
|
29
|
-
2 ../lib/querying-writing/knex-field-helpers.js
|
|
30
|
-
2 ../lib/querying-writing/knex-constants.js
|
|
31
|
-
2 http
|
|
32
|
-
1 ./error-formatter.js
|
|
33
|
-
1 ./lib/request-helpers.js
|
|
34
|
-
1 stream
|
|
35
|
-
1 fs
|
|
36
|
-
1 path
|
|
37
|
-
1 ./schema-helpers.js
|
|
38
|
-
1 ../querying/knex-json-api-transformers-querying.js
|
|
39
|
-
1 ./knex-constants.js
|
|
40
|
-
1 ./url-helpers.js
|
|
41
|
-
1 ./knex-relationship-includes.js
|
|
42
|
-
1 ./knex-cross-table-search.js
|
|
43
|
-
1 ../querying-writing/knex-field-helpers.js
|
|
44
|
-
1 ./knex-json-api-transformers-querying.js
|
|
45
|
-
1 ./knex-window-queries.js
|
|
46
|
-
1 ../querying-writing/simplified-helpers.js
|
|
47
|
-
1 ./lib/dbTablesOperations.js
|
|
48
|
-
1 ./lib/querying-writing/knex-field-helpers.js
|
|
49
|
-
1 ./lib/querying-writing/field-utils.js
|
|
50
|
-
1 ./lib/querying/knex-query-helpers-base.js
|
|
51
|
-
1 ./lib/querying/knex-json-api-transformers-querying.js
|
|
52
|
-
1 ./lib/writing/knex-json-api-transformers-writing.js
|
|
53
|
-
1 ./lib/querying-writing/knex-json-api-transformers.js
|
|
54
|
-
1 ./lib/querying/knex-process-includes.js
|
|
55
|
-
1 ./lib/querying/knex-relationship-includes.js
|
|
56
|
-
1 ./lib/querying/knex-query-helpers.js
|
|
57
|
-
1 ./lib/querying-writing/database-capabilities.js
|
|
58
|
-
1 ./lib/querying/knex-pagination-helpers.js
|
|
59
|
-
1 ./lib/querying/url-helpers.js
|
|
60
|
-
1 ../lib/querying-writing/compile-schemas.js
|
|
61
|
-
1 ../lib/querying-writing/field-utils.js
|
|
62
|
-
1 ./lib/querying-writing/scope-validations.js
|
|
63
|
-
1 ./rest-api-plugin-hooks/compile-resource-schemas.js
|
|
64
|
-
1 ./rest-api-plugin-hooks/validate-include-configurations.js
|
|
65
|
-
1 ./rest-api-plugin-hooks/turn-scope-init-into-vars.js
|
|
66
|
-
1 ./rest-api-plugin-hooks/register-scope-routes.js
|
|
67
|
-
1 ./rest-api-plugin-hooks/register-relationship-routes.js
|
|
68
|
-
1 ./rest-api-plugin-methods/query.js
|
|
69
|
-
1 ./rest-api-plugin-methods/get.js
|
|
70
|
-
1 ./rest-api-plugin-methods/post.js
|
|
71
|
-
1 ./rest-api-plugin-methods/put.js
|
|
72
|
-
1 ./rest-api-plugin-methods/patch.js
|
|
73
|
-
1 ./rest-api-plugin-methods/delete.js
|
|
74
|
-
1 ./rest-api-plugin-methods/enrich-attributes.js
|
|
75
|
-
1 ./rest-api-plugin-methods/check-permissions.js
|
|
76
|
-
1 ./rest-api-plugin-methods/add-route.js
|
|
77
|
-
1 ./rest-api-plugin-methods/release.js
|
|
78
|
-
1 ./lib/querying-writing/default-data-helpers.js
|
|
79
|
-
1 ./rest-api-plugin-methods/get-related.js
|
|
80
|
-
1 ./rest-api-plugin-methods/post-relationship.js
|
|
81
|
-
1 ./rest-api-plugin-methods/get-relationship.js
|
|
82
|
-
1 ./rest-api-plugin-methods/patch-relationship.js
|
|
83
|
-
1 ./rest-api-plugin-methods/delete-relationship.js
|
|
84
|
-
1 ./lib/fractional-positioning.js
|
|
85
|
-
1 supertest
|
|
86
|
-
1 ../plugins/core/rest-api-cors-plugin.js
|
|
87
|
-
1 child_process
|
|
88
|
-
1 ../../index.js
|
|
89
|
-
1 ../../plugins/core/rest-api-access.js
|
|
90
|
-
1 ../../plugins/core/connectors/express-plugin.js
|
|
91
|
-
1 ../../plugins/core/lib/anyapi/schema-utils.js
|
|
92
|
-
1 ../helpers/storage-mode.js
|
|
93
|
-
1 ./storage-mode.js
|
|
94
|
-
1 ../plugins/core/lib/fractional-positioning.js
|
|
95
|
-
1 socket.io-client
|
|
96
|
-
1 jose
|