Changelog: Backend Services for Item Image Upload
Summary of all changes delivered by the backend services sub-project (Phase 2).
common-module (v8.0.0 + v8.1.0)
Section titled “common-module (v8.0.0 + v8.1.0)”v8.0.0 — S3 Asset Management Library
Section titled “v8.0.0 — S3 Asset Management Library”PRs: #167 (merged 2026-04-02)
S3AssetService— presigned PUT, presigned POST (manual SigV4), HEAD with metadata validation. Single constructor, full capabilities, exposess3AsyncClientandbucketfor delegate access.AssetKeyGenerator— tenant-scoped S3 key construction (<tenantId>/<namespace>/<uuid>.<ext>).CdnUrlResolver— CDN URL construction and validation with tenant isolation. Collects all validation errors intoAppError.Composite.CsvS3BucketDirectAccessrefactored to delegate all S3 primitives to injectedS3AssetService. Simplified factory:invoke(keyNamespace, s3AssetService).MockAWS.Service.STSadded for LocalStack STS support in tests.- AWS SDK upgraded from 2.34.3 to 2.42.24. Added
aws-sdk2-stsmodule. - Fixed pre-existing bug:
metadata[it.value]corrected tometadata[it.key]in CSV metadata error messages.
v8.1.0 — ImageS3AssetAccess Facade
Section titled “v8.1.0 — ImageS3AssetAccess Facade”PRs: #168 (merged 2026-04-03)
ImageS3AssetAccess— entity-agnostic facade for image upload operations. Encapsulates credential generation, CDN URL resolution, and upload verification. Parameterized viaConfig(entityType, fieldName, ardaKeyPrefix).
operations (v2.21.0)
Section titled “operations (v2.21.0)”PRs: #161 (merged 2026-04-06)
POST /v1/item/image-upload/request-upload-credentialsendpoint returning presigned S3 POST form fields, object key, and CDN URL.ItemValidatorimageUrl validation on create/update: CDN host and tenant path validation, S3 object existence and tenant metadata check. Unchanged URLs grandfathered (TD-15).ItemValidatorconverted fromobjecttoclasswith injectedImageS3AssetAccessdependency.ItemUniverseacceptsItemValidatoras constructor parameter.- IAM policies:
ImageS3AccessPolicyandAllowAssumeImagePresignRolein CloudFormation pre-install template. - Helm configmap values for image infrastructure +
uploadPresignRoleArn. - Helm value loader (
read-cloudFormation-values.cmd) updated with all image infrastructure exports anduploadPresignRoleArn. ImageUploadConstantsdeleted — absorbed intoImageS3AssetAccess.ConfigandImplcompanion.arda-common-versionbumped to 8.1.0.
documentation
Section titled “documentation”Branch: jmpicnic/item-image-upload-backend (pending PR)
- Decision log entries TD-26 through TD-30.
- Full backend services project documentation: goal, requirements, analysis, specification, verification, plans (Run 1 + Run 2), choreography.
- Kotlin coding standards updates:
!!prohibition, single exit point,flatInApplicationContext,URI.toURL(),Result<T>for all fallible ops, fail-fast ordering, data classes before producers, collect-all-errors, DI rules, AppError subclass reference. - Release lifecycle: CHANGELOG category selection and version impact guidance.
Copyright: (c) Arda Systems 2025-2026, All rights reserved
Copyright: © Arda Systems 2025-2026, All rights reserved