async processImageFromUrl(imageUrl, imageType) {
        // Fetch image buffer from the URL
        const imageBuffer = await this.fetchImageBuffer(imageUrl);
        const store = this.storage.getStorage('images');

        // Extract file name from URL
        const fileName = path.basename(new URL(imageUrl).pathname);
        let ext = path.extname(fileName);
        let name;

        if (ext) {
            name = store.getSanitizedFileName(path.basename(fileName, ext));
        } else {
            name = store.getSanitizedFileName(path.basename(fileName));
        }

        let targetDir = path.join(this.config.getContentPath('images'), imageType);
        const uniqueFilePath = await store.generateUnique(targetDir, name, ext, 0);
        const targetPath = path.join(imageType, path.basename(uniqueFilePath));

        const imageStoredUrl = await store.saveRaw(imageBuffer, targetPath);

        return imageStoredUrl;
    }
Process and store image from a URL
@param {String} imageUrl - URL of the image to process
@param {String} imageType - What is the image used for. Example - icon, thumbnail
@returns {Promise<String>} - URL where the image is stored