package com.iqser.red.service.persistence.management.v1.processor.roles;

public final class ActionRoles {

    // Audit
    public static final String SEARCH_AUDIT_LOG = "red-search-audit-log";

    // Dictionary
    public static final String ADD_DICTIONARY_ENTRY = "red-add-dictionary-entry";
    public static final String ADD_DOSSIER_DICTIONARY_ENTRY = "red-add-dossier-dictionary-entry";
    public static final String DELETE_DICTIONARY_ENTRY = "red-delete-dictionary-entry";
    public static final String DELETE_DOSSIER_DICTIONARY_ENTRY = "red-delete-dossier-dictionary-entry";
    public static final String ADD_UPDATE_DICTIONARY_TYPE = "red-add-update-dictionary-type";
    public static final String ADD_UPDATE_DOSSIER_DICTIONARY_TYPE = "red-add-update-dossier-dictionary-type";
    public static final String DELETE_DICTIONARY_TYPE = "red-delete-dictionary-type";
    public static final String DELETE_DOSSIER_DICTIONARY_TYPE = "red-delete-dossier-dictionary-type";

    public static final String READ_DICTIONARY_TYPES = "red-read-dictionary-types";

    // Colors
    public static final String READ_COLORS = "red-read-colors";
    public static final String WRITE_COLORS = "red-write-colors";

    // Digital Signature
    public static final String WRITE_DIGITAL_SIGNATURE = "red-write-digital-signature";
    public static final String READ_DIGITAL_SIGNATURE = "red-read-digital-signature";

    // Download
    public static final String PROCESS_DOWNLOAD = "red-process-download";
    public static final String READ_DOWNLOAD_STATUS = "red-read-download-status";

    // Legal Basis
    public static final String READ_LEGAL_BASIS = "red-read-legal-basis";
    public static final String WRITE_LEGAL_BASIS = "red-write-legal-basis";

    // License Report
    public static final String READ_LICENSE_REPORT = "red-read-license-report";

    // Redaction log
    public static final String READ_REDACTION_LOG = "red-read-redaction-log";

    // DossierTemplates
    public static final String READ_DOSSIER_TEMPLATES = "red-read-dossier-templates";
    public static final String WRITE_DOSSIER_TEMPLATES = "red-write-dossier-templates";

    // Dossier Status / States
    public static final String READ_DOSSIER_STATUS = "red-read-dossier-status";
    public static final String WRITE_DOSSIER_STATUS = "red-write-dossier-status";

    // Rules
    public static final String READ_RULES = "red-read-rules";
    public static final String WRITE_RULES = "red-write-rules";

    // SMTP
    public static final String READ_SMTP_CONFIGURATION = "red-read-smtp-configuration";
    public static final String WRITE_SMTP_CONFIGURATION = "red-write-smtp-configuration";

    // General Configurations
    public static final String READ_GENERAL_CONFIGURATION = "red-read-general-configuration";
    public static final String WRITE_GENERAL_CONFIGURATION = "red-write-general-configuration";

    // Preferences
    public static final String MANAGE_USER_PREFERENCES = "red-manage-user-preferences";

    // Users
    public static final String READ_USERS = "red-read-users";
    public static final String READ_ALL_USERS = "red-read-all-users";
    public static final String WRITE_USERS = "red-write-users";
    public static final String UPDATE_MY_PROFILE = "red-update-my-profile";

    // Version
    public static final String READ_VERSIONS = "red-read-versions";

    // Viewed pages
    public static final String MANAGE_VIEWED_PAGES = "red-manage-viewed-pages";

    // Watermark
    public static final String READ_WATERMARK = "red-read-watermark";
    public static final String WRITE_WATERMARK = "red-write-watermark";

    // Dossier
    public static final String READ_DOSSIER = "red-read-dossier";
    public static final String ADD_UPDATE_DOSSIER = "red-add-update-dossier";
    public static final String DELETE_DOSSIER = "red-delete-dossier";
    public static final String ARCHIVE_DOSSIER = "red-archived-dossier";
    public static final String UNARCHIVE_DOSSIER = "red-unarchive-dossier";

    //Re-analyze
    public static final String REANALYZE_DOSSIER = "red-reanalyze-dossier";
    public static final String REANALYZE_FILE = "red-reanalyze-file";

