#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, serde::Serialize)]
#[serde(transparent)]
pub struct ErrorCode {
code: &'static str,
}
impl std::fmt::Display for ErrorCode {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(self.code)
}
}
#[derive(Debug, serde::Serialize, serde::Deserialize)]
#[serde(transparent)]
pub struct OwnedErrorCode {
code: String,
}
impl std::fmt::Display for OwnedErrorCode {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(&self.code)
}
}
impl ErrorCode {
pub fn into_owned(self) -> OwnedErrorCode {
OwnedErrorCode {
code: self.code.to_string(),
}
}
pub const COMMAND_TIMEOUT: ErrorCode = ErrorCode {
code: "command-timeout",
};
pub const COMMAND_ERROR: ErrorCode = ErrorCode {
code: "command-error",
};
pub const COMMAND_FAILURE: ErrorCode = ErrorCode {
code: "command-failure",
};
pub const OLD_REPO_ERROR: ErrorCode = ErrorCode {
code: "old-repo-error",
};
pub const NOT_FOUND: ErrorCode = ErrorCode { code: "not-found" };
pub const FILE_IO_ERROR: ErrorCode = ErrorCode {
code: "file-io-error",
};
pub const FILE_EXISTS: ErrorCode = ErrorCode {
code: "file-exists",
};
pub const FORMAT_FILE_ID_ERROR: ErrorCode = ErrorCode {
code: "format-file-id-error",
};
pub const OBJECT_STORE_INITIALIZE_ERROR: ErrorCode = ErrorCode {
code: "object-store-initialize-error",
};
pub const OBJECT_REQUEST_ERROR: ErrorCode = ErrorCode {
code: "object-request-error",
};
pub const OBJECT_IO_ERROR: ErrorCode = ErrorCode {
code: "object-io-error",
};
pub const PANIC: ErrorCode = ErrorCode { code: "panic" };
pub const ALREADY_CLAIMED: ErrorCode = ErrorCode {
code: "already-claimed",
};
pub const SLED_ERROR: ErrorCode = ErrorCode { code: "sled-error" };
pub const SLED_INITIALIZE_ERROR: ErrorCode = ErrorCode {
code: "sled-initialize-error",
};
pub const FJALL_ERROR: ErrorCode = ErrorCode {
code: "fjall-error",
};
pub const FJALL_INITIALIZE_ERROR: ErrorCode = ErrorCode {
code: "fjall-initialize-error",
};
pub const FJALL_DUMP_ERROR: ErrorCode = ErrorCode {
code: "fjall-dump-error",
};
pub const POSTGRES_ERROR: ErrorCode = ErrorCode {
code: "postgres-error",
};
pub const POSTGRES_INITIALIZE_ERROR: ErrorCode = ErrorCode {
code: "postgres-initialize-error",
};
pub const EXTRACT_DETAILS: ErrorCode = ErrorCode {
code: "extract-details",
};
pub const EXTRACT_UPLOAD_RESULT: ErrorCode = ErrorCode {
code: "extract-upload-result",
};
pub const PUSH_JOB: ErrorCode = ErrorCode { code: "push-job" };
pub const EXTRACT_JOB: ErrorCode = ErrorCode {
code: "extract-job",
};
pub const CONFLICTED_RECORD: ErrorCode = ErrorCode {
code: "conflicted-record",
};
pub const COMMAND_NOT_FOUND: ErrorCode = ErrorCode {
code: "command-not-found",
};
pub const COMMAND_PERMISSION_DENIED: ErrorCode = ErrorCode {
code: "command-permission-denied",
};
pub const FILE_UPLOAD_ERROR: ErrorCode = ErrorCode {
code: "file-upload-error",
};
pub const IO_ERROR: ErrorCode = ErrorCode { code: "io-error" };
pub const VALIDATE_WIDTH: ErrorCode = ErrorCode {
code: "validate-width",
};
pub const VALIDATE_HEIGHT: ErrorCode = ErrorCode {
code: "validate-height",
};
pub const VALIDATE_AREA: ErrorCode = ErrorCode {
code: "validate-area",
};
pub const VALIDATE_FRAMES: ErrorCode = ErrorCode {
code: "validate-frames",
};
pub const VALIDATE_FILE_EMPTY: ErrorCode = ErrorCode {
code: "validate-file-empty",
};
pub const VALIDATE_FILE_SIZE: ErrorCode = ErrorCode {
code: "validate-file-size",
};
pub const VIDEO_DISABLED: ErrorCode = ErrorCode {
code: "video-disabled",
};
pub const MEDIA_DISALLOWED: ErrorCode = ErrorCode {
code: "media-disallowed",
};
pub const HTTP_CLIENT_ERROR: ErrorCode = ErrorCode {
code: "http-client-error",
};
pub const DOWNLOAD_FILE_ERROR: ErrorCode = ErrorCode {
code: "download-file-error",
};
pub const READ_ONLY: ErrorCode = ErrorCode { code: "read-only" };
pub const INVALID_FILE_EXTENSION: ErrorCode = ErrorCode {
code: "invalid-file-extension",
};
pub const INVALID_PROCESS_PATH: ErrorCode = ErrorCode {
code: "invalid-process-path",
};
pub const PROCESS_SEMAPHORE_CLOSED: ErrorCode = ErrorCode {
code: "process-semaphore-closed",
};
pub const VALIDATE_NO_FILES: ErrorCode = ErrorCode {
code: "validate-no-files",
};
pub const PROXY_NOT_FOUND: ErrorCode = ErrorCode {
code: "proxy-not-found",
};
pub const PROXY_NOT_ALLOWED: ErrorCode = ErrorCode {
code: "proxy-not-allowed",
};
pub const ALIAS_NOT_FOUND: ErrorCode = ErrorCode {
code: "alias-not-found",
};
pub const LOST_FILE: ErrorCode = ErrorCode { code: "lost-file" };
pub const INVALID_DELETE_TOKEN: ErrorCode = ErrorCode {
code: "invalid-delete-token",
};
pub const DUPLICATE_ALIAS: ErrorCode = ErrorCode {
code: "duplicate-alias",
};
pub const RANGE_NOT_SATISFIABLE: ErrorCode = ErrorCode {
code: "range-not-satisfiable",
};
pub const STREAM_TOO_SLOW: ErrorCode = ErrorCode {
code: "stream-too-slow",
};
pub const UNKNOWN_ERROR: ErrorCode = ErrorCode {
code: "unknown-error",
};
pub const FAILED_EXTERNAL_VALIDATION: ErrorCode = ErrorCode {
code: "failed-external-validation",
};
pub const INVALID_JOB: ErrorCode = ErrorCode {
code: "invalid-job",
};
pub const INVALID_QUERY: ErrorCode = ErrorCode {
code: "invalid-query",
};
pub const INVALID_JSON: ErrorCode = ErrorCode {
code: "invalid-json",
};
pub const DECODE_IMAGE: ErrorCode = ErrorCode {
code: "decode-image",
};
pub const INVALID_API_TOKEN: ErrorCode = ErrorCode {
code: "invalid-api-token",
};
}