Skip to content

Commit 6a438de

Browse files
authored
fix: sync prefix of image in db (#360)
1 parent 55b6d75 commit 6a438de

2 files changed

Lines changed: 24 additions & 4 deletions

File tree

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { MigrationInterface, QueryRunner } from "typeorm";
2+
3+
export class FixFeaturedImagePath1768204319854 implements MigrationInterface {
4+
name = 'FixFeaturedImagePath1768204319854'
5+
6+
public async up(queryRunner: QueryRunner): Promise<void> {
7+
await queryRunner.query(`UPDATE "app" SET "featuredImage" = SUBSTRING("featuredImage" FROM '/uploads/.*') WHERE "featuredImage" LIKE '%/api/uploads/%';`);
8+
await queryRunner.query(`UPDATE "app_version" SET "featuredImage" = SUBSTRING("featuredImage" FROM '/uploads/.*') WHERE "featuredImage" LIKE '%/api/uploads/%';`);
9+
await queryRunner.query(`UPDATE "user" SET "profileImage" = SUBSTRING("profileImage" FROM '/uploads/.*') WHERE "profileImage" LIKE '%/api/uploads/%';`);
10+
await queryRunner.query(`UPDATE "link_type" SET "icon" = SUBSTRING("icon" FROM '/uploads/.*') WHERE "icon" LIKE '%/api/uploads/%';`);
11+
}
12+
13+
public async down(queryRunner: QueryRunner): Promise<void> { }
14+
}

frontend/src/components/MediaManager/MediaManager.tsx

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ const MediaManagerModal = ({
2727
onClose: () => void
2828
}) => {
2929
const [selectedImage, setSelectedImage] = useState<string | null>(null)
30+
const [selectedPath, setSelectedPath] = useState<string | null>(null)
3031
const [selectedFile, setSelectedFile] = useState<File | null>(null)
3132
const [activeTab, setActiveTab] = useState('1')
3233
const [page, setPage] = useState(1);
@@ -79,8 +80,9 @@ const MediaManagerModal = ({
7980
const response = await uploadImage(formData).unwrap()
8081
const serverPath = response.data.filePath
8182
getMediasList()
83+
setSelectedPath(serverPath)
8284
setSelectedImage(getUrlMedia(serverPath))
83-
return getUrlMedia(serverPath)
85+
return serverPath
8486
} catch (error) {
8587
toast.error(t('component.media_manager.upload_failed'))
8688
return ''
@@ -131,7 +133,10 @@ const MediaManagerModal = ({
131133
src={url}
132134
alt=''
133135
className={cn('w-[6.5rem] h-[6.5rem] object-cover cursor-pointer', selectedImage === url ? 'border-2 border-primary' : 'border border-border')}
134-
onClick={() => setSelectedImage(url)}
136+
onClick={() => {
137+
setSelectedImage(url);
138+
setSelectedPath(item.filePath);
139+
}}
135140
/>
136141
);
137142
})}
@@ -159,8 +164,8 @@ const MediaManagerModal = ({
159164
return;
160165
}
161166

162-
if (selectedImage) {
163-
onChoose(selectedImage);
167+
if (selectedPath) {
168+
onChoose(selectedPath);
164169
handleCancel();
165170
return;
166171
}
@@ -174,6 +179,7 @@ const MediaManagerModal = ({
174179
setPage(1)
175180
setSelectedFile(null)
176181
setSelectedImage(null)
182+
setSelectedPath(null)
177183
onClose()
178184
}
179185

0 commit comments

Comments
 (0)