pict-rs-error 0.1.1

Error types and codes for pict-rs
Documentation
#[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",
    };
}