async ensureSettingsFileExists() {
        const fileName = this.type + this.extension;
        const defaultFileName = `default-${fileName}`;

        const destinationFilePath = path.join(this.destinationFolderPath, fileName);
        const defaultFilePath = path.join(this.sourceFolderPath, defaultFileName);

        return Promise.resolve(fs.readFile(destinationFilePath, 'utf8'))
            .catch((err) => {
                if (err.code === 'ENOENT') {
                    // CASE: file doesn't exist, copy it from our defaults
                    return fs.copy(
                        defaultFilePath,
                        destinationFilePath
                    ).then(() => {
                        debug(`'${defaultFileName}' copied to ${this.destinationFolderPath}.`);
                    });
                } else {
                    // CASE: we might have a permission error, as we can't access the directory
                    throw new errors.InternalServerError({
                        message: tpl(messages.ensureSettings, {
                            path: this.destinationFolderPath
                        }),
                        err: err,
                        context: err.path
                    });
                }
            });
    }
Makes sure the destination folder either contains a file or copies over a default file.
@returns {Promise<any>}