import { jsx as i } from "react/jsx-runtime";
import { D as s } from "./DocRenderer-C5pM9SWP.js";
import "react";
import "react-router-dom";
import "lucide-react";
const e = {
  featureId: "admin-permissions",
  moduleName: "permissions",
  applicationName: "administration",
  version: "2.15.0",
  overview: {
    objective: "docsAdministrationPermissions.overview.objective",
    problem: "docsAdministrationPermissions.overview.problem",
    solution: "docsAdministrationPermissions.overview.solution",
    stats: {
      useCases: 8,
      businessRules: 6,
      permissions: 7,
      endpoints: 12
    }
  },
  benefits: [
    {
      icon: "security",
      titleKey: "docsAdministrationPermissions.benefits.security.title",
      value: "100%",
      descriptionKey: "docsAdministrationPermissions.benefits.security.description"
    },
    {
      icon: "time",
      titleKey: "docsAdministrationPermissions.benefits.time.title",
      value: "-80%",
      descriptionKey: "docsAdministrationPermissions.benefits.time.description"
    },
    {
      icon: "quality",
      titleKey: "docsAdministrationPermissions.benefits.quality.title",
      value: "+90%",
      descriptionKey: "docsAdministrationPermissions.benefits.quality.description"
    }
  ],
  useCases: [
    { id: "UC-001", name: "docsAdministrationPermissions.useCases.uc001", actor: "Admin", description: "docsAdministrationPermissions.useCases.uc001Desc", permission: "administration.roles.read", priority: "Must" },
    { id: "UC-002", name: "docsAdministrationPermissions.useCases.uc002", actor: "Admin", description: "docsAdministrationPermissions.useCases.uc002Desc", permission: "administration.roles.create", priority: "Must" },
    { id: "UC-003", name: "docsAdministrationPermissions.useCases.uc003", actor: "Admin", description: "docsAdministrationPermissions.useCases.uc003Desc", permission: "administration.roles.update", priority: "Must" },
    { id: "UC-004", name: "docsAdministrationPermissions.useCases.uc004", actor: "Admin", description: "docsAdministrationPermissions.useCases.uc004Desc", permission: "administration.roles.assign", priority: "Must" },
    { id: "UC-005", name: "docsAdministrationPermissions.useCases.uc005", actor: "Admin", description: "docsAdministrationPermissions.useCases.uc005Desc", permission: "administration.permissions.read", priority: "Must" },
    { id: "UC-006", name: "docsAdministrationPermissions.useCases.uc006", actor: "Admin", description: "docsAdministrationPermissions.useCases.uc006Desc", permission: "administration.permissions.create", priority: "Should" },
    { id: "UC-007", name: "docsAdministrationPermissions.useCases.uc007", actor: "Admin", description: "docsAdministrationPermissions.useCases.uc007Desc", permission: "administration.roles.delete", priority: "Could" },
    { id: "UC-008", name: "docsAdministrationPermissions.useCases.uc008", actor: "Admin", description: "docsAdministrationPermissions.useCases.uc008Desc", permission: "administration.roles.read", priority: "Should" }
  ],
  features: [
    { id: "F-001", title: "docsAdministrationPermissions.features.f001Title", description: "docsAdministrationPermissions.features.f001Desc", example: "docsAdministrationPermissions.features.f001Example" },
    { id: "F-002", title: "docsAdministrationPermissions.features.f002Title", description: "docsAdministrationPermissions.features.f002Desc", example: "docsAdministrationPermissions.features.f002Example" },
    { id: "F-003", title: "docsAdministrationPermissions.features.f003Title", description: "docsAdministrationPermissions.features.f003Desc", example: "docsAdministrationPermissions.features.f003Example" },
    { id: "F-004", title: "docsAdministrationPermissions.features.f004Title", description: "docsAdministrationPermissions.features.f004Desc", example: "docsAdministrationPermissions.features.f004Example" },
    { id: "F-005", title: "docsAdministrationPermissions.features.f005Title", description: "docsAdministrationPermissions.features.f005Desc", example: "docsAdministrationPermissions.features.f005Example" }
  ],
  faq: [
    { questionKey: "docsAdministrationPermissions.faq.q1", answerKey: "docsAdministrationPermissions.faq.a1" },
    { questionKey: "docsAdministrationPermissions.faq.q2", answerKey: "docsAdministrationPermissions.faq.a2" },
    { questionKey: "docsAdministrationPermissions.faq.q3", answerKey: "docsAdministrationPermissions.faq.a3" },
    { questionKey: "docsAdministrationPermissions.faq.q4", answerKey: "docsAdministrationPermissions.faq.a4" }
  ],
  businessRules: [
    { id: "BR-001", name: "Hiérarchie permissions", category: "Sécurité", statement: "docsAdministrationPermissions.businessRules.br001" },
    { id: "BR-002", name: "Code rôle unique", category: "Validation", statement: "docsAdministrationPermissions.businessRules.br002" },
    { id: "BR-003", name: "Permissions additives", category: "Logique métier", statement: "docsAdministrationPermissions.businessRules.br003" },
    { id: "BR-004", name: "Rôles système protégés", category: "Sécurité", statement: "docsAdministrationPermissions.businessRules.br004" },
    { id: "BR-005", name: "Scope tenant/global", category: "Multi-tenant", statement: "docsAdministrationPermissions.businessRules.br005" },
    { id: "BR-006", name: "Permissions dynamiques", category: "Extensibilité", statement: "docsAdministrationPermissions.businessRules.br006" }
  ],
  permissions: [
    { path: "administration.roles.read", description: "Consulter les rôles", roles: ["Admin", "Manager"] },
    { path: "administration.roles.create", description: "Créer un rôle", roles: ["Admin"] },
    { path: "administration.roles.update", description: "Modifier un rôle", roles: ["Admin"] },
    { path: "administration.roles.delete", description: "Supprimer un rôle", roles: ["Admin"] },
    { path: "administration.roles.assign", description: "Gérer les permissions d'un rôle", roles: ["Admin"] },
    { path: "administration.permissions.read", description: "Consulter les permissions", roles: ["Admin", "Manager"] },
    { path: "administration.permissions.create", description: "Créer une permission dynamique", roles: ["Admin"] }
  ],
  apiEndpoints: [
    { method: "GET", path: "/api/administration/roles", handler: "GetRoles", permission: "administration.roles.read" },
    { method: "POST", path: "/api/administration/roles", handler: "CreateRole", permission: "administration.roles.create" },
    { method: "PUT", path: "/api/administration/roles/{id}", handler: "UpdateRole", permission: "administration.roles.update" },
    { method: "DELETE", path: "/api/administration/roles/{id}", handler: "DeleteRole", permission: "administration.roles.delete" },
    { method: "POST", path: "/api/administration/roles/{id}/permissions", handler: "AssignPermissions", permission: "administration.roles.assign" },
    { method: "GET", path: "/api/administration/permissions", handler: "GetPermissions", permission: "administration.permissions.read" },
    { method: "POST", path: "/api/administration/permissions", handler: "CreatePermission", permission: "administration.permissions.create" },
    { method: "DELETE", path: "/api/administration/permissions/{id}", handler: "DeletePermission", permission: "administration.permissions.delete" }
  ],
  technicalRef: {
    permissionBase: "administration.roles + administration.permissions",
    controllerRoute: "/api/administration/roles|permissions",
    entityNames: ["Role", "Permission", "RolePermission", "UserRole"],
    integrations: ["Authorization", "Tenants", "Users"]
  }
};
function m() {
  return /* @__PURE__ */ i(
    s,
    {
      data: e,
      backPath: "/docs/business/platform",
      backLabel: "nav.backToAdministration",
      i18nNamespace: "docsAdministrationPermissions"
    }
  );
}
export {
  m as default
};
//# sourceMappingURL=index-DE40yc39.js.map
