/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod"; import { remap as remap$ } from "../../../lib/primitives.js"; export type GetUserRequest = { apiKey: string; apiUsername: string; username: string; }; export type GetUserCustomFields = { firstName?: string | null | undefined; }; export type GroupUsers = { groupId: number; notificationLevel: number; owner?: boolean | undefined; userId: number; }; export type GetUserGroups = { allowMembershipRequests: boolean; automatic: boolean; bioCooked: string | null; bioExcerpt: string | null; bioRaw: string | null; canAdminGroup: boolean; canSeeMembers: boolean; defaultNotificationLevel: number; displayName: string; flairBgColor: string | null; flairColor: string | null; flairUrl: string | null; fullName: string | null; grantTrustLevel: string | null; hasMessages: boolean; id: number; incomingEmail: string | null; membersVisibilityLevel: number; membershipRequestTemplate: string | null; mentionableLevel: number; messageableLevel: number; name: string; primaryGroup: boolean; publicAdmission: boolean; publicExit: boolean; publishReadState: boolean; title: string | null; userCount: number; visibilityLevel: number; }; export type UserAuthTokens = { browser: string; clientIp: string; createdAt: string; device: string; icon: string; id: number; isActive: boolean; location: string; os: string; seenAt: string; }; export type UserFields = { one: string | null; two: string | null; }; export type UserNotificationSchedule = { day0EndTime: number; day0StartTime: number; day1EndTime: number; day1StartTime: number; day2EndTime: number; day2StartTime: number; day3EndTime: number; day3StartTime: number; day4EndTime: number; day4StartTime: number; day5EndTime: number; day5StartTime: number; day6EndTime: number; day6StartTime: number; enabled: boolean; }; export type UserOption = { allowPrivateMessages: boolean; autoTrackTopicsAfterMsecs: number; automaticallyUnpinTopics: boolean; bookmarkAutoDeletePreference?: number | undefined; colorSchemeId: string | null; darkSchemeId: string | null; defaultCalendar?: string | undefined; digestAfterMinutes: number; dynamicFavicon: boolean; emailDigests: boolean; emailInReplyTo: boolean; emailLevel: number; emailMessagesLevel: number; emailPreviousReplies: number; enableAllowedPmUsers: boolean; enableDefer: boolean; enableQuoting: boolean; externalLinksInNewTab: boolean; hideProfileAndPresence: boolean; homepageId: string | null; includeTl0InDigests: boolean; likeNotificationFrequency: number; mailingListMode: boolean; mailingListModeFrequency: number; newTopicDurationMinutes: number; notificationLevelWhenReplying: number; oldestSearchLogDate?: string | null | undefined; seenPopups?: Array | null | undefined; sidebarLinkToFilteredList?: boolean | undefined; sidebarShowCountOfNewItems?: boolean | undefined; skipNewUserTips: boolean; textSize: string; textSizeSeq: number; themeIds: Array; themeKeySeq: number; timezone: string | null; titleCountMode: string; userId: number; watchedPrecedenceOverMuted?: boolean | null | undefined; }; export type User = { admin: boolean; allowedPmUsernames: Array; avatarTemplate: string; badgeCount: number; canBeDeleted: boolean; canChangeBio: boolean; canChangeLocation: boolean; canChangeTrackingPreferences: boolean; canChangeWebsite: boolean; canDeleteAllPosts: boolean; canEdit: boolean; canEditEmail: boolean; canEditName: boolean; canEditUsername: boolean; canIgnoreUser: boolean; canMuteUser: boolean; canSendPrivateMessageToUser: boolean; canSendPrivateMessages: boolean; canUploadProfileHeader: boolean; canUploadUserCardBackground: boolean; createdAt: string; customFields: GetUserCustomFields; displaySidebarTags?: boolean | undefined; featuredTopic: string | null; featuredUserBadgeIds: Array; flairBgColor: string | null; flairColor: string | null; flairGroupId: string | null; flairName: string | null; flairUrl: string | null; groupUsers: Array; groups: Array; hasTitleBadges: boolean; id: number; ignored: boolean; ignoredUsernames: Array; invitedBy: string | null; lastPostedAt: string | null; lastSeenAt: string | null; locale: string | null; mailingListPostsPerDay: number; moderator: boolean; muted: boolean; mutedCategoryIds: Array; mutedTags: Array; mutedUsernames: Array; name: string; pendingCount: number; pendingPostsCount?: number | undefined; postCount: number; primaryGroupId: string | null; primaryGroupName: string | null; profileViewCount: number; recentTimeRead: number; regularCategoryIds: Array; secondFactorBackupEnabled?: boolean | undefined; secondFactorEnabled: boolean; sidebarCategoryIds?: Array | undefined; sidebarTags?: Array | undefined; staged: boolean; systemAvatarTemplate: string; systemAvatarUploadId: string | null; timeRead: number; title: string | null; trackedCategoryIds: Array; trackedTags: Array; trustLevel: number; uploadedAvatarId: string | null; useLogoSmallAsAvatar: boolean; userApiKeys: string | null; userAuthTokens: Array; userFields?: UserFields | undefined; userNotificationSchedule: UserNotificationSchedule; userOption: UserOption; username: string; watchedCategoryIds: Array; watchedFirstPostCategoryIds: Array; watchedTags: Array; watchingFirstPostTags: Array; }; /** * user response */ export type GetUserResponseBody = { user: User; userBadges: Array; }; /** @internal */ export const GetUserRequest$inboundSchema: z.ZodType< GetUserRequest, z.ZodTypeDef, unknown > = z.object({ "Api-Key": z.string(), "Api-Username": z.string(), username: z.string(), }).transform((v) => { return remap$(v, { "Api-Key": "apiKey", "Api-Username": "apiUsername", }); }); /** @internal */ export type GetUserRequest$Outbound = { "Api-Key": string; "Api-Username": string; username: string; }; /** @internal */ export const GetUserRequest$outboundSchema: z.ZodType< GetUserRequest$Outbound, z.ZodTypeDef, GetUserRequest > = z.object({ apiKey: z.string(), apiUsername: z.string(), username: z.string(), }).transform((v) => { return remap$(v, { apiKey: "Api-Key", apiUsername: "Api-Username", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace GetUserRequest$ { /** @deprecated use `GetUserRequest$inboundSchema` instead. */ export const inboundSchema = GetUserRequest$inboundSchema; /** @deprecated use `GetUserRequest$outboundSchema` instead. */ export const outboundSchema = GetUserRequest$outboundSchema; /** @deprecated use `GetUserRequest$Outbound` instead. */ export type Outbound = GetUserRequest$Outbound; } /** @internal */ export const GetUserCustomFields$inboundSchema: z.ZodType< GetUserCustomFields, z.ZodTypeDef, unknown > = z.object({ first_name: z.nullable(z.string()).optional(), }).transform((v) => { return remap$(v, { "first_name": "firstName", }); }); /** @internal */ export type GetUserCustomFields$Outbound = { first_name?: string | null | undefined; }; /** @internal */ export const GetUserCustomFields$outboundSchema: z.ZodType< GetUserCustomFields$Outbound, z.ZodTypeDef, GetUserCustomFields > = z.object({ firstName: z.nullable(z.string()).optional(), }).transform((v) => { return remap$(v, { firstName: "first_name", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace GetUserCustomFields$ { /** @deprecated use `GetUserCustomFields$inboundSchema` instead. */ export const inboundSchema = GetUserCustomFields$inboundSchema; /** @deprecated use `GetUserCustomFields$outboundSchema` instead. */ export const outboundSchema = GetUserCustomFields$outboundSchema; /** @deprecated use `GetUserCustomFields$Outbound` instead. */ export type Outbound = GetUserCustomFields$Outbound; } /** @internal */ export const GroupUsers$inboundSchema: z.ZodType< GroupUsers, z.ZodTypeDef, unknown > = z.object({ group_id: z.number().int(), notification_level: z.number().int(), owner: z.boolean().optional(), user_id: z.number().int(), }).transform((v) => { return remap$(v, { "group_id": "groupId", "notification_level": "notificationLevel", "user_id": "userId", }); }); /** @internal */ export type GroupUsers$Outbound = { group_id: number; notification_level: number; owner?: boolean | undefined; user_id: number; }; /** @internal */ export const GroupUsers$outboundSchema: z.ZodType< GroupUsers$Outbound, z.ZodTypeDef, GroupUsers > = z.object({ groupId: z.number().int(), notificationLevel: z.number().int(), owner: z.boolean().optional(), userId: z.number().int(), }).transform((v) => { return remap$(v, { groupId: "group_id", notificationLevel: "notification_level", userId: "user_id", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace GroupUsers$ { /** @deprecated use `GroupUsers$inboundSchema` instead. */ export const inboundSchema = GroupUsers$inboundSchema; /** @deprecated use `GroupUsers$outboundSchema` instead. */ export const outboundSchema = GroupUsers$outboundSchema; /** @deprecated use `GroupUsers$Outbound` instead. */ export type Outbound = GroupUsers$Outbound; } /** @internal */ export const GetUserGroups$inboundSchema: z.ZodType< GetUserGroups, z.ZodTypeDef, unknown > = z.object({ allow_membership_requests: z.boolean(), automatic: z.boolean(), bio_cooked: z.nullable(z.string()), bio_excerpt: z.nullable(z.string()), bio_raw: z.nullable(z.string()), can_admin_group: z.boolean(), can_see_members: z.boolean(), default_notification_level: z.number().int(), display_name: z.string(), flair_bg_color: z.nullable(z.string()), flair_color: z.nullable(z.string()), flair_url: z.nullable(z.string()), full_name: z.nullable(z.string()), grant_trust_level: z.nullable(z.string()), has_messages: z.boolean(), id: z.number().int(), incoming_email: z.nullable(z.string()), members_visibility_level: z.number().int(), membership_request_template: z.nullable(z.string()), mentionable_level: z.number().int(), messageable_level: z.number().int(), name: z.string(), primary_group: z.boolean(), public_admission: z.boolean(), public_exit: z.boolean(), publish_read_state: z.boolean(), title: z.nullable(z.string()), user_count: z.number().int(), visibility_level: z.number().int(), }).transform((v) => { return remap$(v, { "allow_membership_requests": "allowMembershipRequests", "bio_cooked": "bioCooked", "bio_excerpt": "bioExcerpt", "bio_raw": "bioRaw", "can_admin_group": "canAdminGroup", "can_see_members": "canSeeMembers", "default_notification_level": "defaultNotificationLevel", "display_name": "displayName", "flair_bg_color": "flairBgColor", "flair_color": "flairColor", "flair_url": "flairUrl", "full_name": "fullName", "grant_trust_level": "grantTrustLevel", "has_messages": "hasMessages", "incoming_email": "incomingEmail", "members_visibility_level": "membersVisibilityLevel", "membership_request_template": "membershipRequestTemplate", "mentionable_level": "mentionableLevel", "messageable_level": "messageableLevel", "primary_group": "primaryGroup", "public_admission": "publicAdmission", "public_exit": "publicExit", "publish_read_state": "publishReadState", "user_count": "userCount", "visibility_level": "visibilityLevel", }); }); /** @internal */ export type GetUserGroups$Outbound = { allow_membership_requests: boolean; automatic: boolean; bio_cooked: string | null; bio_excerpt: string | null; bio_raw: string | null; can_admin_group: boolean; can_see_members: boolean; default_notification_level: number; display_name: string; flair_bg_color: string | null; flair_color: string | null; flair_url: string | null; full_name: string | null; grant_trust_level: string | null; has_messages: boolean; id: number; incoming_email: string | null; members_visibility_level: number; membership_request_template: string | null; mentionable_level: number; messageable_level: number; name: string; primary_group: boolean; public_admission: boolean; public_exit: boolean; publish_read_state: boolean; title: string | null; user_count: number; visibility_level: number; }; /** @internal */ export const GetUserGroups$outboundSchema: z.ZodType< GetUserGroups$Outbound, z.ZodTypeDef, GetUserGroups > = z.object({ allowMembershipRequests: z.boolean(), automatic: z.boolean(), bioCooked: z.nullable(z.string()), bioExcerpt: z.nullable(z.string()), bioRaw: z.nullable(z.string()), canAdminGroup: z.boolean(), canSeeMembers: z.boolean(), defaultNotificationLevel: z.number().int(), displayName: z.string(), flairBgColor: z.nullable(z.string()), flairColor: z.nullable(z.string()), flairUrl: z.nullable(z.string()), fullName: z.nullable(z.string()), grantTrustLevel: z.nullable(z.string()), hasMessages: z.boolean(), id: z.number().int(), incomingEmail: z.nullable(z.string()), membersVisibilityLevel: z.number().int(), membershipRequestTemplate: z.nullable(z.string()), mentionableLevel: z.number().int(), messageableLevel: z.number().int(), name: z.string(), primaryGroup: z.boolean(), publicAdmission: z.boolean(), publicExit: z.boolean(), publishReadState: z.boolean(), title: z.nullable(z.string()), userCount: z.number().int(), visibilityLevel: z.number().int(), }).transform((v) => { return remap$(v, { allowMembershipRequests: "allow_membership_requests", bioCooked: "bio_cooked", bioExcerpt: "bio_excerpt", bioRaw: "bio_raw", canAdminGroup: "can_admin_group", canSeeMembers: "can_see_members", defaultNotificationLevel: "default_notification_level", displayName: "display_name", flairBgColor: "flair_bg_color", flairColor: "flair_color", flairUrl: "flair_url", fullName: "full_name", grantTrustLevel: "grant_trust_level", hasMessages: "has_messages", incomingEmail: "incoming_email", membersVisibilityLevel: "members_visibility_level", membershipRequestTemplate: "membership_request_template", mentionableLevel: "mentionable_level", messageableLevel: "messageable_level", primaryGroup: "primary_group", publicAdmission: "public_admission", publicExit: "public_exit", publishReadState: "publish_read_state", userCount: "user_count", visibilityLevel: "visibility_level", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace GetUserGroups$ { /** @deprecated use `GetUserGroups$inboundSchema` instead. */ export const inboundSchema = GetUserGroups$inboundSchema; /** @deprecated use `GetUserGroups$outboundSchema` instead. */ export const outboundSchema = GetUserGroups$outboundSchema; /** @deprecated use `GetUserGroups$Outbound` instead. */ export type Outbound = GetUserGroups$Outbound; } /** @internal */ export const UserAuthTokens$inboundSchema: z.ZodType< UserAuthTokens, z.ZodTypeDef, unknown > = z.object({ browser: z.string(), client_ip: z.string(), created_at: z.string(), device: z.string(), icon: z.string(), id: z.number().int(), is_active: z.boolean(), location: z.string(), os: z.string(), seen_at: z.string(), }).transform((v) => { return remap$(v, { "client_ip": "clientIp", "created_at": "createdAt", "is_active": "isActive", "seen_at": "seenAt", }); }); /** @internal */ export type UserAuthTokens$Outbound = { browser: string; client_ip: string; created_at: string; device: string; icon: string; id: number; is_active: boolean; location: string; os: string; seen_at: string; }; /** @internal */ export const UserAuthTokens$outboundSchema: z.ZodType< UserAuthTokens$Outbound, z.ZodTypeDef, UserAuthTokens > = z.object({ browser: z.string(), clientIp: z.string(), createdAt: z.string(), device: z.string(), icon: z.string(), id: z.number().int(), isActive: z.boolean(), location: z.string(), os: z.string(), seenAt: z.string(), }).transform((v) => { return remap$(v, { clientIp: "client_ip", createdAt: "created_at", isActive: "is_active", seenAt: "seen_at", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace UserAuthTokens$ { /** @deprecated use `UserAuthTokens$inboundSchema` instead. */ export const inboundSchema = UserAuthTokens$inboundSchema; /** @deprecated use `UserAuthTokens$outboundSchema` instead. */ export const outboundSchema = UserAuthTokens$outboundSchema; /** @deprecated use `UserAuthTokens$Outbound` instead. */ export type Outbound = UserAuthTokens$Outbound; } /** @internal */ export const UserFields$inboundSchema: z.ZodType< UserFields, z.ZodTypeDef, unknown > = z.object({ "1": z.nullable(z.string()), "2": z.nullable(z.string()), }).transform((v) => { return remap$(v, { "1": "one", "2": "two", }); }); /** @internal */ export type UserFields$Outbound = { "1": string | null; "2": string | null; }; /** @internal */ export const UserFields$outboundSchema: z.ZodType< UserFields$Outbound, z.ZodTypeDef, UserFields > = z.object({ one: z.nullable(z.string()), two: z.nullable(z.string()), }).transform((v) => { return remap$(v, { one: "1", two: "2", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace UserFields$ { /** @deprecated use `UserFields$inboundSchema` instead. */ export const inboundSchema = UserFields$inboundSchema; /** @deprecated use `UserFields$outboundSchema` instead. */ export const outboundSchema = UserFields$outboundSchema; /** @deprecated use `UserFields$Outbound` instead. */ export type Outbound = UserFields$Outbound; } /** @internal */ export const UserNotificationSchedule$inboundSchema: z.ZodType< UserNotificationSchedule, z.ZodTypeDef, unknown > = z.object({ day_0_end_time: z.number().int(), day_0_start_time: z.number().int(), day_1_end_time: z.number().int(), day_1_start_time: z.number().int(), day_2_end_time: z.number().int(), day_2_start_time: z.number().int(), day_3_end_time: z.number().int(), day_3_start_time: z.number().int(), day_4_end_time: z.number().int(), day_4_start_time: z.number().int(), day_5_end_time: z.number().int(), day_5_start_time: z.number().int(), day_6_end_time: z.number().int(), day_6_start_time: z.number().int(), enabled: z.boolean(), }).transform((v) => { return remap$(v, { "day_0_end_time": "day0EndTime", "day_0_start_time": "day0StartTime", "day_1_end_time": "day1EndTime", "day_1_start_time": "day1StartTime", "day_2_end_time": "day2EndTime", "day_2_start_time": "day2StartTime", "day_3_end_time": "day3EndTime", "day_3_start_time": "day3StartTime", "day_4_end_time": "day4EndTime", "day_4_start_time": "day4StartTime", "day_5_end_time": "day5EndTime", "day_5_start_time": "day5StartTime", "day_6_end_time": "day6EndTime", "day_6_start_time": "day6StartTime", }); }); /** @internal */ export type UserNotificationSchedule$Outbound = { day_0_end_time: number; day_0_start_time: number; day_1_end_time: number; day_1_start_time: number; day_2_end_time: number; day_2_start_time: number; day_3_end_time: number; day_3_start_time: number; day_4_end_time: number; day_4_start_time: number; day_5_end_time: number; day_5_start_time: number; day_6_end_time: number; day_6_start_time: number; enabled: boolean; }; /** @internal */ export const UserNotificationSchedule$outboundSchema: z.ZodType< UserNotificationSchedule$Outbound, z.ZodTypeDef, UserNotificationSchedule > = z.object({ day0EndTime: z.number().int(), day0StartTime: z.number().int(), day1EndTime: z.number().int(), day1StartTime: z.number().int(), day2EndTime: z.number().int(), day2StartTime: z.number().int(), day3EndTime: z.number().int(), day3StartTime: z.number().int(), day4EndTime: z.number().int(), day4StartTime: z.number().int(), day5EndTime: z.number().int(), day5StartTime: z.number().int(), day6EndTime: z.number().int(), day6StartTime: z.number().int(), enabled: z.boolean(), }).transform((v) => { return remap$(v, { day0EndTime: "day_0_end_time", day0StartTime: "day_0_start_time", day1EndTime: "day_1_end_time", day1StartTime: "day_1_start_time", day2EndTime: "day_2_end_time", day2StartTime: "day_2_start_time", day3EndTime: "day_3_end_time", day3StartTime: "day_3_start_time", day4EndTime: "day_4_end_time", day4StartTime: "day_4_start_time", day5EndTime: "day_5_end_time", day5StartTime: "day_5_start_time", day6EndTime: "day_6_end_time", day6StartTime: "day_6_start_time", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace UserNotificationSchedule$ { /** @deprecated use `UserNotificationSchedule$inboundSchema` instead. */ export const inboundSchema = UserNotificationSchedule$inboundSchema; /** @deprecated use `UserNotificationSchedule$outboundSchema` instead. */ export const outboundSchema = UserNotificationSchedule$outboundSchema; /** @deprecated use `UserNotificationSchedule$Outbound` instead. */ export type Outbound = UserNotificationSchedule$Outbound; } /** @internal */ export const UserOption$inboundSchema: z.ZodType< UserOption, z.ZodTypeDef, unknown > = z.object({ allow_private_messages: z.boolean(), auto_track_topics_after_msecs: z.number().int(), automatically_unpin_topics: z.boolean(), bookmark_auto_delete_preference: z.number().int().optional(), color_scheme_id: z.nullable(z.string()), dark_scheme_id: z.nullable(z.string()), default_calendar: z.string().optional(), digest_after_minutes: z.number().int(), dynamic_favicon: z.boolean(), email_digests: z.boolean(), email_in_reply_to: z.boolean(), email_level: z.number().int(), email_messages_level: z.number().int(), email_previous_replies: z.number().int(), enable_allowed_pm_users: z.boolean(), enable_defer: z.boolean(), enable_quoting: z.boolean(), external_links_in_new_tab: z.boolean(), hide_profile_and_presence: z.boolean(), homepage_id: z.nullable(z.string()), include_tl0_in_digests: z.boolean(), like_notification_frequency: z.number().int(), mailing_list_mode: z.boolean(), mailing_list_mode_frequency: z.number().int(), new_topic_duration_minutes: z.number().int(), notification_level_when_replying: z.number().int(), oldest_search_log_date: z.nullable(z.string()).optional(), seen_popups: z.nullable(z.array(z.any())).optional(), sidebar_link_to_filtered_list: z.boolean().optional(), sidebar_show_count_of_new_items: z.boolean().optional(), skip_new_user_tips: z.boolean(), text_size: z.string(), text_size_seq: z.number().int(), theme_ids: z.array(z.any()), theme_key_seq: z.number().int(), timezone: z.nullable(z.string()), title_count_mode: z.string(), user_id: z.number().int(), watched_precedence_over_muted: z.nullable(z.boolean()).optional(), }).transform((v) => { return remap$(v, { "allow_private_messages": "allowPrivateMessages", "auto_track_topics_after_msecs": "autoTrackTopicsAfterMsecs", "automatically_unpin_topics": "automaticallyUnpinTopics", "bookmark_auto_delete_preference": "bookmarkAutoDeletePreference", "color_scheme_id": "colorSchemeId", "dark_scheme_id": "darkSchemeId", "default_calendar": "defaultCalendar", "digest_after_minutes": "digestAfterMinutes", "dynamic_favicon": "dynamicFavicon", "email_digests": "emailDigests", "email_in_reply_to": "emailInReplyTo", "email_level": "emailLevel", "email_messages_level": "emailMessagesLevel", "email_previous_replies": "emailPreviousReplies", "enable_allowed_pm_users": "enableAllowedPmUsers", "enable_defer": "enableDefer", "enable_quoting": "enableQuoting", "external_links_in_new_tab": "externalLinksInNewTab", "hide_profile_and_presence": "hideProfileAndPresence", "homepage_id": "homepageId", "include_tl0_in_digests": "includeTl0InDigests", "like_notification_frequency": "likeNotificationFrequency", "mailing_list_mode": "mailingListMode", "mailing_list_mode_frequency": "mailingListModeFrequency", "new_topic_duration_minutes": "newTopicDurationMinutes", "notification_level_when_replying": "notificationLevelWhenReplying", "oldest_search_log_date": "oldestSearchLogDate", "seen_popups": "seenPopups", "sidebar_link_to_filtered_list": "sidebarLinkToFilteredList", "sidebar_show_count_of_new_items": "sidebarShowCountOfNewItems", "skip_new_user_tips": "skipNewUserTips", "text_size": "textSize", "text_size_seq": "textSizeSeq", "theme_ids": "themeIds", "theme_key_seq": "themeKeySeq", "title_count_mode": "titleCountMode", "user_id": "userId", "watched_precedence_over_muted": "watchedPrecedenceOverMuted", }); }); /** @internal */ export type UserOption$Outbound = { allow_private_messages: boolean; auto_track_topics_after_msecs: number; automatically_unpin_topics: boolean; bookmark_auto_delete_preference?: number | undefined; color_scheme_id: string | null; dark_scheme_id: string | null; default_calendar?: string | undefined; digest_after_minutes: number; dynamic_favicon: boolean; email_digests: boolean; email_in_reply_to: boolean; email_level: number; email_messages_level: number; email_previous_replies: number; enable_allowed_pm_users: boolean; enable_defer: boolean; enable_quoting: boolean; external_links_in_new_tab: boolean; hide_profile_and_presence: boolean; homepage_id: string | null; include_tl0_in_digests: boolean; like_notification_frequency: number; mailing_list_mode: boolean; mailing_list_mode_frequency: number; new_topic_duration_minutes: number; notification_level_when_replying: number; oldest_search_log_date?: string | null | undefined; seen_popups?: Array | null | undefined; sidebar_link_to_filtered_list?: boolean | undefined; sidebar_show_count_of_new_items?: boolean | undefined; skip_new_user_tips: boolean; text_size: string; text_size_seq: number; theme_ids: Array; theme_key_seq: number; timezone: string | null; title_count_mode: string; user_id: number; watched_precedence_over_muted?: boolean | null | undefined; }; /** @internal */ export const UserOption$outboundSchema: z.ZodType< UserOption$Outbound, z.ZodTypeDef, UserOption > = z.object({ allowPrivateMessages: z.boolean(), autoTrackTopicsAfterMsecs: z.number().int(), automaticallyUnpinTopics: z.boolean(), bookmarkAutoDeletePreference: z.number().int().optional(), colorSchemeId: z.nullable(z.string()), darkSchemeId: z.nullable(z.string()), defaultCalendar: z.string().optional(), digestAfterMinutes: z.number().int(), dynamicFavicon: z.boolean(), emailDigests: z.boolean(), emailInReplyTo: z.boolean(), emailLevel: z.number().int(), emailMessagesLevel: z.number().int(), emailPreviousReplies: z.number().int(), enableAllowedPmUsers: z.boolean(), enableDefer: z.boolean(), enableQuoting: z.boolean(), externalLinksInNewTab: z.boolean(), hideProfileAndPresence: z.boolean(), homepageId: z.nullable(z.string()), includeTl0InDigests: z.boolean(), likeNotificationFrequency: z.number().int(), mailingListMode: z.boolean(), mailingListModeFrequency: z.number().int(), newTopicDurationMinutes: z.number().int(), notificationLevelWhenReplying: z.number().int(), oldestSearchLogDate: z.nullable(z.string()).optional(), seenPopups: z.nullable(z.array(z.any())).optional(), sidebarLinkToFilteredList: z.boolean().optional(), sidebarShowCountOfNewItems: z.boolean().optional(), skipNewUserTips: z.boolean(), textSize: z.string(), textSizeSeq: z.number().int(), themeIds: z.array(z.any()), themeKeySeq: z.number().int(), timezone: z.nullable(z.string()), titleCountMode: z.string(), userId: z.number().int(), watchedPrecedenceOverMuted: z.nullable(z.boolean()).optional(), }).transform((v) => { return remap$(v, { allowPrivateMessages: "allow_private_messages", autoTrackTopicsAfterMsecs: "auto_track_topics_after_msecs", automaticallyUnpinTopics: "automatically_unpin_topics", bookmarkAutoDeletePreference: "bookmark_auto_delete_preference", colorSchemeId: "color_scheme_id", darkSchemeId: "dark_scheme_id", defaultCalendar: "default_calendar", digestAfterMinutes: "digest_after_minutes", dynamicFavicon: "dynamic_favicon", emailDigests: "email_digests", emailInReplyTo: "email_in_reply_to", emailLevel: "email_level", emailMessagesLevel: "email_messages_level", emailPreviousReplies: "email_previous_replies", enableAllowedPmUsers: "enable_allowed_pm_users", enableDefer: "enable_defer", enableQuoting: "enable_quoting", externalLinksInNewTab: "external_links_in_new_tab", hideProfileAndPresence: "hide_profile_and_presence", homepageId: "homepage_id", includeTl0InDigests: "include_tl0_in_digests", likeNotificationFrequency: "like_notification_frequency", mailingListMode: "mailing_list_mode", mailingListModeFrequency: "mailing_list_mode_frequency", newTopicDurationMinutes: "new_topic_duration_minutes", notificationLevelWhenReplying: "notification_level_when_replying", oldestSearchLogDate: "oldest_search_log_date", seenPopups: "seen_popups", sidebarLinkToFilteredList: "sidebar_link_to_filtered_list", sidebarShowCountOfNewItems: "sidebar_show_count_of_new_items", skipNewUserTips: "skip_new_user_tips", textSize: "text_size", textSizeSeq: "text_size_seq", themeIds: "theme_ids", themeKeySeq: "theme_key_seq", titleCountMode: "title_count_mode", userId: "user_id", watchedPrecedenceOverMuted: "watched_precedence_over_muted", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace UserOption$ { /** @deprecated use `UserOption$inboundSchema` instead. */ export const inboundSchema = UserOption$inboundSchema; /** @deprecated use `UserOption$outboundSchema` instead. */ export const outboundSchema = UserOption$outboundSchema; /** @deprecated use `UserOption$Outbound` instead. */ export type Outbound = UserOption$Outbound; } /** @internal */ export const User$inboundSchema: z.ZodType = z .object({ admin: z.boolean(), allowed_pm_usernames: z.array(z.any()), avatar_template: z.string(), badge_count: z.number().int(), can_be_deleted: z.boolean(), can_change_bio: z.boolean(), can_change_location: z.boolean(), can_change_tracking_preferences: z.boolean(), can_change_website: z.boolean(), can_delete_all_posts: z.boolean(), can_edit: z.boolean(), can_edit_email: z.boolean(), can_edit_name: z.boolean(), can_edit_username: z.boolean(), can_ignore_user: z.boolean(), can_mute_user: z.boolean(), can_send_private_message_to_user: z.boolean(), can_send_private_messages: z.boolean(), can_upload_profile_header: z.boolean(), can_upload_user_card_background: z.boolean(), created_at: z.string(), custom_fields: z.lazy(() => GetUserCustomFields$inboundSchema), display_sidebar_tags: z.boolean().optional(), featured_topic: z.nullable(z.string()), featured_user_badge_ids: z.array(z.any()), flair_bg_color: z.nullable(z.string()), flair_color: z.nullable(z.string()), flair_group_id: z.nullable(z.string()), flair_name: z.nullable(z.string()), flair_url: z.nullable(z.string()), group_users: z.array(z.lazy(() => GroupUsers$inboundSchema)), groups: z.array(z.lazy(() => GetUserGroups$inboundSchema)), has_title_badges: z.boolean(), id: z.number().int(), ignored: z.boolean(), ignored_usernames: z.array(z.any()), invited_by: z.nullable(z.string()), last_posted_at: z.nullable(z.string()), last_seen_at: z.nullable(z.string()), locale: z.nullable(z.string()), mailing_list_posts_per_day: z.number().int(), moderator: z.boolean(), muted: z.boolean(), muted_category_ids: z.array(z.any()), muted_tags: z.array(z.any()), muted_usernames: z.array(z.any()), name: z.string(), pending_count: z.number().int(), pending_posts_count: z.number().int().optional(), post_count: z.number().int(), primary_group_id: z.nullable(z.string()), primary_group_name: z.nullable(z.string()), profile_view_count: z.number().int(), recent_time_read: z.number().int(), regular_category_ids: z.array(z.any()), second_factor_backup_enabled: z.boolean().optional(), second_factor_enabled: z.boolean(), sidebar_category_ids: z.array(z.any()).optional(), sidebar_tags: z.array(z.any()).optional(), staged: z.boolean(), system_avatar_template: z.string(), system_avatar_upload_id: z.nullable(z.string()), time_read: z.number().int(), title: z.nullable(z.string()), tracked_category_ids: z.array(z.any()), tracked_tags: z.array(z.any()), trust_level: z.number().int(), uploaded_avatar_id: z.nullable(z.string()), use_logo_small_as_avatar: z.boolean(), user_api_keys: z.nullable(z.string()), user_auth_tokens: z.array(z.lazy(() => UserAuthTokens$inboundSchema)), user_fields: z.lazy(() => UserFields$inboundSchema).optional(), user_notification_schedule: z.lazy(() => UserNotificationSchedule$inboundSchema ), user_option: z.lazy(() => UserOption$inboundSchema), username: z.string(), watched_category_ids: z.array(z.any()), watched_first_post_category_ids: z.array(z.any()), watched_tags: z.array(z.any()), watching_first_post_tags: z.array(z.any()), }).transform((v) => { return remap$(v, { "allowed_pm_usernames": "allowedPmUsernames", "avatar_template": "avatarTemplate", "badge_count": "badgeCount", "can_be_deleted": "canBeDeleted", "can_change_bio": "canChangeBio", "can_change_location": "canChangeLocation", "can_change_tracking_preferences": "canChangeTrackingPreferences", "can_change_website": "canChangeWebsite", "can_delete_all_posts": "canDeleteAllPosts", "can_edit": "canEdit", "can_edit_email": "canEditEmail", "can_edit_name": "canEditName", "can_edit_username": "canEditUsername", "can_ignore_user": "canIgnoreUser", "can_mute_user": "canMuteUser", "can_send_private_message_to_user": "canSendPrivateMessageToUser", "can_send_private_messages": "canSendPrivateMessages", "can_upload_profile_header": "canUploadProfileHeader", "can_upload_user_card_background": "canUploadUserCardBackground", "created_at": "createdAt", "custom_fields": "customFields", "display_sidebar_tags": "displaySidebarTags", "featured_topic": "featuredTopic", "featured_user_badge_ids": "featuredUserBadgeIds", "flair_bg_color": "flairBgColor", "flair_color": "flairColor", "flair_group_id": "flairGroupId", "flair_name": "flairName", "flair_url": "flairUrl", "group_users": "groupUsers", "has_title_badges": "hasTitleBadges", "ignored_usernames": "ignoredUsernames", "invited_by": "invitedBy", "last_posted_at": "lastPostedAt", "last_seen_at": "lastSeenAt", "mailing_list_posts_per_day": "mailingListPostsPerDay", "muted_category_ids": "mutedCategoryIds", "muted_tags": "mutedTags", "muted_usernames": "mutedUsernames", "pending_count": "pendingCount", "pending_posts_count": "pendingPostsCount", "post_count": "postCount", "primary_group_id": "primaryGroupId", "primary_group_name": "primaryGroupName", "profile_view_count": "profileViewCount", "recent_time_read": "recentTimeRead", "regular_category_ids": "regularCategoryIds", "second_factor_backup_enabled": "secondFactorBackupEnabled", "second_factor_enabled": "secondFactorEnabled", "sidebar_category_ids": "sidebarCategoryIds", "sidebar_tags": "sidebarTags", "system_avatar_template": "systemAvatarTemplate", "system_avatar_upload_id": "systemAvatarUploadId", "time_read": "timeRead", "tracked_category_ids": "trackedCategoryIds", "tracked_tags": "trackedTags", "trust_level": "trustLevel", "uploaded_avatar_id": "uploadedAvatarId", "use_logo_small_as_avatar": "useLogoSmallAsAvatar", "user_api_keys": "userApiKeys", "user_auth_tokens": "userAuthTokens", "user_fields": "userFields", "user_notification_schedule": "userNotificationSchedule", "user_option": "userOption", "watched_category_ids": "watchedCategoryIds", "watched_first_post_category_ids": "watchedFirstPostCategoryIds", "watched_tags": "watchedTags", "watching_first_post_tags": "watchingFirstPostTags", }); }); /** @internal */ export type User$Outbound = { admin: boolean; allowed_pm_usernames: Array; avatar_template: string; badge_count: number; can_be_deleted: boolean; can_change_bio: boolean; can_change_location: boolean; can_change_tracking_preferences: boolean; can_change_website: boolean; can_delete_all_posts: boolean; can_edit: boolean; can_edit_email: boolean; can_edit_name: boolean; can_edit_username: boolean; can_ignore_user: boolean; can_mute_user: boolean; can_send_private_message_to_user: boolean; can_send_private_messages: boolean; can_upload_profile_header: boolean; can_upload_user_card_background: boolean; created_at: string; custom_fields: GetUserCustomFields$Outbound; display_sidebar_tags?: boolean | undefined; featured_topic: string | null; featured_user_badge_ids: Array; flair_bg_color: string | null; flair_color: string | null; flair_group_id: string | null; flair_name: string | null; flair_url: string | null; group_users: Array; groups: Array; has_title_badges: boolean; id: number; ignored: boolean; ignored_usernames: Array; invited_by: string | null; last_posted_at: string | null; last_seen_at: string | null; locale: string | null; mailing_list_posts_per_day: number; moderator: boolean; muted: boolean; muted_category_ids: Array; muted_tags: Array; muted_usernames: Array; name: string; pending_count: number; pending_posts_count?: number | undefined; post_count: number; primary_group_id: string | null; primary_group_name: string | null; profile_view_count: number; recent_time_read: number; regular_category_ids: Array; second_factor_backup_enabled?: boolean | undefined; second_factor_enabled: boolean; sidebar_category_ids?: Array | undefined; sidebar_tags?: Array | undefined; staged: boolean; system_avatar_template: string; system_avatar_upload_id: string | null; time_read: number; title: string | null; tracked_category_ids: Array; tracked_tags: Array; trust_level: number; uploaded_avatar_id: string | null; use_logo_small_as_avatar: boolean; user_api_keys: string | null; user_auth_tokens: Array; user_fields?: UserFields$Outbound | undefined; user_notification_schedule: UserNotificationSchedule$Outbound; user_option: UserOption$Outbound; username: string; watched_category_ids: Array; watched_first_post_category_ids: Array; watched_tags: Array; watching_first_post_tags: Array; }; /** @internal */ export const User$outboundSchema: z.ZodType = z.object({ admin: z.boolean(), allowedPmUsernames: z.array(z.any()), avatarTemplate: z.string(), badgeCount: z.number().int(), canBeDeleted: z.boolean(), canChangeBio: z.boolean(), canChangeLocation: z.boolean(), canChangeTrackingPreferences: z.boolean(), canChangeWebsite: z.boolean(), canDeleteAllPosts: z.boolean(), canEdit: z.boolean(), canEditEmail: z.boolean(), canEditName: z.boolean(), canEditUsername: z.boolean(), canIgnoreUser: z.boolean(), canMuteUser: z.boolean(), canSendPrivateMessageToUser: z.boolean(), canSendPrivateMessages: z.boolean(), canUploadProfileHeader: z.boolean(), canUploadUserCardBackground: z.boolean(), createdAt: z.string(), customFields: z.lazy(() => GetUserCustomFields$outboundSchema), displaySidebarTags: z.boolean().optional(), featuredTopic: z.nullable(z.string()), featuredUserBadgeIds: z.array(z.any()), flairBgColor: z.nullable(z.string()), flairColor: z.nullable(z.string()), flairGroupId: z.nullable(z.string()), flairName: z.nullable(z.string()), flairUrl: z.nullable(z.string()), groupUsers: z.array(z.lazy(() => GroupUsers$outboundSchema)), groups: z.array(z.lazy(() => GetUserGroups$outboundSchema)), hasTitleBadges: z.boolean(), id: z.number().int(), ignored: z.boolean(), ignoredUsernames: z.array(z.any()), invitedBy: z.nullable(z.string()), lastPostedAt: z.nullable(z.string()), lastSeenAt: z.nullable(z.string()), locale: z.nullable(z.string()), mailingListPostsPerDay: z.number().int(), moderator: z.boolean(), muted: z.boolean(), mutedCategoryIds: z.array(z.any()), mutedTags: z.array(z.any()), mutedUsernames: z.array(z.any()), name: z.string(), pendingCount: z.number().int(), pendingPostsCount: z.number().int().optional(), postCount: z.number().int(), primaryGroupId: z.nullable(z.string()), primaryGroupName: z.nullable(z.string()), profileViewCount: z.number().int(), recentTimeRead: z.number().int(), regularCategoryIds: z.array(z.any()), secondFactorBackupEnabled: z.boolean().optional(), secondFactorEnabled: z.boolean(), sidebarCategoryIds: z.array(z.any()).optional(), sidebarTags: z.array(z.any()).optional(), staged: z.boolean(), systemAvatarTemplate: z.string(), systemAvatarUploadId: z.nullable(z.string()), timeRead: z.number().int(), title: z.nullable(z.string()), trackedCategoryIds: z.array(z.any()), trackedTags: z.array(z.any()), trustLevel: z.number().int(), uploadedAvatarId: z.nullable(z.string()), useLogoSmallAsAvatar: z.boolean(), userApiKeys: z.nullable(z.string()), userAuthTokens: z.array(z.lazy(() => UserAuthTokens$outboundSchema)), userFields: z.lazy(() => UserFields$outboundSchema).optional(), userNotificationSchedule: z.lazy(() => UserNotificationSchedule$outboundSchema ), userOption: z.lazy(() => UserOption$outboundSchema), username: z.string(), watchedCategoryIds: z.array(z.any()), watchedFirstPostCategoryIds: z.array(z.any()), watchedTags: z.array(z.any()), watchingFirstPostTags: z.array(z.any()), }).transform((v) => { return remap$(v, { allowedPmUsernames: "allowed_pm_usernames", avatarTemplate: "avatar_template", badgeCount: "badge_count", canBeDeleted: "can_be_deleted", canChangeBio: "can_change_bio", canChangeLocation: "can_change_location", canChangeTrackingPreferences: "can_change_tracking_preferences", canChangeWebsite: "can_change_website", canDeleteAllPosts: "can_delete_all_posts", canEdit: "can_edit", canEditEmail: "can_edit_email", canEditName: "can_edit_name", canEditUsername: "can_edit_username", canIgnoreUser: "can_ignore_user", canMuteUser: "can_mute_user", canSendPrivateMessageToUser: "can_send_private_message_to_user", canSendPrivateMessages: "can_send_private_messages", canUploadProfileHeader: "can_upload_profile_header", canUploadUserCardBackground: "can_upload_user_card_background", createdAt: "created_at", customFields: "custom_fields", displaySidebarTags: "display_sidebar_tags", featuredTopic: "featured_topic", featuredUserBadgeIds: "featured_user_badge_ids", flairBgColor: "flair_bg_color", flairColor: "flair_color", flairGroupId: "flair_group_id", flairName: "flair_name", flairUrl: "flair_url", groupUsers: "group_users", hasTitleBadges: "has_title_badges", ignoredUsernames: "ignored_usernames", invitedBy: "invited_by", lastPostedAt: "last_posted_at", lastSeenAt: "last_seen_at", mailingListPostsPerDay: "mailing_list_posts_per_day", mutedCategoryIds: "muted_category_ids", mutedTags: "muted_tags", mutedUsernames: "muted_usernames", pendingCount: "pending_count", pendingPostsCount: "pending_posts_count", postCount: "post_count", primaryGroupId: "primary_group_id", primaryGroupName: "primary_group_name", profileViewCount: "profile_view_count", recentTimeRead: "recent_time_read", regularCategoryIds: "regular_category_ids", secondFactorBackupEnabled: "second_factor_backup_enabled", secondFactorEnabled: "second_factor_enabled", sidebarCategoryIds: "sidebar_category_ids", sidebarTags: "sidebar_tags", systemAvatarTemplate: "system_avatar_template", systemAvatarUploadId: "system_avatar_upload_id", timeRead: "time_read", trackedCategoryIds: "tracked_category_ids", trackedTags: "tracked_tags", trustLevel: "trust_level", uploadedAvatarId: "uploaded_avatar_id", useLogoSmallAsAvatar: "use_logo_small_as_avatar", userApiKeys: "user_api_keys", userAuthTokens: "user_auth_tokens", userFields: "user_fields", userNotificationSchedule: "user_notification_schedule", userOption: "user_option", watchedCategoryIds: "watched_category_ids", watchedFirstPostCategoryIds: "watched_first_post_category_ids", watchedTags: "watched_tags", watchingFirstPostTags: "watching_first_post_tags", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace User$ { /** @deprecated use `User$inboundSchema` instead. */ export const inboundSchema = User$inboundSchema; /** @deprecated use `User$outboundSchema` instead. */ export const outboundSchema = User$outboundSchema; /** @deprecated use `User$Outbound` instead. */ export type Outbound = User$Outbound; } /** @internal */ export const GetUserResponseBody$inboundSchema: z.ZodType< GetUserResponseBody, z.ZodTypeDef, unknown > = z.object({ user: z.lazy(() => User$inboundSchema), user_badges: z.array(z.any()), }).transform((v) => { return remap$(v, { "user_badges": "userBadges", }); }); /** @internal */ export type GetUserResponseBody$Outbound = { user: User$Outbound; user_badges: Array; }; /** @internal */ export const GetUserResponseBody$outboundSchema: z.ZodType< GetUserResponseBody$Outbound, z.ZodTypeDef, GetUserResponseBody > = z.object({ user: z.lazy(() => User$outboundSchema), userBadges: z.array(z.any()), }).transform((v) => { return remap$(v, { userBadges: "user_badges", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace GetUserResponseBody$ { /** @deprecated use `GetUserResponseBody$inboundSchema` instead. */ export const inboundSchema = GetUserResponseBody$inboundSchema; /** @deprecated use `GetUserResponseBody$outboundSchema` instead. */ export const outboundSchema = GetUserResponseBody$outboundSchema; /** @deprecated use `GetUserResponseBody$Outbound` instead. */ export type Outbound = GetUserResponseBody$Outbound; }