import { z } from 'zod'

export const cloudVariableSchema = z.object({
  id: z.union([z.string(), z.number()]),
  user_id: z.union([z.string(), z.number()]),
  app_id: z.union([z.string(), z.number()]).nullable().optional(),
  application_name: z.string().optional().nullable(),
  key: z.string(),
  default_value: z.string().optional().nullable(),
  var_type: z.string().optional().nullable(),
  max_records: z.union([z.string(), z.number()]).optional().nullable(),
  file_path: z.string().optional().nullable(),
  file_size: z.union([z.string(), z.number()]).optional().nullable(),
  mime_type: z.string().optional().nullable(),
  original_name: z.string().optional().nullable(),
  scope: z.string().optional().nullable(),
  write_permission: z.string().optional().nullable(),
  description: z.string().optional().nullable(),
  status: z.string().optional().nullable(),
  created_at: z.string(),
  updated_at: z.string().optional().nullable(),
})

export type CloudVariable = z.infer<typeof cloudVariableSchema>
