json-rest-api 1.0.20 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/audit/00-charter.md +103 -0
  2. package/audit/01-scope-map.md +84 -0
  3. package/audit/02-coverage-matrix.csv +174 -0
  4. package/audit/03-invariants.md +123 -0
  5. package/audit/04-standards-rubric.md +56 -0
  6. package/audit/05-competitor-rubric.md +77 -0
  7. package/audit/06-findings.md +160 -0
  8. package/audit/07-risk-register.csv +10 -0
  9. package/audit/08-remediation-roadmap.md +177 -0
  10. package/audit/09-signoff-check.md +23 -0
  11. package/audit/10-final-synthesis.md +29 -0
  12. package/audit/evidence/code/all-files-json-rest-api.txt +168 -0
  13. package/audit/evidence/code/all-files-json-rest-schema.txt +12 -0
  14. package/audit/evidence/code/boundary-leak-checks.txt +72 -0
  15. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__bulk-operations-plugin.js.txt +480 -0
  16. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__connectors__express-plugin.js.txt +532 -0
  17. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__connectors__lib__busboy-detector.js.txt +175 -0
  18. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__connectors__lib__formidable-detector.js.txt +138 -0
  19. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__connectors__lib__request-helpers.js.txt +222 -0
  20. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__file-handling-plugin.js.txt +342 -0
  21. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__dbTablesOperations.js.txt +304 -0
  22. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__fractional-positioning.js.txt +188 -0
  23. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__compile-schemas.js.txt +336 -0
  24. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__connectors-query-parser.js.txt +165 -0
  25. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__database-capabilities.js.txt +265 -0
  26. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__database-value-normalizers.js.txt +369 -0
  27. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__default-data-helpers.js.txt +72 -0
  28. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__field-utils.js.txt +139 -0
  29. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__knex-constants.js.txt +45 -0
  30. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__knex-field-helpers.js.txt +396 -0
  31. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__knex-json-api-transformers.js.txt +162 -0
  32. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__payload-validators.js.txt +1314 -0
  33. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__schema-helpers.js.txt +488 -0
  34. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__scope-validations.js.txt +484 -0
  35. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying-writing__simplified-helpers.js.txt +857 -0
  36. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-cross-table-search.js.txt +565 -0
  37. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-json-api-transformers-querying.js.txt +485 -0
  38. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-pagination-helpers.js.txt +560 -0
  39. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-process-includes.js.txt +167 -0
  40. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-query-helpers-base.js.txt +109 -0
  41. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-query-helpers.js.txt +1064 -0
  42. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-relationship-includes.js.txt +1983 -0
  43. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__knex-window-queries.js.txt +328 -0
  44. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__querying__url-helpers.js.txt +119 -0
  45. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__storage__storage-adapter.js.txt +160 -0
  46. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__writing__many-to-many-manipulations.js.txt +300 -0
  47. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__lib__writing__relationship-processor.js.txt +245 -0
  48. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-access.js.txt +459 -0
  49. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-cors-plugin.js.txt +237 -0
  50. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-knex-plugin.js.txt +1135 -0
  51. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-multihome-plugin.js.txt +314 -0
  52. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-hooks__compile-resource-schemas.js.txt +7 -0
  53. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-hooks__register-relationship-routes.js.txt +71 -0
  54. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-hooks__register-scope-routes.js.txt +102 -0
  55. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-hooks__turn-scope-init-into-vars.js.txt +49 -0
  56. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-hooks__validate-include-configurations.js.txt +39 -0
  57. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__add-route.js.txt +23 -0
  58. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__check-permissions.js.txt +13 -0
  59. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__common.js.txt +639 -0
  60. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__delete-relationship.js.txt +117 -0
  61. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__delete.js.txt +104 -0
  62. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__enrich-attributes.js.txt +199 -0
  63. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__get-related.js.txt +353 -0
  64. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__get-relationship.js.txt +61 -0
  65. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__get.js.txt +184 -0
  66. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__patch-relationship.js.txt +55 -0
  67. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__patch.js.txt +191 -0
  68. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__post-relationship.js.txt +110 -0
  69. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__post.js.txt +168 -0
  70. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__put.js.txt +253 -0
  71. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__query.js.txt +207 -0
  72. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin-methods__release.js.txt +12 -0
  73. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-plugin.js.txt +165 -0
  74. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__rest-api-positioning-plugin.js.txt +668 -0
  75. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__core__socketio-plugin.js.txt +621 -0
  76. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__storage__local-storage.js.txt +218 -0
  77. package/audit/evidence/code/critical-pass1/json-rest-api__plugins__storage__s3-storage.js.txt +124 -0
  78. package/audit/evidence/code/critical-pass1/json-rest-schema__src__CorePlugin.js.txt +269 -0
  79. package/audit/evidence/code/critical-pass1/json-rest-schema__src__Schema.js.txt +242 -0
  80. package/audit/evidence/code/critical-pass1/json-rest-schema__src__index.js.txt +77 -0
  81. package/audit/evidence/code/critical-pass1-risk-keywords.txt +238 -0
  82. package/audit/evidence/code/critical-pass1-summary.csv +67 -0
  83. package/audit/evidence/code/critical-pass2-summary.csv +67 -0
  84. package/audit/evidence/code/early-silent-zones-no-test-token.txt +57 -0
  85. package/audit/evidence/code/error-model-signals.txt +98 -0
  86. package/audit/evidence/code/git-files-json-rest-api.txt +171 -0
  87. package/audit/evidence/code/git-files-json-rest-schema.txt +27 -0
  88. package/audit/evidence/code/hook-flow-signals.txt +282 -0
  89. package/audit/evidence/code/idproperty-signals.txt +157 -0
  90. package/audit/evidence/code/import-cycles-non-anyapi.txt +3 -0
  91. package/audit/evidence/code/import-hotspots-non-anyapi.txt +96 -0
  92. package/audit/evidence/code/imports-json-rest-api.txt +354 -0
  93. package/audit/evidence/code/imports-json-rest-schema.txt +15 -0
  94. package/audit/evidence/code/in-scope-files-json-rest-api.txt +160 -0
  95. package/audit/evidence/code/in-scope-files-json-rest-schema.txt +13 -0
  96. package/audit/evidence/code/non-anyapi-core-files.txt +101 -0
  97. package/audit/evidence/code/permission-signals.txt +193 -0
  98. package/audit/evidence/code/query-include-signals.txt +687 -0
  99. package/audit/evidence/code/transaction-signals.txt +28 -0
  100. package/audit/evidence/code/validation-signals.txt +650 -0
  101. package/audit/evidence/code/write-path-signals.txt +61 -0
  102. package/audit/evidence/docs/docs-claims-signals.txt +1075 -0
  103. package/audit/evidence/docs/schema-docs-claims-signals.txt +179 -0
  104. package/audit/evidence/external/corpus-freeze.md +21 -0
  105. package/audit/evidence/external/npm-competitor-metadata.txt +70 -0
  106. package/audit/evidence/external/npm-download-signals.txt +23 -0
  107. package/audit/evidence/external/npm-jsonapi-server.txt +8 -0
  108. package/audit/evidence/external/npm-modern-jsonapi-metadata.txt +38 -0
  109. package/audit/evidence/external/readme-fortune-signals.txt +26 -0
  110. package/audit/evidence/external/readme-fortune.md +165 -0
  111. package/audit/evidence/external/readme-json-api-serializer-signals.txt +80 -0
  112. package/audit/evidence/external/readme-json-api-serializer.md +690 -0
  113. package/audit/evidence/external/readme-jsonapi-serde-server-signals.txt +0 -0
  114. package/audit/evidence/external/readme-jsonapi-serde-server.md +22 -0
  115. package/audit/evidence/external/readme-jsonapi-serializer-signals.txt +63 -0
  116. package/audit/evidence/external/readme-jsonapi-serializer.md +315 -0
  117. package/audit/evidence/external/readme-jsonapi-server-signals.txt +19 -0
  118. package/audit/evidence/external/readme-jsonapi-server.md +104 -0
  119. package/audit/evidence/external/readme-nestjs-json-api-signals.txt +4 -0
  120. package/audit/evidence/external/readme-nestjs-json-api.md +94 -0
  121. package/audit/evidence/external/readme-yaser-json-api-nestjs-signals.txt +47 -0
  122. package/audit/evidence/external/readme-yaser-json-api-nestjs.md +447 -0
  123. package/audit/evidence/external/standard-jsonapi-snippets.txt +84 -0
  124. package/audit/evidence/external/standard-rfc-snippets.txt +168 -0
  125. package/audit/evidence/external/standards-sources.txt +6 -0
  126. package/audit/evidence/runtime/baseline-commits.txt +2 -0
  127. package/audit/evidence/runtime/db-adapter-assumptions.txt +3 -0
  128. package/audit/evidence/runtime/environment.txt +4 -0
  129. package/audit/evidence/runtime/invariant-runtime-mapping.md +38 -0
  130. package/audit/evidence/runtime/probe-patch-relationship-error.exitcode +1 -0
  131. package/audit/evidence/runtime/probe-patch-relationship-error.log +76 -0
  132. package/audit/evidence/runtime/probe-patch-relationship-error.mjs +67 -0
  133. package/audit/evidence/runtime/probe-patch-relationship-referenceerror.exitcode +1 -0
  134. package/audit/evidence/runtime/probe-patch-relationship-referenceerror.log +62 -0
  135. package/audit/evidence/runtime/probe-patch-relationship-referenceerror.mjs +47 -0
  136. package/audit/evidence/runtime/test-exitcodes.txt +4 -0
  137. package/audit/evidence/runtime/test-summary.md +107 -0
  138. package/audit/evidence/runtime/trace-anchors.txt +61 -0
  139. package/audit/evidence/tests/access-multitenancy-test-signals.txt +125 -0
  140. package/audit/evidence/tests/failing-tests-summary.txt +25 -0
  141. package/audit/evidence/tests/npm-test-json-rest-api.exitcode +1 -0
  142. package/audit/evidence/tests/npm-test-json-rest-api.log +5885 -0
  143. package/audit/evidence/tests/npm-test-json-rest-schema.exitcode +1 -0
  144. package/audit/evidence/tests/npm-test-json-rest-schema.log +356 -0
  145. package/audit/evidence/tests/query-include-test-signals.txt +948 -0
  146. package/audit/evidence/tests/relationship-test-signals.txt +223 -0
  147. package/audit/evidence/tests/skipped-tests.txt +10 -0
  148. package/audit/evidence/tests/test-suite-list-non-anyapi.txt +30 -0
  149. package/audit/evidence/tests/test-suite-list.txt +32 -0
  150. package/audit/subsystems/docs-drift.md +49 -0
  151. package/audit/subsystems/pass2-cross-review.md +131 -0
  152. package/audit/subsystems/plugins-access.md +51 -0
  153. package/audit/subsystems/plugins-bulk.md +50 -0
  154. package/audit/subsystems/plugins-cors.md +48 -0
  155. package/audit/subsystems/plugins-file.md +53 -0
  156. package/audit/subsystems/plugins-multihome.md +50 -0
  157. package/audit/subsystems/plugins-positioning.md +54 -0
  158. package/audit/subsystems/plugins-socketio.md +50 -0
  159. package/audit/subsystems/query-engine.md +61 -0
  160. package/audit/subsystems/relationships.md +55 -0
  161. package/audit/subsystems/rest-orchestration.md +66 -0
  162. package/audit/subsystems/schema-core.md +64 -0
  163. package/audit/subsystems/storage-knex.md +57 -0
  164. package/audit/subsystems/tests.md +48 -0
  165. package/audit/subsystems/transport-express.md +55 -0
  166. package/audit/traces/trace-read-get.md +22 -0
  167. package/audit/traces/trace-read-query.md +25 -0
  168. package/audit/traces/trace-relationship-endpoints.md +31 -0
  169. package/audit/traces/trace-write-delete.md +17 -0
  170. package/audit/traces/trace-write-patch.md +26 -0
  171. package/audit/traces/trace-write-post.md +22 -0
  172. package/audit/traces/trace-write-put.md +23 -0
  173. package/package.json +5 -5
