An easy way to protect your GET populates from miss use. By protecting the endpoint from getting more data then you intended.
For more information on contributing please see the contrib message below.
These are the primary features that are finished or currently being worked on:
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.
Supported Strapi Versions:
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 |
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
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
WIP
standard config add the following config to your config/plugins.js
1
2
3
4
5
6
7
module.exports = () => {
return {
'protected-populate': {
enabled: true,
},
};
};
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
1
2
3
4
5
6
7
8
9
10
module.exports = () => {
return {
'protected-populate': {
enabled: true,
config: {
['auto-populate']: true,
},
},
};
};
Please open issues before making a pull request so that we can talk about what you want to change for the best results.
V1.0.0 to v1.1.0 choose what way you want to do the migration GUI or File change
Go to the gui select all Media types and deselect them Update to v1.1.1 select all deselected Media
Find all the media in fields and change them to populate
MIT
npm install strapi-plugin-protected-populate
Check out the available plugin resources that will help you to develop your plugin or provider and get it listed on the marketplace.