using Sozsoft.Platform.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization;
using Volo.Abp.MultiTenancy;
namespace Sozsoft.Platform.Permissions;
public class PlatformPermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
PermissionRemoveGroup(context);
DefineSetupPermissions(context);
}
///
/// Kurulum / veritabanı bakım yetkileri. ile
/// işaretlendiği için tenant kullanıcılarına hiç görünmez ve verilemez.
///
private void DefineSetupPermissions(IPermissionDefinitionContext context)
{
var setupGroup = context.AddGroup(
PlatformPermissions.GroupName,
L("Permission:Setup"));
setupGroup.AddPermission(
PlatformPermissions.Setup.Migrate,
L("Permission:Setup.Migrate"),
MultiTenancySides.Host);
}
private static LocalizableString L(string name)
{
return LocalizableString.Create(name);
}
private void PermissionRemoveGroup(IPermissionDefinitionContext context)
{
context.RemoveGroup("AbpTenantManagement");
context.RemoveGroup("SettingManagement");
context.RemoveGroup("FeatureManagement");
context.RemoveGroup("AbpIdentity");
}
}