/*
 * Copyright 2025 Daytona Platforms Inc.
 * SPDX-License-Identifier: AGPL-3.0
 */

export enum AuditAction {
  CREATE = 'create',
  READ = 'read',
  UPDATE = 'update',
  DELETE = 'delete',
  LOGIN = 'login',
  SET_DEFAULT = 'set_default',
  UPDATE_ACCESS = 'update_access',
  UPDATE_QUOTA = 'update_quota',
  UPDATE_REGION_QUOTA = 'update_region_quota',
  SUSPEND = 'suspend',
  UNSUSPEND = 'unsuspend',
  ACCEPT = 'accept',
  DECLINE = 'decline',
  LINK_ACCOUNT = 'link_account',
  UNLINK_ACCOUNT = 'unlink_account',
  LEAVE_ORGANIZATION = 'leave_organization',
  REGENERATE_KEY_PAIR = 'regenerate_key_pair',
  UPDATE_SCHEDULING = 'update_scheduling',
  UPDATE_DRAINING = 'update_draining',
  START = 'start',
  STOP = 'stop',
  RESIZE = 'resize',
  REPLACE_LABELS = 'replace_labels',
  CREATE_BACKUP = 'create_backup',
  UPDATE_PUBLIC_STATUS = 'update_public_status',
  SET_AUTO_STOP_INTERVAL = 'set_auto_stop_interval',
  SET_AUTO_ARCHIVE_INTERVAL = 'set_auto_archive_interval',
  SET_AUTO_DELETE_INTERVAL = 'set_auto_delete_interval',
  ARCHIVE = 'archive',
  SNAPSHOT = 'snapshot',
  FORK = 'fork',
  GET_PORT_PREVIEW_URL = 'get_port_preview_url',
  SET_GENERAL_STATUS = 'set_general_status',
  ACTIVATE = 'activate',
  DEACTIVATE = 'deactivate',
  UPDATE_NETWORK_SETTINGS = 'update_network_settings',
  SEND_WEBHOOK_MESSAGE = 'send_webhook_message',
  INITIALIZE_WEBHOOKS = 'initialize_webhooks',
  UPDATE_SANDBOX_DEFAULT_LIMITED_NETWORK_EGRESS = 'update_sandbox_default_limited_network_egress',
  UPDATE_OTEL_CONFIG = 'update_otel_config',
  DELETE_OTEL_CONFIG = 'delete_otel_config',
  CREATE_SSH_ACCESS = 'create_ssh_access',
  REVOKE_SSH_ACCESS = 'revoke_ssh_access',
  RECOVER = 'recover',
  REGENERATE_PROXY_API_KEY = 'regenerate_proxy_api_key',
  REGENERATE_SSH_GATEWAY_API_KEY = 'regenerate_ssh_gateway_api_key',
  REGENERATE_SNAPSHOT_MANAGER_CREDENTIALS = 'regenerate_snapshot_manager_credentials',
  // toolbox actions (must be prefixed with 'toolbox_')
  TOOLBOX_DELETE_FILE = 'toolbox_delete_file',
  TOOLBOX_DOWNLOAD_FILE = 'toolbox_download_file',
  TOOLBOX_CREATE_FOLDER = 'toolbox_create_folder',
  TOOLBOX_MOVE_FILE = 'toolbox_move_file',
  TOOLBOX_SET_FILE_PERMISSIONS = 'toolbox_set_file_permissions',
  TOOLBOX_REPLACE_IN_FILES = 'toolbox_replace_in_files',
  TOOLBOX_UPLOAD_FILE = 'toolbox_upload_file',
  TOOLBOX_BULK_UPLOAD_FILES = 'toolbox_bulk_upload_files',
  TOOLBOX_GIT_ADD_FILES = 'toolbox_git_add_files',
  TOOLBOX_GIT_CREATE_BRANCH = 'toolbox_git_create_branch',
  TOOLBOX_GIT_DELETE_BRANCH = 'toolbox_git_delete_branch',
  TOOLBOX_GIT_CLONE_REPOSITORY = 'toolbox_git_clone_repository',
  TOOLBOX_GIT_COMMIT_CHANGES = 'toolbox_git_commit_changes',
  TOOLBOX_GIT_PULL_CHANGES = 'toolbox_git_pull_changes',
  TOOLBOX_GIT_PUSH_CHANGES = 'toolbox_git_push_changes',
  TOOLBOX_GIT_CHECKOUT_BRANCH = 'toolbox_git_checkout_branch',
  TOOLBOX_EXECUTE_COMMAND = 'toolbox_execute_command',
  TOOLBOX_CREATE_SESSION = 'toolbox_create_session',
  TOOLBOX_SESSION_EXECUTE_COMMAND = 'toolbox_session_execute_command',
  TOOLBOX_DELETE_SESSION = 'toolbox_delete_session',
  TOOLBOX_COMPUTER_USE_START = 'toolbox_computer_use_start',
  TOOLBOX_COMPUTER_USE_STOP = 'toolbox_computer_use_stop',
  TOOLBOX_COMPUTER_USE_RESTART_PROCESS = 'toolbox_computer_use_restart_process',
}
