{"version":3,"sources":["../../src/achievements-categories-v3-category-categories.universal.ts","../../src/achievements-categories-v3-category-categories.http.ts","../../src/achievements-categories-v3-category-categories.public.ts","../../src/achievements-categories-v3-category-categories.context.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n  renameKeysFromSDKRequestToRESTRequest,\n  renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n  HttpClient,\n  HttpResponse,\n  NonNullablePaths,\n  QuerySpec,\n  Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixAchievementsCategoriesV3Category from './achievements-categories-v3-category-categories.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\n/** Category is the main entity of CategoriesService that can be used to group programs by */\nexport interface Category {\n  /**\n   * Category ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision\n   * @readonly\n   */\n  revision?: string | null;\n  /**\n   * Represents the time this Category was created\n   * @readonly\n   */\n  _createdDate?: Date | null;\n  /**\n   * Represents the time this Category was last updated\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n  /** @maxLength 100 */\n  label?: string;\n  /**\n   * List of programs in that category.\n   * @format GUID\n   * @maxSize 200\n   */\n  assignedTo?: string[];\n  /** extensible field */\n  extendedFields?: ExtendedFields;\n}\n\nexport interface ExtendedFields {\n  /**\n   * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n   * The value of each key is structured according to the schema defined when the extended fields were configured.\n   *\n   * You can only access fields for which you have the appropriate permissions.\n   *\n   * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n   */\n  namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface CategoriesAssignedToProgram {\n  /**\n   * Categories which were added to program\n   * @format GUID\n   * @maxSize 10\n   */\n  categoriesAdded?: string[];\n  /**\n   * Categories which were removed from program\n   * @format GUID\n   * @maxSize 10\n   */\n  categoriesRemoved?: string[];\n}\n\nexport interface CategoryAssignedProgramsUpdated {\n  /**\n   * Programs which were added to category\n   * @format GUID\n   * @maxSize 10\n   */\n  programsAdded?: string[];\n  /**\n   * Programs which were removed from category\n   * @format GUID\n   * @maxSize 10\n   */\n  programsRemoved?: string[];\n}\n\nexport interface CreateCategoryRequest {\n  /** Category to be created */\n  category: Category;\n}\n\nexport interface CreateCategoryResponse {\n  /** The created Category */\n  category?: Category;\n}\n\nexport interface BulkCreateCategoryRequest {\n  /**\n   * List of categories you want to create\n   * @minSize 1\n   * @maxSize 100\n   */\n  categories: Category[];\n  /** Flag to specify if you want to get created entities in response */\n  returnEntity?: boolean;\n}\n\nexport interface BulkCreateCategoryResponse {\n  /** Results */\n  results?: BulkCategoryResult[];\n  /** bulk action metadata */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface ItemMetadata {\n  /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n  _id?: string | null;\n  /** Index of the item within the request array. Allows for correlation between request and response items. */\n  originalIndex?: number;\n  /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n  success?: boolean;\n  /** Details about the error in case of failure. */\n  error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n  /** Error code. */\n  code?: string;\n  /** Description of the error. */\n  description?: string;\n  /** Data related to the error. */\n  data?: Record<string, any> | null;\n}\n\nexport interface BulkCategoryResult {\n  /** item metadata */\n  itemMetadata?: ItemMetadata;\n  /** Only exists if `returnEntity` was set to true in the request */\n  item?: Category;\n}\n\nexport interface BulkActionMetadata {\n  /** Number of items that were successfully processed. */\n  totalSuccesses?: number;\n  /** Number of items that couldn't be processed. */\n  totalFailures?: number;\n  /** Number of failures without details because detailed failure threshold was exceeded. */\n  undetailedFailures?: number;\n}\n\nexport interface GetCategoryRequest {\n  /**\n   * Id of the Category to retrieve\n   * @format GUID\n   */\n  categoryId: string;\n}\n\nexport interface GetCategoryResponse {\n  /** The retrieved Category */\n  category?: Category;\n}\n\nexport interface ListCategoriesRequest {\n  /**\n   * Ids of categories to list\n   * @maxSize 100\n   * @format GUID\n   */\n  categoryIds?: string[];\n}\n\nexport interface ListCategoriesResponse {\n  /**\n   * The retrieved categories\n   * @maxSize 100\n   */\n  categories?: Category[];\n}\n\nexport interface UpdateCategoryRequest {\n  /** Category to be updated, may be partial */\n  category: Category;\n}\n\nexport interface UpdateCategoryResponse {\n  /** The updated Category */\n  category?: Category;\n}\n\nexport interface DeleteCategoryRequest {\n  /**\n   * Id of the Category to delete\n   * @format GUID\n   */\n  categoryId: string;\n}\n\nexport interface DeleteCategoryResponse {}\n\nexport interface QueryCategoriesRequest {\n  /** WQL expression */\n  query?: CursorQuery;\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n  /**\n   * Cursor paging options.\n   *\n   * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n   */\n  cursorPaging?: CursorPaging;\n  /**\n   * Filter object.\n   *\n   * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n   */\n  filter?: Record<string, any> | null;\n  /**\n   * Sort object.\n   *\n   * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).\n   * @maxSize 5\n   */\n  sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n  /**\n   * Cursor paging options.\n   *\n   * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n   */\n  cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n  /**\n   * Name of the field to sort by.\n   * @maxLength 512\n   */\n  fieldName?: string;\n  /** Sort order. */\n  order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n  ASC = 'ASC',\n  DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n  /**\n   * Maximum number of items to return in the results.\n   * @max 100\n   */\n  limit?: number | null;\n  /**\n   * Pointer to the next or previous page in the list of results.\n   *\n   * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n   * Not relevant for the first request.\n   * @maxLength 16000\n   */\n  cursor?: string | null;\n}\n\nexport interface QueryCategoriesResponse {\n  /** The retrieved Categories */\n  categories?: Category[];\n  /** Metadata for paging */\n  pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n  /** Number of items returned in current page. */\n  count?: number | null;\n  /** Cursor strings that point to the next page, previous page, or both. */\n  cursors?: Cursors;\n  /**\n   * Whether there are more pages to retrieve following the current page.\n   *\n   * + `true`: Another page of results can be retrieved.\n   * + `false`: This is the last page.\n   */\n  hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n  /**\n   * Cursor string pointing to the next page in the list of results.\n   * @maxLength 16000\n   */\n  next?: string | null;\n  /**\n   * Cursor pointing to the previous page in the list of results.\n   * @maxLength 16000\n   */\n  prev?: string | null;\n}\n\nexport interface BulkAssignCategoriesToProgramRequest {\n  /**\n   * program ID which categories are changing\n   * @format GUID\n   */\n  programId: string;\n  /**\n   * Categories which are added to program\n   * @format GUID\n   * @maxSize 10\n   */\n  categoriesToAssign?: string[];\n  /**\n   * Categories which are removed from program\n   * @format GUID\n   * @maxSize 10\n   */\n  categoriesToUnassign?: string[];\n  /** Flag to specify if you want to get created entities in response */\n  returnEntity?: boolean;\n}\n\nexport interface BulkAssignCategoriesToProgramResponse {\n  /** Results */\n  results?: BulkAssignCategoryResult[];\n  /** bulk action metadata */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport enum Action {\n  UNKNOWN = 'UNKNOWN',\n  ASSIGN_PROGRAMS = 'ASSIGN_PROGRAMS',\n}\n\n/** @enumType */\nexport type ActionWithLiterals = Action | 'UNKNOWN' | 'ASSIGN_PROGRAMS';\n\nexport interface BulkAssignCategoryResult {\n  /** result action */\n  action?: ActionWithLiterals;\n  /** item metadata */\n  itemMetadata?: ItemMetadata;\n  /** Only exists if `returnEntity` was set to true in the request */\n  item?: Category;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n  /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n  _id?: string;\n  /**\n   * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n   * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n   */\n  entityFqdn?: string;\n  /**\n   * Event action name, placed at the top level to make it easier for users to dispatch messages.\n   * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n   */\n  slug?: string;\n  /** ID of the entity associated with the event. */\n  entityId?: string;\n  /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n  eventTime?: Date | null;\n  /**\n   * Whether the event was triggered as a result of a privacy regulation application\n   * (for example, GDPR).\n   */\n  triggeredByAnonymizeRequest?: boolean | null;\n  /** If present, indicates the action that triggered the event. */\n  originatedFrom?: string | null;\n  /**\n   * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n   * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n   */\n  entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n  entity?: string;\n}\n\nexport interface RestoreInfo {\n  deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n  /**\n   * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n   * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n   * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n   */\n  currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n  /** Entity that was deleted. */\n  deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n  body?: string;\n}\n\nexport interface Empty {}\n\nexport interface MessageEnvelope {\n  /**\n   * App instance ID.\n   * @format GUID\n   */\n  instanceId?: string | null;\n  /**\n   * Event type.\n   * @maxLength 150\n   */\n  eventType?: string;\n  /** The identification type and identity data. */\n  identity?: IdentificationData;\n  /** Stringify payload. */\n  data?: string;\n  /** Details related to the account */\n  accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n  /** @readonly */\n  identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n}\n\nexport enum WebhookIdentityType {\n  UNKNOWN = 'UNKNOWN',\n  ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n  MEMBER = 'MEMBER',\n  WIX_USER = 'WIX_USER',\n  APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n  | WebhookIdentityType\n  | 'UNKNOWN'\n  | 'ANONYMOUS_VISITOR'\n  | 'MEMBER'\n  | 'WIX_USER'\n  | 'APP';\n\nexport interface AccountInfo {\n  /**\n   * ID of the Wix account associated with the event.\n   * @format GUID\n   */\n  accountId?: string | null;\n  /**\n   * ID of the parent Wix account. Only included when accountId belongs to a child account.\n   * @format GUID\n   */\n  parentAccountId?: string | null;\n  /**\n   * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n   * @format GUID\n   */\n  siteId?: string | null;\n}\n\n/**\n * Creates a new Category\n * @param category - Category to be created\n * @public\n * @requiredField category\n * @permissionId ONLINE_PROGRAMS.CATEGORY_CREATE\n * @applicableIdentity APP\n * @returns The created Category\n * @fqn wix.achievements.categories.v3.CategoriesService.CreateCategory\n */\nexport async function createCategory(\n  category: Category\n): Promise<NonNullablePaths<Category, `label` | `assignedTo`, 2>> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({ category: category });\n\n  const reqOpts =\n    ambassadorWixAchievementsCategoriesV3Category.createCategory(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)?.category!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { category: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['category']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Creates new categories in a bulk\n * @param categories - List of categories you want to create\n * @public\n * @requiredField categories\n * @permissionId ONLINE_PROGRAMS.CATEGORY_CREATE\n * @applicableIdentity APP\n * @fqn wix.achievements.categories.v3.CategoriesService.BulkCreateCategory\n */\nexport async function bulkCreateCategory(\n  categories: Category[],\n  options?: BulkCreateCategoryOptions\n): Promise<\n  NonNullablePaths<\n    BulkCreateCategoryResponse,\n    | `results`\n    | `results.${number}.itemMetadata.originalIndex`\n    | `results.${number}.itemMetadata.success`\n    | `results.${number}.itemMetadata.error.code`\n    | `results.${number}.itemMetadata.error.description`\n    | `results.${number}.item.label`\n    | `bulkActionMetadata.totalSuccesses`\n    | `bulkActionMetadata.totalFailures`\n    | `bulkActionMetadata.undetailedFailures`,\n    6\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    categories: categories,\n    returnEntity: options?.returnEntity,\n  });\n\n  const reqOpts =\n    ambassadorWixAchievementsCategoriesV3Category.bulkCreateCategory(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          categories: '$[0]',\n          returnEntity: '$[1].returnEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['categories', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkCreateCategoryOptions {\n  /** Flag to specify if you want to get created entities in response */\n  returnEntity?: boolean;\n}\n\n/**\n * Get a Category by id\n * @param categoryId - Id of the Category to retrieve\n * @public\n * @requiredField categoryId\n * @permissionId ONLINE_PROGRAMS.CATEGORY_READ\n * @applicableIdentity APP\n * @returns The retrieved Category\n * @fqn wix.achievements.categories.v3.CategoriesService.GetCategory\n */\nexport async function getCategory(\n  categoryId: string\n): Promise<NonNullablePaths<Category, `label` | `assignedTo`, 2>> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    categoryId: categoryId,\n  });\n\n  const reqOpts =\n    ambassadorWixAchievementsCategoriesV3Category.getCategory(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)?.category!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { categoryId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['categoryId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Get list of categories by list of ids\n * @public\n * @permissionId ONLINE_PROGRAMS.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn wix.achievements.categories.v3.CategoriesService.ListCategories\n */\nexport async function listCategories(\n  options?: ListCategoriesOptions\n): Promise<\n  NonNullablePaths<\n    ListCategoriesResponse,\n    `categories` | `categories.${number}.label`,\n    4\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    categoryIds: options?.categoryIds,\n  });\n\n  const reqOpts =\n    ambassadorWixAchievementsCategoriesV3Category.listCategories(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { categoryIds: '$[0].categoryIds' },\n        singleArgumentUnchanged: false,\n      },\n      ['options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface ListCategoriesOptions {\n  /**\n   * Ids of categories to list\n   * @maxSize 100\n   * @format GUID\n   */\n  categoryIds?: string[];\n}\n\n/**\n * Update a Category, supports partial update\n * Pass the latest `revision` for a successful update\n * @param _id - Category ID.\n * @public\n * @requiredField _id\n * @requiredField category\n * @requiredField category.revision\n * @permissionId ONLINE_PROGRAMS.CATEGORY_UPDATE\n * @applicableIdentity APP\n * @returns The updated Category\n * @fqn wix.achievements.categories.v3.CategoriesService.UpdateCategory\n */\nexport async function updateCategory(\n  _id: string,\n  category: NonNullablePaths<UpdateCategory, `revision`, 2>\n): Promise<NonNullablePaths<Category, `label` | `assignedTo`, 2>> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    category: { ...category, id: _id },\n  });\n\n  const reqOpts =\n    ambassadorWixAchievementsCategoriesV3Category.updateCategory(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)?.category!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: { category: '$[1]' },\n        explicitPathsToArguments: { 'category.id': '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['_id', 'category']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface UpdateCategory {\n  /**\n   * Category ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision\n   * @readonly\n   */\n  revision?: string | null;\n  /**\n   * Represents the time this Category was created\n   * @readonly\n   */\n  _createdDate?: Date | null;\n  /**\n   * Represents the time this Category was last updated\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n  /** @maxLength 100 */\n  label?: string;\n  /**\n   * List of programs in that category.\n   * @format GUID\n   * @maxSize 200\n   */\n  assignedTo?: string[];\n  /** extensible field */\n  extendedFields?: ExtendedFields;\n}\n\n/**\n * Delete a Category\n * @param categoryId - Id of the Category to delete\n * @public\n * @requiredField categoryId\n * @permissionId ONLINE_PROGRAMS.CATEGORY_DELETE\n * @applicableIdentity APP\n * @fqn wix.achievements.categories.v3.CategoriesService.DeleteCategory\n */\nexport async function deleteCategory(categoryId: string): Promise<void> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    categoryId: categoryId,\n  });\n\n  const reqOpts =\n    ambassadorWixAchievementsCategoriesV3Category.deleteCategory(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { categoryId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['categoryId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Query Categories using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n * @public\n * @permissionId ONLINE_PROGRAMS.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn wix.achievements.categories.v3.CategoriesService.QueryCategories\n */\nexport function queryCategories(): CategoriesQueryBuilder {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[0] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  return queryBuilder<\n    Category,\n    'CURSOR',\n    QueryCategoriesRequest,\n    QueryCategoriesResponse\n  >({\n    func: async (payload: QueryCategoriesRequest) => {\n      const reqOpts =\n        ambassadorWixAchievementsCategoriesV3Category.queryCategories(payload);\n\n      sideEffects?.onSiteCall?.();\n      try {\n        const result = await httpClient.request(reqOpts);\n        sideEffects?.onSuccess?.(result);\n        return result;\n      } catch (err) {\n        sideEffects?.onError?.(err);\n        throw err;\n      }\n    },\n    requestTransformer: (query: QueryCategoriesRequest['query']) => {\n      const args = [query, {}] as [QueryCategoriesRequest['query'], {}];\n      return renameKeysFromSDKRequestToRESTRequest({\n        ...args?.[1],\n        query: args?.[0],\n      });\n    },\n    responseTransformer: ({ data }: HttpResponse<QueryCategoriesResponse>) => {\n      const transformedData = renameKeysFromRESTResponseToSDKResponse(\n        transformPaths(data, [])\n      );\n\n      return {\n        items: transformedData?.categories,\n        pagingMetadata: transformedData?.pagingMetadata,\n      };\n    },\n    errorTransformer: (err: unknown) => {\n      const transformedError = sdkTransformError(err, {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { query: '$[0]' },\n        singleArgumentUnchanged: false,\n      });\n\n      throw transformedError;\n    },\n    pagingMethod: 'CURSOR',\n    transformationPaths: {},\n  });\n}\n\ninterface QueryCursorResult {\n  cursors: Cursors;\n  hasNext: () => boolean;\n  hasPrev: () => boolean;\n  length: number;\n  pageSize: number;\n}\n\nexport interface CategoriesQueryResult extends QueryCursorResult {\n  items: Category[];\n  query: CategoriesQueryBuilder;\n  next: () => Promise<CategoriesQueryResult>;\n  prev: () => Promise<CategoriesQueryResult>;\n}\n\nexport interface CategoriesQueryBuilder {\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  eq: (propertyName: '_id', value: any) => CategoriesQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  ne: (propertyName: '_id', value: any) => CategoriesQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  ge: (propertyName: '_id', value: any) => CategoriesQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  gt: (propertyName: '_id', value: any) => CategoriesQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  le: (propertyName: '_id', value: any) => CategoriesQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  lt: (propertyName: '_id', value: any) => CategoriesQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `string`.\n   * @param string - String to compare against. Case-insensitive.\n   */\n  startsWith: (propertyName: '_id', value: string) => CategoriesQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `values`.\n   * @param values - List of values to compare against.\n   */\n  hasSome: (propertyName: '_id', value: any[]) => CategoriesQueryBuilder;\n  in: (propertyName: '_id', value: any) => CategoriesQueryBuilder;\n  exists: (propertyName: '_id', value: boolean) => CategoriesQueryBuilder;\n  /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n  ascending: (...propertyNames: Array<'_id'>) => CategoriesQueryBuilder;\n  /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n  descending: (...propertyNames: Array<'_id'>) => CategoriesQueryBuilder;\n  /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n  limit: (limit: number) => CategoriesQueryBuilder;\n  /** @param cursor - A pointer to specific record */\n  skipTo: (cursor: string) => CategoriesQueryBuilder;\n  find: () => Promise<CategoriesQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.achievements.categories.v3.CategoriesService.QueryCategories\n * @requiredField query\n */\nexport async function typedQueryCategories(\n  query: CategoryQuery\n): Promise<\n  NonNullablePaths<\n    QueryCategoriesResponse,\n    `categories` | `categories.${number}.label`,\n    4\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({ query: query });\n\n  const reqOpts =\n    ambassadorWixAchievementsCategoriesV3Category.queryCategories(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { query: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['query']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface CategoryQuerySpec extends QuerySpec {\n  paging: 'cursor';\n  wql: [\n    {\n      fields: ['_id'];\n      operators: '*';\n      sort: 'BOTH';\n    }\n  ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n  Category,\n  CategoryQuerySpec\n>;\nexport type CategoryQuery = {\n  /** \n  Cursor paging options.\n\n  Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).  \n  */\n  cursorPaging?: {\n    /** \n  Maximum number of items to return in the results. \n  @max: 100 \n  */\n    limit?:\n      | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n      | null;\n    /** \n  Pointer to the next or previous page in the list of results.\n\n  Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n  Not relevant for the first request. \n  @maxLength: 16000 \n  */\n    cursor?:\n      | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n      | null;\n  };\n  /** \n  Filter object.\n\n  Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).  \n  */\n  filter?: CommonQueryWithEntityContext['filter'] | null;\n  /** \n  Sort object.\n\n  Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). \n  @maxSize: 5 \n  */\n  sort?: {\n    /** \n  Name of the field to sort by. \n  @maxLength: 512 \n  */\n    fieldName?: NonNullable<\n      CommonQueryWithEntityContext['sort']\n    >[number]['fieldName'];\n    /** \n  Sort order.  \n  */\n    order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n  }[];\n};\n\n/**\n * Assign or unassign categories to a program\n * @param programId - program ID which categories are changing\n * @public\n * @requiredField programId\n * @permissionId ONLINE_PROGRAMS.ASSIGN_CATEGORIES\n * @applicableIdentity APP\n * @fqn wix.achievements.categories.v3.CategoriesService.BulkAssignCategoriesToProgram\n */\nexport async function bulkAssignCategoriesToProgram(\n  programId: string,\n  options?: BulkAssignCategoriesToProgramOptions\n): Promise<\n  NonNullablePaths<\n    BulkAssignCategoriesToProgramResponse,\n    | `results`\n    | `results.${number}.action`\n    | `results.${number}.itemMetadata.originalIndex`\n    | `results.${number}.itemMetadata.success`\n    | `results.${number}.itemMetadata.error.code`\n    | `results.${number}.itemMetadata.error.description`\n    | `results.${number}.item.label`\n    | `bulkActionMetadata.totalSuccesses`\n    | `bulkActionMetadata.totalFailures`\n    | `bulkActionMetadata.undetailedFailures`,\n    6\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    programId: programId,\n    categoriesToAssign: options?.categoriesToAssign,\n    categoriesToUnassign: options?.categoriesToUnassign,\n    returnEntity: options?.returnEntity,\n  });\n\n  const reqOpts =\n    ambassadorWixAchievementsCategoriesV3Category.bulkAssignCategoriesToProgram(\n      payload\n    );\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          programId: '$[0]',\n          categoriesToAssign: '$[1].categoriesToAssign',\n          categoriesToUnassign: '$[1].categoriesToUnassign',\n          returnEntity: '$[1].returnEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['programId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkAssignCategoriesToProgramOptions {\n  /**\n   * Categories which are added to program\n   * @format GUID\n   * @maxSize 10\n   */\n  categoriesToAssign?: string[];\n  /**\n   * Categories which are removed from program\n   * @format GUID\n   * @maxSize 10\n   */\n  categoriesToUnassign?: string[];\n  /** Flag to specify if you want to get created entities in response */\n  returnEntity?: boolean;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixAchievementsCategoriesV3CategoriesServiceUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'bo._base_domain_': [\n      {\n        srcPath: '/program-categories-service',\n        destPath: '',\n      },\n    ],\n    'wixbo.ai': [\n      {\n        srcPath: '/program-categories-service',\n        destPath: '',\n      },\n    ],\n    'wix-bo.com': [\n      {\n        srcPath: '/program-categories-service',\n        destPath: '',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/program-categories-service',\n        destPath: '',\n      },\n      {\n        srcPath: '/program-categories-service',\n        destPath: '',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/program-categories-service',\n        destPath: '',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/program-categories-service',\n        destPath: '',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/program-categories-service',\n        destPath: '',\n      },\n    ],\n    'api._api_base_domain_': [\n      {\n        srcPath: '/program-categories-service',\n        destPath: '',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/program-categories-service',\n        destPath: '',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/_api/program-categories-service',\n        destPath: '',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/_api/program-categories-service',\n        destPath: '',\n      },\n      {\n        srcPath: '/program-categories-service',\n        destPath: '',\n      },\n    ],\n    'editor.wixapps.net': [\n      {\n        srcPath: '/_api/program-categories-service',\n        destPath: '',\n      },\n      {\n        srcPath: '/program-categories-service',\n        destPath: '',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath: '/_api/program-categories-service',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_online-programs_categories';\n\n/** Creates a new Category */\nexport function createCategory(payload: object): RequestOptionsFactory<any> {\n  function __createCategory({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: [\n          { path: 'category.createdDate' },\n          { path: 'category.updatedDate' },\n        ],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.achievements.categories.v3.category',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.achievements.categories.v3.CategoriesService.CreateCategory',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixAchievementsCategoriesV3CategoriesServiceUrl({\n        protoPath: '/v3/categories',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'category.createdDate' },\n              { path: 'category.updatedDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __createCategory;\n}\n\n/** Creates new categories in a bulk */\nexport function bulkCreateCategory(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkCreateCategory({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: [\n          { path: 'categories.createdDate' },\n          { path: 'categories.updatedDate' },\n        ],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.achievements.categories.v3.category',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.achievements.categories.v3.CategoriesService.BulkCreateCategory',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixAchievementsCategoriesV3CategoriesServiceUrl({\n        protoPath: '/v3/bulk/categories/create',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'results.item.createdDate' },\n              { path: 'results.item.updatedDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __bulkCreateCategory;\n}\n\n/** Get a Category by id */\nexport function getCategory(payload: object): RequestOptionsFactory<any> {\n  function __getCategory({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.achievements.categories.v3.category',\n      method: 'GET' as any,\n      methodFqn: 'wix.achievements.categories.v3.CategoriesService.GetCategory',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixAchievementsCategoriesV3CategoriesServiceUrl({\n        protoPath: '/v3/categories/{categoryId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'category.createdDate' },\n              { path: 'category.updatedDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getCategory;\n}\n\n/** Get list of categories by list of ids */\nexport function listCategories(payload: object): RequestOptionsFactory<any> {\n  function __listCategories({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.achievements.categories.v3.category',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.achievements.categories.v3.CategoriesService.ListCategories',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixAchievementsCategoriesV3CategoriesServiceUrl({\n        protoPath: '/v3/categories',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'categories.createdDate' },\n              { path: 'categories.updatedDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __listCategories;\n}\n\n/**\n * Update a Category, supports partial update\n * Pass the latest `revision` for a successful update\n */\nexport function updateCategory(payload: object): RequestOptionsFactory<any> {\n  function __updateCategory({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFieldMaskToRESTFieldMask,\n        paths: [{ path: 'mask' }],\n      },\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: [\n          { path: 'category.createdDate' },\n          { path: 'category.updatedDate' },\n        ],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.achievements.categories.v3.category',\n      method: 'PATCH' as any,\n      methodFqn:\n        'wix.achievements.categories.v3.CategoriesService.UpdateCategory',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixAchievementsCategoriesV3CategoriesServiceUrl({\n        protoPath: '/v3/categories/{category.id}',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'category.createdDate' },\n              { path: 'category.updatedDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __updateCategory;\n}\n\n/** Delete a Category */\nexport function deleteCategory(payload: object): RequestOptionsFactory<any> {\n  function __deleteCategory({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.achievements.categories.v3.category',\n      method: 'DELETE' as any,\n      methodFqn:\n        'wix.achievements.categories.v3.CategoriesService.DeleteCategory',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixAchievementsCategoriesV3CategoriesServiceUrl({\n        protoPath: '/v3/categories/{categoryId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __deleteCategory;\n}\n\n/** Query Categories using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) */\nexport function queryCategories(payload: object): RequestOptionsFactory<any> {\n  function __queryCategories({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.achievements.categories.v3.category',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.achievements.categories.v3.CategoriesService.QueryCategories',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixAchievementsCategoriesV3CategoriesServiceUrl({\n        protoPath: '/v3/categories/query',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'categories.createdDate' },\n              { path: 'categories.updatedDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __queryCategories;\n}\n\n/** Assign or unassign categories to a program */\nexport function bulkAssignCategoriesToProgram(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkAssignCategoriesToProgram({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.achievements.categories.v3.category',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.achievements.categories.v3.CategoriesService.BulkAssignCategoriesToProgram',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixAchievementsCategoriesV3CategoriesServiceUrl({\n        protoPath: '/v3/categories/bulk-assign-to-program',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'results.item.createdDate' },\n              { path: 'results.item.updatedDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __bulkAssignCategoriesToProgram;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n  BulkAssignCategoriesToProgramOptions,\n  BulkAssignCategoriesToProgramResponse,\n  BulkCreateCategoryOptions,\n  BulkCreateCategoryResponse,\n  CategoriesQueryBuilder,\n  Category,\n  CategoryQuery,\n  ListCategoriesOptions,\n  ListCategoriesResponse,\n  QueryCategoriesResponse,\n  UpdateCategory,\n  bulkAssignCategoriesToProgram as universalBulkAssignCategoriesToProgram,\n  bulkCreateCategory as universalBulkCreateCategory,\n  createCategory as universalCreateCategory,\n  deleteCategory as universalDeleteCategory,\n  getCategory as universalGetCategory,\n  listCategories as universalListCategories,\n  queryCategories as universalQueryCategories,\n  typedQueryCategories as universalTypedQueryCategories,\n  updateCategory as universalUpdateCategory,\n} from './achievements-categories-v3-category-categories.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/online-programs' };\n\nexport function createCategory(\n  httpClient: HttpClient\n): CreateCategorySignature {\n  return (category: Category) =>\n    universalCreateCategory(\n      category,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CreateCategorySignature {\n  /**\n   * Creates a new Category\n   * @param - Category to be created\n   * @returns The created Category\n   */\n  (category: Category): Promise<\n    NonNullablePaths<Category, `label` | `assignedTo`, 2>\n  >;\n}\n\nexport function bulkCreateCategory(\n  httpClient: HttpClient\n): BulkCreateCategorySignature {\n  return (categories: Category[], options?: BulkCreateCategoryOptions) =>\n    universalBulkCreateCategory(\n      categories,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkCreateCategorySignature {\n  /**\n   * Creates new categories in a bulk\n   * @param - List of categories you want to create\n   */\n  (categories: Category[], options?: BulkCreateCategoryOptions): Promise<\n    NonNullablePaths<\n      BulkCreateCategoryResponse,\n      | `results`\n      | `results.${number}.itemMetadata.originalIndex`\n      | `results.${number}.itemMetadata.success`\n      | `results.${number}.itemMetadata.error.code`\n      | `results.${number}.itemMetadata.error.description`\n      | `results.${number}.item.label`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      6\n    >\n  >;\n}\n\nexport function getCategory(httpClient: HttpClient): GetCategorySignature {\n  return (categoryId: string) =>\n    universalGetCategory(\n      categoryId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetCategorySignature {\n  /**\n   * Get a Category by id\n   * @param - Id of the Category to retrieve\n   * @returns The retrieved Category\n   */\n  (categoryId: string): Promise<\n    NonNullablePaths<Category, `label` | `assignedTo`, 2>\n  >;\n}\n\nexport function listCategories(\n  httpClient: HttpClient\n): ListCategoriesSignature {\n  return (options?: ListCategoriesOptions) =>\n    universalListCategories(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface ListCategoriesSignature {\n  /**\n   * Get list of categories by list of ids\n   */\n  (options?: ListCategoriesOptions): Promise<\n    NonNullablePaths<\n      ListCategoriesResponse,\n      `categories` | `categories.${number}.label`,\n      4\n    >\n  >;\n}\n\nexport function updateCategory(\n  httpClient: HttpClient\n): UpdateCategorySignature {\n  return (\n    _id: string,\n    category: NonNullablePaths<UpdateCategory, `revision`, 2>\n  ) =>\n    universalUpdateCategory(\n      _id,\n      category,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface UpdateCategorySignature {\n  /**\n   * Update a Category, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param - Category ID.\n   * @returns The updated Category\n   */\n  (\n    _id: string,\n    category: NonNullablePaths<UpdateCategory, `revision`, 2>\n  ): Promise<NonNullablePaths<Category, `label` | `assignedTo`, 2>>;\n}\n\nexport function deleteCategory(\n  httpClient: HttpClient\n): DeleteCategorySignature {\n  return (categoryId: string) =>\n    universalDeleteCategory(\n      categoryId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface DeleteCategorySignature {\n  /**\n   * Delete a Category\n   * @param - Id of the Category to delete\n   */\n  (categoryId: string): Promise<void>;\n}\n\nexport function queryCategories(\n  httpClient: HttpClient\n): QueryCategoriesSignature {\n  return () =>\n    universalQueryCategories(\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface QueryCategoriesSignature {\n  /**\n   * Query Categories using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   */\n  (): CategoriesQueryBuilder;\n}\n\nexport function typedQueryCategories(\n  httpClient: HttpClient\n): TypedQueryCategoriesSignature {\n  return (query: CategoryQuery) =>\n    universalTypedQueryCategories(\n      query,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface TypedQueryCategoriesSignature {\n  /** */\n  (query: CategoryQuery): Promise<\n    NonNullablePaths<\n      QueryCategoriesResponse,\n      `categories` | `categories.${number}.label`,\n      4\n    >\n  >;\n}\n\nexport function bulkAssignCategoriesToProgram(\n  httpClient: HttpClient\n): BulkAssignCategoriesToProgramSignature {\n  return (programId: string, options?: BulkAssignCategoriesToProgramOptions) =>\n    universalBulkAssignCategoriesToProgram(\n      programId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkAssignCategoriesToProgramSignature {\n  /**\n   * Assign or unassign categories to a program\n   * @param - program ID which categories are changing\n   */\n  (programId: string, options?: BulkAssignCategoriesToProgramOptions): Promise<\n    NonNullablePaths<\n      BulkAssignCategoriesToProgramResponse,\n      | `results`\n      | `results.${number}.action`\n      | `results.${number}.itemMetadata.originalIndex`\n      | `results.${number}.itemMetadata.success`\n      | `results.${number}.itemMetadata.error.code`\n      | `results.${number}.itemMetadata.error.description`\n      | `results.${number}.item.label`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      6\n    >\n  >;\n}\n\nexport {\n  AccountInfo,\n  Action,\n  ActionEvent,\n  ApplicationError,\n  BulkActionMetadata,\n  BulkAssignCategoriesToProgramOptions,\n  BulkAssignCategoriesToProgramRequest,\n  BulkAssignCategoriesToProgramResponse,\n  BulkAssignCategoryResult,\n  BulkCategoryResult,\n  BulkCreateCategoryOptions,\n  BulkCreateCategoryRequest,\n  BulkCreateCategoryResponse,\n  CategoriesAssignedToProgram,\n  CategoriesQueryBuilder,\n  CategoriesQueryResult,\n  Category,\n  CategoryAssignedProgramsUpdated,\n  CategoryQuerySpec,\n  CreateCategoryRequest,\n  CreateCategoryResponse,\n  CursorPaging,\n  CursorPagingMetadata,\n  CursorQuery,\n  CursorQueryPagingMethodOneOf,\n  Cursors,\n  DeleteCategoryRequest,\n  DeleteCategoryResponse,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  Empty,\n  EntityCreatedEvent,\n  EntityDeletedEvent,\n  EntityUpdatedEvent,\n  ExtendedFields,\n  GetCategoryRequest,\n  GetCategoryResponse,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  ItemMetadata,\n  ListCategoriesOptions,\n  ListCategoriesRequest,\n  ListCategoriesResponse,\n  MessageEnvelope,\n  QueryCategoriesRequest,\n  QueryCategoriesResponse,\n  RestoreInfo,\n  SortOrder,\n  Sorting,\n  UpdateCategory,\n  UpdateCategoryRequest,\n  UpdateCategoryResponse,\n  WebhookIdentityType,\n} from './achievements-categories-v3-category-categories.universal.js';\n","import {\n  createCategory as publicCreateCategory,\n  bulkCreateCategory as publicBulkCreateCategory,\n  getCategory as publicGetCategory,\n  listCategories as publicListCategories,\n  updateCategory as publicUpdateCategory,\n  deleteCategory as publicDeleteCategory,\n  queryCategories as publicQueryCategories,\n  typedQueryCategories as publicTypedQueryCategories,\n  bulkAssignCategoriesToProgram as publicBulkAssignCategoriesToProgram,\n} from './achievements-categories-v3-category-categories.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\nimport { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n  CategoriesQueryBuilder,\n  CategoryQuery,\n  typedQueryCategories as universalTypedQueryCategories,\n} from './achievements-categories-v3-category-categories.universal.js';\n\nfunction customQueryCategories(httpClient: HttpClient) {\n  const router = createQueryOverloadRouter({\n    builderQueryFunction: () => publicQueryCategories(httpClient)(),\n    typedQueryFunction: (query: CategoryQuery) =>\n      publicTypedQueryCategories(httpClient)(query),\n    hasOptionsParameter: false,\n  });\n\n  function overloadedQuery(): CategoriesQueryBuilder;\n  function overloadedQuery(\n    query: CategoryQuery\n  ): ReturnType<typeof universalTypedQueryCategories>;\n  function overloadedQuery(query?: CategoryQuery): any {\n    return router(...arguments);\n  }\n\n  return overloadedQuery;\n}\n\nexport const createCategory: MaybeContext<\n  BuildRESTFunction<typeof publicCreateCategory> & typeof publicCreateCategory\n> = /*#__PURE__*/ createRESTModule(publicCreateCategory);\nexport const bulkCreateCategory: MaybeContext<\n  BuildRESTFunction<typeof publicBulkCreateCategory> &\n    typeof publicBulkCreateCategory\n> = /*#__PURE__*/ createRESTModule(publicBulkCreateCategory);\nexport const getCategory: MaybeContext<\n  BuildRESTFunction<typeof publicGetCategory> & typeof publicGetCategory\n> = /*#__PURE__*/ createRESTModule(publicGetCategory);\nexport const listCategories: MaybeContext<\n  BuildRESTFunction<typeof publicListCategories> & typeof publicListCategories\n> = /*#__PURE__*/ createRESTModule(publicListCategories);\nexport const updateCategory: MaybeContext<\n  BuildRESTFunction<typeof publicUpdateCategory> & typeof publicUpdateCategory\n> = /*#__PURE__*/ createRESTModule(publicUpdateCategory);\nexport const deleteCategory: MaybeContext<\n  BuildRESTFunction<typeof publicDeleteCategory> & typeof publicDeleteCategory\n> = /*#__PURE__*/ createRESTModule(publicDeleteCategory);\nexport const bulkAssignCategoriesToProgram: MaybeContext<\n  BuildRESTFunction<typeof publicBulkAssignCategoriesToProgram> &\n    typeof publicBulkAssignCategoriesToProgram\n> = /*#__PURE__*/ createRESTModule(publicBulkAssignCategoriesToProgram);\nexport const queryCategories: MaybeContext<\n  BuildRESTFunction<typeof customQueryCategories> & typeof customQueryCategories\n> = /*#__PURE__*/ createRESTModule(customQueryCategories);\n\nexport {\n  SortOrder,\n  Action,\n  WebhookIdentityType,\n} from './achievements-categories-v3-category-categories.universal.js';\nexport {\n  Category,\n  ExtendedFields,\n  CategoriesAssignedToProgram,\n  CategoryAssignedProgramsUpdated,\n  CreateCategoryRequest,\n  CreateCategoryResponse,\n  BulkCreateCategoryRequest,\n  BulkCreateCategoryResponse,\n  ItemMetadata,\n  ApplicationError,\n  BulkCategoryResult,\n  BulkActionMetadata,\n  GetCategoryRequest,\n  GetCategoryResponse,\n  ListCategoriesRequest,\n  ListCategoriesResponse,\n  UpdateCategoryRequest,\n  UpdateCategoryResponse,\n  DeleteCategoryRequest,\n  DeleteCategoryResponse,\n  QueryCategoriesRequest,\n  CursorQuery,\n  CursorQueryPagingMethodOneOf,\n  Sorting,\n  CursorPaging,\n  QueryCategoriesResponse,\n  CursorPagingMetadata,\n  Cursors,\n  BulkAssignCategoriesToProgramRequest,\n  BulkAssignCategoriesToProgramResponse,\n  BulkAssignCategoryResult,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  EntityCreatedEvent,\n  RestoreInfo,\n  EntityUpdatedEvent,\n  EntityDeletedEvent,\n  ActionEvent,\n  Empty,\n  MessageEnvelope,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  AccountInfo,\n  BulkCreateCategoryOptions,\n  ListCategoriesOptions,\n  UpdateCategory,\n  CategoriesQueryResult,\n  CategoriesQueryBuilder,\n  CategoryQuerySpec,\n  BulkAssignCategoriesToProgramOptions,\n} from './achievements-categories-v3-category-categories.universal.js';\nexport {\n  SortOrderWithLiterals,\n  ActionWithLiterals,\n  WebhookIdentityTypeWithLiterals,\n  CommonQueryWithEntityContext,\n  CategoryQuery,\n} from './achievements-categories-v3-category-categories.universal.js';\n"],"mappings":"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","names":["payload","transformPaths","SortOrder","Action","WebhookIdentityType","createCategory","bulkCreateCategory","getCategory","listCategories","updateCategory","deleteCategory","queryCategories","bulkAssignCategoriesToProgram","createCategory","bulkCreateCategory","getCategory","listCategories","updateCategory","deleteCategory","queryCategories","typedQueryCategories","bulkAssignCategoriesToProgram","queryCategories","typedQueryCategories","createCategory","bulkCreateCategory","getCategory","listCategories","updateCategory","deleteCategory","bulkAssignCategoriesToProgram"]}