/ lionsmane-fe / src / client / zod.gen.ts
zod.gen.ts
   1  // This file is auto-generated by @hey-api/openapi-ts
   2  
   3  import * as z from 'zod';
   4  
   5  export const zArticleDetailDtoOutput = z.object({
   6    authors: z.array(z.string().max(256)),
   7    categories: z.array(z.string().max(256)),
   8    contentWarning: z.array(z.string()).nullable().default([]),
   9    description: z.string().nullable(),
  10    feedId: z
  11      .uuid()
  12      .regex(
  13        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
  14      ),
  15    feedTitle: z.string().min(1).max(255).optional(),
  16    fullArticleHtml: z.string().nullable(),
  17    fullArticleText: z.string().nullable(),
  18    hash: z.string().max(64).nullable(),
  19    id: z
  20      .uuid()
  21      .regex(
  22        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
  23      ),
  24    image: z.string().max(512).nullable(),
  25    imageAlt: z.string().max(512).nullable(),
  26    isBlurred: z.boolean().nullish(),
  27    isHidden: z.boolean().nullish(),
  28    isRead: z.boolean().nullish(),
  29    isStarred: z.boolean().nullish(),
  30    keywords: z.array(z.string().max(256)),
  31    minifluxId: z.int().gte(-2147483648).lte(2147483647),
  32    published: z.iso
  33      .datetime()
  34      .regex(
  35        /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/,
  36      ),
  37    rawContent: z.string().nullable(),
  38    readableHtml: z.string().nullable(),
  39    readableText: z.string().nullable(),
  40    title: z.string(),
  41    updated: z.iso
  42      .datetime()
  43      .regex(
  44        /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/,
  45      )
  46      .nullish(),
  47    url: z.string().nullable(),
  48  });
  49  
  50  export const zArticleListDtoOutput = z.object({
  51    articles: z.array(
  52      z.object({
  53        authors: z.array(z.string().max(256)),
  54        categories: z.array(z.string().max(256)),
  55        contentWarning: z.array(z.string()).nullable().default([]),
  56        description: z.string().nullable(),
  57        feedId: z
  58          .uuid()
  59          .regex(
  60            /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
  61          ),
  62        feedTitle: z.string().min(1).max(255).optional(),
  63        fullArticleHtml: z.string().nullable(),
  64        fullArticleText: z.string().nullable(),
  65        hash: z.string().max(64).nullable(),
  66        id: z
  67          .uuid()
  68          .regex(
  69            /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
  70          ),
  71        image: z.string().max(512).nullable(),
  72        imageAlt: z.string().max(512).nullable(),
  73        isBlurred: z.boolean().nullish(),
  74        isHidden: z.boolean().nullish(),
  75        isRead: z.boolean().nullish(),
  76        isStarred: z.boolean().nullish(),
  77        keywords: z.array(z.string().max(256)),
  78        minifluxId: z.int().gte(-2147483648).lte(2147483647),
  79        published: z.iso
  80          .datetime()
  81          .regex(
  82            /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/,
  83          ),
  84        rawContent: z.string().nullable(),
  85        readableHtml: z.string().nullable(),
  86        readableText: z.string().nullable(),
  87        title: z.string(),
  88        updated: z.iso
  89          .datetime()
  90          .regex(
  91            /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/,
  92          )
  93          .nullish(),
  94        url: z.string().nullable(),
  95      }),
  96    ),
  97    cursor: z.string().nullable(),
  98  });
  99  
 100  export const zArticleSearchDtoOutput = z.object({
 101    articles: z.array(
 102      z.object({
 103        authors: z.array(z.string().max(256)),
 104        categories: z.array(z.string().max(256)),
 105        contentWarning: z.array(z.string()).nullable().default([]),
 106        description: z.string().nullable(),
 107        feedId: z
 108          .uuid()
 109          .regex(
 110            /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 111          )
 112          .nullable(),
 113        feedTitle: z.string().nullable(),
 114        fullArticleHtml: z.string().nullable(),
 115        fullArticleText: z.string().nullable(),
 116        hash: z.string().max(64).nullable(),
 117        id: z
 118          .uuid()
 119          .regex(
 120            /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 121          ),
 122        image: z.string().max(512).nullable(),
 123        imageAlt: z.string().max(512).nullable(),
 124        isBlurred: z.boolean().nullable().default(false),
 125        isHidden: z.boolean().nullable().default(false),
 126        isRead: z.boolean().nullable().default(false),
 127        isStarred: z.boolean().nullable().default(false),
 128        keywords: z.array(z.string().max(256)),
 129        metaData: z
 130          .union([
 131            z.union([z.string(), z.number(), z.boolean()]),
 132            z.record(z.string(), z.unknown()),
 133            z.array(z.unknown()),
 134          ])
 135          .nullable(),
 136        minifluxId: z.int().gte(-2147483648).lte(2147483647),
 137        published: z.iso
 138          .datetime()
 139          .regex(
 140            /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/,
 141          ),
 142        rawContent: z.string().nullable(),
 143        readableHtml: z.string().nullable(),
 144        readableText: z.string().nullable(),
 145        title: z.string(),
 146        updated: z.iso
 147          .datetime()
 148          .regex(
 149            /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/,
 150          )
 151          .nullable(),
 152        url: z.string().nullable(),
 153      }),
 154    ),
 155  });
 156  
 157  export const zArticleStatusDtoOutput = z.object({
 158    articleId: z
 159      .uuid()
 160      .regex(
 161        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 162      ),
 163    contentWarning: z.array(z.string()).nullable().default([]),
 164    isBlurred: z.boolean().optional(),
 165    isHidden: z.boolean().optional(),
 166    isRead: z.boolean().optional(),
 167    isStarred: z.boolean().optional(),
 168    userId: z.string(),
 169  });
 170  
 171  export const zCategoryOutDtoOutput = z.object({
 172    hide_globally: z.boolean(),
 173    id: z.number(),
 174    title: z.string(),
 175    user_id: z.number(),
 176  });
 177  
 178  export const zCountersDtoOutput = z.object({
 179    reads: z.record(z.string(), z.number().gte(0)),
 180    unreads: z.record(z.string(), z.number().gte(0)),
 181  });
 182  
 183  export const zCreateBookmarkDto = z.object({
 184    url: z.url(),
 185  });
 186  
 187  export const zCreateCategoryDto = z.object({
 188    title: z.string(),
 189  });
 190  
 191  export const zCreateConfigDto = z.object({
 192    apiKey: z.string(),
 193    apiURL: z.url(),
 194  });
 195  
 196  export const zCreateFeedDto = z.object({
 197    category_id: z.number().gte(0),
 198    feed_url: z.url(),
 199  });
 200  
 201  export const zCreateFilterDto = z.object({
 202    action: z.object({
 203      contentWarning: z.string().max(512).nullable(),
 204      type: z.enum(['blur', 'markRead', 'hide']),
 205    }),
 206    conditions: z.object({
 207      authors: z.array(z.string()).optional(),
 208      categories: z.array(z.string()).optional(),
 209      contentContains: z.array(z.string()).optional(),
 210      feeds: z.array(z.string()).optional(),
 211      keywords: z.array(z.string()).optional(),
 212      titleContains: z.array(z.string()).optional(),
 213    }),
 214    description: z.string().max(1024).optional(),
 215    isActive: z.boolean().optional().default(true),
 216    name: z.string().min(1).max(255),
 217  });
 218  
 219  export const zCreateFolderDto = z.object({
 220    feedIds: z
 221      .array(
 222        z
 223          .uuid()
 224          .regex(
 225            /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 226          ),
 227      )
 228      .optional(),
 229    name: z.string().min(1).max(255),
 230  });
 231  
 232  export const zDiscoverDto = z.object({
 233    password: z.string().min(1).max(255).optional(),
 234    url: z.string().min(1).max(2048),
 235    user_agent: z.string().min(1).max(255).optional(),
 236    username: z.string().min(1).max(255).optional(),
 237  });
 238  
 239  export const zDiscoverOutDtoOutput = z.object({
 240    format: z.string(),
 241    title: z.string().min(1).max(255).nullable(),
 242    url: z.url().min(1).max(2048),
 243  });
 244  
 245  export const zEntriesListDtoOutput = z.object({
 246    entries: z.array(
 247      z.object({
 248        author: z.string().nullable(),
 249        authors: z.array(z.string().max(256)),
 250        categories: z.array(z.string().max(256)),
 251        comments_url: z.string(),
 252        content: z.string(),
 253        created_at: z.string(),
 254        feed: z.object({
 255          blocklist_rules: z.string(),
 256          categories: z.array(z.string().max(256)),
 257          category: z.object({
 258            id: z.number().default(0),
 259            title: z.string().default(''),
 260            user_id: z.number().gte(0),
 261          }),
 262          checked_at: z.string(),
 263          crawler: z.boolean(),
 264          disabled: z.boolean().default(false),
 265          etag_header: z.string().max(256),
 266          feed_host: z
 267            .uuid()
 268            .regex(
 269              /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 270            )
 271            .nullable(),
 272          feed_url: z.url(),
 273          fetch_via_proxy: z.boolean().default(false),
 274          icon: z
 275            .object({
 276              feed_id: z.number().gte(0),
 277              icon_id: z.number().gte(0),
 278            })
 279            .nullable(),
 280          id: z.number().gte(0),
 281          ignore_http_cache: z.boolean().default(false),
 282          keeplist_rules: z.string(),
 283          last_modified_header: z.string().max(256),
 284          metaData: z
 285            .union([
 286              z.union([z.string(), z.number(), z.boolean()]),
 287              z.record(z.string(), z.unknown()),
 288              z.array(z.unknown()),
 289            ])
 290            .nullable(),
 291          parsing_error_count: z.number().gte(0),
 292          parsing_error_message: z.string(),
 293          password: z.string(),
 294          rewrite_rules: z.string(),
 295          scraper_rules: z.string(),
 296          site_url: z.string().max(256),
 297          title: z.string(),
 298          user_agent: z.string(),
 299          user_id: z.number().gte(0),
 300          username: z.string(),
 301        }),
 302        feed_id: z.number().gte(0),
 303        feedId: z
 304          .uuid()
 305          .regex(
 306            /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 307          ),
 308        hash: z.string().max(64).nullable(),
 309        id: z.number().gte(0),
 310        image: z.string().max(512).nullable(),
 311        imageAlt: z.string().max(512).nullable(),
 312        metaData: z
 313          .union([
 314            z.union([z.string(), z.number(), z.boolean()]),
 315            z.record(z.string(), z.unknown()),
 316            z.array(z.unknown()),
 317          ])
 318          .nullable(),
 319        published_at: z.string(),
 320        reading_time: z.number().gte(0),
 321        share_code: z.string(),
 322        starred: z.boolean().default(false),
 323        status: z.string(),
 324        title: z.string(),
 325        url: z.string().nullable(),
 326        user_id: z.number().gte(0),
 327      }),
 328    ),
 329    total: z.number().gte(0),
 330  });
 331  
 332  export const zEntryDtoOutput = z.object({
 333    author: z.string().nullable(),
 334    authors: z.array(z.string().max(256)),
 335    categories: z.array(z.string().max(256)),
 336    comments_url: z.string(),
 337    content: z.string(),
 338    created_at: z.string(),
 339    feed: z.object({
 340      blocklist_rules: z.string(),
 341      categories: z.array(z.string().max(256)),
 342      category: z.object({
 343        id: z.number().default(0),
 344        title: z.string().default(''),
 345        user_id: z.number().gte(0),
 346      }),
 347      checked_at: z.string(),
 348      crawler: z.boolean(),
 349      disabled: z.boolean().default(false),
 350      etag_header: z.string().max(256),
 351      feed_host: z
 352        .uuid()
 353        .regex(
 354          /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 355        )
 356        .nullable(),
 357      feed_url: z.url(),
 358      fetch_via_proxy: z.boolean().default(false),
 359      icon: z
 360        .object({
 361          feed_id: z.number().gte(0),
 362          icon_id: z.number().gte(0),
 363        })
 364        .nullable(),
 365      id: z.number().gte(0),
 366      ignore_http_cache: z.boolean().default(false),
 367      keeplist_rules: z.string(),
 368      last_modified_header: z.string().max(256),
 369      metaData: z
 370        .union([
 371          z.union([z.string(), z.number(), z.boolean()]),
 372          z.record(z.string(), z.unknown()),
 373          z.array(z.unknown()),
 374        ])
 375        .nullable(),
 376      parsing_error_count: z.number().gte(0),
 377      parsing_error_message: z.string(),
 378      password: z.string(),
 379      rewrite_rules: z.string(),
 380      scraper_rules: z.string(),
 381      site_url: z.string().max(256),
 382      title: z.string(),
 383      user_agent: z.string(),
 384      user_id: z.number().gte(0),
 385      username: z.string(),
 386    }),
 387    feed_id: z.number().gte(0),
 388    feedId: z
 389      .uuid()
 390      .regex(
 391        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 392      ),
 393    hash: z.string().max(64).nullable(),
 394    id: z.number().gte(0),
 395    image: z.string().max(512).nullable(),
 396    imageAlt: z.string().max(512).nullable(),
 397    metaData: z
 398      .union([
 399        z.union([z.string(), z.number(), z.boolean()]),
 400        z.record(z.string(), z.unknown()),
 401        z.array(z.unknown()),
 402      ])
 403      .nullable(),
 404    published_at: z.string(),
 405    reading_time: z.number().gte(0),
 406    share_code: z.string(),
 407    starred: z.boolean().default(false),
 408    status: z.string(),
 409    title: z.string(),
 410    url: z.string().nullable(),
 411    user_id: z.number().gte(0),
 412  });
 413  
 414  export const zFeedMiniOutput = z.object({
 415    blocklist_rules: z.string(),
 416    categories: z.array(z.string().max(256)),
 417    category: z.object({
 418      id: z.number().default(0),
 419      title: z.string().default(''),
 420      user_id: z.number().gte(0),
 421    }),
 422    checked_at: z.string(),
 423    crawler: z.boolean(),
 424    disabled: z.boolean().default(false),
 425    etag_header: z.string().max(256),
 426    feed_host: z
 427      .uuid()
 428      .regex(
 429        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 430      )
 431      .nullable(),
 432    feed_url: z.url(),
 433    fetch_via_proxy: z.boolean().default(false),
 434    icon: z
 435      .object({
 436        feed_id: z.number().gte(0),
 437        icon_id: z.number().gte(0),
 438      })
 439      .nullable(),
 440    id: z.number().gte(0),
 441    ignore_http_cache: z.boolean().default(false),
 442    keeplist_rules: z.string(),
 443    last_modified_header: z.string().max(256),
 444    metaData: z
 445      .union([
 446        z.union([z.string(), z.number(), z.boolean()]),
 447        z.record(z.string(), z.unknown()),
 448        z.array(z.unknown()),
 449      ])
 450      .nullable(),
 451    parsing_error_count: z.number().gte(0),
 452    parsing_error_message: z.string(),
 453    password: z.string(),
 454    rewrite_rules: z.string(),
 455    scraper_rules: z.string(),
 456    site_url: z.string().max(256),
 457    title: z.string(),
 458    user_agent: z.string(),
 459    user_id: z.number().gte(0),
 460    username: z.string(),
 461  });
 462  
 463  export const zFeedOutWithCountsDtoOutput = z.object({
 464    categories: z.array(z.string().max(256)),
 465    crawler: z.boolean(),
 466    etag_header: z.string().max(256),
 467    favicon: z.url().nullable(),
 468    feed_host: z
 469      .uuid()
 470      .regex(
 471        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 472      )
 473      .nullable(),
 474    folderId: z
 475      .uuid()
 476      .regex(
 477        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 478      )
 479      .nullable(),
 480    id: z
 481      .uuid()
 482      .regex(
 483        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 484      ),
 485    last_modified_header: z.string().max(256),
 486    lastChecked: z.iso
 487      .datetime()
 488      .regex(
 489        /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/,
 490      ),
 491    metaData: z
 492      .union([
 493        z.union([z.string(), z.number(), z.boolean()]),
 494        z.record(z.string(), z.unknown()),
 495        z.array(z.unknown()),
 496      ])
 497      .nullable(),
 498    minifluxId: z.int().gte(-2147483648).lte(2147483647),
 499    parsingErrorCount: z.int().gte(-2147483648).lte(2147483647),
 500    parsingErrorMessage: z.string().max(256).nullable(),
 501    site_url: z.string().max(256),
 502    subtitle: z.string().nullable(),
 503    title: z.string(),
 504    unreadCount: z.number().gte(0).nullable(),
 505    updated: z.iso
 506      .datetime()
 507      .regex(
 508        /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/,
 509      )
 510      .nullish(),
 511    url: z.string(),
 512    userAgent: z.string().max(256).nullable(),
 513  });
 514  
 515  export const zFileDto = z.object({
 516    file: z.record(z.string(), z.unknown()),
 517  });
 518  
 519  export const zFilterOutDtoOutput = z.object({
 520    action: z.object({
 521      contentWarning: z.string().max(512).nullable(),
 522      type: z.enum(['blur', 'markRead', 'hide']),
 523    }),
 524    conditions: z.object({
 525      authors: z.array(z.string()).optional(),
 526      categories: z.array(z.string()).optional(),
 527      contentContains: z.array(z.string()).optional(),
 528      feeds: z.array(z.string()).optional(),
 529      keywords: z.array(z.string()).optional(),
 530      titleContains: z.array(z.string()).optional(),
 531    }),
 532    description: z.string().max(1024).optional(),
 533    id: z
 534      .uuid()
 535      .regex(
 536        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 537      ),
 538    isActive: z.boolean().default(true),
 539    name: z.string().max(255).nullable(),
 540  });
 541  
 542  export const zFolderOutDtoOutput = z.object({
 543    feedIds: z.array(
 544      z
 545        .uuid()
 546        .regex(
 547          /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 548        ),
 549    ),
 550    id: z
 551      .uuid()
 552      .regex(
 553        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 554      ),
 555    name: z.string().min(1).max(255),
 556    userId: z.string(),
 557  });
 558  
 559  export const zFolderWithFeedsOutDtoOutput = z.object({
 560    feeds: z.array(
 561      z.object({
 562        categories: z.array(z.string().max(256)),
 563        crawler: z.boolean(),
 564        etag_header: z.string().max(256),
 565        favicon: z.url().nullable(),
 566        feed_host: z
 567          .uuid()
 568          .regex(
 569            /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 570          )
 571          .nullable(),
 572        id: z
 573          .uuid()
 574          .regex(
 575            /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 576          ),
 577        last_modified_header: z.string().max(256),
 578        lastChecked: z.iso
 579          .datetime()
 580          .regex(
 581            /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/,
 582          ),
 583        metaData: z
 584          .union([
 585            z.union([z.string(), z.number(), z.boolean()]),
 586            z.record(z.string(), z.unknown()),
 587            z.array(z.unknown()),
 588          ])
 589          .nullable(),
 590        parsingErrorCount: z.int().gte(-2147483648).lte(2147483647),
 591        parsingErrorMessage: z.string().max(256).nullable(),
 592        site_url: z.string().max(256),
 593        subtitle: z.string().nullable(),
 594        title: z.string(),
 595        updated: z.iso
 596          .datetime()
 597          .regex(
 598            /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/,
 599          )
 600          .nullish(),
 601        url: z.string(),
 602        userAgent: z.string().max(256).nullable(),
 603      }),
 604    ),
 605    id: z
 606      .uuid()
 607      .regex(
 608        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 609      ),
 610    name: z.string().min(1).max(255),
 611    userId: z.string(),
 612  });
 613  
 614  export const zFullEntryContentOutput = z.object({
 615    content: z.string(),
 616  });
 617  
 618  export const zHiddenArticleListDtoOutput = z.object({
 619    articles: z.array(
 620      z.object({
 621        authors: z.array(z.string().max(256)),
 622        categories: z.array(z.string().max(256)),
 623        contentWarning: z.array(z.string()).nullable().default([]),
 624        description: z.string().nullable(),
 625        feedId: z
 626          .uuid()
 627          .regex(
 628            /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 629          ),
 630        feedTitle: z.string().min(1).max(255).optional(),
 631        fullArticleHtml: z.string().nullable(),
 632        fullArticleText: z.string().nullable(),
 633        hash: z.string().max(64).nullable(),
 634        id: z
 635          .uuid()
 636          .regex(
 637            /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 638          ),
 639        image: z.string().max(512).nullable(),
 640        imageAlt: z.string().max(512).nullable(),
 641        isBlurred: z.boolean().nullish(),
 642        isHidden: z.boolean().nullish(),
 643        isRead: z.boolean().nullish(),
 644        isStarred: z.boolean().nullish(),
 645        keywords: z.array(z.string().max(256)),
 646        minifluxId: z.int().gte(-2147483648).lte(2147483647),
 647        published: z.iso
 648          .datetime()
 649          .regex(
 650            /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/,
 651          ),
 652        rawContent: z.string().nullable(),
 653        readableHtml: z.string().nullable(),
 654        readableText: z.string().nullable(),
 655        ruleId: z
 656          .uuid()
 657          .regex(
 658            /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 659          ),
 660        title: z.string(),
 661        updated: z.iso
 662          .datetime()
 663          .regex(
 664            /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/,
 665          )
 666          .nullish(),
 667        url: z.string().nullable(),
 668      }),
 669    ),
 670    cursor: z.string().nullable(),
 671  });
 672  
 673  export const zSubscribeFeedDto = z.object({
 674    description: z.string().optional(),
 675    folderName: z.string().min(2).nullable(),
 676    url: z.url().min(1),
 677  });
 678  
 679  export const zSubscriptionOutDtoOutput = z.object({
 680    description: z.string().nullable(),
 681    feedId: z
 682      .uuid()
 683      .regex(
 684        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 685      ),
 686    folderId: z
 687      .uuid()
 688      .regex(
 689        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 690      )
 691      .nullable(),
 692    id: z
 693      .uuid()
 694      .regex(
 695        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 696      ),
 697    userId: z.string(),
 698  });
 699  
 700  export const zUpdateEntriesDto = z.object({
 701    entry_ids: z.array(z.number().gte(0)),
 702    status: z.enum(['read', 'unread']),
 703  });
 704  
 705  export const zUpdateFeedDto = z.object({
 706    description: z.string().min(0).max(1000).optional(),
 707    folderId: z
 708      .uuid()
 709      .regex(
 710        /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 711      )
 712      .nullable(),
 713  });
 714  
 715  export const zUpdateFeedMiniDto = z.object({
 716    category_id: z.number().gte(0).optional(),
 717    title: z.string().min(1).max(255).optional(),
 718  });
 719  
 720  export const zUpdateFilterDto = z.object({
 721    action: z.object({
 722      contentWarning: z.string().max(512).nullish(),
 723      type: z.enum(['blur', 'markRead', 'hide']).optional(),
 724    }),
 725    conditions: z.object({
 726      authors: z.array(z.string()).optional(),
 727      categories: z.array(z.string()).optional(),
 728      contentContains: z.array(z.string()).optional(),
 729      feeds: z.array(z.string()).optional(),
 730      keywords: z.array(z.string()).optional(),
 731      titleContains: z.array(z.string()).optional(),
 732    }),
 733    description: z.string().max(1024).optional(),
 734    isActive: z.boolean().optional().default(true),
 735    name: z.string().min(1).max(255).optional(),
 736  });
 737  
 738  export const zUpdateFolderDto = z.object({
 739    feedIds: z
 740      .array(
 741        z
 742          .uuid()
 743          .regex(
 744            /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,
 745          ),
 746      )
 747      .optional(),
 748    name: z.string().min(1).max(255).optional(),
 749  });
 750  
 751  export const zUserSchemaDtoOutput = z.object({
 752    entries_per_page: z.number(),
 753    entry_sorting_direction: z.string(),
 754    entry_swipe: z.boolean(),
 755    google_id: z.string(),
 756    id: z.number(),
 757    is_admin: z.boolean(),
 758    keyboard_shortcuts: z.boolean(),
 759    language: z.string(),
 760    last_login_at: z.string(),
 761    openid_connect_id: z.string(),
 762    show_reading_time: z.boolean(),
 763    stylesheet: z.string(),
 764    theme: z.string(),
 765    timezone: z.string(),
 766    username: z.string(),
 767  });
 768  
 769  export const zArticleControllerGetPagedArticlesData = z.object({
 770    body: z.never().optional(),
 771    path: z.never().optional(),
 772    query: z
 773      .object({
 774        cursor: z.string().optional(),
 775        pageSize: z.number().optional(),
 776      })
 777      .optional(),
 778  });
 779  
 780  export const zArticleControllerGetPagedArticlesResponse = zArticleListDtoOutput;
 781  
 782  export const zArticleControllerGetArticleData = z.object({
 783    body: z.never().optional(),
 784    path: z.object({
 785      id: z.string(),
 786    }),
 787    query: z.never().optional(),
 788  });
 789  
 790  export const zArticleControllerGetArticleResponse = zArticleDetailDtoOutput;
 791  
 792  export const zArticleControllerGetPagedArticlesForFeedData = z.object({
 793    body: z.never().optional(),
 794    path: z.object({
 795      id: z.string(),
 796    }),
 797    query: z
 798      .object({
 799        cursor: z.string().optional(),
 800        pageSize: z.number().optional(),
 801      })
 802      .optional(),
 803  });
 804  
 805  export const zArticleControllerGetPagedArticlesForFeedResponse =
 806    zArticleListDtoOutput;
 807  
 808  export const zArticleControllerGetAllArticlesForFolderData = z.object({
 809    body: z.never().optional(),
 810    path: z.object({
 811      id: z.string(),
 812    }),
 813    query: z
 814      .object({
 815        cursor: z.string().optional(),
 816        pageSize: z.number().optional(),
 817      })
 818      .optional(),
 819  });
 820  
 821  export const zArticleControllerGetAllArticlesForFolderResponse =
 822    zArticleListDtoOutput;
 823  
 824  export const zArticleControllerGetHiddenArticlesData = z.object({
 825    body: z.never().optional(),
 826    path: z.never().optional(),
 827    query: z
 828      .object({
 829        cursor: z.string().optional(),
 830        pageSize: z.number().optional(),
 831        ruleId: z.string().optional(),
 832      })
 833      .optional(),
 834  });
 835  
 836  export const zArticleControllerGetHiddenArticlesResponse =
 837    zHiddenArticleListDtoOutput;
 838  
 839  export const zArticleControllerGetReadArticlesData = z.object({
 840    body: z.never().optional(),
 841    path: z.never().optional(),
 842    query: z
 843      .object({
 844        cursor: z.string().optional(),
 845        pageSize: z.number().optional(),
 846      })
 847      .optional(),
 848  });
 849  
 850  export const zArticleControllerGetReadArticlesResponse = zArticleListDtoOutput;
 851  
 852  export const zArticleControllerGetReadArticlesForFeedData = z.object({
 853    body: z.never().optional(),
 854    path: z.object({
 855      id: z.string(),
 856    }),
 857    query: z
 858      .object({
 859        cursor: z.string().optional(),
 860        pageSize: z.number().optional(),
 861      })
 862      .optional(),
 863  });
 864  
 865  export const zArticleControllerGetReadArticlesForFeedResponse =
 866    zArticleListDtoOutput;
 867  
 868  export const zArticleControllerGetReadArticlesForFolderData = z.object({
 869    body: z.never().optional(),
 870    path: z.object({
 871      id: z.string(),
 872    }),
 873    query: z
 874      .object({
 875        cursor: z.string().optional(),
 876        pageSize: z.number().optional(),
 877      })
 878      .optional(),
 879  });
 880  
 881  export const zArticleControllerGetReadArticlesForFolderResponse =
 882    zArticleListDtoOutput;
 883  
 884  export const zArticleControllerRequestFullArticleTextData = z.object({
 885    body: z.never().optional(),
 886    path: z.object({
 887      id: z.string(),
 888    }),
 889    query: z.never().optional(),
 890  });
 891  
 892  export const zArticleControllerSearchArticlesData = z.object({
 893    body: z.never().optional(),
 894    path: z.never().optional(),
 895    query: z.object({
 896      offset: z.number().optional(),
 897      pageSize: z.number().optional(),
 898      query: z.string(),
 899    }),
 900  });
 901  
 902  export const zArticleControllerSearchArticlesResponse = zArticleSearchDtoOutput;
 903  
 904  export const zArticleControllerGetStarredArticlesData = z.object({
 905    body: z.never().optional(),
 906    path: z.never().optional(),
 907    query: z
 908      .object({
 909        cursor: z.string().optional(),
 910        pageSize: z.number().optional(),
 911      })
 912      .optional(),
 913  });
 914  
 915  export const zArticleControllerGetStarredArticlesResponse =
 916    zArticleListDtoOutput;
 917  
 918  export const zArticleControllerGetStarredArticlesForFeedData = z.object({
 919    body: z.never().optional(),
 920    path: z.object({
 921      id: z.string(),
 922    }),
 923    query: z
 924      .object({
 925        cursor: z.string().optional(),
 926        pageSize: z.number().optional(),
 927      })
 928      .optional(),
 929  });
 930  
 931  export const zArticleControllerGetStarredArticlesForFeedResponse =
 932    zArticleListDtoOutput;
 933  
 934  export const zArticleControllerGetStarredArticlesForFolderData = z.object({
 935    body: z.never().optional(),
 936    path: z.object({
 937      id: z.string(),
 938    }),
 939    query: z
 940      .object({
 941        cursor: z.string().optional(),
 942        pageSize: z.number().optional(),
 943      })
 944      .optional(),
 945  });
 946  
 947  export const zArticleControllerGetStarredArticlesForFolderResponse =
 948    zArticleListDtoOutput;
 949  
 950  export const zArticleControllerUpdateArticleStatusData = z.object({
 951    body: z.never().optional(),
 952    path: z.object({
 953      id: z.string(),
 954    }),
 955    query: z.object({
 956      status: z.string(),
 957    }),
 958  });
 959  
 960  export const zArticleControllerUpdateArticleStatusResponse =
 961    zArticleStatusDtoOutput;
 962  
 963  export const zArticleControllerGetUnReadArticlesData = z.object({
 964    body: z.never().optional(),
 965    path: z.never().optional(),
 966    query: z
 967      .object({
 968        cursor: z.string().optional(),
 969        pageSize: z.number().optional(),
 970      })
 971      .optional(),
 972  });
 973  
 974  export const zArticleControllerGetUnReadArticlesResponse =
 975    zArticleListDtoOutput;
 976  
 977  export const zArticleControllerGetUnReadArticlesForFeedData = z.object({
 978    body: z.never().optional(),
 979    path: z.object({
 980      id: z.string(),
 981    }),
 982    query: z
 983      .object({
 984        cursor: z.string().optional(),
 985        pageSize: z.number().optional(),
 986      })
 987      .optional(),
 988  });
 989  
 990  export const zArticleControllerGetUnReadArticlesForFeedResponse =
 991    zArticleListDtoOutput;
 992  
 993  export const zArticleControllerGetUnReadArticlesForFolderData = z.object({
 994    body: z.never().optional(),
 995    path: z.object({
 996      id: z.string(),
 997    }),
 998    query: z
 999      .object({
1000        cursor: z.string().optional(),
1001        pageSize: z.number().optional(),
1002      })
1003      .optional(),
1004  });
1005  
1006  export const zArticleControllerGetUnReadArticlesForFolderResponse =
1007    zArticleListDtoOutput;
1008  
1009  export const zAppControllerGetLoginData = z.object({
1010    body: z.never().optional(),
1011    path: z.never().optional(),
1012    query: z.never().optional(),
1013  });
1014  
1015  export const zFeedControllerFindAllData = z.object({
1016    body: z.never().optional(),
1017    path: z.never().optional(),
1018    query: z.never().optional(),
1019  });
1020  
1021  export const zFeedControllerFindAllResponse = z.array(
1022    zFeedOutWithCountsDtoOutput,
1023  );
1024  
1025  export const zFeedControllerCreateData = z.object({
1026    body: zSubscribeFeedDto,
1027    path: z.never().optional(),
1028    query: z.never().optional(),
1029  });
1030  
1031  export const zFeedControllerCreateResponse = zSubscriptionOutDtoOutput;
1032  
1033  export const zFeedControllerRemoveData = z.object({
1034    body: z.never().optional(),
1035    path: z.object({
1036      id: z.string(),
1037    }),
1038    query: z.never().optional(),
1039  });
1040  
1041  /**
1042   * Feed unsubscribed
1043   */
1044  export const zFeedControllerRemoveResponse = z.void();
1045  
1046  export const zFeedControllerFindOneData = z.object({
1047    body: z.never().optional(),
1048    path: z.object({
1049      id: z.string(),
1050    }),
1051    query: z.never().optional(),
1052  });
1053  
1054  export const zFeedControllerFindOneResponse = zFeedOutWithCountsDtoOutput;
1055  
1056  export const zFeedControllerUpdateData = z.object({
1057    body: zUpdateFeedDto,
1058    path: z.object({
1059      id: z.string(),
1060    }),
1061    query: z.never().optional(),
1062  });
1063  
1064  export const zFeedControllerUpdateResponse = zSubscriptionOutDtoOutput;
1065  
1066  export const zFeedControllerDiscoverData = z.object({
1067    body: zDiscoverDto,
1068    path: z.never().optional(),
1069    query: z.never().optional(),
1070  });
1071  
1072  export const zFeedControllerDiscoverResponse = z.array(zDiscoverOutDtoOutput);
1073  
1074  export const zFeedControllerExportData = z.object({
1075    body: z.never().optional(),
1076    path: z.never().optional(),
1077    query: z.never().optional(),
1078  });
1079  
1080  export const zFeedControllerImportData = z.object({
1081    body: zFileDto,
1082    path: z.never().optional(),
1083    query: z.never().optional(),
1084  });
1085  
1086  export const zFeedControllerMarkAllReadData = z.object({
1087    body: z.never().optional(),
1088    path: z.object({
1089      id: z.string(),
1090    }),
1091    query: z.never().optional(),
1092  });
1093  
1094  export const zFilterControllerFindAllData = z.object({
1095    body: z.never().optional(),
1096    path: z.never().optional(),
1097    query: z.never().optional(),
1098  });
1099  
1100  export const zFilterControllerFindAllResponse = z.array(zFilterOutDtoOutput);
1101  
1102  export const zFilterControllerCreateData = z.object({
1103    body: zCreateFilterDto,
1104    path: z.never().optional(),
1105    query: z.never().optional(),
1106  });
1107  
1108  export const zFilterControllerCreateResponse = zFilterOutDtoOutput;
1109  
1110  export const zFilterControllerRemoveData = z.object({
1111    body: z.never().optional(),
1112    path: z.object({
1113      id: z.string(),
1114    }),
1115    query: z.never().optional(),
1116  });
1117  
1118  export const zFilterControllerFindOneData = z.object({
1119    body: z.never().optional(),
1120    path: z.object({
1121      id: z.string(),
1122    }),
1123    query: z.never().optional(),
1124  });
1125  
1126  export const zFilterControllerFindOneResponse = zFilterOutDtoOutput;
1127  
1128  export const zFilterControllerUpdateData = z.object({
1129    body: zUpdateFilterDto,
1130    path: z.object({
1131      id: z.string(),
1132    }),
1133    query: z.never().optional(),
1134  });
1135  
1136  export const zFilterControllerUpdateResponse = zFilterOutDtoOutput;
1137  
1138  export const zFolderControllerFindAllData = z.object({
1139    body: z.never().optional(),
1140    path: z.never().optional(),
1141    query: z.never().optional(),
1142  });
1143  
1144  export const zFolderControllerFindAllResponse = z.array(zFolderOutDtoOutput);
1145  
1146  export const zFolderControllerCreateData = z.object({
1147    body: zCreateFolderDto,
1148    path: z.never().optional(),
1149    query: z.never().optional(),
1150  });
1151  
1152  export const zFolderControllerCreateResponse = zFolderOutDtoOutput;
1153  
1154  export const zFolderControllerRemoveData = z.object({
1155    body: z.never().optional(),
1156    path: z.object({
1157      id: z.string(),
1158    }),
1159    query: z.never().optional(),
1160  });
1161  
1162  /**
1163   * Folder deleted successfully.
1164   */
1165  export const zFolderControllerRemoveResponse = z.void();
1166  
1167  export const zFolderControllerFindOneData = z.object({
1168    body: z.never().optional(),
1169    path: z.object({
1170      id: z.string(),
1171    }),
1172    query: z.never().optional(),
1173  });
1174  
1175  export const zFolderControllerFindOneResponse = zFolderOutDtoOutput;
1176  
1177  export const zFolderControllerUpdateData = z.object({
1178    body: zUpdateFolderDto,
1179    path: z.object({
1180      id: z.string(),
1181    }),
1182    query: z.never().optional(),
1183  });
1184  
1185  export const zFolderControllerUpdateResponse = zFolderOutDtoOutput;
1186  
1187  export const zFolderControllerFindAllWithFeedsData = z.object({
1188    body: z.never().optional(),
1189    path: z.never().optional(),
1190    query: z.never().optional(),
1191  });
1192  
1193  export const zFolderControllerFindAllWithFeedsResponse = z.array(
1194    zFolderWithFeedsOutDtoOutput,
1195  );
1196  
1197  export const zHealthControllerCheckData = z.object({
1198    body: z.never().optional(),
1199    path: z.never().optional(),
1200    query: z.never().optional(),
1201  });
1202  
1203  /**
1204   * The Health Check is successful
1205   */
1206  export const zHealthControllerCheckResponse = z.object({
1207    details: z
1208      .record(
1209        z.string(),
1210        z.object({
1211          status: z.string(),
1212        }),
1213      )
1214      .optional(),
1215    error: z
1216      .record(
1217        z.string(),
1218        z.object({
1219          status: z.string(),
1220        }),
1221      )
1222      .optional(),
1223    info: z
1224      .record(
1225        z.string(),
1226        z.object({
1227          status: z.string(),
1228        }),
1229      )
1230      .optional(),
1231    status: z.string().optional(),
1232  });
1233  
1234  export const zAppControllerGetProfileData = z.object({
1235    body: z.never().optional(),
1236    path: z.never().optional(),
1237    query: z.never().optional(),
1238  });
1239  
1240  export const zMinifluxV1ControllerGetCategoriesData = z.object({
1241    body: z.never().optional(),
1242    path: z.never().optional(),
1243    query: z.object({
1244      counts: z.boolean(),
1245    }),
1246  });
1247  
1248  export const zMinifluxV1ControllerGetCategoriesResponse = z.array(
1249    zCategoryOutDtoOutput,
1250  );
1251  
1252  export const zMinifluxV1ControllerCreateCategoryData = z.object({
1253    body: zCreateCategoryDto,
1254    path: z.never().optional(),
1255    query: z.never().optional(),
1256  });
1257  
1258  export const zMinifluxV1ControllerCreateCategoryResponse =
1259    zCategoryOutDtoOutput;
1260  
1261  export const zMinifluxV1ControllerDeleteCategoryData = z.object({
1262    body: z.never().optional(),
1263    path: z.object({
1264      categoryId: z.number(),
1265    }),
1266    query: z.never().optional(),
1267  });
1268  
1269  export const zMinifluxV1ControllerDeleteCategoryResponse = z.void();
1270  
1271  export const zMinifluxV1ControllerUpdateCategoryData = z.object({
1272    body: zCreateCategoryDto,
1273    path: z.object({
1274      categoryId: z.number(),
1275    }),
1276    query: z.never().optional(),
1277  });
1278  
1279  export const zMinifluxV1ControllerUpdateCategoryResponse =
1280    zCategoryOutDtoOutput;
1281  
1282  export const zMinifluxV1ControllerGetCategoryFeedsData = z.object({
1283    body: z.never().optional(),
1284    path: z.object({
1285      categoryId: z.number(),
1286    }),
1287    query: z.never().optional(),
1288  });
1289  
1290  export const zMinifluxV1ControllerGetCategoryFeedsResponse =
1291    z.array(zFeedMiniOutput);
1292  
1293  export const zMinifluxV1ControllerMarkCategoryAsReadData = z.object({
1294    body: z.never().optional(),
1295    path: z.object({
1296      categoryId: z.number(),
1297    }),
1298    query: z.never().optional(),
1299  });
1300  
1301  export const zMinifluxV1ControllerMarkCategoryAsReadResponse = z.void();
1302  
1303  export const zMinifluxV1ControllerRefreshCategoryFeedsData = z.object({
1304    body: z.never().optional(),
1305    path: z.object({
1306      categoryId: z.number(),
1307    }),
1308    query: z.never().optional(),
1309  });
1310  
1311  export const zMinifluxV1ControllerRefreshCategoryFeedsResponse = z.void();
1312  
1313  export const zMinifluxV1ControllerDiscoverSubscriptionsData = z.object({
1314    body: zDiscoverDto,
1315    path: z.never().optional(),
1316    query: z.never().optional(),
1317  });
1318  
1319  export const zMinifluxV1ControllerDiscoverSubscriptionsResponse = z.array(
1320    zDiscoverOutDtoOutput,
1321  );
1322  
1323  export const zMinifluxV1ControllerGetEntriesData = z.object({
1324    body: z.never().optional(),
1325    path: z.never().optional(),
1326    query: z.object({
1327      after: z.number().optional(),
1328      before: z.number().optional(),
1329      category_id: z.number().optional(),
1330      direction: z.enum(['asc', 'desc']).optional(),
1331      limit: z.number(),
1332      offset: z.number().optional(),
1333      order: z
1334        .enum(['id', 'status', 'published_at', 'category_title', 'category_id'])
1335        .optional(),
1336      search: z.string().optional(),
1337      starred: z.boolean().optional(),
1338      status: z.enum(['unread', 'read']),
1339    }),
1340  });
1341  
1342  export const zMinifluxV1ControllerGetEntriesResponse = zEntriesListDtoOutput;
1343  
1344  export const zMinifluxV1ControllerUpdateEntriesData = z.object({
1345    body: zUpdateEntriesDto,
1346    path: z.never().optional(),
1347    query: z.never().optional(),
1348  });
1349  
1350  export const zMinifluxV1ControllerUpdateEntriesResponse = z.void();
1351  
1352  export const zMinifluxV1ControllerGetEntryData = z.object({
1353    body: z.never().optional(),
1354    path: z.object({
1355      entryId: z.number(),
1356    }),
1357    query: z.never().optional(),
1358  });
1359  
1360  export const zMinifluxV1ControllerGetEntryResponse = zEntryDtoOutput;
1361  
1362  export const zMinifluxV1ControllerToggleBookmarkData = z.object({
1363    body: z.never().optional(),
1364    path: z.object({
1365      entryId: z.number(),
1366    }),
1367    query: z.never().optional(),
1368  });
1369  
1370  export const zMinifluxV1ControllerToggleBookmarkResponse = z.void();
1371  
1372  export const zMinifluxV1ControllerFetchOriginalArticleData = z.object({
1373    body: z.never().optional(),
1374    path: z.object({
1375      entryId: z.number(),
1376    }),
1377    query: z.never().optional(),
1378  });
1379  
1380  export const zMinifluxV1ControllerFetchOriginalArticleResponse =
1381    zFullEntryContentOutput;
1382  
1383  export const zMinifluxV1ControllerSaveEntryData = z.object({
1384    body: z.never().optional(),
1385    path: z.object({
1386      entryId: z.number(),
1387    }),
1388    query: z.never().optional(),
1389  });
1390  
1391  export const zMinifluxV1ControllerExportData = z.object({
1392    body: z.never().optional(),
1393    path: z.never().optional(),
1394    query: z.never().optional(),
1395  });
1396  
1397  export const zMinifluxV1ControllerGetFeedsData = z.object({
1398    body: z.never().optional(),
1399    path: z.never().optional(),
1400    query: z.never().optional(),
1401  });
1402  
1403  export const zMinifluxV1ControllerGetFeedsResponse = z.array(zFeedMiniOutput);
1404  
1405  export const zMinifluxV1ControllerCreateFeedData = z.object({
1406    body: zCreateFeedDto,
1407    path: z.never().optional(),
1408    query: z.never().optional(),
1409  });
1410  
1411  export const zMinifluxV1ControllerRemoveFeedData = z.object({
1412    body: z.never().optional(),
1413    path: z.object({
1414      feedId: z.number(),
1415    }),
1416    query: z.never().optional(),
1417  });
1418  
1419  export const zMinifluxV1ControllerRemoveFeedResponse = z.void();
1420  
1421  export const zMinifluxV1ControllerGetFeedData = z.object({
1422    body: z.never().optional(),
1423    path: z.object({
1424      feedId: z.number(),
1425    }),
1426    query: z.never().optional(),
1427  });
1428  
1429  export const zMinifluxV1ControllerGetFeedResponse = zFeedMiniOutput;
1430  
1431  export const zMinifluxV1ControllerUpdateFeedData = z.object({
1432    body: zUpdateFeedMiniDto,
1433    path: z.object({
1434      feedId: z.number(),
1435    }),
1436    query: z.never().optional(),
1437  });
1438  
1439  export const zMinifluxV1ControllerGetFeedIconData = z.object({
1440    body: z.never().optional(),
1441    path: z.object({
1442      feedId: z.number(),
1443    }),
1444    query: z.never().optional(),
1445  });
1446  
1447  export const zMinifluxV1ControllerMarkFeedAsReadData = z.object({
1448    body: z.never().optional(),
1449    path: z.object({
1450      feedId: z.number(),
1451    }),
1452    query: z.never().optional(),
1453  });
1454  
1455  export const zMinifluxV1ControllerMarkFeedAsReadResponse = z.void();
1456  
1457  export const zMinifluxV1ControllerRefreshFeedData = z.object({
1458    body: z.never().optional(),
1459    path: z.object({
1460      feedId: z.number(),
1461    }),
1462    query: z.never().optional(),
1463  });
1464  
1465  export const zMinifluxV1ControllerRefreshFeedResponse = z.void();
1466  
1467  export const zMinifluxV1ControllerGetFeedCountersData = z.object({
1468    body: z.never().optional(),
1469    path: z.never().optional(),
1470    query: z.never().optional(),
1471  });
1472  
1473  export const zMinifluxV1ControllerGetFeedCountersResponse = zCountersDtoOutput;
1474  
1475  export const zMinifluxV1ControllerRefreshAllFeedsData = z.object({
1476    body: z.never().optional(),
1477    path: z.never().optional(),
1478    query: z.never().optional(),
1479  });
1480  
1481  export const zMinifluxV1ControllerRefreshAllFeedsResponse = z.void();
1482  
1483  export const zMinifluxV1ControllerGetIconData = z.object({
1484    body: z.never().optional(),
1485    path: z.object({
1486      iconId: z.number(),
1487    }),
1488    query: z.never().optional(),
1489  });
1490  
1491  export const zMinifluxV1ControllerImportData = z.object({
1492    body: zFileDto,
1493    path: z.never().optional(),
1494    query: z.never().optional(),
1495  });
1496  
1497  export const zMinifluxV1ControllerGetCurrentUserData = z.object({
1498    body: z.never().optional(),
1499    path: z.never().optional(),
1500    query: z.never().optional(),
1501  });
1502  
1503  export const zMinifluxV1ControllerGetCurrentUserResponse = zUserSchemaDtoOutput;
1504  
1505  export const zMinifluxV1ControllerMarkUserEntriesAsReadData = z.object({
1506    body: z.never().optional(),
1507    path: z.object({
1508      userId: z.number(),
1509    }),
1510    query: z.never().optional(),
1511  });
1512  
1513  export const zMinifluxV1ControllerMarkUserEntriesAsReadResponse = z.void();
1514  
1515  export const zMinifluxV1ControllerGetVersionData = z.object({
1516    body: z.never().optional(),
1517    path: z.never().optional(),
1518    query: z.never().optional(),
1519  });
1520  
1521  export const zReadlaterControllerAddBookmarkData = z.object({
1522    body: zCreateBookmarkDto,
1523    path: z.never().optional(),
1524    query: z.never().optional(),
1525  });
1526  
1527  export const zReadlaterControllerCreateConfigData = z.object({
1528    body: zCreateConfigDto,
1529    path: z.never().optional(),
1530    query: z.never().optional(),
1531  });