Add permissions templates

This commit is contained in:
2025-04-13 18:20:52 +02:00
parent 961b4aab93
commit d6d4bcfc33
10 changed files with 158 additions and 3 deletions

View File

@@ -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;
}
}
}

View File

@@ -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;