In this section, we will be looking at the interfaces layer:
The interfaces layer provides a means to communicate with external repositories, for example, cloud bucket or local files storage. If our external repositories need to communicate events back to our application, for example, out of disk space, these events would flow through this interfaces layer.
We begin by defining our interface, that is, the functions that our interfaces layer supports.
This file contains handlers for interfacing with the Google Cloud Platform’s (GCP) storage API:
// interfaces/gcpstorage.gotype GcpHandler interface { ListBuckets(flowType domain.FlowType, ...