Add permissions templates
This commit is contained in:
11
package-lock.json
generated
11
package-lock.json
generated
@@ -19,6 +19,7 @@
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0",
|
||||
"react-router-dom": "^6.0.0",
|
||||
"strapi-v5-plugin-populate-deep": "^4.0.5",
|
||||
"styled-components": "^6.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -20598,6 +20599,16 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/strapi-v5-plugin-populate-deep": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/strapi-v5-plugin-populate-deep/-/strapi-v5-plugin-populate-deep-4.0.5.tgz",
|
||||
"integrity": "sha512-se5WE8rWxVx+BX904tESoZsRJYJg7VtGWZNeNGhirJGhuUJV5UgAP38Jiq5kPdyT3rASiwfCJxvXgMAfTh3Y5A==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18.0.0 <=22.x.x",
|
||||
"npm": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/stream-browserify": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0",
|
||||
"react-router-dom": "^6.0.0",
|
||||
"strapi-v5-plugin-populate-deep": "^4.0.5",
|
||||
"styled-components": "^6.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -67,6 +67,11 @@
|
||||
"relation": "oneToMany",
|
||||
"target": "api::event.event",
|
||||
"mappedBy": "choral"
|
||||
},
|
||||
"permissions_templates": {
|
||||
"type": "relation",
|
||||
"relation": "oneToMany",
|
||||
"target": "api::permissions-template.permissions-template"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"kind": "collectionType",
|
||||
"collectionName": "permissions_templates",
|
||||
"info": {
|
||||
"singularName": "permissions-template",
|
||||
"pluralName": "permissions-templates",
|
||||
"displayName": "PermissionsTemplate"
|
||||
},
|
||||
"options": {
|
||||
"draftAndPublish": false
|
||||
},
|
||||
"pluginOptions": {},
|
||||
"attributes": {
|
||||
"key": {
|
||||
"type": "uid"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"permissions": {
|
||||
"type": "component",
|
||||
"repeatable": true,
|
||||
"component": "user.permissions"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* permissions-template controller
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi'
|
||||
|
||||
export default factories.createCoreController('api::permissions-template.permissions-template');
|
||||
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* permissions-template router
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::permissions-template.permissions-template');
|
||||
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* permissions-template service
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::permissions-template.permissions-template');
|
||||
29
src/components/user/permissions.json
Normal file
29
src/components/user/permissions.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"collectionName": "components_user_permissions",
|
||||
"info": {
|
||||
"displayName": "permissions",
|
||||
"icon": "key"
|
||||
},
|
||||
"options": {},
|
||||
"attributes": {
|
||||
"module": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"information",
|
||||
"chat",
|
||||
"board",
|
||||
"calendar",
|
||||
"users"
|
||||
]
|
||||
},
|
||||
"active": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"read": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"write": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
}
|
||||
28
types/generated/components.d.ts
vendored
28
types/generated/components.d.ts
vendored
@@ -1,3 +1,25 @@
|
||||
/*
|
||||
* The app doesn't have any components yet.
|
||||
*/
|
||||
import type { Schema, Struct } from '@strapi/strapi';
|
||||
|
||||
export interface UserPermissions extends Struct.ComponentSchema {
|
||||
collectionName: 'components_user_permissions';
|
||||
info: {
|
||||
displayName: 'permissions';
|
||||
icon: 'key';
|
||||
};
|
||||
attributes: {
|
||||
active: Schema.Attribute.Boolean;
|
||||
module: Schema.Attribute.Enumeration<
|
||||
['information', 'chat', 'board', 'calendar', 'users']
|
||||
>;
|
||||
read: Schema.Attribute.Boolean;
|
||||
write: Schema.Attribute.Boolean;
|
||||
};
|
||||
}
|
||||
|
||||
declare module '@strapi/strapi' {
|
||||
export module Public {
|
||||
export interface ComponentSchemas {
|
||||
'user.permissions': UserPermissions;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
37
types/generated/contentTypes.d.ts
vendored
37
types/generated/contentTypes.d.ts
vendored
@@ -511,6 +511,10 @@ export interface ApiChoralChoral extends Struct.CollectionTypeSchema {
|
||||
'oneToOne',
|
||||
'plugin::users-permissions.user'
|
||||
>;
|
||||
permissions_templates: Schema.Attribute.Relation<
|
||||
'oneToMany',
|
||||
'api::permissions-template.permissions-template'
|
||||
>;
|
||||
postal: Schema.Attribute.Integer;
|
||||
publishedAt: Schema.Attribute.DateTime;
|
||||
updatedAt: Schema.Attribute.DateTime;
|
||||
@@ -553,6 +557,38 @@ export interface ApiEventEvent extends Struct.CollectionTypeSchema {
|
||||
};
|
||||
}
|
||||
|
||||
export interface ApiPermissionsTemplatePermissionsTemplate
|
||||
extends Struct.CollectionTypeSchema {
|
||||
collectionName: 'permissions_templates';
|
||||
info: {
|
||||
displayName: 'PermissionsTemplate';
|
||||
pluralName: 'permissions-templates';
|
||||
singularName: 'permissions-template';
|
||||
};
|
||||
options: {
|
||||
draftAndPublish: false;
|
||||
};
|
||||
attributes: {
|
||||
createdAt: Schema.Attribute.DateTime;
|
||||
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||
Schema.Attribute.Private;
|
||||
description: Schema.Attribute.String;
|
||||
key: Schema.Attribute.UID;
|
||||
locale: Schema.Attribute.String & Schema.Attribute.Private;
|
||||
localizations: Schema.Attribute.Relation<
|
||||
'oneToMany',
|
||||
'api::permissions-template.permissions-template'
|
||||
> &
|
||||
Schema.Attribute.Private;
|
||||
permissions: Schema.Attribute.Component<'user.permissions', true>;
|
||||
publishedAt: Schema.Attribute.DateTime;
|
||||
title: Schema.Attribute.String;
|
||||
updatedAt: Schema.Attribute.DateTime;
|
||||
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||
Schema.Attribute.Private;
|
||||
};
|
||||
}
|
||||
|
||||
export interface PluginContentReleasesRelease
|
||||
extends Struct.CollectionTypeSchema {
|
||||
collectionName: 'strapi_releases';
|
||||
@@ -1089,6 +1125,7 @@ declare module '@strapi/strapi' {
|
||||
'api::board.board': ApiBoardBoard;
|
||||
'api::choral.choral': ApiChoralChoral;
|
||||
'api::event.event': ApiEventEvent;
|
||||
'api::permissions-template.permissions-template': ApiPermissionsTemplatePermissionsTemplate;
|
||||
'plugin::content-releases.release': PluginContentReleasesRelease;
|
||||
'plugin::content-releases.release-action': PluginContentReleasesReleaseAction;
|
||||
'plugin::i18n.locale': PluginI18NLocale;
|
||||
|
||||
Reference in New Issue
Block a user