# `dropbox_asset_transfer` task

`dropbox_asset_transfer` is triggered when a user uploads assets using Dropbox. The task downloads the files from Dropbox and uploads them to the bulk S3 bucket for validation.



## Setup

### Install [`uv`](https://docs.astral.sh/uv/)

Choose your favourite or similar:

```shell
pip install uv
pipx install uv
brew install uv
```

### Permissions

Use [`awsume`](https://www.notion.so/AWS-Access-f841b9dd815d4443a80e96a86c92cd2f#5618a9119254428e9baeada414767e85):


```shell
awsume prod
```

### Install Packages

```shell
make uv_dev
```

### Copy and edit env shadow

```shell
cp .env.shadow .env.shadow
```

## Local Development

```shell
# Install uv
brew install uv

# Install dependencies + create .venv (uv)
make uv_dev

# Run the function locally and print results
make dev

# Run formatting (ruff)
make fmt

# Run linting (ruff/mypy)
make lint

# Run unit tests (pytest)
make test_unit
```


## Local Development (Docker)

```shell
# Ensure the Docker daemon is running
docker ps

# Run the fargate task
make docker_run

# Run unit tests and linter
make docker_unit_lint
```
