All files / src/schema drive.ts

100% Statements 11/11
100% Branches 0/0
100% Functions 0/0
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68    56x         56x       56x       56x             56x                   56x         56x                 56x       56x         56x       56x                
import { z } from 'zod'
 
export const ErrorSchema = z.object({
  error: z.string(),
  details: z.string().optional()
})
 
export const FileUploadResponseSchema = z.object({
  success: z.boolean()
})
 
export const AuthUrlResponseSchema = z.object({
  authUrl: z.string()
})
 
export const AuthCallbackResponseSchema = z.object({
  success: z.boolean(),
  refreshToken: z.string().optional(),
  message: z.string(),
  accessToken: z.string().optional()
})
 
export const FileUploadRequestSchema = z.object({
  file: z.instanceof(File).openapi({
    type: 'string',
    format: 'binary',
    description: 'File to upload'
  }),
  folderId: z.string().optional().describe('Google Drive folder ID'),
  overwrite: z.enum(['true', 'false']).optional().describe('Whether to overwrite existing file with same name')
})
 
export const FolderCreateRequestSchema = z.object({
  name: z.string().describe('Folder name'),
  parentId: z.string().optional().describe('Parent folder ID (defaults to default folder)')
})
 
export const FolderCreateResponseSchema = z.object({
  success: z.boolean(),
  folder: z.object({
    id: z.string(),
    name: z.string(),
    webViewLink: z.string().nullable()
  })
})
 
export const FolderDeleteRequestSchema = z.object({
  folderId: z.string().describe('Folder ID to delete')
})
 
export const FolderDeleteResponseSchema = z.object({
  success: z.boolean(),
  message: z.string()
})
 
export const FolderListRequestSchema = z.object({
  parentId: z.string().optional().describe('Parent folder ID (defaults to default folder)')
})
 
export const FolderListResponseSchema = z.object({
  success: z.boolean(),
  folders: z.array(z.object({
    id: z.string(),
    name: z.string(),
    webViewLink: z.string().nullable(),
    createdTime: z.string()
  }))
})