@objective-inc/prisma-client-extension-with-objective
TypeScript icon, indicating that this package has built-in type declarations

0.0.9 • Public • Published

Prisma Client Extension for Objective.inc Integration

This Prisma Client extension provides seamless integration with Objective.inc's object store. It extends Prisma's functionality to automatically sync your database operations with Objective.inc, ensuring that your data remains consistent across both platforms.

Features

  • Automatically create objects in Objective.inc when creating records in your database
  • Update objects in Objective.inc when updating records in your database
  • Delete objects from Objective.inc when deleting records from your database

Required Environment Variables

To use this extension, you need to set the following environment variable:

  • OBJECTIVE_API_KEY: Your Objective.inc API key

Getting Started

  1. Install the extension:
npm i @objective-inc/prisma-client-extension-with-objective
  1. Set up your Prisma Client with the extension:
import { PrismaClient } from '@prisma/client'
import { withObjectiveFns } from 'prisma-extension-with-objective'
const prisma = new PrismaClient().$extends(withObjectiveFns({
    apiKey: process.env.OBJECTIVE_API_KEY
}))
  1. Use the extended methods in your code:
// Create a record and sync with Objective.inc
const newUser = await prisma.user.createWithObjective({
    data: {
        name: 'John Doe',
        email: 'john@example.com',
    },
})
// Update a record and sync with Objective.inc
const updatedUser = await prisma.user.updateWithObjective('user-id', {
    where: { id: 'user-id' },
    data: {
        name: 'Jane Doe',
    },
})
// Delete a record and remove from Objective.inc
const deletedUser = await prisma.user.deleteWithObjective({
    where: { id: 'user-id' },
})

How It Works

The extension adds three new methods to all Prisma models:

  1. createWithObjective: Creates a record in your database and sends it to Objective.inc.
  2. updateWithObjective: Updates a record in your database and Objective.inc.
  3. deleteWithObjective: Deletes a record from your database and Objective.inc.

These methods ensure that your data is always in sync between your database and Objective.inc's object store.

For more details on the implementation, check the index.ts file in the src directory.

Learn More

Package Sidebar

Install

npm i @objective-inc/prisma-client-extension-with-objective

Weekly Downloads

1

Version

0.0.9

License

none

Unpacked Size

19.3 kB

Total Files

11

Last publish

Collaborators

  • davidpobjective
  • jacques-obj
  • kevinh.objective