Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Objectives

  • Update the business logic behind the challenge attachments.

Tech Stack

  • Node.js

  • DynamoDB

  • ElasticSearch

  • Docker

Code Access

Repos:

Branch: develop

Detailed requirements

As part of this challenge, you need to update the endpoints related to the challenge attachments.

  • Remove any write/upload of files. Currently, the API supports uploading attachments to an AWS S3 bucket. This will be replaced with FileStack. The frontend will upload the files either to S3 or to some other services and will then provide the attachment URLs to the backend.

  • There’s currently no way to update/delete existing attachments. You need to create the PUT/PATCH/DELETE endpoints for that functionality.

  • Deleting an attachment should try to remove the file from the S3 bucket if the url is an s3 URL. If it’s not an S3 URL, you can assume it’s already been deleted and you just need to delete the object from the DB.

  • Update the POST/PUT/PATCH endpoints to accept/manage attachment name, url, fileSize, description. The id of an attachment will be an auto-generated UUID.

  • The same access checks we currently have for challenges must also be applied to the challenge attachments.

  • You need to provide a way to whitelist S3 buckets where files can be uploaded. Those S3 buckets should be configurable in the app configuration file. If the provided url is not an S3 bucket but any other service, you can assume it’s whitelisted.

 

You also need to update the POSTMAN collection and the Swagger definition to reflect the changes made during this challenge.

 

Should you have any doubts, please post your questions in the challenge forum.

What to submit

Submit a git patch for the latest commit in the develop branch of each repo. Make sure to note the commit you used so we don’t face any problems while applying your patch file.

ELIGIBLE EVENTS:

2021 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30146534