//! This module contains utilities to deal with the user access bitmap pub const CAN_DELETE_FILES: u64 = 2_u64.pow(0); pub const CAN_UPLOAD_FILES: u64 = 2_u64.pow(1); pub const CAN_DOWNLOAD_FILES: u64 = 2_u64.pow(2); pub const CAN_RENAME_FILES: u64 = 2_u64.pow(3); pub const CAN_MOVE_FILES: u64 = 2_u64.pow(4); pub const CAN_CREATE_FOLDERS: u64 = 2_u64.pow(5); pub const CAN_DELETE_FOLDERS: u64 = 2_u64.pow(6); pub const CAN_RENAME_FOLDERS: u64 = 2_u64.pow(7); pub const CAN_MOVE_FOLDERS: u64 = 2_u64.pow(8); pub const CAN_READ_CHATS: u64 = 2_u64.pow(9); pub const CAN_SEND_CHATS: u64 = 2_u64.pow(10); pub const CAN_OPEN_CHATS: u64 = 2_u64.pow(11); pub const CAN_CLOSE_CHATS: u64 = 2_u64.pow(12); pub const CAN_BE_SHOWN_IN_LIST: u64 = 2_u64.pow(13); pub const CAN_CREATE_USERS: u64 = 2_u64.pow(14); pub const CAN_DELETE_USERS: u64 = 2_u64.pow(15); pub const CAN_OPEN_USERS: u64 = 2_u64.pow(16); pub const CAN_MODIFY_USERS: u64 = 2_u64.pow(17); pub const CAN_CHANGE_OWN_PASSWORD: u64 = 2_u64.pow(18); pub const CAN_SEND_PRIVATE_MESSAGES: u64 = 2_u64.pow(19); pub const CAN_READ_NEWS_ARTICLES: u64 = 2_u64.pow(20); pub const CAN_POST_NEWS_ARTICLES: u64 = 2_u64.pow(21); pub const CAN_DISCONNECT_USERS: u64 = 2_u64.pow(22); pub const CANNOT_BE_DISCONNECTED: u64 = 2_u64.pow(23); pub const CAN_GET_CLIENT_INFO: u64 = 2_u64.pow(24); pub const CAN_UPLOAD_ANYWHERE: u64 = 2_u64.pow(25); pub const CAN_USE_ANY_NAME: u64 = 2_u64.pow(26); pub const CAN_SKIP_AGREEMENT: u64 = 2_u64.pow(27); pub const CAN_SET_FILE_COMMENT: u64 = 2_u64.pow(28); pub const CAN_SET_FOLDER_COMMENT: u64 = 2_u64.pow(29); pub const CAN_VIEW_DROP_BOXES: u64 = 2_u64.pow(30); pub const CAN_MAKE_ALIASES: u64 = 2_u64.pow(31); pub const CAN_BROADCAST: u64 = 2_u64.pow(32); pub const CAN_DELETE_NEWS_ARTICLES: u64 = 2_u64.pow(33); pub const CAN_CREATE_NEWS_CATEGORIES: u64 = 2_u64.pow(34); pub const CAN_DELETE_NEWS_CATEGORIES: u64 = 2_u64.pow(35); pub const CAN_CREATE_NEWS_FOLDERS: u64 = 2_u64.pow(36); pub const CAN_DELETE_NEWS_FOLDERS: u64 = 2_u64.pow(37); pub const CAN_UPLOAD_FOLDERS: u64 = 2_u64.pow(38); pub const CAN_DOWNLOAD_FOLDERS: u64 = 2_u64.pow(39); pub const CAN_SEND_MESSAGES: u64 = 2_u64.pow(40); #[must_use] pub fn can(permission: u64, bits: u64) -> bool { bits & permission != 0 }