aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/screens/profile/CaptionScreen.tsx14
-rw-r--r--src/services/MomentService.ts2
2 files changed, 10 insertions, 6 deletions
diff --git a/src/screens/profile/CaptionScreen.tsx b/src/screens/profile/CaptionScreen.tsx
index da3efb06..05db8ed7 100644
--- a/src/screens/profile/CaptionScreen.tsx
+++ b/src/screens/profile/CaptionScreen.tsx
@@ -145,14 +145,18 @@ const CaptionScreen: React.FC<CaptionScreenProps> = ({route, navigation}) => {
let momentId;
// separate upload logic for image/video
if (isMediaAVideo) {
- const presignedURL = await handlePresignedURL(title);
- if (!presignedURL) {
+ const presignedURLResponse = await handlePresignedURL(title);
+ if (!presignedURLResponse) {
handleFailed();
return;
}
- momentId = presignedURL.moment_id;
- // TODO: assume success for now
- await handleVideoUpload(mediaUri, presignedURL);
+ momentId = presignedURLResponse.moment_id;
+ const fileHash = presignedURLResponse.response_url.fields.key;
+ if (fileHash !== null && fileHash !== '' && fileHash !== undefined) {
+ await handleVideoUpload(mediaUri, presignedURLResponse);
+ } else {
+ handleFailed();
+ }
} else {
const momentResponse = await postMoment(mediaUri, caption, title, userId);
if (!momentResponse) {
diff --git a/src/services/MomentService.ts b/src/services/MomentService.ts
index 9e853a49..87bdfa40 100644
--- a/src/services/MomentService.ts
+++ b/src/services/MomentService.ts
@@ -289,7 +289,7 @@ export const handleVideoUpload = async (
uri: filePath,
// other types such as 'quicktime' 'image' etc exist, and we can programmatically type this, but for now sticking with simple 'video'
type: 'video',
- name: 'moment.mov', // we don't care about filename, anything works
+ name: urlObj.response_url.fields.key,
});
const response = await fetch(urlObj.response_url.url, {
method: 'POST',