All Challenges
2 PointsBasic
00:00

MongoDB: Mongoose Schema Validator & Sanitizer Engine

Build a declarative schema enforcement engine with type casting, required checks, enum validation, custom async validators, and default values.

### Problem Overview Mongoose schemas enforce structure, data integrity, and business logic before writing documents to MongoDB. You will build a mini-Mongoose Schema Validation & Sanitization Engine that parses raw input objects, applies default values, casts data types, executes validation rules, and returns structured error objects. ### Functional Requirements 1. **Schema Definition Support**: - Supported Types: `'string'`, `'number'`, `'boolean'`, `'date'`, `'array'`. - Constraints: `required: true`, `enum: [...]`, `min`, `max`, `minLength`, `trim: true`. - `default: value | (() => value)`. - `validate: (val: any) => Promise<boolean> | boolean`. 2. **`validateAndSanitize(doc: Record<string, any>): Promise<{ isValid: boolean; errors: Record<string, string>; value: Record<string, any> }>`**: - Applies default values to missing fields. - Performs type coercion. - Collects all validation failures.
AI Review Rubric Dimensions (1–10 Points):
  • Type coercion precision
  • Default value factories
  • Enum & constraint enforcement
  • Async validator support
solution.tsTYPESCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
33 lines•821 characters•
AI Review Ready