Skip to content

mini-maxit/file-storage

Repository files navigation

File Storage

This is a file storage server for the MAXIT project.

Build

Prerequisites:

  • Docker

To build docker image for local usage run the following command:

docker build -t maxit/file-storage .

Usage

Prerequisites:

  • Go: Ensure you have Go installed on your machine (version 1.23.2).

To set up and run the File Storage API, follow these steps:

  1. Clone the Repository:
     git clone https://github.com/mini-maxit/file-storage.git
     cd file-storage
  2. Install Go Packages: Ensure all necessary Go packages are installed by running:
     go mod tidy
  3. Environment Configuration: Copy the .env.dist file to .env:
     cp .env.dist .env
    Update the .env file with the necessary environment variables.
  4. Run the Application: To run the application, you can use the prepared Makefile. jut run:
    make

Endpoints

OpenAPI 3.0 specification: api.raml

Error Structure

When an error occurs, the response is returned in JSON format with the following structure:

{
  "reason": "A brief explanation of the error",
  "details": "A more detailed description of the error",
  "context": {
    "key": "value",
    "key2": "value2"
  }
}

Field Descriptions:

  • reason: A high-level message describing the cause of the error, such as "Failed to process task" or "Submission not found."
  • details: A more specific message or description of the error, often based on the underlying issue (e.g., "Invalid task parameters").
  • context: An optional field containing additional context information about the error. This might include values like taskID, userID, submissionNumber, or other key-value pairs that provide insight into the specific conditions under which the error occurred. This field is included when relevant context is available.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages