using RSecurityBackend.Models.Auth.Memory;
using System.Collections.Generic;
namespace RMuseum.Models.Auth.Memory
{
///
/// specific forms and permission
///
public class RMuseumSecurableItem : SecurableItem
{
///
/// artifact
///
public const string ArtifactEntityShortName = "artifact";
///
/// tag
///
public const string TagEntityShortName = "tag";
///
/// note
///
public const string NoteEntityShortName = "note";
///
/// view drafts
///
public const string ViewDraftOperationShortName = "viewdraft";
///
/// edittag
///
public const string EditTagValueOperationShortName = "edittag";
///
/// awaiting
///
public const string ToAwaitingStatusOperationShortName = "awaiting";
///
/// publish
///
public const string PublishOperationShortName = "publish";
///
/// import
///
public const string ImportOperationShortName = "import";
///
/// moderate
///
public const string ModerateOperationShortName = "moderate";
///
/// review suggested ganjoor links
///
public const string ReviewGanjoorLinksOperationShortName = "ganjoor";
///
/// audio narrations
///
public const string AudioRecitationEntityShortName = "recitation";
///
/// ganjoor contents
///
public const string GanjoorEntityShortName = "ganjoor";
///
/// reorder
///
public const string ReOrderOperationShortName = "reorder";
///
/// review suggested songs
///
public const string ReviewSongs = "songrevu";
///
/// add song from any source
///
public const string AddSongs = "songadd";
///
/// list of forms and their permissions
///
public new static SecurableItem[] Items
{
get
{
List lst = new List(SecurableItem.Items);
lst.AddRange(
new SecurableItem[]
{
new SecurableItem()
{
ShortName = ArtifactEntityShortName,
Description = "اشیاء گنجینه",
Operations = new SecurableItemOperation[]
{
new SecurableItemOperation(AddOperationShortName, "ایجاد", false),
new SecurableItemOperation(ImportOperationShortName, "ورود اطلاعات از منابع خارجی", false),
new SecurableItemOperation(ModifyOperationShortName, "اصلاح", false),
new SecurableItemOperation(DeleteOperationShortName, "حذف", false),
new SecurableItemOperation(ViewDraftOperationShortName, "مشاهدهٔ پیشنویسها", false),
new SecurableItemOperation(EditTagValueOperationShortName, "اصلاح مقدار ویژگی", false),
new SecurableItemOperation(ToAwaitingStatusOperationShortName, "درخواست بازبینی", false),
new SecurableItemOperation(PublishOperationShortName, "انتشار", false),
new SecurableItemOperation(ReviewGanjoorLinksOperationShortName, "بررسی شعرهای پیشنهادی گنجور", false),
}
},
new SecurableItem()
{
ShortName = TagEntityShortName,
Description = "انواع ویژگیها",
Operations = new SecurableItemOperation[]
{
new SecurableItemOperation(AddOperationShortName, "ایجاد", false),
new SecurableItemOperation(ModifyOperationShortName, "اصلاح", false),
new SecurableItemOperation(DeleteOperationShortName, "حذف", false)
}
},
new SecurableItem()
{
ShortName = NoteEntityShortName,
Description = "یادداشتها",
Operations = new SecurableItemOperation[]
{
new SecurableItemOperation(ModerateOperationShortName, "بررسی", false)
}
},
new SecurableItem()
{
ShortName = AudioRecitationEntityShortName,
Description = "خوانشها",
Operations = new SecurableItemOperation[]
{
new SecurableItemOperation(PublishOperationShortName, "انتشار خوانش خود", false),
new SecurableItemOperation(ModerateOperationShortName, "بررسی خوانش کاربران دیگر", false),
new SecurableItemOperation(ReOrderOperationShortName, "تغییر ترتیب خوانشها", false),
new SecurableItemOperation(ImportOperationShortName, "ورود اطلاعات از منابع خارجی", false),
}
},
new SecurableItem()
{
ShortName = GanjoorEntityShortName,
Description = "محتوای گنجور",
Operations = new SecurableItemOperation[]
{
new SecurableItemOperation(ReviewSongs, "بازبینی آهنگهای پیشنهادی", false),
new SecurableItemOperation(AddSongs, "افزودن آهنگ از هر منبع", false),
new SecurableItemOperation(ImportOperationShortName, "ورود اطلاعات از منابع خارجی", false),
}
},
});
return lst.ToArray();
}
}
}
}