+ await sendUpdateActor(accountOrChannel, t)
+
+ return updatedActor.Avatar
+ })
+ })
+}
+
+type DownloadImageQueueTask = { fileUrl: string, filename: string }
+
+const downloadImageQueue = queue<DownloadImageQueueTask, Error>((task, cb) => {
+ downloadImage(task.fileUrl, CONFIG.STORAGE.AVATARS_DIR, task.filename, AVATARS_SIZE)
+ .then(() => cb())
+ .catch(err => cb(err))
+}, QUEUE_CONCURRENCY.AVATAR_PROCESS_IMAGE)
+
+function pushAvatarProcessInQueue (task: DownloadImageQueueTask) {
+ return new Promise((res, rej) => {
+ downloadImageQueue.push(task, err => {
+ if (err) return rej(err)
+
+ return res()
+ })