@fastify-userland/typeorm-query-runner
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

@fastify-userland/typeorm-query-runner

CI NPM version js-standard-style NPM size Coverage Status

A plugin for Fastify that adds support for typrorm QueryRunner and Transaction.

Supports Fastify versions 4.x.

Support TypeScript

Install

# npm
npm i @fastify-userland/typeorm-query-runner

# pnpm
pnpm add @fastify-userland/typeorm-query-runner

# yarn
yarn add @fastify-userland/typeorm-query-runner

Usage

const fastify = require('fastify')()

fastify.register(require('@fastify-userland/typeorm-query-runner'), {
  dataSource: dataSource,
  transaction: true,
  match: request => request.routerPath.startsWith('/v2'),
  respIsError: (respStr) => respStr === '{"status":false}'
})

fastify.get('/', async (req, reply) => {
  console.log(req.queryRunner)
  console.log(req.queryRunner.manager)

  await req.queryRunner.manager.insert();
  
  reply.send({ hello: 'world' })
})

fastify.listen(3000)

Options

  • dataSource(Required): TypeORM dataSource

  • transaction(Optional): Whether to bind the life cycle of a thing to a request. - default: false

    • Receiving requests: opening transaction
    • Return response: close transaction
    • Requesting an error: rolling back transaction
  • match(Optional): Only matching requests will enable the plugin. - default: () => true

    • Receiving requests: opening transaction
    • Return response: close transaction
    • Requesting an error: rolling back transaction
match: request => {
  return request.routerPath.startsWith('/v2')
}
  • respIsError(Optional): When the response matches the condition, it is considered an error - default: () => false
respIsError: (respStr) => {
  return respStr === '{"status":false}'
}

License

Licensed under MIT.

Package Sidebar

Install

npm i @fastify-userland/typeorm-query-runner

Weekly Downloads

10

Version

1.0.0

License

MIT

Unpacked Size

8.21 kB

Total Files

5

Last publish

Collaborators

  • black_hole