@opra/sqb
v1.28.5
Published
Opra SQB adapter package
Readme
@opra/sqb
SQL data service adapter for the OPRA framework, powered by SQB
🌐 Documentation · 🚀 Getting Started · 📦 Packages · 💬 Issues
SQL data service adapter for the OPRA framework, powered by SQB. Connect your relational database to OPRA's operation model with full transaction support.
Features
SqbServiceBase— Base service managing SqbClient or SqbConnection with transaction supportSqbCollectionService— Table-level CRUD service with automatic query generationSqbEntityService— Row-level service for single entity operationsSQBAdapter— Utility namespace:prepareFilter(),parseRequest()- Automatic translation of OPRA filter DSL to SQL WHERE clauses
withTransaction()helper for multi-step atomic operations- Compatible with PostgreSQL, MySQL, SQLite, and other SQB-supported databases
Installation
npm install @opra/sqbUsage
import { SqbCollectionService } from '@opra/sqb';
import { SqbClient } from '@sqb/connect';
@HttpController({ path: 'orders' })
export class OrdersController extends SqbCollectionService<Order> {
constructor(client: SqbClient) {
super(Order, client, 'orders');
}
@HttpOperation.Entity.FindMany({ type: Order })
findMany() { return super.findMany(); }
@HttpOperation.Entity.Create({ type: Order })
async create(dto: CreateOrderDto) {
return this.withTransaction(conn => super.create(dto, { connection: conn }));
}
}Node Compatibility
- node >= 20.x
License
Available under MIT license.
