WayrApp Backend & Ecosystem Documentation - v1.0.0
    Preparing search index...

    Variable IdParamSchemaConst

    IdParamSchema: ZodObject<
        { id: ZodString },
        "strip",
        ZodTypeAny,
        { id: string },
        { id: string },
    > = ...

    Generic ID parameter validation schema for URL parameters

    Flexible identifier validation schema that accepts any non-empty string as a valid ID parameter. This schema is designed for endpoints that use various ID formats including database-generated IDs, slugs, custom identifiers, or legacy ID systems that don't conform to specific patterns like UUIDs.

    The schema provides basic validation to ensure ID parameters are present and non-empty, preventing common errors from missing or malformed route parameters. It's particularly useful for endpoints that need to accept different types of identifiers or during migration periods where multiple ID formats coexist.

    Security considerations include prevention of empty ID attacks that could bypass authorization checks, basic input sanitization to prevent injection attempts, and consistent error messaging that doesn't reveal system internals. The schema maintains flexibility while providing essential validation for route parameters.

    // Usage with various ID formats
    const validIds = [
    { id: 'user-123' },
    { id: 'course_advanced_spanish' },
    { id: '12345' },
    { id: 'abc-def-ghi' }
    ];

    validIds.forEach(idParam => {
    const result = IdParamSchema.parse(idParam);
    console.log(result.id); // Valid ID string
    });
    // Route parameter validation
    router.get('/resources/:id', validate({ params: IdParamSchema }), (req, res) => {
    const { id } = req.params; // Guaranteed to be non-empty string
    const resource = await resourceService.findById(id);
    res.json({ resource });
    });