2 Commits 09cdf73178 ... 99bc6f0131

Tác giả SHA1 Thông báo Ngày
  Tomi Cvetic 99bc6f0131 resolved conflict. 4 năm trước cách đây
  Tomi Cvetic cbaa2c6b14 working on file uploads. fixed nginx settings. removed unecessary npm installs in dev setup. 4 năm trước cách đây

+ 2 - 0
backend/schema.graphql

@@ -121,6 +121,8 @@ type Mutation {
   uploadFile(file: Upload!, comment: String): File!
   createVideo(data: VideoCreateInput): Video!
   updateVideo(data: VideoUpdateInput!, where: VideoWhereUniqueInput!): Video!
+  createVideo(data: VideoCreateInput): Video!
+  updateVideo(data: VideoUpdateInput!, where: VideoWhereUniqueInput!): Video!
 
   # User module
   createUser(data: UserCreateInput!): User!

+ 9 - 1
frontend/src/file/components/UploadFile.tsx

@@ -1,4 +1,8 @@
+<<<<<<< HEAD
+import { useUploadFileMutation, File } from '../../gql'
+=======
 import { useUploadFileMutation, File, FilesDocument } from '../../gql'
+>>>>>>> 09cdf731785304362601ab5d7e726061524c82a3
 import { useForm, TextInput } from '../../form'
 import { customEvent } from '../../lib/customEvent'
 
@@ -21,7 +25,11 @@ const UploadFile = ({ callback }: { callback?: (file: File) => void }) => {
           type='file'
           accept='video/*'
           onChange={(event) => {
-            console.log(event.target.files, event.target.files?.item(0))
+            console.log(
+              event.target.files,
+              event.target.files?.item(0),
+              event.target.files?.item(0)?.type
+            )
             onChange(customEvent('file', event.target.files?.item(0)))
           }}
         />

+ 18 - 3
frontend/src/file/utils.ts

@@ -1,9 +1,24 @@
 import { FsFilesQuery, FilesQuery } from '../gql'
 
-export function danglingFsFiles(fsFiles: FsFilesQuery | undefined, dbFiles: FilesQuery | undefined) {
-  return fsFiles && fsFiles.fsFiles.filter(fsFile => dbFiles && !dbFiles.files.map(dbFile => dbFile && dbFile.path).includes(fsFile && fsFile.path))
+export function danglingFsFiles(
+  fsFiles: FsFilesQuery | undefined,
+  dbFiles: FilesQuery | undefined
+) {
+  return (
+    fsFiles &&
+    fsFiles.fsFiles.filter(
+      (fsFile) =>
+        dbFiles &&
+        !dbFiles.files.map((dbFile) => dbFile && dbFile.path).includes(fsFile && fsFile.path)
+    )
+  )
 }
 
 // export function danglingDbFiles(fsFiles: FsFile[], dbFiles: File[]) {
 //   return fsFiles.filter(fsFile => !dbFiles.map(dbFile => dbFile.path).includes(fsFile.path))
-// }
+// }
+export const fileFilters = {
+  audio: { db: { where: { mimetye_startsWith: '' } }, input: '' },
+  video: { db: { where: { mimetye_startsWith: 'video/' } }, input: 'video/*' },
+  picture: { db: { where: { mimetye_startsWith: 'image/' } }, input: 'image/*' },
+}