    // Exclude Include File
    public static final String EXCLUDE_INCLUDE_FILE = "red-exclude-include-file";
    public static final String EXCLUDE_INCLUDE_PAGES = "red-exclude-include-pages";

    // Rotate Page
    public static final String ROTATE_PAGE = "red-rotate-page";

    //Status
    public static final String READ_FILE_STATUS = "red-read-file-status";
    public static final String SET_REVIEWER = "red-set-reviewer";
    public static final String SET_STATUS_UNDER_APPROVAL = "red-set-status-under-approval";
    public static final String SET_STATUS_APPROVED = "red-set-status-approved";

    //File Attributes
    public static final String WRITE_FILE_ATTRIBUTES_CONFIG = "red-write-file-attributes-config";
    public static final String READ_FILE_ATTRIBUTES_CONFIG = "red-read-file-attributes-config";
    public static final String WRITE_FILE_ATTRIBUTES = "red-write-file-attributes";

    //Files
    public static final String UPLOAD_FILE = "red-upload-file";
    public static final String DELETE_FILE = "red-delete-file";
    public static final String DOWNLOAD_ORIGINAL_FILE = "red-download-original-file";
    public static final String DOWNLOAD_REDACTED_FILE = "red-download-redacted-file";
    public static final String DOWNLOAD_ANNOTATED_FILE = "red-download-annotated-file";
    public static final String DOWNLOAD_REDACTION_PREVIEW_FILE = "red-download-redaction-preview-file";

    //Manual Redaction
    public static final String READ_MANUAL_REDACTIONS = "red-read-manual-redactions";
    public static final String REQUEST_MANUAL_REDACTION = "red-request-redaction";
    public static final String PROCESS_MANUAL_REDACTION_REQUEST = "red-process-manual-redaction-request";
    public static final String DO_MANUAL_REDACTION = "red-add-redaction";
    public static final String DELETE_MANUAL_REDACTION = "red-delete-manual-redaction";
    public static final String ADD_COMMENT = "red-add-comment";
    public static final String DELETE_COMMENT = "red-delete-comment";

    //Report Template
    public static final String UPLOAD_REPORT_TEMPLATE = "red-upload-report-template";
    public static final String GET_REPORT_TEMPLATES = "red-get-report-templates";
    public static final String DOWNLOAD_REPORT_TEMPLATE = "red-download-report-template";
    public static final String DELETE_REPORT_TEMPLATE = "red-delete-report-template";

    //Dossier Attributes
    public static final String WRITE_DOSSIER_ATTRIBUTES_CONFIG = "red-write-dossier-attributes-config";
    public static final String READ_DOSSIER_ATTRIBUTES_CONFIG = "red-read-dossier-attributes-config";
    public static final String WRITE_DOSSIER_ATTRIBUTES = "red-write-dossier-attributes";
    public static final String READ_DOSSIER_ATTRIBUTES = "red-read-dossier-attributes";

    //Search
    public static final String REINDEX = "red-reindex";
    public static final String SEARCH = "red-search";

    //Notifications
    public static final String READ_NOTIFICATIONS = "red-read-notification";
    public static final String UPDATE_NOTIFICATIONS = "red-update-notification";

    // ImportedRedactions
    public static final String PROCESS_TEXT_HIGHLIGHTS = "red-process-texthighlights";
    public static final String DELETE_IMPORTED_REDACTIONS = "red-delete-imported-redactions";

    // Highlights
    public static final String GET_HIGHLIGHTS = "red-get-highlights";
    public static final String CONVERT_HIGHLIGHTS = "red-convert-highlights";
    public static final String DELETE_HIGHLIGHTS = "red-delete-highlights";

    // ACL Permission Management Signature
    public static final String MANAGE_ACL_PERMISSIONS = "red-manage-acl-permissions";

    // Application Configuration
    public static final String READ_APP_CONFIG = "red-read-app-configuration";
    public static final String WRITE_APP_CONFIG = "red-write-app-configuration";

    // License Management
    public static final String UPDATE_LICENSE = "red-update-license";
    public static final String READ_LICENSE = "red-read-license";

    // RSS
    public static final String GET_RSS = "red-get-rss";

    // Multitenancy
    public static final String CREATE_TENANT = "red-create-tenant";
    public static final String GET_TENANTS = "red-get-tenants";

    public static final String DEPLOYMENT_INFO = "red-deployment-info";


    private ActionRoles() {}

}
