Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
May 25, 2021 01:48 pm GMT

Node.JS - Foal framework - version 2.4 is here

Version 2.4 of Foal has been released! Here are the improvements that it brings.

$data references for validation

Version 2.4 allows you to enable the AJV $data option so that you can use the verified data values as validators for other values.

config/default.json

{  "settings": {    "ajv": {      "$data": true    }  }}

Example of auth controller

import { Context, Post, ValidateBody } from '@foal/core';export class AuthController {  @Post('/signup')  @ValidateBody({    type: 'object',    properties: {      username: { type: 'string' },      password: { type: 'string' },      // "password" and "confirmPassword" should be identical.      confirmPassword: {        const: {          $data: '1/password',        },        type: 'string',      },    }    required: [ 'username', 'password', 'confirmPassword' ],    additionalProperties: false  })  signup(ctx: Context) {    // Do something.  }}

Cache option for file downloading

Starting from version 2.4 the Disk.createHttpResponse method accepts an optional parameter to specify the value of the Cache-Control header.

import { Context, dependency, Get } from '@foal/core';import { Disk } from '@foal/storage';import { User } from '../entities';export class ProfileController {  @dependency  disk: Disk;  @Get('/avatar')  async readProfileImage(ctx: Context<User>) {    return this.disk.createHttpResponse(ctx.user.avatar, {      cache: 'no-cache'    });  }

Bug fixes

See issue #930.

Contributors

@ZakRabe


Original Link: https://dev.to/loicpoullain/node-js-foal-framework-version-2-4-is-here-dhh

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To