@@ -0,0 +1,354 @@
1
+ lib/enhanced-logger.js:import { formatError, formatErrorSummary, formatErrorString } from './error-formatter.js'
2
+ plugins/core/bulk-operations-plugin.js:import { RestApiValidationError, RestApiResourceError } from '../../lib/rest-api-errors.js'
3
+ lib/rest-api-errors.js:import { HookedApiError } from 'hooked-api'
4
+ plugins/core/rest-api-plugin-methods/query.js:import { RestApiValidationError } from '../../../lib/rest-api-errors.js'
5
+ plugins/core/rest-api-plugin-methods/query.js:import { validateQueryPayload } from '../lib/querying-writing/payload-validators.js'
6
+ plugins/core/rest-api-plugin-methods/query.js:import { normalizeRecordAttributes } from '../lib/querying-writing/database-value-normalizers.js'
7
+ plugins/core/rest-api-plugin-methods/query.js:import { getRequestedComputedFields } from '../lib/querying-writing/knex-field-helpers.js'
8
+ plugins/core/rest-api-plugin-methods/query.js:import { transformJsonApiToSimplified } from '../lib/querying-writing/simplified-helpers.js'
9
+ plugins/core/rest-api-plugin-methods/query.js:import { cascadeConfig } from './common.js'
10
+ plugins/core/rest-api-plugin-methods/get-relationship.js:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
11
+ plugins/core/rest-api-plugin-methods/get-relationship.js:import { findRelationshipDefinition } from './common.js'
12
+ plugins/core/rest-api-plugin-methods/get-relationship.js:import { buildRelationshipUrl } from '../lib/querying/url-helpers.js'
13
+ plugins/core/rest-api-plugin-methods/enrich-attributes.js:import { filterHiddenFields } from '../lib/querying-writing/field-utils.js'
14
+ plugins/core/rest-api-plugin-methods/get-related.js:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
15
+ plugins/core/rest-api-plugin-methods/get-related.js:import { findRelationshipDefinition } from './common.js'
16
+ plugins/core/rest-api-plugin-methods/get-related.js:import { buildRelationshipUrl } from '../lib/querying/url-helpers.js'
17
+ plugins/core/rest-api-plugin-methods/delete-relationship.js:import { RestApiResourceError, RestApiValidationError, RestApiPayloadError } from '../../../lib/rest-api-errors.js'
18
+ plugins/core/rest-api-plugin-methods/delete-relationship.js:import { findRelationshipDefinition, handleWriteMethodError } from './common.js'
19
+ plugins/core/rest-api-plugin-methods/common.js:import {
20
+ plugins/core/rest-api-plugin-methods/common.js:import { transformSimplifiedToJsonApi } from '../lib/querying-writing/simplified-helpers.js'
21
+ plugins/core/rest-api-plugin-methods/common.js:import { createEnhancedLogger } from '../../../lib/enhanced-logger.js'
22
+ plugins/core/rest-api-plugin-methods/patch.js:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
23
+ plugins/core/rest-api-plugin-methods/patch.js:import { validatePatchPayload } from '../lib/querying-writing/payload-validators.js'
24
+ plugins/core/rest-api-plugin-methods/patch.js:import { processRelationships } from '../lib/writing/relationship-processor.js'
25
+ plugins/core/rest-api-plugin-methods/patch.js:import { updateManyToManyRelationship } from '../lib/writing/many-to-many-manipulations.js'
26
+ plugins/core/rest-api-plugin-methods/patch.js:import { ERROR_SUBTYPES } from '../lib/querying-writing/knex-constants.js'
27
+ plugins/core/rest-api-plugin-methods/patch.js:import {
28
+ plugins/core/rest-api-plugin-methods/post-relationship.js:import { RestApiResourceError, RestApiValidationError, RestApiPayloadError } from '../../../lib/rest-api-errors.js'
29
+ plugins/core/rest-api-plugin-methods/post-relationship.js:import { findRelationshipDefinition, handleWriteMethodError } from './common.js'
30
+ plugins/core/rest-api-plugin-methods/post-relationship.js:import { createPivotRecords } from '../lib/writing/many-to-many-manipulations.js'
31
+ plugins/core/rest-api-plugin-methods/get.js:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
32
+ plugins/core/rest-api-plugin-methods/get.js:import { validateGetPayload } from '../lib/querying-writing/payload-validators.js'
33
+ plugins/core/rest-api-plugin-methods/get.js:import { normalizeRecordAttributes } from '../lib/querying-writing/database-value-normalizers.js'
34
+ plugins/core/rest-api-plugin-methods/get.js:import { getRequestedComputedFields } from '../lib/querying-writing/knex-field-helpers.js'
35
+ plugins/core/rest-api-plugin-methods/get.js:import { transformJsonApiToSimplified } from '../lib/querying-writing/simplified-helpers.js'
36
+ plugins/core/rest-api-plugin-methods/get.js:import { cascadeConfig } from './common.js'
37
+ plugins/core/rest-api-plugin-methods/add-route.js:import { ValidationError } from 'hooked-api'
38
+ plugins/core/rest-api-plugin-methods/release.js:import { ValidationError } from 'hooked-api'
39
+ plugins/core/rest-api-plugin-methods/put.js:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
40
+ plugins/core/rest-api-plugin-methods/put.js:import { validatePutPayload } from '../lib/querying-writing/payload-validators.js'
41
+ plugins/core/rest-api-plugin-methods/put.js:import { processRelationships } from '../lib/writing/relationship-processor.js'
42
+ plugins/core/rest-api-plugin-methods/put.js:import { updateManyToManyRelationship, createPivotRecords } from '../lib/writing/many-to-many-manipulations.js'
43
+ plugins/core/rest-api-plugin-methods/put.js:import { ERROR_SUBTYPES } from '../lib/querying-writing/knex-constants.js'
44
+ plugins/core/rest-api-plugin-methods/put.js:import {
45
+ plugins/core/rest-api-plugin-methods/post.js:import { validatePostPayload } from '../lib/querying-writing/payload-validators.js'
46
+ plugins/core/rest-api-plugin-methods/post.js:import { processRelationships } from '../lib/writing/relationship-processor.js'
47
+ plugins/core/rest-api-plugin-methods/post.js:import { createPivotRecords } from '../lib/writing/many-to-many-manipulations.js'
48
+ plugins/core/rest-api-plugin-methods/post.js:import {
49
+ plugins/core/rest-api-plugin-methods/delete.js:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
50
+ plugins/core/rest-api-plugin-methods/delete.js:import { handleWriteMethodError } from './common.js'
51
+ plugins/core/rest-api-positioning-plugin.js:import {
52
+ plugins/core/rest-api-positioning-plugin.js:import { createStorageAdapter } from './lib/storage/storage-adapter.js'
53
+ quickTest.js:import { RestApiPlugin, RestApiKnexPlugin, ExpressPlugin } from './index.js' // Added: ExpressPlugin
54
+ quickTest.js:import { Api } from 'hooked-api'
55
+ quickTest.js:import knexLib from 'knex'
56
+ quickTest.js:import util from 'util'
57
+ quickTest.js:import express from 'express' // Added: Express
58
+ plugins/core/rest-api-plugin.js:import { validateRelationships } from './lib/querying-writing/scope-validations.js'
59
+ plugins/core/rest-api-plugin.js:import compileResourceSchemas from './rest-api-plugin-hooks/compile-resource-schemas.js'
60
+ plugins/core/rest-api-plugin.js:import validateIncludeConfigurations from './rest-api-plugin-hooks/validate-include-configurations.js'
61
+ plugins/core/rest-api-plugin.js:import turnScopeInitIntoVars from './rest-api-plugin-hooks/turn-scope-init-into-vars.js'
62
+ plugins/core/rest-api-plugin.js:import registerScopeRoutes from './rest-api-plugin-hooks/register-scope-routes.js'
63
+ plugins/core/rest-api-plugin.js:import registerRelationshipRoutes from './rest-api-plugin-hooks/register-relationship-routes.js'
64
+ plugins/core/rest-api-plugin.js:import queryMethod from './rest-api-plugin-methods/query.js'
65
+ plugins/core/rest-api-plugin.js:import getMethod from './rest-api-plugin-methods/get.js'
66
+ plugins/core/rest-api-plugin.js:import postMethod from './rest-api-plugin-methods/post.js'
67
+ plugins/core/rest-api-plugin.js:import putMethod from './rest-api-plugin-methods/put.js'
68
+ plugins/core/rest-api-plugin.js:import patchMethod from './rest-api-plugin-methods/patch.js'
69
+ plugins/core/rest-api-plugin.js:import deleteMethod from './rest-api-plugin-methods/delete.js'
70
+ plugins/core/rest-api-plugin.js:import enrichAttributesMethod from './rest-api-plugin-methods/enrich-attributes.js'
71
+ plugins/core/rest-api-plugin.js:import checkPermissionsMethod from './rest-api-plugin-methods/check-permissions.js'
72
+ plugins/core/rest-api-plugin.js:import addRouteMethod from './rest-api-plugin-methods/add-route.js'
73
+ plugins/core/rest-api-plugin.js:import releaseMethod from './rest-api-plugin-methods/release.js'
74
+ plugins/core/rest-api-plugin.js:import { defaultDataHelpers } from './lib/querying-writing/default-data-helpers.js'
75
+ plugins/core/rest-api-plugin.js:import { DEFAULT_QUERY_LIMIT, DEFAULT_MAX_QUERY_LIMIT, DEFAULT_INCLUDE_DEPTH_LIMIT } from './lib/querying-writing/knex-constants.js'
76
+ plugins/core/rest-api-plugin.js:import getRelatedMethod from './rest-api-plugin-methods/get-related.js'
77
+ plugins/core/rest-api-plugin.js:import postRelationshipMethod from './rest-api-plugin-methods/post-relationship.js'
78
+ plugins/core/rest-api-plugin.js:import getRelationshipMethod from './rest-api-plugin-methods/get-relationship.js'
79
+ plugins/core/rest-api-plugin.js:import patchRelationshipMethod from './rest-api-plugin-methods/patch-relationship.js'
80
+ plugins/core/rest-api-plugin.js:import deleteRelationshipMethod from './rest-api-plugin-methods/delete-relationship.js'
81
+ plugins/core/socketio-plugin.js:import { requirePackage } from 'hooked-api'
82
+ plugins/core/file-handling-plugin.js:import { RestApiValidationError } from '../../lib/rest-api-errors.js'
83
+ tests/positioning-advanced.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
84
+ tests/positioning-advanced.test.js:import assert from 'node:assert/strict'
85
+ tests/positioning-advanced.test.js:import knexLib from 'knex'
86
+ tests/positioning-advanced.test.js:import { cleanTables } from './helpers/test-utils.js'
87
+ tests/positioning-advanced.test.js:import { createPositioningApi } from './fixtures/api-configs.js'
88
+ tests/positioning-advanced.test.js:import { PositioningPlugin } from '../plugins/core/rest-api-positioning-plugin.js'
89
+ tests/positioning-advanced.test.js:import { rebalancePositions, isValidPosition, getUnpositionedItems, assignInitialPositions } from '../plugins/core/lib/fractional-positioning.js'
90
+ plugins/core/connectors/express-plugin.js:import { requirePackage } from 'hooked-api'
91
+ plugins/core/connectors/express-plugin.js:import { parseJsonApiQuery } from '../lib/querying-writing/connectors-query-parser.js'
92
+ plugins/core/connectors/express-plugin.js:import { createContext } from './lib/request-helpers.js'
93
+ plugins/core/connectors/express-plugin.js:import { createEnhancedLogger } from '../../../lib/enhanced-logger.js'
94
+ tests/searchschema-merge.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
95
+ tests/searchschema-merge.test.js:import assert from 'node:assert/strict'
96
+ tests/searchschema-merge.test.js:import knexLib from 'knex'
97
+ tests/searchschema-merge.test.js:import {
98
+ tests/searchschema-merge.test.js:import { createSearchSchemaMergeApi } from './fixtures/api-configs.js'
99
+ tests/bulk-operations.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
100
+ tests/bulk-operations.test.js:import assert from 'node:assert/strict'
101
+ tests/bulk-operations.test.js:import knexLib from 'knex'
102
+ tests/bulk-operations.test.js:import { createBulkOperationsApi } from './fixtures/api-configs.js'
103
+ tests/bulk-operations.test.js:import {
104
+ tests/helpers/test-utils.js:import assert from 'node:assert/strict'
105
+ tests/helpers/test-utils.js:import { storageMode } from './storage-mode.js'
106
+ plugins/core/connectors/lib/formidable-detector.js:import { requirePackage } from 'hooked-api'
107
+ plugins/core/connectors/lib/formidable-detector.js:import { promises as fs } from 'fs'
108
+ plugins/core/connectors/lib/formidable-detector.js:import path from 'path'
109
+ tests/rest-api-access.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
110
+ tests/rest-api-access.test.js:import assert from 'node:assert/strict'
111
+ tests/rest-api-access.test.js:import knexLib from 'knex'
112
+ tests/rest-api-access.test.js:import {
113
+ tests/rest-api-access.test.js:import { createAccessControlApi } from './fixtures/api-configs.js'
114
+ tests/custom-idproperty-relationships.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
115
+ tests/custom-idproperty-relationships.test.js:import assert from 'node:assert/strict'
116
+ tests/custom-idproperty-relationships.test.js:import knexLib from 'knex'
117
+ tests/custom-idproperty-relationships.test.js:import { createCustomIdPropertyApi } from './fixtures/api-configs.js'
118
+ tests/custom-idproperty-relationships.test.js:import {
119
+ tests/custom-idproperty-relationships.test.js:import { storageMode } from './helpers/storage-mode.js'
120
+ plugins/core/connectors/lib/busboy-detector.js:import { requirePackage } from 'hooked-api'
121
+ plugins/core/connectors/lib/busboy-detector.js:import { Readable } from 'stream'
122
+ tests/queries.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
123
+ tests/queries.test.js:import assert from 'node:assert/strict'
124
+ tests/queries.test.js:import knexLib from 'knex'
125
+ tests/queries.test.js:import { createBasicApi, createExtendedApi } from './fixtures/api-configs.js'
126
+ tests/queries.test.js:import {
127
+ plugins/core/lib/fractional-positioning.js:import { requirePackage } from 'hooked-api'
128
+ tests/field-getters.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
129
+ tests/field-getters.test.js:import assert from 'node:assert/strict'
130
+ tests/field-getters.test.js:import knexLib from 'knex'
131
+ tests/field-getters.test.js:import { createFieldGettersApi } from './fixtures/api-configs.js'
132
+ tests/field-getters.test.js:import { cleanTables } from './helpers/test-utils.js'
133
+ tests/field-getters.test.js:import { storageMode } from './helpers/storage-mode.js'
134
+ plugins/core/lib/querying/knex-json-api-transformers-querying.js:import { getForeignKeyFields as getForeignKeyFieldsFromUtils } from '../querying-writing/field-utils.js'
135
+ plugins/core/lib/querying/knex-json-api-transformers-querying.js:import { RELATIONSHIPS_KEY, RELATIONSHIP_METADATA_KEY, ROW_NUMBER_KEY, COMPUTED_DEPENDENCIES_KEY, getSchemaStructure } from '../querying-writing/knex-constants.js'
136
+ plugins/core/lib/querying/knex-json-api-transformers-querying.js:import { getUrlPrefix, buildResourceUrl, buildRelationshipUrl } from './url-helpers.js'
137
+ tests/pagination-cursor-multifield.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
138
+ tests/pagination-cursor-multifield.test.js:import assert from 'node:assert/strict'
139
+ tests/pagination-cursor-multifield.test.js:import knexLib from 'knex'
140
+ tests/pagination-cursor-multifield.test.js:import {
141
+ tests/pagination-cursor-multifield.test.js:import { createCursorPaginationApi } from './fixtures/api-configs.js'
142
+ plugins/core/lib/querying/knex-query-helpers.js:import { analyzeRequiredIndexes, buildJoinChain } from './knex-cross-table-search.js'
143
+ tests/field-setters.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
144
+ tests/field-setters.test.js:import assert from 'node:assert/strict'
145
+ tests/field-setters.test.js:import knexLib from 'knex'
146
+ tests/field-setters.test.js:import { createFieldSettersApi } from './fixtures/api-configs.js'
147
+ tests/field-setters.test.js:import { cleanTables } from './helpers/test-utils.js'
148
+ plugins/core/lib/querying/knex-relationship-includes.js:import { buildFieldSelection } from '../querying-writing/knex-field-helpers.js'
149
+ plugins/core/lib/querying/knex-relationship-includes.js:import { getForeignKeyFields } from '../querying-writing/field-utils.js'
150
+ plugins/core/lib/querying/knex-relationship-includes.js:import { toJsonApiRecord } from './knex-json-api-transformers-querying.js'
151
+ plugins/core/lib/querying/knex-relationship-includes.js:import { buildWindowedIncludeQuery, applyStandardIncludeConfig, buildOrderByClause } from './knex-window-queries.js'
152
+ plugins/core/lib/querying/knex-relationship-includes.js:import { RELATIONSHIPS_KEY, RELATIONSHIP_METADATA_KEY, ROW_NUMBER_KEY, COMPUTED_DEPENDENCIES_KEY, DEFAULT_QUERY_LIMIT } from '../querying-writing/knex-constants.js'
153
+ plugins/core/lib/querying/knex-relationship-includes.js:import { RestApiResourceError } from '../../../../lib/rest-api-errors.js'
154
+ tests/positioning-multifilter.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
155
+ tests/positioning-multifilter.test.js:import assert from 'node:assert/strict'
156
+ tests/positioning-multifilter.test.js:import knexLib from 'knex'
157
+ tests/positioning-multifilter.test.js:import { cleanTables } from './helpers/test-utils.js'
158
+ tests/positioning-multifilter.test.js:import { createPositioningApi } from './fixtures/api-configs.js'
159
+ tests/positioning-multifilter.test.js:import { PositioningPlugin } from '../plugins/core/rest-api-positioning-plugin.js'
160
+ plugins/core/lib/querying/knex-process-includes.js:import { buildIncludedResources } from './knex-relationship-includes.js'
161
+ tests/polymorphic-relationships.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
162
+ tests/polymorphic-relationships.test.js:import assert from 'node:assert/strict'
163
+ tests/polymorphic-relationships.test.js:import knexLib from 'knex'
164
+ tests/polymorphic-relationships.test.js:import { createExtendedApi } from './fixtures/api-configs.js'
165
+ tests/polymorphic-relationships.test.js:import {
166
+ tests/nested-includes.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
167
+ tests/nested-includes.test.js:import assert from 'node:assert/strict'
168
+ tests/nested-includes.test.js:import knexLib from 'knex'
169
+ tests/nested-includes.test.js:import { Api } from 'hooked-api'
170
+ tests/nested-includes.test.js:import { RestApiPlugin } from '../plugins/core/rest-api-plugin.js'
171
+ tests/nested-includes.test.js:import { RestApiKnexPlugin } from '../plugins/core/rest-api-knex-plugin.js'
172
+ tests/nested-includes.test.js:import {
173
+ plugins/core/lib/querying/knex-window-queries.js:import { RestApiResourceError } from '../../../../lib/rest-api-errors.js'
174
+ plugins/core/lib/querying/knex-window-queries.js:import { ROW_NUMBER_KEY, DEFAULT_QUERY_LIMIT, DEFAULT_MAX_QUERY_LIMIT, DEFAULT_MAX_INCLUDE_LIMIT } from '../querying-writing/knex-constants.js'
175
+ tests/relationship-endpoints.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
176
+ tests/relationship-endpoints.test.js:import assert from 'node:assert/strict'
177
+ tests/relationship-endpoints.test.js:import knexLib from 'knex'
178
+ tests/relationship-endpoints.test.js:import {
179
+ tests/relationship-endpoints.test.js:import { createBasicApi } from './fixtures/api-configs.js'
180
+ tests/socketio.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
181
+ tests/socketio.test.js:import assert from 'node:assert/strict'
182
+ tests/socketio.test.js:import knexLib from 'knex'
183
+ tests/socketio.test.js:import { io as ioClient } from 'socket.io-client'
184
+ tests/socketio.test.js:import { SignJWT } from 'jose'
185
+ tests/socketio.test.js:import {
186
+ tests/socketio.test.js:import { createWebSocketApi } from './fixtures/api-configs.js'
187
+ tests/fixtures/api-configs.js:import { Api } from 'hooked-api'
188
+ tests/fixtures/api-configs.js:import { RestApiPlugin, RestApiKnexPlugin, RestApiAnyapiKnexPlugin } from '../../index.js'
189
+ tests/fixtures/api-configs.js:import { AccessPlugin } from '../../plugins/core/rest-api-access.js'
190
+ tests/fixtures/api-configs.js:import { ExpressPlugin } from '../../plugins/core/connectors/express-plugin.js'
191
+ tests/fixtures/api-configs.js:import express from 'express'
192
+ tests/fixtures/api-configs.js:import { createServer } from 'http'
193
+ tests/fixtures/api-configs.js:import { ensureAnyApiSchema } from '../../plugins/core/lib/anyapi/schema-utils.js'
194
+ tests/fixtures/api-configs.js:import { storageMode } from '../helpers/storage-mode.js'
195
+ plugins/core/lib/writing/many-to-many-manipulations.js:import { RestApiResourceError } from '../../../../lib/rest-api-errors.js'
196
+ plugins/core/lib/writing/many-to-many-manipulations.js:import { transformSimplifiedToJsonApi } from '../querying-writing/simplified-helpers.js'
197
+ plugins/core/rest-api-plugin-hooks/compile-resource-schemas.js:import { compileSchemas } from '../lib/querying-writing/compile-schemas.js'
198
+ plugins/core/lib/writing/relationship-processor.js:import { RestApiValidationError } from '../../../../lib/rest-api-errors.js'
199
+ plugins/core/rest-api-plugin-hooks/register-relationship-routes.js:import { parseJsonApiQuery } from '../lib/querying-writing/connectors-query-parser.js'
200
+ tests/query-limits.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
201
+ tests/query-limits.test.js:import assert from 'node:assert/strict'
202
+ tests/query-limits.test.js:import knexLib from 'knex'
203
+ tests/query-limits.test.js:import { Api } from 'hooked-api'
204
+ tests/query-limits.test.js:import { RestApiPlugin } from '../plugins/core/rest-api-plugin.js'
205
+ tests/query-limits.test.js:import { RestApiKnexPlugin } from '../plugins/core/rest-api-knex-plugin.js'
206
+ tests/query-limits.test.js:import {
207
+ plugins/storage/s3-storage.js:import crypto from 'crypto'
208
+ plugins/storage/s3-storage.js:import path from 'path'
209
+ plugins/core/rest-api-plugin-hooks/register-scope-routes.js:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
210
+ plugins/core/rest-api-plugin-hooks/register-scope-routes.js:import { parseJsonApiQuery } from '../lib/querying-writing/connectors-query-parser.js'
211
+ plugins/core/lib/writing/knex-json-api-transformers-writing.js:import { getSchemaStructure } from '../querying-writing/knex-constants.js'
212
+ plugins/storage/local-storage.js:import { promises as fs } from 'fs'
213
+ plugins/storage/local-storage.js:import path from 'path'
214
+ plugins/storage/local-storage.js:import crypto from 'crypto'
215
+ plugins/core/rest-api-anyapi-knex-plugin.js:import { ensureAnyApiSchema } from './lib/anyapi/schema-utils.js'
216
+ plugins/core/rest-api-anyapi-knex-plugin.js:import { AnyapiRegistry } from './lib/anyapi/anyapi-registry.js'
217
+ plugins/core/rest-api-anyapi-knex-plugin.js:import { RestApiValidationError } from '../../lib/rest-api-errors.js'
218
+ plugins/core/rest-api-anyapi-knex-plugin.js:import { createSchema } from 'json-rest-schema'
219
+ plugins/core/rest-api-anyapi-knex-plugin.js:import {
220
+ plugins/core/rest-api-anyapi-knex-plugin.js:import {
221
+ plugins/core/rest-api-anyapi-knex-plugin.js:import { getUrlPrefix, buildResourceUrl } from './lib/querying/url-helpers.js'
222
+ plugins/core/rest-api-anyapi-knex-plugin.js:import {
223
+ plugins/core/rest-api-anyapi-knex-plugin.js:import {
224
+ plugins/core/rest-api-anyapi-knex-plugin.js:import {
225
+ plugins/core/rest-api-anyapi-knex-plugin.js:import { buildFieldSelection } from './lib/querying-writing/knex-field-helpers.js'
226
+ plugins/core/rest-api-anyapi-knex-plugin.js:import {
227
+ plugins/core/rest-api-anyapi-knex-plugin.js:import { createStorageAdapter } from './lib/storage/storage-adapter.js'
228
+ tests/positioning-extended.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
229
+ tests/positioning-extended.test.js:import assert from 'node:assert/strict'
230
+ tests/positioning-extended.test.js:import knexLib from 'knex'
231
+ tests/positioning-extended.test.js:import { cleanTables } from './helpers/test-utils.js'
232
+ tests/positioning-extended.test.js:import { createPositioningApi } from './fixtures/api-configs.js'
233
+ tests/positioning-extended.test.js:import { PositioningPlugin } from '../plugins/core/rest-api-positioning-plugin.js'
234
+ tests/relationships.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
235
+ tests/relationships.test.js:import assert from 'node:assert/strict'
236
+ tests/relationships.test.js:import knexLib from 'knex'
237
+ tests/relationships.test.js:import { createBasicApi, createExtendedApi } from './fixtures/api-configs.js'
238
+ tests/relationships.test.js:import {
239
+ plugins/core/lib/querying-writing/knex-json-api-transformers.js:import { toJsonApiRecord } from '../querying/knex-json-api-transformers-querying.js'
240
+ plugins/core/lib/querying-writing/knex-json-api-transformers.js:import { getSchemaStructure } from './knex-constants.js'
241
+ plugins/core/lib/querying-writing/payload-validators.js:import { RestApiValidationError, RestApiPayloadError } from '../../../../lib/rest-api-errors.js'
242
+ tests/anyapi-cursor-pagination.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
243
+ tests/anyapi-cursor-pagination.test.js:import assert from 'node:assert/strict'
244
+ tests/anyapi-cursor-pagination.test.js:import knexLib from 'knex'
245
+ tests/anyapi-cursor-pagination.test.js:import { createPaginationApi } from './fixtures/api-configs.js'
246
+ tests/anyapi-cursor-pagination.test.js:import {
247
+ tests/anyapi-cursor-pagination.test.js:import { storageMode } from './helpers/storage-mode.js'
248
+ plugins/core/rest-api-knex-plugin.js:import { requirePackage } from 'hooked-api'
249
+ plugins/core/rest-api-knex-plugin.js:import { createSchema } from 'json-rest-schema'
250
+ plugins/core/rest-api-knex-plugin.js:import { createKnexTable, addKnexFields, alterKnexFields } from './lib/dbTablesOperations.js'
251
+ plugins/core/rest-api-knex-plugin.js:import { buildFieldSelection, isNonDatabaseField } from './lib/querying-writing/knex-field-helpers.js'
252
+ plugins/core/rest-api-knex-plugin.js:import { getForeignKeyFields } from './lib/querying-writing/field-utils.js'
253
+ plugins/core/rest-api-knex-plugin.js:import { buildQuerySelection } from './lib/querying/knex-query-helpers-base.js'
254
+ plugins/core/rest-api-knex-plugin.js:import { toJsonApiRecord, buildJsonApiResponse } from './lib/querying/knex-json-api-transformers-querying.js'
255
+ plugins/core/rest-api-knex-plugin.js:import { processBelongsToRelationships } from './lib/writing/knex-json-api-transformers-writing.js'
256
+ plugins/core/rest-api-knex-plugin.js:import { toJsonApiRecordWithBelongsTo } from './lib/querying-writing/knex-json-api-transformers.js'
257
+ plugins/core/rest-api-knex-plugin.js:import { processIncludes } from './lib/querying/knex-process-includes.js'
258
+ plugins/core/rest-api-knex-plugin.js:import { loadRelationshipIdentifiers } from './lib/querying/knex-relationship-includes.js'
259
+ plugins/core/rest-api-knex-plugin.js:import {
260
+ plugins/core/rest-api-knex-plugin.js:import { RestApiResourceError, RestApiValidationError } from '../../lib/rest-api-errors.js'
261
+ plugins/core/rest-api-knex-plugin.js:import { supportsWindowFunctions, getDatabaseInfo } from './lib/querying-writing/database-capabilities.js'
262
+ plugins/core/rest-api-knex-plugin.js:import { ERROR_SUBTYPES, DEFAULT_QUERY_LIMIT, DEFAULT_MAX_QUERY_LIMIT } from './lib/querying-writing/knex-constants.js'
263
+ plugins/core/rest-api-knex-plugin.js:import {
264
+ plugins/core/rest-api-knex-plugin.js:import { getUrlPrefix } from './lib/querying/url-helpers.js'
265
+ plugins/core/rest-api-knex-plugin.js:import { createStorageAdapter } from './lib/storage/storage-adapter.js'
266
+ plugins/core/rest-api-access.js:import { RestApiResourceError } from '../../lib/rest-api-errors.js'
267
+ plugins/core/lib/querying-writing/compile-schemas.js:import { createSchema } from 'json-rest-schema'
268
+ plugins/core/lib/querying-writing/compile-schemas.js:import { ensureSearchFieldsAreIndexed, generateSearchSchemaFromSchema, sortFieldsByDependencies } from './schema-helpers.js'
269
+ plugins/core/lib/querying-writing/simplified-helpers.js:import { RestApiValidationError } from '../../../../lib/rest-api-errors.js'
270
+ plugins/core/lib/anyapi/anyapi-registry.js:import { DEFAULT_CANONICAL_CONFIG, SLOT_LIMITS, SLOT_POOLS, TYPE_TO_POOL } from './schema-utils.js'
271
+ plugins/core/lib/querying-writing/schema-helpers.js:import { RestApiValidationError } from '../../../../lib/rest-api-errors.js'
272
+ plugins/core/lib/anyapi/query/anyapi-query-adapter.js:import { resolveFieldInfo } from '../utils/descriptor-helpers.js'
273
+ tests/TEST_TEMPLATE.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
274
+ tests/TEST_TEMPLATE.test.js:import assert from 'node:assert/strict'
275
+ tests/TEST_TEMPLATE.test.js:import knexLib from 'knex'
276
+ tests/TEST_TEMPLATE.test.js:import {
277
+ tests/TEST_TEMPLATE.test.js:import { createBasicApi } from './fixtures/api-configs.js'
278
+ plugins/core/lib/anyapi/utils/descriptor-helpers.js:import { RestApiValidationError } from '../../../../../lib/rest-api-errors.js'
279
+ tests/rest-api.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
280
+ tests/rest-api.test.js:import assert from 'node:assert/strict'
281
+ tests/rest-api.test.js:import knexLib from 'knex'
282
+ tests/rest-api.test.js:import { createBasicApi, createExtendedApi } from './fixtures/api-configs.js'
283
+ tests/rest-api.test.js:import {
284
+ tests/virtual-fields.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
285
+ tests/virtual-fields.test.js:import assert from 'node:assert/strict'
286
+ tests/virtual-fields.test.js:import knexLib from 'knex'
287
+ tests/virtual-fields.test.js:import {
288
+ tests/virtual-fields.test.js:import { Api } from 'hooked-api'
289
+ tests/virtual-fields.test.js:import { RestApiPlugin } from '../plugins/core/rest-api-plugin.js'
290
+ tests/virtual-fields.test.js:import { RestApiKnexPlugin } from '../plugins/core/rest-api-knex-plugin.js'
291
+ tests/cors.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
292
+ tests/cors.test.js:import assert from 'node:assert/strict'
293
+ tests/cors.test.js:import knexLib from 'knex'
294
+ tests/cors.test.js:import express from 'express'
295
+ tests/cors.test.js:import request from 'supertest'
296
+ tests/cors.test.js:import {
297
+ tests/cors.test.js:import { createBasicApi } from './fixtures/api-configs.js'
298
+ tests/cors.test.js:import { CorsPlugin } from '../plugins/core/rest-api-cors-plugin.js'
299
+ tests/include-depth-validation.test.js:import { describe, it, before, after } from 'node:test'
300
+ tests/include-depth-validation.test.js:import assert from 'node:assert/strict'
301
+ tests/include-depth-validation.test.js:import knexLib from 'knex'
302
+ tests/include-depth-validation.test.js:import { createBasicApi, createLimitedDepthApi } from './fixtures/api-configs.js'
303
+ tests/include-depth-validation.test.js:import { cleanTables } from './helpers/test-utils.js'
304
+ tests/anyapi-basic.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
305
+ tests/anyapi-basic.test.js:import assert from 'node:assert/strict'
306
+ tests/anyapi-basic.test.js:import knexLib from 'knex'
307
+ tests/anyapi-basic.test.js:import { Api } from 'hooked-api'
308
+ tests/anyapi-basic.test.js:import { RestApiPlugin, RestApiAnyapiKnexPlugin } from '../index.js'
309
+ tests/anyapi-basic.test.js:import { ensureAnyApiSchema } from '../plugins/core/lib/anyapi/schema-utils.js'
310
+ tests/ownership-optout.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
311
+ tests/ownership-optout.test.js:import assert from 'node:assert/strict'
312
+ tests/ownership-optout.test.js:import knexLib from 'knex'
313
+ tests/ownership-optout.test.js:import {
314
+ tests/ownership-optout.test.js:import { createOwnershipOptOutApi } from './fixtures/api-configs.js'
315
+ tests/positioning.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
316
+ tests/positioning.test.js:import assert from 'node:assert/strict'
317
+ tests/positioning.test.js:import knexLib from 'knex'
318
+ tests/positioning.test.js:import { cleanTables } from './helpers/test-utils.js'
319
+ tests/positioning.test.js:import { createPositioningApi } from './fixtures/api-configs.js'
320
+ tests/positioning.test.js:import { PositioningPlugin } from '../plugins/core/rest-api-positioning-plugin.js'
321
+ tests/includes.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
322
+ tests/includes.test.js:import assert from 'node:assert/strict'
323
+ tests/includes.test.js:import knexLib from 'knex'
324
+ tests/includes.test.js:import { createBasicApi, createExtendedApi } from './fixtures/api-configs.js'
325
+ tests/includes.test.js:import {
326
+ tests/polymorphic-simple.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
327
+ tests/polymorphic-simple.test.js:import assert from 'node:assert/strict'
328
+ tests/polymorphic-simple.test.js:import knexLib from 'knex'
329
+ tests/polymorphic-simple.test.js:import { createExtendedApi } from './fixtures/api-configs.js'
330
+ tests/polymorphic-simple.test.js:import {
331
+ tests/computed-fields.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
332
+ tests/computed-fields.test.js:import assert from 'node:assert/strict'
333
+ tests/computed-fields.test.js:import knexLib from 'knex'
334
+ tests/computed-fields.test.js:import { cleanTables } from './helpers/test-utils.js'
335
+ tests/computed-fields.test.js:import { storageMode } from './helpers/storage-mode.js'
336
+ tests/computed-fields.test.js:import { createComputedFieldsApi } from './fixtures/api-configs.js'
337
+ tests/curl.test.js:import { describe, it, before, beforeEach, after } from 'node:test'
338
+ tests/curl.test.js:import assert from 'node:assert/strict'
339
+ tests/curl.test.js:import knexLib from 'knex'
340
+ tests/curl.test.js:import { spawn } from 'child_process'
341
+ tests/curl.test.js:import { createBasicApi } from './fixtures/api-configs.js'
342
+ tests/curl.test.js:import {
343
+ tests/curl.test.js:import express from 'express'
344
+ tests/curl.test.js:import http from 'http'
345
+ tests/pagination-enhanced.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
346
+ tests/pagination-enhanced.test.js:import assert from 'node:assert/strict'
347
+ tests/pagination-enhanced.test.js:import knexLib from 'knex'
348
+ tests/pagination-enhanced.test.js:import {
349
+ tests/pagination-enhanced.test.js:import { createPaginationApi } from './fixtures/api-configs.js'
350
+ tests/multihome.test.js:import { describe, it, before, after, beforeEach } from 'node:test'
351
+ tests/multihome.test.js:import assert from 'node:assert/strict'
352
+ tests/multihome.test.js:import knexLib from 'knex'
353
+ tests/multihome.test.js:import {
354
+ tests/multihome.test.js:import { createMultiHomeApi } from './fixtures/api-configs.js'
@@ -0,0 +1,15 @@
1
+ tests.js:import { test, describe, it, before } from 'node:test'
2
+ tests.js:import assert from 'node:assert'
3
+ tests.js:import { createSchema } from './src/index.js'
4
+ tests.js:import { Schema } from './src/Schema.js'
5
+ tests.js:import * as flatted from 'flatted'
6
+ eslint.config.js:import neostandard from 'neostandard'
7
+ example.js:import { createSchema } from './src/index.js'
8
+ example.js:import * as flatted from 'flatted'
9
+ test-knex-table-real.js:import { test, describe, it, beforeEach, afterEach } from 'node:test'
10
+ test-knex-table-real.js:import assert from 'node:assert'
11
+ test-knex-table-real.js:import knex from 'knex'
12
+ test-knex-table-real.js:import { createSchema, createKnexTable, generateKnexMigration } from './src/index.js'
13
+ src/CorePlugin.js:import * as flatted from 'flatted'
14
+ src/index.js:import { Schema } from './Schema.js'
15
+ src/index.js:import CorePlugin from './CorePlugin.js'
@@ -0,0 +1,160 @@
1
+ .claude/agents/library-guide-expert.md
2
+ .claude/agents/rest-api-internals-expert.md
3
+ .gitignore
4
+ AGENTS.md
5
+ CLAUDE.md
6
+ CRUSH.md
7
+ LICENSE
8
+ README.md
9
+ TODO.todo
10
+ connectors_ideas/fastify.js
11
+ connectors_ideas/koa-plugin.js
12
+ docs/.bundle/config
13
+ docs/API.md
14
+ docs/COMPARISON.md
15
+ docs/GUIDE/GUIDE_1_Initial_Setup.md
16
+ docs/GUIDE/GUIDE_2_1_The_Starting_Point.md
17
+ docs/GUIDE/GUIDE_2_2_Manipulating_And_Searching_Tables.md
18
+ docs/GUIDE/GUIDE_2_3_BelongsTo_Relationships.md
19
+ docs/GUIDE/GUIDE_2_4_HasMany_Records.md
20
+ docs/GUIDE/GUIDE_2_5_HasMany_Polymorphic.md
21
+ docs/GUIDE/GUIDE_2_6_Many_To_Many.md
22
+ docs/GUIDE/GUIDE_2_7_Pagination_And_Ordering.md
23
+ docs/GUIDE/GUIDE_2_8_Effects_of_PUT_and_PATCH.md
24
+ docs/GUIDE/GUIDE_2_9_Relationships_Urls.md
25
+ docs/GUIDE/GUIDE_2_Data_And_Relations.md
26
+ docs/GUIDE/GUIDE_3_Field_Transformations.md
27
+ docs/GUIDE/GUIDE_4_Authentication_And_Permissions.md
28
+ docs/GUIDE/GUIDE_5_Non-Db_Resources.md
29
+ docs/GUIDE/GUIDE_6_Positioning.md
30
+ docs/GUIDE/GUIDE_7_Hooks_Data_Management_And_Plugins.md
31
+ docs/GUIDE/GUIDE_X_Bulk_Operations.md
32
+ docs/GUIDE/GUIDE_X_Cors.md
33
+ docs/GUIDE/GUIDE_X_File_Uploads.md
34
+ docs/GUIDE/GUIDE_X_Multihome.md
35
+ docs/GUIDE/GUIDE_X_SocketIO.md
36
+ docs/GUIDE/GUIDE_X_URL_Management.md
37
+ docs/GUIDE/GUIDE_Y_Appendices.md
38
+ docs/GUIDE/index.md
39
+ docs/Gemfile
40
+ docs/Gemfile.lock
41
+ docs/ONBOARDING.md
42
+ docs/QUICKSTART.md
43
+ docs/_config.yml
44
+ docs/_layouts/default.html
45
+ docs/apple-touch-icon.svg
46
+ docs/assets/css/style.scss
47
+ docs/favicon.svg
48
+ docs/index.md
49
+ docs/mini-guides/file-uploads-complete.md
50
+ eslint.config.js
51
+ examples/url-override-example.js
52
+ index.js
53
+ lib/enhanced-logger.js
54
+ lib/error-formatter.js
55
+ lib/rest-api-errors.js
56
+ package-lock.json
57
+ package.json
58
+ plugins/core/bulk-operations-plugin.js
59
+ plugins/core/connectors/express-plugin.js
60
+ plugins/core/connectors/lib/busboy-detector.js
61
+ plugins/core/connectors/lib/formidable-detector.js
62
+ plugins/core/connectors/lib/request-helpers.js
63
+ plugins/core/file-handling-plugin.js
64
+ plugins/core/lib/dbTablesOperations.js
65
+ plugins/core/lib/fractional-positioning.js
66
+ plugins/core/lib/querying-writing/compile-schemas.js
67
+ plugins/core/lib/querying-writing/connectors-query-parser.js
68
+ plugins/core/lib/querying-writing/database-capabilities.js
69
+ plugins/core/lib/querying-writing/database-value-normalizers.js
70
+ plugins/core/lib/querying-writing/default-data-helpers.js
71
+ plugins/core/lib/querying-writing/field-utils.js
72
+ plugins/core/lib/querying-writing/knex-constants.js
73
+ plugins/core/lib/querying-writing/knex-field-helpers.js
74
+ plugins/core/lib/querying-writing/knex-json-api-transformers.js
75
+ plugins/core/lib/querying-writing/payload-validators.js
76
+ plugins/core/lib/querying-writing/schema-helpers.js
77
+ plugins/core/lib/querying-writing/scope-validations.js
78
+ plugins/core/lib/querying-writing/simplified-helpers.js
79
+ plugins/core/lib/querying/knex-cross-table-search.js
80
+ plugins/core/lib/querying/knex-json-api-transformers-querying.js
81
+ plugins/core/lib/querying/knex-pagination-helpers.js
82
+ plugins/core/lib/querying/knex-process-includes.js
83
+ plugins/core/lib/querying/knex-query-helpers-base.js
84
+ plugins/core/lib/querying/knex-query-helpers.js
85
+ plugins/core/lib/querying/knex-relationship-includes.js
86
+ plugins/core/lib/querying/knex-window-queries.js
87
+ plugins/core/lib/querying/url-helpers.js
88
+ plugins/core/lib/storage/storage-adapter.js
89
+ plugins/core/lib/writing/knex-json-api-transformers-writing.js
90
+ plugins/core/lib/writing/many-to-many-manipulations.js
91
+ plugins/core/lib/writing/relationship-processor.js
92
+ plugins/core/rest-api-access.js
93
+ plugins/core/rest-api-cors-plugin.js
94
+ plugins/core/rest-api-knex-plugin.js
95
+ plugins/core/rest-api-label-plugin.js
96
+ plugins/core/rest-api-multihome-plugin.js
97
+ plugins/core/rest-api-plugin-hooks/compile-resource-schemas.js
98
+ plugins/core/rest-api-plugin-hooks/register-relationship-routes.js
99
+ plugins/core/rest-api-plugin-hooks/register-scope-routes.js
100
+ plugins/core/rest-api-plugin-hooks/turn-scope-init-into-vars.js
101
+ plugins/core/rest-api-plugin-hooks/validate-include-configurations.js
102
+ plugins/core/rest-api-plugin-methods/add-route.js
103
+ plugins/core/rest-api-plugin-methods/check-permissions.js
104
+ plugins/core/rest-api-plugin-methods/common.js
105
+ plugins/core/rest-api-plugin-methods/delete-relationship.js
106
+ plugins/core/rest-api-plugin-methods/delete.js
107
+ plugins/core/rest-api-plugin-methods/enrich-attributes.js
108
+ plugins/core/rest-api-plugin-methods/get-related.js
109
+ plugins/core/rest-api-plugin-methods/get-relationship.js
110
+ plugins/core/rest-api-plugin-methods/get.js
111
+ plugins/core/rest-api-plugin-methods/patch-relationship.js
112
+ plugins/core/rest-api-plugin-methods/patch.js
113
+ plugins/core/rest-api-plugin-methods/post-relationship.js
114
+ plugins/core/rest-api-plugin-methods/post.js
115
+ plugins/core/rest-api-plugin-methods/put.js
116
+ plugins/core/rest-api-plugin-methods/query.js
117
+ plugins/core/rest-api-plugin-methods/release.js
118
+ plugins/core/rest-api-plugin.js
119
+ plugins/core/rest-api-positioning-plugin.js
120
+ plugins/core/socketio-plugin.js
121
+ plugins/storage/local-storage.js
122
+ plugins/storage/s3-storage.js
123
+ quickTest.js
124
+ scripts/run-docs.js
125
+ test-debug.js
126
+ tests/README.md
127
+ tests/TEST_TEMPLATE.test.js
128
+ tests/bulk-operations.test.js
129
+ tests/computed-fields.test.js
130
+ tests/cors.test.js
131
+ tests/curl.test.js
132
+ tests/custom-idproperty-relationships.test.js
133
+ tests/field-getters.test.js
134
+ tests/field-setters.test.js
135
+ tests/fixtures/api-configs.js
136
+ tests/helpers/storage-mode.js
137
+ tests/helpers/test-utils.js
138
+ tests/include-depth-validation.test.js
139
+ tests/includes.test.js
140
+ tests/multihome.test.js
141
+ tests/nested-includes.test.js
142
+ tests/ownership-optout.test.js
143
+ tests/pagination-cursor-multifield.test.js
144
+ tests/pagination-enhanced.test.js
145
+ tests/polymorphic-relationships.test.js
146
+ tests/polymorphic-simple.test.js
147
+ tests/positioning-advanced.test.js
148
+ tests/positioning-extended.test.js
149
+ tests/positioning-multifilter.test.js
150
+ tests/positioning.test.js
151
+ tests/queries.test.js
152
+ tests/query-limits.test.js
153
+ tests/relationship-endpoints.test.js
154
+ tests/relationships.test.js
155
+ tests/rest-api-access.test.js
156
+ tests/rest-api.test.js
157
+ tests/searchschema-merge.test.js
158
+ tests/socketio.test.js
159
+ tests/test-development-guide.md
160
+ tests/virtual-fields.test.js
@@ -0,0 +1,13 @@
1
+ .gitignore
2
+ FUTURE_MIGRATION_MODULE.md
3
+ ONBOARDING.md
4
+ README.md
5
+ eslint.config.js
6
+ example.js
7
+ package-lock.json
8
+ package.json
9
+ src/CorePlugin.js
10
+ src/Schema.js
11
+ src/index.js
12
+ test-knex-table-real.js
13
+ tests.js