# Function withExtensionsSchema

- withExtensionsSchema<
  T extends ZodRawShape,
  K extends
  (
  | "comments"
  | "search"
  | "actions"
  | "attachments"
  | "contact"
  | "filebank"
  | "licenses"
  | "licensesExtrabot"
  | "messenger"
  | "filebankPath"
  | "parentArticle"
  | "quarantine"
  | "quizFieldDefinitions"
  | "quizResponseRecord"
  | "recurringEventRecord"
  | "socialEventRecord"
  | "surveyDateRecord"
  | "bookmark"
  )[],
  >(
  baseSchema: ZodObject<T>,
  keys: K,
  ): ZodObject<
  extendShape<
  T,
  {
  _extend: ZodObject<
  Record<
  | "comments"
  | "search"
  | "actions"
  | "attachments"
  | "contact"
  | "filebank"
  | "licenses"
  | "licensesExtrabot"
  | "messenger"
  | "filebankPath"
  | "parentArticle"
  | "quarantine"
  | "quizFieldDefinitions"
  | "quizResponseRecord"
  | "recurringEventRecord"
  | "socialEventRecord"
  | "surveyDateRecord"
  | "bookmark",
  ZodTypeAny,
  >,
  "strip",
  ZodTypeAny,
  {
  actions?: any;
  attachments?: any;
  bookmark?: any;
  comments?: any;
  contact?: any;
  filebank?: any;
  filebankPath?: any;
  licenses?: any;
  licensesExtrabot?: any;
  messenger?: any;
  parentArticle?: any;
  quarantine?: any;
  quizFieldDefinitions?: any;
  quizResponseRecord?: any;
  recurringEventRecord?: any;
  search?: any;
  socialEventRecord?: any;
  surveyDateRecord?: any;
  },
  {
  actions?: any;
  attachments?: any;
  bookmark?: any;
  comments?: any;
  contact?: any;
  filebank?: any;
  filebankPath?: any;
  licenses?: any;
  licensesExtrabot?: any;
  messenger?: any;
  parentArticle?: any;
  quarantine?: any;
  quizFieldDefinitions?: any;
  quizResponseRecord?: any;
  recurringEventRecord?: any;
  search?: any;
  socialEventRecord?: any;
  surveyDateRecord?: any;
  },
  >;
  },
  >,
  UnknownKeysParam,
  ZodTypeAny,
  {
  [k in string
  | number
  | symbol]: addQuestionMarks<
  baseObjectOutputType<
  extendShape<
  T,
  {
  _extend: ZodObject<
  Record<
  | "comments"
  | "search"
  | "actions"
  | "attachments"
  | "contact"
  | "filebank"
  | "licenses"
  | "licensesExtrabot"
  | "messenger"
  | "filebankPath"
  | "parentArticle"
  | "quarantine"
  | "quizFieldDefinitions"
  | "quizResponseRecord"
  | "recurringEventRecord"
  | "socialEventRecord"
  | "surveyDateRecord"
  | "bookmark",
  ZodTypeAny,
  >,
  "strip",
  ZodTypeAny,
  {
  actions?: any;
  attachments?: any;
  bookmark?: any;
  comments?: any;
  contact?: any;
  filebank?: any;
  filebankPath?: any;
  licenses?: any;
  licensesExtrabot?: any;
  messenger?: any;
  parentArticle?: any;
  quarantine?: any;
  quizFieldDefinitions?: any;
  quizResponseRecord?: any;
  recurringEventRecord?: any;
  search?: any;
  socialEventRecord?: any;
  surveyDateRecord?: any;
  },
  {
  actions?: any;
  attachments?: any;
  bookmark?: any;
  comments?: any;
  contact?: any;
  filebank?: any;
  filebankPath?: any;
  licenses?: any;
  licensesExtrabot?: any;
  messenger?: any;
  parentArticle?: any;
  quarantine?: any;
  quizFieldDefinitions?: any;
  quizResponseRecord?: any;
  recurringEventRecord?: any;
  search?: any;
  socialEventRecord?: any;
  surveyDateRecord?: any;
  },
  >;
  },
  >,
  >,
  any,
  >[k]
  },
  {
  [k in string
  | number
  | symbol]: baseObjectInputType<
  extendShape<
  T,
  {
  _extend: ZodObject<
  Record<
  | "comments"
  | "search"
  | "actions"
  | "attachments"
  | "contact"
  | "filebank"
  | "licenses"
  | "licensesExtrabot"
  | "messenger"
  | "filebankPath"
  | "parentArticle"
  | "quarantine"
  | "quizFieldDefinitions"
  | "quizResponseRecord"
  | "recurringEventRecord"
  | "socialEventRecord"
  | "surveyDateRecord"
  | "bookmark",
  ZodTypeAny,
  >,
  "strip",
  ZodTypeAny,
  {
  actions?: any;
  attachments?: any;
  bookmark?: any;
  comments?: any;
  contact?: any;
  filebank?: any;
  filebankPath?: any;
  licenses?: any;
  licensesExtrabot?: any;
  messenger?: any;
  parentArticle?: any;
  quarantine?: any;
  quizFieldDefinitions?: any;
  quizResponseRecord?: any;
  recurringEventRecord?: any;
  search?: any;
  socialEventRecord?: any;
  surveyDateRecord?: any;
  },
  {
  actions?: any;
  attachments?: any;
  bookmark?: any;
  comments?: any;
  contact?: any;
  filebank?: any;
  filebankPath?: any;
  licenses?: any;
  licensesExtrabot?: any;
  messenger?: any;
  parentArticle?: any;
  quarantine?: any;
  quizFieldDefinitions?: any;
  quizResponseRecord?: any;
  recurringEventRecord?: any;
  search?: any;
  socialEventRecord?: any;
  surveyDateRecord?: any;
  },
  >;
  },
  >,
  >[k]
  },
  >

  #### Type Parameters

  - T extends ZodRawShape
  - K extends (
    | "comments"
    | "search"
    | "actions"
    | "attachments"
    | "contact"
    | "filebank"
    | "licenses"
    | "licensesExtrabot"
    | "messenger"
    | "filebankPath"
    | "parentArticle"
    | "quarantine"
    | "quizFieldDefinitions"
    | "quizResponseRecord"
    | "recurringEventRecord"
    | "socialEventRecord"
    | "surveyDateRecord"
    | "bookmark"
    )[]

  #### Parameters

  - baseSchema: ZodObject<T>
  - keys: K

  #### Returns ZodObject<
  extendShape<
  T,
  {
  _extend: ZodObject<
  Record<
  | "comments"
  | "search"
  | "actions"
  | "attachments"
  | "contact"
  | "filebank"
  | "licenses"
  | "licensesExtrabot"
  | "messenger"
  | "filebankPath"
  | "parentArticle"
  | "quarantine"
  | "quizFieldDefinitions"
  | "quizResponseRecord"
  | "recurringEventRecord"
  | "socialEventRecord"
  | "surveyDateRecord"
  | "bookmark",
  ZodTypeAny,
  >,
  "strip",
  ZodTypeAny,
  {
  actions?: any;
  attachments?: any;
  bookmark?: any;
  comments?: any;
  contact?: any;
  filebank?: any;
  filebankPath?: any;
  licenses?: any;
  licensesExtrabot?: any;
  messenger?: any;
  parentArticle?: any;
  quarantine?: any;
  quizFieldDefinitions?: any;
  quizResponseRecord?: any;
  recurringEventRecord?: any;
  search?: any;
  socialEventRecord?: any;
  surveyDateRecord?: any;
  },
  {
  actions?: any;
  attachments?: any;
  bookmark?: any;
  comments?: any;
  contact?: any;
  filebank?: any;
  filebankPath?: any;
  licenses?: any;
  licensesExtrabot?: any;
  messenger?: any;
  parentArticle?: any;
  quarantine?: any;
  quizFieldDefinitions?: any;
  quizResponseRecord?: any;
  recurringEventRecord?: any;
  search?: any;
  socialEventRecord?: any;
  surveyDateRecord?: any;
  },
  >;
  },
  >,
  UnknownKeysParam,
  ZodTypeAny,
  {
  [k in string
  | number
  | symbol]: addQuestionMarks<
  baseObjectOutputType<
  extendShape<
  T,
  {
  _extend: ZodObject<
  Record<
  | "comments"
  | "search"
  | "actions"
  | "attachments"
  | "contact"
  | "filebank"
  | "licenses"
  | "licensesExtrabot"
  | "messenger"
  | "filebankPath"
  | "parentArticle"
  | "quarantine"
  | "quizFieldDefinitions"
  | "quizResponseRecord"
  | "recurringEventRecord"
  | "socialEventRecord"
  | "surveyDateRecord"
  | "bookmark",
  ZodTypeAny,
  >,
  "strip",
  ZodTypeAny,
  {
  actions?: any;
  attachments?: any;
  bookmark?: any;
  comments?: any;
  contact?: any;
  filebank?: any;
  filebankPath?: any;
  licenses?: any;
  licensesExtrabot?: any;
  messenger?: any;
  parentArticle?: any;
  quarantine?: any;
  quizFieldDefinitions?: any;
  quizResponseRecord?: any;
  recurringEventRecord?: any;
  search?: any;
  socialEventRecord?: any;
  surveyDateRecord?: any;
  },
  {
  actions?: any;
  attachments?: any;
  bookmark?: any;
  comments?: any;
  contact?: any;
  filebank?: any;
  filebankPath?: any;
  licenses?: any;
  licensesExtrabot?: any;
  messenger?: any;
  parentArticle?: any;
  quarantine?: any;
  quizFieldDefinitions?: any;
  quizResponseRecord?: any;
  recurringEventRecord?: any;
  search?: any;
  socialEventRecord?: any;
  surveyDateRecord?: any;
  },
  >;
  },
  >,
  >,
  any,
  >[k]
  },
  {
  [k in string
  | number
  | symbol]: baseObjectInputType<
  extendShape<
  T,
  {
  _extend: ZodObject<
  Record<
  | "comments"
  | "search"
  | "actions"
  | "attachments"
  | "contact"
  | "filebank"
  | "licenses"
  | "licensesExtrabot"
  | "messenger"
  | "filebankPath"
  | "parentArticle"
  | "quarantine"
  | "quizFieldDefinitions"
  | "quizResponseRecord"
  | "recurringEventRecord"
  | "socialEventRecord"
  | "surveyDateRecord"
  | "bookmark",
  ZodTypeAny,
  >,
  "strip",
  ZodTypeAny,
  {
  actions?: any;
  attachments?: any;
  bookmark?: any;
  comments?: any;
  contact?: any;
  filebank?: any;
  filebankPath?: any;
  licenses?: any;
  licensesExtrabot?: any;
  messenger?: any;
  parentArticle?: any;
  quarantine?: any;
  quizFieldDefinitions?: any;
  quizResponseRecord?: any;
  recurringEventRecord?: any;
  search?: any;
  socialEventRecord?: any;
  surveyDateRecord?: any;
  },
  {
  actions?: any;
  attachments?: any;
  bookmark?: any;
  comments?: any;
  contact?: any;
  filebank?: any;
  filebankPath?: any;
  licenses?: any;
  licensesExtrabot?: any;
  messenger?: any;
  parentArticle?: any;
  quarantine?: any;
  quizFieldDefinitions?: any;
  quizResponseRecord?: any;
  recurringEventRecord?: any;
  search?: any;
  socialEventRecord?: any;
  surveyDateRecord?: any;
  },
  >;
  },
  >,
  >[k]
  },
  >

  - Defined in jamespot-user-api/src/types/withExtensions.ts:24