/**
 * Application Constants
 */

module.exports = {
  ROLES: {
    ADMIN: "Admin",
    MANAGER: "Manager",
    EMPLOYEE: "Employee",
  },

  TASK_STATUS: {
    PENDING: "Pending",
    IN_PROGRESS: "In Progress",
    COMPLETED: "Completed",
    ON_HOLD: "On Hold",
  },

  TASK_PRIORITY: {
    LOW: "Low",
    MEDIUM: "Medium",
    HIGH: "High",
  },

  EMPLOYEE_STATUS: {
    ACTIVE: "Active",
    INACTIVE: "Inactive",
  },

  NOTIFICATION_TYPES: {
    TASK: "Task",
    DEADLINE: "Deadline",
    SYSTEM: "System",
    GENERAL: "General",
  },

  ACTION_TYPES: {
    CREATE: "CREATE",
    UPDATE: "UPDATE",
    DELETE: "DELETE",
    LOGIN: "LOGIN",
    LOGOUT: "LOGOUT",
    PASSWORD_CHANGE: "PASSWORD_CHANGE",
    STATUS_UPDATE: "STATUS_UPDATE",
    COMMENT: "COMMENT",
  },

  ENTITY_TYPES: {
    USER: "User",
    EMPLOYEE: "Employee",
    DEPARTMENT: "Department",
    TASK: "Task",
    COMMENT: "Comment",
  },

  HTTP_STATUS: {
    OK: 200,
    CREATED: 201,
    BAD_REQUEST: 400,
    UNAUTHORIZED: 401,
    FORBIDDEN: 403,
    NOT_FOUND: 404,
    CONFLICT: 409,
    INTERNAL_ERROR: 500,
  },

  PAGINATION: {
    DEFAULT_PAGE: 1,
    DEFAULT_LIMIT: 10,
    MAX_LIMIT: 100,
  },
};
