<?php
/**
 * Predefined/internal role IDs.
 */
class RoleId {
    /**
     * Council member.
     */
    public const COUNCIL = 97;

    /**
     * Developer.
     */
    public const DEVELOPER = 98;

    /**
     * Moderator.
     */
    public const MOD = 99;

    /**
     * Manager.
     */
    public const MANAGER = 100;

    /**
     * Administrator.
     */
    public const ADMIN = 101;
}

class RoleColor {
    public const COUNCIL = '87cefa';

    public const DEVELOPER = '007bff';

    public const MOD = '39ff14';

    public const MANAGER = 'bb71e4';

    public const ADMIN = 'ff0000';
}

/**
 * The minimum user table columns required for username displays.
 */
const MINIMUM_USER_COLUMNS_FOR_DISPLAY = [
    'users.username',
    'users.name_color',
    'users.name_css',
    'users.profile_pic',
    'users.has_small_profile_pic',
    'users.role',
    'users.council',
    'users.is_developer',
    'users.mod',
    'users.is_manager',
    'users.admin',
];

/**
 * The columns required to be selected for rendering a pastes list.
 */
const PASTES_LIST_COLUMNS_TO_SELECT = [
    'pastes.id',
    'pastes.title',
    'pastes.content',
    'pastes.created_at',
    'pastes.created_by',
    'pastes.hidden',
    'pastes.unlisted',
    'pastes.private',
    'pastes.comments',
    'pastes.disable_cmts',
    'pastes.views',
    'pastes.blacklist',
    'pastes.link',
    'pastes.last_edited',
    'pastes.password',
    'pastes.flagged',
    'pastes.flagdate',
    ...MINIMUM_USER_COLUMNS_FOR_DISPLAY,
];

/**
 * The message returned when an account is locked but recovery is possible.
 */
const ACCOUNT_LOCKED_RECOVERY_AVAILABLE_MESSAGE = 'Account locked for security reasons. Contact @convict or @nitrous on Telegram with your username to request a password reset email, or create a new account';

/**
 * The message returned when an account is locked but recovery is not possible.
 */
const ACCOUNT_LOCKED_RECOVERY_UNAVAILABLE_MESSAGE = 'Locked for security reasons. No email on account; can\'t be unlocked';
