npm install graphile-column-privileges-mutations
This PostGraphile schema plugin was built to enable use of column-level SELECT grants, while still providing auto-generated mutations within PostGraphile. It works by using primary or unique constraints.
To give you a sense of why/where this plugin was born: graphile/graphile-engine#260
- Disable the default mutations in your graphile settings object
- Append the new plugins!
- Enjoy!
app.use(
postgraphile(connectionStr, schemas, {
appendPlugins: [
PgMutationCreatePlugin,
PgMutationUpdateDeletePlugin
],
graphileBuildOptions: {
// disable the default mutations
pgDisableDefaultMutations: true
}
})
);
Example with app users and select grants here:
https://github.com/pyramation/graphile-column-select-grants-example
createdb mutation_example
psql mutation_example < sql/roles.sql
psql mutation_example < sql/user.sql
psql mutation_example < sql/schema.sql
yarn test