Features: - Full RBAC with 3 roles (superadmin/manager/contributor) - Ownership tracking on posts, tasks, campaigns, projects - Task system: assign to anyone, filter combobox, visibility scoping - Team members merged into users table (single source of truth) - Post thumbnails on kanban cards from attachments - Publication link validation before publishing - Interactive onboarding tutorial with Settings restart - Full Arabic/English i18n with RTL layout support - Language toggle in sidebar, IBM Plex Sans Arabic font - Brand-based visibility filtering for non-superadmins - Manager can only create contributors - Profile completion flow for new users - Cookie-based sessions (express-session + SQLite)
25 lines
659 B
JavaScript
25 lines
659 B
JavaScript
var util = require('util')
|
|
|
|
var errorMessages = {
|
|
LIMIT_PART_COUNT: 'Too many parts',
|
|
LIMIT_FILE_SIZE: 'File too large',
|
|
LIMIT_FILE_COUNT: 'Too many files',
|
|
LIMIT_FIELD_KEY: 'Field name too long',
|
|
LIMIT_FIELD_VALUE: 'Field value too long',
|
|
LIMIT_FIELD_COUNT: 'Too many fields',
|
|
LIMIT_UNEXPECTED_FILE: 'Unexpected field',
|
|
MISSING_FIELD_NAME: 'Field name missing'
|
|
}
|
|
|
|
function MulterError (code, field) {
|
|
Error.captureStackTrace(this, this.constructor)
|
|
this.name = this.constructor.name
|
|
this.message = errorMessages[code]
|
|
this.code = code
|
|
if (field) this.field = field
|
|
}
|
|
|
|
util.inherits(MulterError, Error)
|
|
|
|
module.exports = MulterError
|