![38% of CISOs Fear They’re Not Moving Fast Enough on AI](https://cdn.sanity.io/images/cgdhsj6q/production/faa0bc28df98f791e11263f8239b34207f84b86f-1024x1024.webp?w=400&fit=max&auto=format)
Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
workers-qb
Advanced tools
workers-qb is a lightweight query builder designed specifically for Cloudflare Workers. It provides a simple, standardized interface while maintaining the performance benefits of raw queries over traditional ORMs.
npm install workers-qb --save
import { D1QB } from 'workers-qb'
export interface Env {
DB: D1Database
}
export default {
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
const qb = new D1QB(env.DB)
type Employee = {
name: string
role: string
level: number
}
// Using object syntax
const employeeList = await qb
.fetchAll<Employee>({
tableName: 'employees',
where: {
conditions: 'active = ?1',
params: [true],
},
})
.execute()
// Using method chaining
const employeeListModular = await qb
.select<Employee>('employees')
.where('active = ?', true)
.execute()
return Response.json({
activeEmployees: employeeList.results?.length || 0,
})
},
}
import { DOQB } from 'workers-qb'
export class DOSRS extends DurableObject {
getEmployees() {
const qb = new DOQB(this.ctx.storage.sql)
return qb
.fetchAll({
tableName: 'employees',
})
.execute()
.results
}
}
First, install the required PostgreSQL client:
npm install pg --save
Enable Node compatibility in wrangler.toml
:
node_compat = true
Example usage:
import { PGQB } from 'workers-qb'
import { Client } from 'pg'
export interface Env {
DB_URL: string
}
export default {
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
const qb = new PGQB(new Client(env.DB_URL))
await qb.connect()
const fetched = await qb
.fetchOne({
tableName: 'employees',
fields: 'count(*) as count',
where: {
conditions: 'active = ?1',
params: [true],
},
})
.execute()
// Important: Close the connection
ctx.waitUntil(qb.close())
return Response.json({
activeEmployees: fetched.results?.count || 0,
})
},
}
Visit our comprehensive documentation for detailed information about:
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
FAQs
Zero dependencies Query Builder for Cloudflare Workers
The npm package workers-qb receives a total of 0 weekly downloads. As such, workers-qb popularity was classified as not popular.
We found that workers-qb demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.