Request Helpers

This is a catalog of available convenience methods available in Novel registered using Fastify's request and reply decorators.

Request

request.account

This includes details on which user is accessing that request.

request.account = {
    id: string,
    role: string,
    verified: boolean,
};

request.org

This includes details on which organization is being used by the current request

request.org = {
    id: string,
}

await request.can(action: string, subject: any, fields: string[])

Discussed in Authorization

A convenience method that allows you to check if the currently logged in user is allowed to take actiontowards the specific subject.

This uses the CASL cansignature.

See https://github.com/madewithnovel/novel/blob/main/packages/novel/lib/session.js#L196

await request.cannot(action: string, subject: any, fields: string[])

Discussed in Authorization

This is the inverse of await request.can() above.

await request.verified()

Check if the currently logged in user has a verifiedstatus.

await request.subscribed()

Check if the currently logged in organization has an active subscription.

request.ua()

A convenience method that exposes an object that has the user-agent parsed by the my-ua-parserlibrary.

Check the library definition for the ua object.

Reply

reply.error(error: FastifyError)

A response builder that consolidates errors and produces an error format unique to Novel.

See https://github.com/madewithnovel/novel/blob/main/packages/novel/lib/server.js#L158

await reply.uncache(key: string, options?: CacheOptions)

This is a decorator to reply that you can use to manually purge a cached response.

Changelog

  • 2024-12-20 - Initial Documentation

Last updated

Was this helpful?