Strapi plugin logo for Protected Populate

Protected Populate

An easy way to protect your GET populates from miss use. By protecting the endpoint from getting more data then you intended.

thumbnail for Protected Populate

Strapi Protected Populate Plugin

Strapi Discord NPM Version Monthly download on NPM

Table of Contents

🚦 Current Status

For more information on contributing please see the contrib message below.

✨ Features

These are the primary features that are finished or currently being worked on:

  • Protected your Get request populates and fields
  • Allow you to protect routes per role

🤔 Motivation

The purpose of this plugin is to have a easy way to protect your get endpoints from getting to much information out of them. I made this plugin since I got sick and tired of writing complex policies to do this exact thing.

🖐 Requirements

Supported Strapi Versions: Plugin V2 | Strapi Version | Supported | Tested On | | -------------- | --------- | ------------- | | v4 | ❌ | N/A | | v5 | ✅ | April 2023 |

Plutin V1 | Strapi Version | Supported | Tested On | | -------------- | --------- | ------------- | | v3 | ❌ | N/A | | <=v4.5.2 | ❌ | N/A | | v4.5.3/4.6.2 | ✅ | December 2022 | | v4.7.0/4.7.1 | ❌ | N/A | | v4.8.0+ | ✅ | April 2023 | | v5 | ❌ | April 2023 |

This plugin will not work on any version older then v4.5.3 since I am using the on syntax for dynamic zones wat was added in that version

⏳ Installation

Install the plugin in your Strapi project or your Strapi plugin.

# Using Yarn (Recommended)
yarn add strapi-plugin-protected-populate

# Using npm
npm install strapi-plugin-protected-populate

🔧 Configuration

WIP

Config

standard config add the following config to your config/plugins.js

1module.exports = () => {
2  return {
3    'protected-populate': {
4      enabled: true,
5    },
6  };
7};

enable auto populate will automatically populate all fields and populates if no ctx.query.populate / ctx.query.fields is found.

add the following config to your config/plugins.js

1module.exports = () => {
2  return {
3    'protected-populate': {
4      enabled: true,
5      config: {
6        ['auto-populate']: true,
7      },
8    },
9  };
10};

Contributing

Please open issues before making a pull request so that we can talk about what you want to change for the best results.

Migration

V1.0.0 to v1.1.0 choose what way you want to do the migration GUI or File change

GUI way

Go to the gui select all Media types and deselect them Update to v1.1.1 select all deselected Media

File change

Find all the media in fields and change them to populate

License

MIT

Install now

npm install strapi-plugin-protected-populate

STATS

20 GitHub stars36 weekly downloads

Last updated

9 days ago

Strapi Version

5.0.0 and above

Author

github profile image for Boegie19
Boegie19

Useful links

Create your own plugin

Check out the available plugin resources that will help you to develop your plugin or provider and get it listed on the marketplace.