about summary refs log tree commit diff
path: root/src/state/queries/video/video-upload.ts
diff options
context:
space:
mode:
authorSamuel Newman <mozzius@protonmail.com>2024-08-29 16:34:41 +0100
committerGitHub <noreply@github.com>2024-08-29 16:34:41 +0100
commit551c4a4f3210e5fa3060d06f4beeaeef3a97093d (patch)
tree23bccedc3f4a487ed15d540352c823ab466781a9 /src/state/queries/video/video-upload.ts
parentd52d29621e0f5df9cba16795d40db8a413248342 (diff)
downloadvoidsky-551c4a4f3210e5fa3060d06f4beeaeef3a97093d.tar.zst
[Video] Add uploaded video to post (#4884)
* video uploads!

* use video upload lexicons

* add missing postgate

* remove references to prerelease package

* fix scrubber showing a "0"

* Delete types.ts

* rm logs

* rm upload header

---------

Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
Diffstat (limited to 'src/state/queries/video/video-upload.ts')
-rw-r--r--src/state/queries/video/video-upload.ts23
1 files changed, 9 insertions, 14 deletions
diff --git a/src/state/queries/video/video-upload.ts b/src/state/queries/video/video-upload.ts
index cf741b251..d806249c9 100644
--- a/src/state/queries/video/video-upload.ts
+++ b/src/state/queries/video/video-upload.ts
@@ -1,20 +1,18 @@
 import {createUploadTask, FileSystemUploadType} from 'expo-file-system'
+import {AppBskyVideoDefs} from '@atproto/api'
 import {useMutation} from '@tanstack/react-query'
 import {nanoid} from 'nanoid/non-secure'
 
 import {CompressedVideo} from '#/lib/media/video/compress'
-import {UploadVideoResponse} from '#/lib/media/video/types'
 import {createVideoEndpointUrl} from '#/state/queries/video/util'
 import {useAgent, useSession} from '#/state/session'
 
-const UPLOAD_HEADER = process.env.EXPO_PUBLIC_VIDEO_HEADER ?? ''
-
 export const useUploadVideoMutation = ({
   onSuccess,
   onError,
   setProgress,
 }: {
-  onSuccess: (response: UploadVideoResponse) => void
+  onSuccess: (response: AppBskyVideoDefs.JobStatus) => void
   onError: (e: any) => void
   setProgress: (progress: number) => void
 }) => {
@@ -23,7 +21,7 @@ export const useUploadVideoMutation = ({
 
   return useMutation({
     mutationFn: async (video: CompressedVideo) => {
-      const uri = createVideoEndpointUrl('/upload', {
+      const uri = createVideoEndpointUrl('/xrpc/app.bsky.video.uploadVideo', {
         did: currentAccount!.did,
         name: `${nanoid(12)}.mp4`, // @TODO what are we limiting this to?
       })
@@ -33,19 +31,19 @@ export const useUploadVideoMutation = ({
         throw new Error('Agent does not have a PDS URL')
       }
 
-      const {data: serviceAuth} =
-        await agent.api.com.atproto.server.getServiceAuth({
+      const {data: serviceAuth} = await agent.com.atproto.server.getServiceAuth(
+        {
           aud: `did:web:${agent.pdsUrl.hostname}`,
           lxm: 'com.atproto.repo.uploadBlob',
-        })
+        },
+      )
 
       const uploadTask = createUploadTask(
         uri,
         video.uri,
         {
           headers: {
-            'dev-key': UPLOAD_HEADER,
-            'content-type': 'video/mp4', // @TODO same question here. does the compression step always output mp4?
+            'content-type': 'video/mp4',
             Authorization: `Bearer ${serviceAuth.token}`,
           },
           httpMethod: 'POST',
@@ -59,10 +57,7 @@ export const useUploadVideoMutation = ({
         throw new Error('No response')
       }
 
-      // @TODO rm, useful for debugging/getting video cid
-      console.log('[VIDEO]', res.body)
-      const responseBody = JSON.parse(res.body) as UploadVideoResponse
-      onSuccess(responseBody)
+      const responseBody = JSON.parse(res.body) as AppBskyVideoDefs.JobStatus
       return responseBody
     },
     onError,