JSPM

@fullstackio/postgraphile-upsert-plugin

1.4.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 33
  • Score
    100M100P100Q70852F
  • License MIT

add postgres upsert mutations to postgraphile

Package Exports

  • @fullstackio/postgraphile-upsert-plugin

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@fullstackio/postgraphile-upsert-plugin) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

postgraphile-upsert-plugin

add postgres upsert mutations to postgraphile

JavaScript Style Guide semantic-release Greenkeeper badge CircleCI

Getting Started

Install

yarn add @fullstackio/postgraphile-upsert-plugin

CLI

postgraphile --append-plugins @fullstackio/postgraphile-upsert-plugin:PgMutationUpsertPlugin

See here for more information about loading plugins with PostGraphile.

Library

const express = require("express");
const { postgraphile } = require("postgraphile");
const {
  PgMutationUpsertPlugin
} = require("@fullstackio/postgraphile-upsert-plugin");

const app = express();

app.use(
  postgraphile(pgConfig, schema, {
    appendPlugins: [PgMutationUpsertPlugin]
  })
);

app.listen(5000);

Usage

This plugin creates an addition operation to upsert<Table> using a where clause, which is any unique constraint on the table.

Example

create table bikes (
  id serial PRIMARY KEY,
  "serialNumber" varchar UNIQUE NOT NULL,
  weight real,
  make varchar,
  model varchar
)

An upsert would look like this:

mutation {
  upsertBike(
    where: { serialNumber: "abc123" }
    input: {
      bike: {
        serialNumber: "abc123"
        weight: 25.6
        make: "kona"
        model: "cool-ie deluxe"
      }
    }
  ) {
    clientMutationId
  }
}

Credits