RedPlanetHQ/core

New Integration: Prisma

Offen

#540 geöffnet am 24.02.2026

 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)TypeScript (184 Forks)auto 404
enhancementgood first issueintegrationnew-featurenew-integration

Repository-Metriken

Stars
 (1.930 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

Description

Add Prisma Data Platform integration to sync database projects, workspace activity, and Prisma Postgres database management events into CORE.

Reference Implementations

Existing Integrations (use as templates)

  • integrations/github/ - Developer tooling integration
  • integrations/linear/ - Project management patterns
  • integrations/slack/ - For reference

Required Files Structure

integrations/prisma/
├── src/
│   ├── index.ts          # Main entry, OAuth spec
│   ├── schedule.ts       # Sync logic
│   ├── utils.ts          # Prisma API utilities
│   ├── account-create.ts # OAuth setup
│   └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md

Prisma API Integration

OAuth Setup

  • Use OAuth 2.0 or Bearer Token authentication
  • The @prisma/management-api-sdk provides built-in OAuth with automatic token refresh
  • Token endpoint for OAuth: Prisma Platform OAuth flow
  • Required scope: offline_access (for automatic token refresh)
  • Alternative: Direct Bearer token authentication via API tokens from Prisma Console
  • Console: https://console.prisma.io/

Key Endpoints (Management API)

  • GET /workspaces - List workspaces
  • GET /workspaces/{id} - Get workspace details
  • GET /projects - List projects in a workspace
  • GET /projects/{id} - Get project details
  • POST /projects - Create a new project
  • GET /databases - List databases
  • POST /databases - Create a database
  • DELETE /databases/{id} - Delete a database
  • GET /environments - List environments

SDK Usage

import { ManagementAPIClient } from '@prisma/management-api-sdk'

const client = new ManagementAPIClient({
  token: 'your-bearer-token'
})

const workspaces = await client.listWorkspaces()
const projects = await client.getProject({ id: 'project-id' })

Events to Track

  1. Projects & Databases

    • Project created, updated, deleted
    • Database created, deleted
    • Database connection string changes
    • Environment provisioning
  2. Workspace Activity

    • Workspace member additions/removals
    • Workspace settings changes
    • Billing/plan updates
  3. Schema & Migrations

    • Schema changes detected
    • Migration history
    • Database health status

Implementation Tasks

  • Set up basic integration structure following integrations/github/src/index.ts pattern
  • Implement OAuth 2.0 or Bearer Token flow in account-create.ts
  • Create Prisma Management API utilities in utils.ts (consider using @prisma/management-api-sdk)
  • Implement sync logic in schedule.ts for workspace and project activity
  • Convert Prisma events to CORE activity format
  • Add error handling and rate limiting
  • Create integration documentation
  • Add to integrations/README.md

Technical Notes

  • Prisma offers a TypeScript SDK (@prisma/management-api-sdk) that simplifies API access with built-in OAuth and token refresh.
  • The Management API is specifically for Prisma Data Platform (Prisma Postgres, cloud projects) - not for the Prisma ORM itself.
  • The SDK supports both simple Bearer token auth and full OAuth 2.0 with automatic token refresh (requires offline_access scope).
  • Prisma Data Platform is relatively new; the API surface may evolve.
  • The API is primarily for managing Prisma Postgres databases and projects, not for querying database contents.
  • Consider distinguishing between Prisma ORM (local development tool) and Prisma Data Platform (cloud service) in documentation.
  • Note: Prisma Cloud (Palo Alto Networks) is a completely different product; this is about Prisma by Prisma Data, Inc.

Resources

Labels

enhancement, integration, new-feature

Contributor Guide