Skip to content

Image Module ​

Public Summary ​

Image upload, filesystem storage, and metadata management. Shared image library used by chains and products.

Internal Details ​

Files ​

FileRole
image.controller.jsHTTP handlers
image.service.jsUpload orchestration
image.routes.jsRoute definitions
image.schema.jsZod validation
image.model.jsMongoose schema
image.repository.jsData access
file.service.jsFilesystem operations

Endpoints ​

MethodPathAuthDescription
GET/imagesJWTList images (paginated)
POST/imagesJWTUpload image (multipart)
DELETE/images/:idJWTRemove image + file

Data Model — Image ​

title   : String (required)
filename: String
url     : String (computed)
mimeType: String
size    : Number

Upload Flow ​

  1. Multer middleware handles multipart parsing and writes file to apps/server/src/uploads/.
  2. Image metadata record is created in MongoDB.
  3. URL is computed from the configured base URL + filename.
  4. On error, filesystem cleanup removes the uploaded file.

File Serving ​

Uploaded files are served via the /uploads/ route, which proxies to the API container in production.

Source Anchors ​

PathRelevance
apps/server/src/modules/image/Controller, service, routes, schema, model, repository
apps/server/src/config/multerConfig.jsUpload middleware configuration
apps/server/src/uploads/Filesystem storage for uploaded files

Obrok engineering documentation.