From 3f95c1b2c141de0736cbea888caa6a1e45f68b70 Mon Sep 17 00:00:00 2001 From: wwei-github <418047394@qq.com> Date: Mon, 5 Feb 2024 20:09:07 +0800 Subject: [PATCH] feat: update upload imgs --- src/logos/logos.service.ts | 2 +- src/upload-img/upload-img.service.ts | 31 ++++++++++++++-------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/logos/logos.service.ts b/src/logos/logos.service.ts index 4f9cc01..d706168 100644 --- a/src/logos/logos.service.ts +++ b/src/logos/logos.service.ts @@ -306,7 +306,7 @@ export class LogosService { } async findAllLogs() { - return this.prismaService.logos.findMany(); + return this.prismaService.logos.findMany({ orderBy: { id: 'asc' } }); } async batchUpdateFile(dtos: { id: number; file: string }[]) { const transaction = dtos.map((dto) => { diff --git a/src/upload-img/upload-img.service.ts b/src/upload-img/upload-img.service.ts index b483eae..32960a1 100644 --- a/src/upload-img/upload-img.service.ts +++ b/src/upload-img/upload-img.service.ts @@ -40,17 +40,16 @@ export class UploadImgService { } } - async updateAvatar() { - const builders = await this.logosService.findAllLogs(); - const newImgs = builders - .filter((b) => !!b.file) - .map((b) => ({ - id: b.id, - file: b.file.replace( - 'https://d18wlguog0kde4.cloudfront.net', - 'https://cdn.lxdao.io', - ), - })); + async updateErrorFiles() { + const logos = await this.logosService.findAllLogs(); + const newImgs = logos + .filter((b) => b.file.length > 84 && !b.file.includes('nftstorage.link')) + .map((b) => { + return { + id: b.id, + file: `${b.file.slice(0, 81)}svg`, + }; + }); await this.logosService.batchUpdateFile(newImgs); return { data: newImgs }; } @@ -72,7 +71,9 @@ export class UploadImgService { return false; } const contentType = response.headers['content-type']; - const type = contentType.split('/').pop(); + const type = contentType.includes('svg') + ? 'svg' + : contentType.split('/').pop(); const imgName = `${cid}.${type}`; fs.writeFileSync(`imgs/${imgName}`, await download(url)); @@ -88,15 +89,15 @@ export class UploadImgService { console.log(b.id); } }); - const newBuidlersImg = (await Promise.all(newImgPromise)).filter( + const newImgs = (await Promise.all(newImgPromise)).filter( (i) => i && i.id, ) as unknown as { id: number; file: string; }[]; - await this.logosService.batchUpdateFile(newBuidlersImg); + await this.logosService.batchUpdateFile(newImgs); console.log('end'); - return { data: newBuidlersImg }; + return { data: newImgs }; } getIpfsCid(ipfsUrl) {