@ditojs/server 0.271.0 → 0.274.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/app/Application.js +68 -25
- package/lib/app/SessionStore.js +3 -1
- package/lib/app/Validator.js +16 -2
- package/lib/app/index.js +7 -1
- package/lib/cli/console.js +14 -4
- package/lib/cli/db/createMigration.js +16 -4
- package/lib/cli/db/index.js +7 -1
- package/lib/cli/db/listAssetConfig.js +4 -2
- package/lib/cli/db/migrate.js +3 -3
- package/lib/cli/db/reset.js +3 -3
- package/lib/cli/db/rollback.js +3 -3
- package/lib/cli/db/seed.js +14 -6
- package/lib/cli/db/unlock.js +3 -3
- package/lib/cli/index.js +9 -5
- package/lib/controllers/AdminController.js +18 -6
- package/lib/controllers/CollectionController.js +15 -1
- package/lib/controllers/Controller.js +28 -4
- package/lib/controllers/ControllerAction.js +18 -6
- package/lib/controllers/RelationController.js +9 -3
- package/lib/controllers/UserController.js +15 -1
- package/lib/controllers/index.js +7 -1
- package/lib/decorators/index.js +7 -1
- package/lib/decorators/parameters.js +4 -2
- package/lib/decorators/returns.js +4 -2
- package/lib/errors/DatabaseError.js +5 -19
- package/lib/errors/ResponseError.js +4 -14
- package/lib/errors/index.js +7 -1
- package/lib/graph/DitoGraphProcessor.js +5 -1
- package/lib/graph/expression.js +5 -1
- package/lib/graph/graph.js +18 -2
- package/lib/graph/index.js +7 -1
- package/lib/index.js +7 -1
- package/lib/lib/index.js +7 -1
- package/lib/middleware/findRoute.js +7 -1
- package/lib/middleware/index.js +7 -1
- package/lib/middleware/logRequests.js +4 -4
- package/lib/mixins/AssetMixin.js +4 -4
- package/lib/mixins/SessionMixin.js +4 -4
- package/lib/mixins/TimeStampedMixin.js +4 -4
- package/lib/mixins/UserMixin.js +10 -4
- package/lib/mixins/index.js +7 -1
- package/lib/models/Model.js +41 -22
- package/lib/models/definitions/filters.js +9 -1
- package/lib/models/definitions/properties.js +7 -1
- package/lib/models/definitions/scopes.js +9 -1
- package/lib/models/index.js +7 -1
- package/lib/query/QueryBuilder.js +11 -1
- package/lib/query/QueryFilters.js +11 -1
- package/lib/query/index.js +7 -1
- package/lib/schema/formats/index.js +7 -1
- package/lib/schema/index.js +10 -2
- package/lib/schema/keywords/index.js +7 -1
- package/lib/schema/properties.js +11 -1
- package/lib/schema/relations.js +18 -4
- package/lib/services/index.js +7 -1
- package/lib/storage/DiskStorage.js +7 -1
- package/lib/storage/Storage.js +5 -1
- package/lib/storage/index.js +7 -1
- package/lib/utils/emitter.js +5 -1
- package/lib/utils/index.js +15 -1
- package/lib/utils/json.js +9 -0
- package/lib/utils/object.js +9 -3
- package/package.json +31 -31
- package/src/app/Application.js +40 -11
- package/src/app/Validator.js +2 -1
- package/src/cli/console.js +3 -3
- package/src/cli/db/createMigration.js +3 -3
- package/src/cli/db/listAssetConfig.js +3 -1
- package/src/cli/db/migrate.js +4 -4
- package/src/cli/db/reset.js +4 -4
- package/src/cli/db/rollback.js +4 -4
- package/src/cli/db/seed.js +6 -6
- package/src/cli/db/unlock.js +2 -2
- package/src/cli/index.js +3 -3
- package/src/controllers/AdminController.js +3 -2
- package/src/controllers/Controller.js +8 -8
- package/src/controllers/ControllerAction.js +7 -5
- package/src/controllers/RelationController.js +2 -2
- package/src/decorators/parameters.js +2 -2
- package/src/decorators/returns.js +2 -2
- package/src/errors/DatabaseError.js +2 -23
- package/src/errors/ResponseError.js +1 -8
- package/src/middleware/logRequests.js +9 -9
- package/src/models/Model.js +13 -8
- package/src/utils/index.js +1 -0
- package/src/utils/json.js +3 -0
package/src/models/Model.js
CHANGED
|
@@ -3,9 +3,13 @@ import { QueryBuilder } from '@/query'
|
|
|
3
3
|
import { EventEmitter, KnexHelper } from '@/lib'
|
|
4
4
|
import { convertSchema, addRelationSchemas, convertRelations } from '@/schema'
|
|
5
5
|
import { populateGraph, filterGraph } from '@/graph'
|
|
6
|
+
import { formatJson } from '@/utils'
|
|
6
7
|
import {
|
|
7
|
-
ResponseError,
|
|
8
|
-
|
|
8
|
+
ResponseError,
|
|
9
|
+
GraphError, ModelError,
|
|
10
|
+
NotFoundError,
|
|
11
|
+
RelationError,
|
|
12
|
+
WrappedError
|
|
9
13
|
} from '@/errors'
|
|
10
14
|
import {
|
|
11
15
|
isString, isObject, isArray, isFunction, isPromise, asArray, merge, flatten,
|
|
@@ -222,7 +226,7 @@ export class Model extends objection.Model {
|
|
|
222
226
|
return super.query(trx).onError(err => {
|
|
223
227
|
// TODO: Shouldn't this wrapping happen on the Controller level?
|
|
224
228
|
err = err instanceof ResponseError ? err
|
|
225
|
-
: err instanceof objection.DBError ?
|
|
229
|
+
: err instanceof objection.DBError ? this.app.createDatabaseError(err)
|
|
226
230
|
: new WrappedError(err)
|
|
227
231
|
return Promise.reject(err)
|
|
228
232
|
})
|
|
@@ -279,9 +283,9 @@ export class Model extends objection.Model {
|
|
|
279
283
|
throw new ModelError(
|
|
280
284
|
this,
|
|
281
285
|
`Invalid amount of id values provided for reference: Unable to map ${
|
|
282
|
-
|
|
286
|
+
formatJson(modelOrId, false)
|
|
283
287
|
} to ${
|
|
284
|
-
|
|
288
|
+
formatJson(idProperties, false)
|
|
285
289
|
}.`
|
|
286
290
|
)
|
|
287
291
|
}
|
|
@@ -729,10 +733,11 @@ export class Model extends objection.Model {
|
|
|
729
733
|
case 'ModelValidation':
|
|
730
734
|
return this.app.createValidationError({
|
|
731
735
|
type,
|
|
732
|
-
message:
|
|
733
|
-
`The provided data for the ${this.name} model is not valid
|
|
736
|
+
message:
|
|
737
|
+
message || `The provided data for the ${this.name} model is not valid`,
|
|
734
738
|
errors,
|
|
735
|
-
options
|
|
739
|
+
options,
|
|
740
|
+
json
|
|
736
741
|
})
|
|
737
742
|
case 'RelationExpression':
|
|
738
743
|
case 'UnallowedRelation':
|
package/src/utils/index.js
CHANGED