// This file is auto-generated by @hey-api/openapi-ts

import * as z from 'zod'

/**
 * InsertExploreAppPayload
 */
export const zInsertExploreAppPayload = z.object({
  app_id: z.string(),
  can_trial: z.boolean().optional().default(false),
  category: z.string(),
  copyright: z.string().nullish(),
  custom_disclaimer: z.string().nullish(),
  desc: z.string().nullish(),
  language: z.string(),
  position: z.int(),
  privacy_policy: z.string().nullish(),
  trial_limit: z.int().optional().default(0),
})

/**
 * InsertExploreBannerPayload
 */
export const zInsertExploreBannerPayload = z.object({
  'category': z.string(),
  'description': z.string(),
  'img-src': z.string(),
  'language': z.string().optional().default('en-US'),
  'link': z.string(),
  'sort': z.int(),
  'title': z.string(),
})

/**
 * LangContentPayload
 */
export const zLangContentPayload = z.object({
  body: z.string(),
  lang: z.string(),
  subtitle: z.string().nullish(),
  title: z.string(),
  title_pic_url: z.string().nullish(),
})

/**
 * UpsertNotificationPayload
 */
export const zUpsertNotificationPayload = z.object({
  contents: z.array(zLangContentPayload).min(1),
  end_time: z.string().nullish(),
  frequency: z.string().optional().default('once'),
  notification_id: z.string().nullish(),
  start_time: z.string().nullish(),
  status: z.string().optional().default('active'),
})

/**
 * Accounts added successfully
 */
export const zPostAdminBatchAddNotificationAccountsResponse = z.record(z.string(), z.unknown())

export const zDeleteAdminDeleteExploreBannerByBannerIdPath = z.object({
  banner_id: z.string(),
})

/**
 * Banner deleted successfully
 */
export const zDeleteAdminDeleteExploreBannerByBannerIdResponse = z.record(z.string(), z.unknown())

export const zPostAdminInsertExploreAppsBody = zInsertExploreAppPayload

export const zPostAdminInsertExploreAppsResponse = z.union([
  z.record(z.string(), z.unknown()),
  z.record(z.string(), z.unknown()),
])

export const zDeleteAdminInsertExploreAppsByAppIdPath = z.object({
  app_id: z.string(),
})

/**
 * App removed successfully
 */
export const zDeleteAdminInsertExploreAppsByAppIdResponse = z.record(z.string(), z.unknown())

export const zPostAdminInsertExploreBannerBody = zInsertExploreBannerPayload

/**
 * Banner inserted successfully
 */
export const zPostAdminInsertExploreBannerResponse = z.record(z.string(), z.unknown())

export const zPostAdminUpsertNotificationBody = zUpsertNotificationPayload

/**
 * Notification upserted successfully
 */
export const zPostAdminUpsertNotificationResponse = z.record(z.string(), z.unknown())
